# reply_to_slack_thread

Reply to an existing message thread in Slack as yourself. PARAMETERS: channel, thread_ts, text. The thread_ts comes from ts_slack / thread_ts_slack on a message returned by get_slack_channel_history.

Agent View of the PolicyLayer registry record for `reply_to_slack_thread`. HTML page: https://policylayer.com/tools/freshdesk/reply-to-slack-thread

## Facts

- Tool: `reply_to_slack_thread`
- Server: Freshdesk (`@mindstone-engineering/mcp-server-freshdesk`) — https://policylayer.com/tools/freshdesk.md
- Install: `npx -y @mindstone-engineering/mcp-server-freshdesk`
- Homepage: git+https://github.com/nspr-io/mcp-servers.git
- Risk category: Write (Medium risk)
- Registry record: grade F, identity unverified
- Server rate-limited: no
- Parameters: 0
- Recommended policy verdict: Rate-limited

## Example call (MCP tools/call, JSON-RPC 2.0)

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "reply_to_slack_thread",
    "arguments": {}
  }
}
```

## Why reply_to_slack_thread is rated Medium

This tool posts a new message to an existing Slack thread, creating data in an external system. It is reversible in principle (messages can be deleted) and does not execute code, move money, or destroy data. Misuse could cause reputational or social harm by posting unwanted content on behalf of the user, warranting medium severity.

From the tool's own definition: "Reply to an existing message thread in Slack as yourself"

## Use case

AI agents use reply_to_slack_thread to create or update resources in Freshdesk, usually the action step of a workflow, after the agent has gathered context. Every call changes real data in your Freshdesk environment.

## Recommended policy (PolicyLayer)

Verdict: **Rate-limited**. Enforced by the PolicyLayer MCP gateway (https://policylayer.com/mcp-gateway) before a call reaches Freshdesk:

```json
{
  "version": "1",
  "default": "deny",
  "tools": {
    "reply_to_slack_thread": {
      "limits": [
        {
          "counter": "reply_to_slack_thread_rate",
          "window": "minute",
          "max": 30,
          "scope": "grant"
        }
      ]
    }
  }
}
```

## Other tools on Freshdesk (421)

- `cancel_runway_task` — Destructive — https://policylayer.com/tools/freshdesk/cancel-runway-task.md
- `delete_custom_voice` — Destructive — https://policylayer.com/tools/freshdesk/delete-custom-voice.md
- `delete_email` — Destructive — https://policylayer.com/tools/freshdesk/delete-email.md
- `delete_event` — Destructive — https://policylayer.com/tools/freshdesk/delete-event.md
- `delete_file` — Destructive — https://policylayer.com/tools/freshdesk/delete-file.md
- `delete_library_item` — Destructive — https://policylayer.com/tools/freshdesk/delete-library-item.md
- `delete_list_item` — Destructive — https://policylayer.com/tools/freshdesk/delete-list-item.md
- `opus_cancel_scheduled_post` — Destructive — https://policylayer.com/tools/freshdesk/opus-cancel-scheduled-post.md
- `opus_delete_collection` — Destructive — https://policylayer.com/tools/freshdesk/opus-delete-collection.md
- `opus_remove_clip_from_collection` — Destructive — https://policylayer.com/tools/freshdesk/opus-remove-clip-from-collection.md
- `outreach_disconnect_account` — Destructive — https://policylayer.com/tools/freshdesk/outreach-disconnect-account.md
- `remove_freshdesk_account` — Destructive — https://policylayer.com/tools/freshdesk/remove-freshdesk-account.md
- `remove_zendesk_account` — Destructive — https://policylayer.com/tools/freshdesk/remove-zendesk-account.md
- `unenrol_talentlms_user` — Destructive — https://policylayer.com/tools/freshdesk/unenrol-talentlms-user.md
- `apple_shortcuts_run` — Execute — https://policylayer.com/tools/freshdesk/apple-shortcuts-run.md
- `browser_authenticate` — Execute — https://policylayer.com/tools/freshdesk/browser-authenticate.md
- `browser_back` — Execute — https://policylayer.com/tools/freshdesk/browser-back.md
- `browser_click` — Execute — https://policylayer.com/tools/freshdesk/browser-click.md
- `browser_close` — Execute — https://policylayer.com/tools/freshdesk/browser-close.md
- `browser_fill` — Execute — https://policylayer.com/tools/freshdesk/browser-fill.md
- `browser_forward` — Execute — https://policylayer.com/tools/freshdesk/browser-forward.md
- `browser_hover` — Execute — https://policylayer.com/tools/freshdesk/browser-hover.md
- `browser_navigate` — Execute — https://policylayer.com/tools/freshdesk/browser-navigate.md
- `browser_press_key` — Execute — https://policylayer.com/tools/freshdesk/browser-press-key.md
- `browser_scroll` — Execute — https://policylayer.com/tools/freshdesk/browser-scroll.md
- `browser_select` — Execute — https://policylayer.com/tools/freshdesk/browser-select.md
- `browser_type` — Execute — https://policylayer.com/tools/freshdesk/browser-type.md
- `browser_wait` — Execute — https://policylayer.com/tools/freshdesk/browser-wait.md
- `character_performance` — Execute — https://policylayer.com/tools/freshdesk/character-performance.md
- `create_phone_call` — Execute — https://policylayer.com/tools/freshdesk/create-phone-call.md
- …and 391 more: https://policylayer.com/tools/freshdesk.md

## For agents

This record is a snapshot. Live verdicts and the full registry:

- Check every server in your MCP config at once: `npx -y policylayer stack`
- Vet a server before you add it: install the mcp-precheck skill — `npx skills add https://policylayer.com` (skill text: https://policylayer.com/skill.md)
- Query the registry over MCP: endpoint `https://api.policylayer.com/mcp` — tools `check_mcp_server`, `check_mcp_stack`, `check_tool`, `search_registry`, `get_change_events`

---

Source: the PolicyLayer MCP registry — one continuously verified record per MCP server. Full record: https://policylayer.com/registry?q=freshdesk · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/freshdesk
