Send a direct message to a user. Provide user_id to open a new DM, or channel_id if you already have the DM channel from discord_list_dms.
AI agents use discord_send_dm to create or update resources in Discord User — usually the action step of a workflow, after the agent has gathered context. Every call changes real data in your Discord User environment.
discord_send_dm creates new messages, which is a Write operation. It is reversible via discord_delete_message or Discord's native deletion. Severity is medium because unsupervised use could lead to spam, impersonation, or harassment via the authenticated user account, but individual messages don't cause permanent damage or financial loss.
From the tool's definition Tool description states 'Send a direct message to a user', which creates new message data in Discord. The server description confirms it provides 'tools for...sending messages'. This is a write operation that creates data (messages) reversibly.
Documented attack patterns abuse exactly the kind of access discord_send_dm gives an agent:
PolicyLayer is an MCP gateway — it sits between your AI agents and Discord User, and nothing reaches the server without passing your rules. This is the rule we recommend for discord_send_dm:
{
"version": "1",
"default": "deny",
"tools": {
"discord_send_dm": {
"limits": [
{
"counter": "discord_send_dm_rate",
"window": "minute",
"max": 30,
"scope": "grant"
}
]
}
}
} discord_send_dm stays usable, but capped — an agent stuck in a loop can't make hundreds of changes a minute. Everything else on the server is denied unless you say otherwise.
Free to start. No card required.
Send a direct message to a user. Provide user_id to open a new DM, or channel_id if you already have the DM channel from discord_list_dms. It is categorised as a Write tool in the Discord User MCP Server, which means it can create or modify data. Consider rate limits to prevent runaway writes.
Register the Discord User MCP server in PolicyLayer and add a rule for discord_send_dm: allow, deny, rate-limit, or require approval. Point your MCP client at the PolicyLayer proxy URL and the rule is enforced on every call, before it reaches Discord User. Nothing to install.
discord_send_dm is a Write tool with medium risk. Write tools should be rate-limited to prevent accidental bulk modifications.
Yes. Add a rate_limit block to the discord_send_dm rule in your PolicyLayer policy. For example, setting max: 10 and window: 60 limits the tool to 10 calls per minute. Rate limits are tracked per agent session and reset automatically.
Set action: deny in the PolicyLayer policy for discord_send_dm. The AI agent will receive a policy violation error and cannot call the tool. You can also include a reason field to explain why the tool is blocked.
discord_send_dm is provided by the Discord User MCP server (olivier-motium/discord-user-mcp). PolicyLayer sits as a proxy in front of this server to enforce policies before tool calls reach the server.
Start from Discord User, add the rest of your stack, and see everything your agents can call. Then put policy on all of it.
Free to start. No card required.
16 Discord User tools catalogued and risk-classified — across an index of 43,000+ MCP servers.