# send_message

Send one plain-text message or exact reply in an explicitly allowlisted Discord channel. Notifications are suppressed by default. Exact visibly mentioned users may be authorized by the configured allowlist or, only in reviewed mode, a conditional signed confirmation that binds the target, content digest, recipients, and fresh reply author. Reuse the same idempotency key for every retry.

Agent View of the PolicyLayer registry record for `send_message`. HTML page: https://policylayer.com/tools/app-lasers-guildcontrol-discord/send-message

## Facts

- Tool: `send_message`
- Server: GuildControl MCP (`guildctl`) — https://policylayer.com/tools/app-lasers-guildcontrol-discord.md
- Install: `npx -y guildctl`
- Homepage: https://github.com/j-256/guildcontrol
- 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": "send_message",
    "arguments": {}
  }
}
```

## Why send_message is rated Medium

Creates reversible message content in Discord; allowlisting and notification suppression mitigate risks moderately but tool modifies state.

From the tool's own definition: "Send one plain-text message or exact reply in an explicitly allowlisted Discord channel"

Risk signals: Bulk/mass operation — affects multiple targets

## Use case

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

## Recommended policy (PolicyLayer)

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

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

## Other tools on GuildControl MCP (257)

- `delete_messages` — Destructive — https://policylayer.com/tools/app-lasers-guildcontrol-discord/delete-messages.md
- `execute_bulk_guild_ban` — Destructive — https://policylayer.com/tools/app-lasers-guildcontrol-discord/execute-bulk-guild-ban.md
- `execute_channel_deletion` — Destructive — https://policylayer.com/tools/app-lasers-guildcontrol-discord/execute-channel-deletion.md
- `execute_direct_message_change` — Destructive — https://policylayer.com/tools/app-lasers-guildcontrol-discord/execute-direct-message-change.md
- `execute_guild_application_command_change` — Destructive — https://policylayer.com/tools/app-lasers-guildcontrol-discord/execute-guild-application-command-change.md
- `execute_guild_departure` — Destructive — https://policylayer.com/tools/app-lasers-guildcontrol-discord/execute-guild-departure.md
- `execute_guild_integration_deletion` — Destructive — https://policylayer.com/tools/app-lasers-guildcontrol-discord/execute-guild-integration-deletion.md
- `execute_guild_prune` — Destructive — https://policylayer.com/tools/app-lasers-guildcontrol-discord/execute-guild-prune.md
- `execute_invite_deletion` — Destructive — https://policylayer.com/tools/app-lasers-guildcontrol-discord/execute-invite-deletion.md
- `execute_poll_end` — Destructive — https://policylayer.com/tools/app-lasers-guildcontrol-discord/execute-poll-end.md
- `execute_role_deletion` — Destructive — https://policylayer.com/tools/app-lasers-guildcontrol-discord/execute-role-deletion.md
- `execute_webhook_deletion` — Destructive — https://policylayer.com/tools/app-lasers-guildcontrol-discord/execute-webhook-deletion.md
- `execute_webhook_message_deletion` — Destructive — https://policylayer.com/tools/app-lasers-guildcontrol-discord/execute-webhook-message-deletion.md
- `plan_channel_deletion` — Destructive — https://policylayer.com/tools/app-lasers-guildcontrol-discord/plan-channel-deletion.md
- `plan_direct_message_change` — Destructive — https://policylayer.com/tools/app-lasers-guildcontrol-discord/plan-direct-message-change.md
- `plan_guild_departure` — Destructive — https://policylayer.com/tools/app-lasers-guildcontrol-discord/plan-guild-departure.md
- `plan_guild_integration_deletion` — Destructive — https://policylayer.com/tools/app-lasers-guildcontrol-discord/plan-guild-integration-deletion.md
- `plan_invite_deletion` — Destructive — https://policylayer.com/tools/app-lasers-guildcontrol-discord/plan-invite-deletion.md
- `plan_message_deletion` — Destructive — https://policylayer.com/tools/app-lasers-guildcontrol-discord/plan-message-deletion.md
- `plan_poll_end` — Destructive — https://policylayer.com/tools/app-lasers-guildcontrol-discord/plan-poll-end.md
- `plan_role_deletion` — Destructive — https://policylayer.com/tools/app-lasers-guildcontrol-discord/plan-role-deletion.md
- `plan_webhook_deletion` — Destructive — https://policylayer.com/tools/app-lasers-guildcontrol-discord/plan-webhook-deletion.md
- `plan_webhook_message_deletion` — Destructive — https://policylayer.com/tools/app-lasers-guildcontrol-discord/plan-webhook-message-deletion.md
- `compile_component_template` — Execute — https://policylayer.com/tools/app-lasers-guildcontrol-discord/compile-component-template.md
- `execute_announcement_crosspost` — Execute — https://policylayer.com/tools/app-lasers-guildcontrol-discord/execute-announcement-crosspost.md
- `execute_application_emoji_change` — Execute — https://policylayer.com/tools/app-lasers-guildcontrol-discord/execute-application-emoji-change.md
- `execute_application_entitlement_consumption` — Execute — https://policylayer.com/tools/app-lasers-guildcontrol-discord/execute-application-entitlement-consumption.md
- `execute_application_intent_enablement` — Execute — https://policylayer.com/tools/app-lasers-guildcontrol-discord/execute-application-intent-enablement.md
- `execute_application_test_entitlement_change` — Execute — https://policylayer.com/tools/app-lasers-guildcontrol-discord/execute-application-test-entitlement-change.md
- `execute_automod_change` — Execute — https://policylayer.com/tools/app-lasers-guildcontrol-discord/execute-automod-change.md
- …and 227 more: https://policylayer.com/tools/app-lasers-guildcontrol-discord.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=app-lasers-guildcontrol-discord · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/app-lasers-guildcontrol-discord
