Dynamic Discord Bot Api
БесплатноНе проверенMCP server for Discord bot API that exposes five tools to search, inspect, and call stable Discord HTTP endpoints using bot-token authentication, with automatic
Описание
MCP server for Discord bot API that exposes five tools to search, inspect, and call stable Discord HTTP endpoints using bot-token authentication, with automatic schema refresh and strict safety filtering.
README
Production-oriented stdio MCP gateway exposing stable Discord HTTP operations that explicitly support bot-token authentication. It installs a checked-in, self-refreshing OpenAPI catalog and exposes exactly five generic tools—never one tool per endpoint.
Discord's OpenAPI specification is a public preview and may be incomplete. This project consumes only stable openapi.json; official Discord documentation remains authoritative.
Scope and architecture
Refresh filters every operation by explicit BotToken security metadata, then applies a small fail-closed classifier for OAuth, interaction-token, webhook-token, Social SDK/lobby, and ambiguous routes. It retains only transitively referenced component schemas. Excluded endpoints cannot be searched, inspected, or called.
Gateway HTTP metadata such as /gateway/bot may remain because it supports bot authentication; Gateway WebSockets and events do not. Also excluded: OAuth exchange, bearer/user authorization, self-bots, Voice WebSocket/RTP, RPC, Activities/Embedded App/Social SDKs, interaction receivers/callbacks, incoming webhook servers, webhook-token execution, preview endpoints, and arbitrary HTTP requests.
Runtime resolves one active local MCP workspace root, reloads its .env before every call, and caches a client only while security-relevant configuration is unchanged. Schema refresh uses validation, atomic rename, concurrent coalescing, and cached fallback. JSON audit events go to stderr without values or secrets.
Install
npm install -g dynamic-discord-bot-api-mcp
discord-bot-api-mcp
From GitHub:
npm install -g github:PrimeUpYourLife/dynamic-discord-bot-api-mcp
MCP client configuration:
{"mcpServers":{"discord":{"command":"discord-bot-api-mcp"}}}
Codex ~/.codex/config.toml:
[mcp_servers.discord]
command = "discord-bot-api-mcp"
Place DISCORD_BOT_TOKEN in active repository .env. Process environment overrides startup-directory .env; active workspace .env overrides both. Multiple, failed, non-local, or non-directory MCP roots fail closed. Catalog tools need no token.
Five tools
discord_search_endpoints: fuzzy search IDs, methods, routes, categories, descriptions, and parameters.discord_get_endpoint: exact canonical ID or OpenAPI operation-ID lookup.discord_get_type: component-schema lookup.discord_call_endpoint: validate and execute a cataloged bot endpoint.discord_refresh_schema: fetch, filter, validate, and atomically install stable schema.
Examples:
{"search":"create message","limit":5}
{"endpoint":"create_message"}
{"endpoint":"POST /channels/{channel_id}/messages","pathParameters":{"channel_id":"123456789012345678"},"body":{"content":"Hello from MCP"}}
Upload example:
{"endpoint":"create_message","pathParameters":{"channel_id":"123456789012345678"},"body":{"content":"image"},"files":[{"path":"./uploads/image.png","filename":"image.png","contentType":"image/png"}]}
Uploads use payload_json and deterministic files[n] parts/attachment IDs. Paths resolve from active root and must remain within configured realpath roots. Base64 descriptors are also supported.
Validation separates path, query, and body values; handles required fields, nested objects, arrays, enums, nullable values, refs and unions. Snowflakes remain strings. Arrays become repeated query keys. DELETE and centrally classified destructive operations require confirm: true. Optional audit reason is percent-encoded.
Errors are structured (ENDPOINT_NOT_FOUND, ENDPOINT_NOT_ALLOWED, CONFIRMATION_REQUIRED, BOT_TOKEN_MISSING, VALIDATION_ERROR, DISCORD_API_ERROR, REQUEST_ERROR, project-root errors, or SCHEMA_REFRESH_FAILED). Discord numeric codes and nested validation errors are preserved; raw bodies, stack traces, and tokens are not.
Configuration
| Variable | Default | Meaning |
|---|---|---|
DISCORD_BOT_TOKEN |
unset | Bot token; calls fail safely when absent |
DISCORD_API_BASE_URL |
https://discord.com/api/v10 |
Fixed API origin |
DISCORD_ENDPOINT_ALLOWLIST |
* |
Comma-separated IDs/operation IDs with * globs |
DISCORD_REQUEST_TIMEOUT_MS |
30000 |
Per-attempt timeout |
DISCORD_REQUEST_RETRIES |
2 |
Retry count |
DISCORD_RATE_LIMIT_PER_SECOND |
45 |
Local global safety rate |
DISCORD_RATE_LIMIT_BURST |
50 |
Local burst |
DISCORD_SCHEMA_MAX_AGE_HOURS |
24 |
Refresh threshold |
DISCORD_SCHEMA_PATH |
bundled catalog | Alternate catalog path |
DISCORD_LOCAL_FILE_ROOTS |
active root | Platform-delimited upload roots |
DISCORD_MAX_UPLOAD_BYTES |
10485760 |
Per-file limit |
DISCORD_ALLOW_UNKNOWN_PARAMETERS |
false |
Validation escape hatch |
LOG_LEVEL |
info |
debug, info, warn, error |
Use narrow production allowlists. Caller cannot supply URLs, methods, authorization, or headers. Requests always use configured base URL plus catalog route, Authorization: Bot …, and valid package User-Agent.
Discord response headers and 429 payloads control per-route/bucket and global waits; limits are not hard-coded. Fractional retry_after is honored. 429s retry within configured bound. 5xx and transport retries are limited to safe GET requests, preventing duplicate messages or moderation actions.
Development
npm ci
npm run refresh-schema
npm run check
npm test
npm run build
Tests mock network access. Daily workflow refreshes catalog and commits only generated-data changes. Manual publish workflow verifies tag/version and uses npm trusted publishing via GitHub OIDC; prereleases publish under next.
Установка Dynamic Discord Bot Api
У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.
▸ github.com/PrimeUpYourLife/dynamic-discord-bot-api-mcpFAQ
Dynamic Discord Bot Api MCP бесплатный?
Да, Dynamic Discord Bot Api MCP бесплатный — установка в пару кликов через Unyly без оплаты.
Нужен ли API-ключ для Dynamic Discord Bot Api?
Нет, Dynamic Discord Bot Api работает без API-ключей и переменных окружения.
Dynamic Discord Bot Api — hosted или self-hosted?
Self-hosted: сервер запускается локально на твоей машине командой из раздела установки.
Как установить Dynamic Discord Bot Api в Claude Desktop, Claude Code или Cursor?
Открой Dynamic Discord Bot Api на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.
Похожие MCP
Gmail
Read, send and search emails from Claude
автор: GoogleSlack
Send, search and summarize Slack messages
автор: SlackRunbear
No-code MCP client for team chat platforms, such as Slack, Microsoft Teams, and Discord.
Discord Server
A community discord server dedicated to MCP by [Frank Fiegel](https://github.com/punkpeye)
Klavis AI
Open Source MCP Infra. Hosted MCP servers and MCP clients on Slack and Discord.
Work90210/APIFold
Turn any REST API into a hosted MCP server. 18 free public servers (GitHub, Stripe, Slack, OpenAI, Notion, and more) — no setup required, bring your own API key
автор: Work90210arikusi/deepseek-mcp-server
MCP server for DeepSeek AI with chat, reasoning, multi-turn sessions, function calling, thinking mode, and cost tracking.
автор: arikusihashgraph-online/hashnet-mcp-js
MCP server for the Registry Broker. Discover, register, and chat with AI agents on the Hashgraph network.
автор: hashgraph-onlineprofullstack/mcp-server
A comprehensive MCP server aggregating 20+ tools including SEO optimization, document conversion, domain lookup, email validation, QR generation, weather data,
автор: profullstackWayStation-ai/mcp
Seamlessly and securely connect Claude Desktop and other MCP hosts to your favorite apps (Notion, Slack, Monday, Airtable, etc.). Takes less than 90 secs.
автор: waystation-aiCompare Dynamic Discord Bot Api with
Не уверен что выбрать?
Найди свой стек за 60 секунд
Автор?
Embed-бейдж для README
Похожее
Все в категории communication
