# discord_create_emoji

Create a custom emoji (PNG, max size per Discord limits).

Agent View of the PolicyLayer registry record for `discord_create_emoji`. HTML page: https://policylayer.com/tools/bennettschwartz-discord-mcp/discord-create-emoji

## Facts

- Tool: `discord_create_emoji`
- Server: Discord MCP Server (`bennettschwartz/discord-mcp`) — https://policylayer.com/tools/bennettschwartz-discord-mcp.md
- Homepage: https://github.com/BennettSchwartz/discord-mcp
- 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": "discord_create_emoji",
    "arguments": {}
  }
}
```

## Why discord_create_emoji is rated Medium

Creating a custom emoji is a reversible write operation that modifies Discord server configuration. It does not execute code, delete data, or involve financial transactions. However, the medium severity reflects that an AI agent with this capability could spam emoji creation, consuming server resources or cluttering the emoji list, though the impact is bounded and reversible (emojis can be deleted).

From the tool's own definition: "Tool description states 'Create a custom emoji', which is a create operation that modifies server state by adding a new emoji resource."

## Use case

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

## Recommended policy (PolicyLayer)

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

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

## Other tools on Discord MCP Server (57)

- `discord_ban_user` — Destructive — https://policylayer.com/tools/bennettschwartz-discord-mcp/discord-ban-user.md
- `discord_bulk_delete_messages` — Destructive — https://policylayer.com/tools/bennettschwartz-discord-mcp/discord-bulk-delete-messages.md
- `discord_clear_all_reactions` — Destructive — https://policylayer.com/tools/bennettschwartz-discord-mcp/discord-clear-all-reactions.md
- `discord_delete_channel` — Destructive — https://policylayer.com/tools/bennettschwartz-discord-mcp/discord-delete-channel.md
- `discord_delete_command` — Destructive — https://policylayer.com/tools/bennettschwartz-discord-mcp/discord-delete-command.md
- `discord_delete_emoji` — Destructive — https://policylayer.com/tools/bennettschwartz-discord-mcp/discord-delete-emoji.md
- `discord_delete_guild_sticker` — Destructive — https://policylayer.com/tools/bennettschwartz-discord-mcp/discord-delete-guild-sticker.md
- `discord_delete_invite` — Destructive — https://policylayer.com/tools/bennettschwartz-discord-mcp/discord-delete-invite.md
- `discord_delete_reaction` — Destructive — https://policylayer.com/tools/bennettschwartz-discord-mcp/discord-delete-reaction.md
- `discord_delete_role` — Destructive — https://policylayer.com/tools/bennettschwartz-discord-mcp/discord-delete-role.md
- `discord_delete_scheduled_event` — Destructive — https://policylayer.com/tools/bennettschwartz-discord-mcp/discord-delete-scheduled-event.md
- `discord_kick_member` — Destructive — https://policylayer.com/tools/bennettschwartz-discord-mcp/discord-kick-member.md
- `discord_remove_user_reaction` — Destructive — https://policylayer.com/tools/bennettschwartz-discord-mcp/discord-remove-user-reaction.md
- `discord_webhook_delete` — Destructive — https://policylayer.com/tools/bennettschwartz-discord-mcp/discord-webhook-delete.md
- `discord_trigger_typing` — Execute — https://policylayer.com/tools/bennettschwartz-discord-mcp/discord-trigger-typing.md
- `discord_fetch_messages` — Read — https://policylayer.com/tools/bennettschwartz-discord-mcp/discord-fetch-messages.md
- `discord_gateway_get_events` — Read — https://policylayer.com/tools/bennettschwartz-discord-mcp/discord-gateway-get-events.md
- `discord_gateway_info` — Read — https://policylayer.com/tools/bennettschwartz-discord-mcp/discord-gateway-info.md
- `discord_get_member` — Read — https://policylayer.com/tools/bennettschwartz-discord-mcp/discord-get-member.md
- `discord_get_user` — Read — https://policylayer.com/tools/bennettschwartz-discord-mcp/discord-get-user.md
- `discord_help` — Read — https://policylayer.com/tools/bennettschwartz-discord-mcp/discord-help.md
- `discord_list_bans` — Read — https://policylayer.com/tools/bennettschwartz-discord-mcp/discord-list-bans.md
- `discord_list_channels` — Read — https://policylayer.com/tools/bennettschwartz-discord-mcp/discord-list-channels.md
- `discord_list_commands` — Read — https://policylayer.com/tools/bennettschwartz-discord-mcp/discord-list-commands.md
- `discord_list_emojis` — Read — https://policylayer.com/tools/bennettschwartz-discord-mcp/discord-list-emojis.md
- `discord_list_guild_stickers` — Read — https://policylayer.com/tools/bennettschwartz-discord-mcp/discord-list-guild-stickers.md
- `discord_list_joined_private_archived_threads` — Read — https://policylayer.com/tools/bennettschwartz-discord-mcp/discord-list-joined-private-archived-threads.md
- `discord_list_pins` — Read — https://policylayer.com/tools/bennettschwartz-discord-mcp/discord-list-pins.md
- `discord_list_private_archived_threads` — Read — https://policylayer.com/tools/bennettschwartz-discord-mcp/discord-list-private-archived-threads.md
- `discord_list_public_archived_threads` — Read — https://policylayer.com/tools/bennettschwartz-discord-mcp/discord-list-public-archived-threads.md
- …and 27 more: https://policylayer.com/tools/bennettschwartz-discord-mcp.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=bennettschwartz-discord-mcp · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/bennettschwartz-discord-mcp
