Discord Teammate MCP Server
Enables Claude to send messages to a Discord channel and read replies, allowing for notifications and approvals via Discord.
README
Discord Teammate — a Claude connector that pings you on Discord
This is a tiny remote MCP server. Once it's deployed and connected to Claude, any of your scheduled runs can message you in a Discord channel when it needs a check-in or an approval — and can read your reply back, so approvals can happen right there in Discord.
It exposes two tools to Claude:
send_discord_message— posts a message to your channel. Withurgency: "urgent"it @-mentions you for a strong notification.read_recent_replies— reads the latest messages in the channel, so a later run can check whether you approved.
Total setup time is about 15 minutes. It runs free on Cloudflare Workers.
What you'll need
- Node 20+ on your machine (check with
node -v). - A Cloudflare account (free — you'll create it during
wrangler loginif you don't have one). - A Discord server you own, with a channel you want the pings in. (A private server with one channel just for this is perfect.)
Step 1 — Create the Discord bot (~5 min)
- Go to https://discord.com/developers/applications → New Application.
Name it something like
Claude Teammate. Create. - In the left sidebar, open Bot.
- Click Reset Token, confirm, then Copy the token. Keep it somewhere
safe for a moment — this is your
DISCORD_BOT_TOKEN. - Scroll down to Privileged Gateway Intents and turn ON Message Content Intent. (Needed so the bot can read your replies. If you only ever want one-way pings, you can skip this.)
- Save changes.
- Click Reset Token, confirm, then Copy the token. Keep it somewhere
safe for a moment — this is your
- In the left sidebar, open OAuth2 → URL Generator.
- Under Scopes, check
bot. - Under Bot Permissions, check View Channel, Send Messages, and Read Message History.
- Copy the Generated URL at the bottom, open it in your browser, pick your server, and Authorize. The bot is now in your server.
- Under Scopes, check
Step 2 — Get your channel ID (~1 min)
- In Discord: User Settings → Advanced → Developer Mode → ON.
- Right-click the channel you want the pings in → Copy Channel ID. This is
your
DISCORD_CHANNEL_ID. - (Optional, for @-mentions) Right-click your own name → Copy User ID.
This is your
DISCORD_USER_ID.
Step 3 — Deploy the server (~5 min)
Open a terminal in this folder and run:
npm install
npx wrangler login # opens a browser to sign in / create a free Cloudflare account
npx wrangler deploy # creates the Worker and prints its URL
The last command prints a URL like:
https://discord-teammate-mcp.<your-subdomain>.workers.dev
Copy that URL. Then set your secrets (each one uploads to the live Worker immediately — no redeploy needed):
npx wrangler secret put DISCORD_BOT_TOKEN # paste the bot token
npx wrangler secret put DISCORD_CHANNEL_ID # paste the channel ID
npx wrangler secret put DISCORD_USER_ID # optional: paste your user ID
(Optional hardening — see "Security" below):
npx wrangler secret put MCP_KEY # paste any long random string
Step 4 — Connect it to Claude (~2 min)
-
In Claude, go to Settings → Connectors → Add custom connector.
-
For the URL, take your Worker URL and add
/mcpto the end:https://discord-teammate-mcp.<your-subdomain>.workers.dev/mcpIf you set an
MCP_KEY, add it as a query parameter:https://discord-teammate-mcp.<your-subdomain>.workers.dev/mcp?k=YOUR_MCP_KEY -
Click Add. That's it — no OAuth needed.
-
Make sure the connector is enabled in the chat where your routines run.
Step 5 — Test it
In a chat with the connector enabled, ask Claude:
Send a test message to my Discord channel.
You should see it appear in the channel within a second or two. Try:
Send an urgent Discord ping saying the deploy needs my approval.
…and confirm you get an @-mention notification.
Security
By default the server is authless: anyone who knows the exact
.workers.dev URL could call it. The blast radius is small (the bot can only
post to and read the one channel you configured), but to lock it down, set an
MCP_KEY secret (Step 3) and append ?k=YOUR_MCP_KEY to the connector URL
(Step 4). The Worker then rejects any request without the right key. Don't paste
the URL anywhere public either way.
Cost
Cloudflare Workers' free plan includes 100,000 requests/day. A ping and a couple of reply-checks per run is nowhere near that — this will stay free.
Updating tools later
The tools live in src/server.ts. Edit, then run npx wrangler deploy again.
Claude picks up the new tool list automatically.
Troubleshooting
Method not allowedin a browser — expected. The/mcpendpoint only answers POST from an MCP client; visiting it in a browser (GET) returns 405.- Tools return "misconfigured" — the bot token or channel ID secret isn't
set. Re-run the
wrangler secret putcommands from Step 3. read_recent_repliesreturns empty content — enable Message Content Intent in the Discord Developer Portal (Step 1) and make sure the bot has Read Message History on the channel.403 Missing Access— the bot isn't in the server or can't see the channel. Re-run the OAuth invite from Step 1 and check channel permissions.
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。