Command Palette

Search for a command to run...

UnylyUnyly
Browse all

Discord Teammate Server

FreeNot checked

Enables Claude to send messages to a Discord channel and read replies, allowing for notifications and approvals via Discord.

GitHubEmbed

About

Enables Claude to send messages to a Discord channel and read replies, allowing for notifications and approvals via Discord.

README

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. With urgency: "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 login if 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)

  1. Go to https://discord.com/developers/applicationsNew Application. Name it something like Claude Teammate. Create.
  2. 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.
  3. In the left sidebar, open OAuth2URL 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.

Step 2 — Get your channel ID (~1 min)

  1. In Discord: User Settings → Advanced → Developer Mode → ON.
  2. Right-click the channel you want the pings in → Copy Channel ID. This is your DISCORD_CHANNEL_ID.
  3. (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)

  1. In Claude, go to Settings → Connectors → Add custom connector.

  2. For the URL, take your Worker URL and add /mcp to the end:

    https://discord-teammate-mcp.<your-subdomain>.workers.dev/mcp
    

    If you set an MCP_KEY, add it as a query parameter:

    https://discord-teammate-mcp.<your-subdomain>.workers.dev/mcp?k=YOUR_MCP_KEY
    
  3. Click Add. That's it — no OAuth needed.

  4. 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 allowed in a browser — expected. The /mcp endpoint 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 put commands from Step 3.
  • read_recent_replies returns 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.

from github.com/rgomesnunes/discord-teammate-mcp

Installing Discord Teammate Server

This server has no published package — it is built from source. Open the repository and follow its README.

▸ github.com/rgomesnunes/discord-teammate-mcp

FAQ

Is Discord Teammate Server MCP free?

Yes, Discord Teammate Server MCP is free — one-click install via Unyly at no cost.

Does Discord Teammate Server need an API key?

No, Discord Teammate Server runs without API keys or environment variables.

Is Discord Teammate Server hosted or self-hosted?

A hosted option is available: Unyly runs the server in the cloud, no local setup required.

How do I install Discord Teammate Server in Claude Desktop, Claude Code or Cursor?

Open Discord Teammate Server on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.

Related MCPs

Compare Discord Teammate Server with

Not sure what to pick?

Find your stack in 60 seconds

Author?

Embed badge for your README

Browse similar

All communication MCPs