ToolTrust
D57/100
Smithery

discord

mcpsmithery

@Smithery

Discord is a communication platform for communities, teams, and friends. Manage guilds, channels, roles, and members. Send messages, reactions, and embeds. Create and configure slash commands, webhooks, emojis, soundboard sounds, and scheduled events.

By Smithery | 267 findings | Scanned 4/19/2026 | tooltrust-scanner/v0.3.8

28 High63 Medium48 Low128 Info

Risk Summary

Block in Production

Dep Visibility + Excessive Permissions risk is significant. Avoid using this in production agents.

Potential impact: This finding indicates the tool should be reviewed before it is trusted.

Recommended action: This tool should stay disabled in production agents until the flagged risks are fixed and the scan is clean.

{
  "mcpServers": {
    "discord": {
      "disabled": true
    }
  }
}

Security Findings (267)

  • HighAS-002

    ⚠️Excessive Permissions ×17

    tool declares exec permission

    applications.commands.createapplications.commands.getapplications.commands.updateapplications.commands.deleteapplications.guilds.commands.createapplications.guilds.commands.getapplications.guilds.commands.updateapplications.guilds.commands.deleteapplications.guilds.commands.permissions.listapplications.guilds.commands.permissions.updatewebhooks.createwebhooks.github.createwebhooks.slack.create

    tool declares network permission

    channels.threads.search.listgateway.listguilds.members.search.listwebhooks.slack.create

    Fix: Tool requests broad permissions (exec/fs/network). Validate input parameters using Enums where possible, and restrict file system operations to explicit allowed directories.

  • HighAS-010

    🔑Insecure Secret Handling ×11

    input parameter "access_token" appears to accept a secret or credential

    guilds.members.update

    input parameter "access_tokens" appears to accept a secret or credential

    users.me.channels.create

    input parameter "webhook_token" appears to accept a secret or credential

    webhooks.getwebhooks.createwebhooks.updatewebhooks.deletewebhooks.github.createwebhooks.messages.getwebhooks.messages.updatewebhooks.messages.deletewebhooks.slack.create

    Fix: Avoid accepting raw credentials as input parameters. Use secret managers (e.g. 1Password CLI, AWS Secrets Manager) and ensure credentials are never logged or stored in agent traces.

  • MediumAS-002

    ⚠️Excessive Permissions ×63

    tool declares fs permission

    applications.commands.createapplications.commands.updateapplications.commands.deleteapplications.emojis.createapplications.emojis.updateapplications.emojis.deleteapplications.entitlements.createapplications.entitlements.deleteapplications.entitlements.consume.createapplications.guilds.commands.createapplications.guilds.commands.updateapplications.guilds.commands.deleteapplications.guilds.commands.permissions.updatechannels.updatechannels.deletechannels.followers.createchannels.invites.createchannels.messages.createchannels.messages.updatechannels.messages.deletechannels.messages.crosspost.createchannels.messages.reactions.by_emoji_name.deletechannels.messages.reactions.me.updatechannels.messages.reactions.me.deletechannels.messages.reactions.deletechannels.messages.threads.createchannels.polls.expire.createchannels.thread_members.me.updatechannels.thread_members.me.deletechannels.thread_members.updatechannels.thread_members.deletechannels.threads.createchannels.typing.createchannels.webhooks.createguilds.channels.createguilds.emojis.createguilds.emojis.updateguilds.emojis.deleteguilds.members.me.updateguilds.members.updateguilds.members.by_user_id.updateguilds.members.roles.updateguilds.members.roles.deleteguilds.roles.createguilds.roles.updateguilds.roles.deleteguilds.scheduled_events.createguilds.scheduled_events.updateguilds.scheduled_events.deleteguilds.soundboard_sounds.createguilds.soundboard_sounds.updateguilds.soundboard_sounds.deleteusers.me.listusers.me.channels.createwebhooks.by_webhook_id.updatewebhooks.createwebhooks.updatewebhooks.deletewebhooks.github.createwebhooks.messages.updatewebhooks.messages.deletewebhooks.slack.create

    tool declares db permission

    guilds.members.search.list

    Fix: Tool requests broad permissions (exec/fs/network). Validate input parameters using Enums where possible, and restrict file system operations to explicit allowed directories.

  • LowAS-002

    ⚠️Excessive Permissions ×22

    input schema exposes 12 properties (threshold: 10)

    applications.commands.createapplications.commands.updatechannels.threads.search.listwebhooks.messages.update

    input schema exposes 13 properties (threshold: 10)

    applications.guilds.commands.createapplications.guilds.commands.update

    input schema exposes 14 properties (threshold: 10)

    channels.messages.create

    tool declares http permission

    channels.webhooks.listchannels.webhooks.createwebhooks.by_webhook_id.getwebhooks.by_webhook_id.updatewebhooks.getwebhooks.createwebhooks.updatewebhooks.deletewebhooks.github.createwebhooks.messages.getwebhooks.messages.updatewebhooks.messages.deletewebhooks.slack.create

    input schema exposes 20 properties (threshold: 10)

    guilds.channels.create

    input schema exposes 24 properties (threshold: 10)

    webhooks.github.create

    Fix: Tool requests broad permissions (exec/fs/network). Validate input parameters using Enums where possible, and restrict file system operations to explicit allowed directories.

  • LowAS-011

    ℹ️Missing Rate-Limit / Timeout ×26

    tool performs network or execution operations but declares no rate-limit, timeout, or retry configuration

    applications.commands.createapplications.commands.getapplications.commands.updateapplications.commands.deleteapplications.guilds.commands.createapplications.guilds.commands.getapplications.guilds.commands.updateapplications.guilds.commands.deleteapplications.guilds.commands.permissions.listapplications.guilds.commands.permissions.updatechannels.threads.search.listchannels.webhooks.listchannels.webhooks.creategateway.listguilds.members.search.listwebhooks.by_webhook_id.getwebhooks.by_webhook_id.updatewebhooks.getwebhooks.createwebhooks.updatewebhooks.deletewebhooks.github.createwebhooks.messages.getwebhooks.messages.updatewebhooks.messages.deletewebhooks.slack.create

    Fix: Declare explicit rate-limit, timeout, and retry configuration for all network and execution tools. Implement exponential back-off and surface resource state to the calling agent.

  • InfoAS-014

    ℹ️Dependency Inventory Unavailable ×128

    Tool did not expose metadata.dependencies or repo_url, so supply-chain coverage is limited.

    applications.me.listapplications.getapplications.commands.listapplications.commands.createapplications.commands.getapplications.commands.updateapplications.commands.deleteapplications.emojis.listapplications.emojis.createapplications.emojis.getapplications.emojis.updateapplications.emojis.deleteapplications.entitlements.listapplications.entitlements.createapplications.entitlements.getapplications.entitlements.deleteapplications.entitlements.consume.createapplications.guilds.commands.listapplications.guilds.commands.createapplications.guilds.commands.permissions.by_guild_id.listapplications.guilds.commands.getapplications.guilds.commands.updateapplications.guilds.commands.deleteapplications.guilds.commands.permissions.listapplications.guilds.commands.permissions.updateapplications.role_connections.metadata.listchannels.getchannels.updatechannels.deletechannels.followers.createchannels.invites.listchannels.invites.createchannels.messages.listchannels.messages.createchannels.messages.pins.listchannels.messages.getchannels.messages.updatechannels.messages.deletechannels.messages.crosspost.createchannels.messages.reactions.getchannels.messages.reactions.by_emoji_name.deletechannels.messages.reactions.me.updatechannels.messages.reactions.me.deletechannels.messages.reactions.deletechannels.messages.threads.createchannels.polls.answers.getchannels.polls.expire.createchannels.thread_members.listchannels.thread_members.me.updatechannels.thread_members.me.deletechannels.thread_members.getchannels.thread_members.updatechannels.thread_members.deletechannels.threads.createchannels.threads.archived.public.listchannels.threads.search.listchannels.typing.createchannels.users.me.threads.archived.private.listchannels.webhooks.listchannels.webhooks.creategateway.listguilds.templates.getguilds.getguilds.audit_logs.listguilds.bans.listguilds.bans.getguilds.channels.listguilds.channels.createguilds.emojis.listguilds.emojis.createguilds.emojis.getguilds.emojis.updateguilds.emojis.deleteguilds.invites.listguilds.members.listguilds.members.me.updateguilds.members.search.listguilds.members.getguilds.members.updateguilds.members.by_user_id.updateguilds.members.roles.updateguilds.members.roles.deleteguilds.onboarding.listguilds.preview.getguilds.regions.listguilds.roles.listguilds.roles.createguilds.roles.member_counts.listguilds.roles.getguilds.roles.updateguilds.roles.deleteguilds.scheduled_events.listguilds.scheduled_events.createguilds.scheduled_events.getguilds.scheduled_events.updateguilds.scheduled_events.deleteguilds.scheduled_events.users.listguilds.soundboard_sounds.listguilds.soundboard_sounds.createguilds.soundboard_sounds.getguilds.soundboard_sounds.updateguilds.soundboard_sounds.deleteguilds.threads.active.listguilds.welcome_screen.getinvites.getoauth2.me.listoauth2.keys.listsoundboard_default_sounds.liststicker_packs.listusers.me.listusers.me.applications.entitlements.listusers.me.channels.createusers.me.connections.listusers.me.guilds.listusers.me.guilds.member.getusers.getvoice.regions.listwebhooks.by_webhook_id.getwebhooks.by_webhook_id.updatewebhooks.getwebhooks.createwebhooks.updatewebhooks.deletewebhooks.github.createwebhooks.messages.getwebhooks.messages.updatewebhooks.messages.deletewebhooks.slack.create

    Fix: Review and remediate the identified issue.

Scan this tool yourself

Reproduce this audit locally, integrate into CI, or let your agent audit its own tools.

Install once, then scan any MCP server:

$ curl -sfL https://raw.githubusercontent.com/AgentSafe-AI/tooltrust-scanner/main/install.sh | bash
$ tooltrust-scanner scan --server "npx -y discord"

Adjust the package name if your npm registry name differs from the tool ID. View source

Add badge to your README

Copy this Markdown to show your ToolTrust grade on GitHub.

[![ToolTrust Grade D](https://raw.githubusercontent.com/AgentSafe-AI/tooltrust-directory/main/docs/badges/grade-d.svg)](https://github.com/AgentSafe-AI/tooltrust-directory)