Labsco
MCP SERVER

MCP Relay

by emiliobool

Lets an assistant ask you a question in Discord — with buttons — and wait for the answer.

Notifications & Alerting to Humans
Summary
Turns a long-running agent into something you can answer from your phone.

The prompt type is the interesting half: the assistant stops, asks a real question with real buttons in a channel you already watch, and continues with your answer. That makes unattended runs viable — it can pause for a judgement call instead of guessing — and the timeout means a question nobody sees fails cleanly rather than hanging forever.

What it is

A relay between an assistant and a Discord channel. The assistant posts into the channel through a bot you own; a message can be fire-and-forget, or it can be a prompt that blocks until someone answers — by clicking a button or by typing a reply.

What you get
  • `send-message` takes a `type` of either `notification` or `prompt`, plus a `title` and `content`
  • `notification` posts and returns immediately, expecting no answer
  • `prompt` waits for a response and returns it to the assistant
  • `actions` adds buttons, each with a `label` shown and a `value` returned when clicked
  • `timeout` in milliseconds bounds the wait — the example uses 60000 for a minute
  • A prompt takes the first response only, whether it came from a button or a typed message
Requirements

A Discord application with a bot token in `DISCORD_TOKEN` and the target channel's ID in `DISCORD_CHANNEL_ID`. In the Developer Portal the bot needs the Message Content, Server Members and Presence intents switched on, and it is invited with the bot and applications.commands scopes plus Send Messages, Embed Links and Read Message History. Developer Mode in Discord is what lets you copy the channel ID. Then `node build/index.js` with an absolute path. Version 1.0.0.