MCP (Model Context Protocol)
DiscMeet runs a remote MCP server at https://mcp.discmeet.com/mcp. Any MCP-compatible AI client — ChatGPT, Claude Desktop, Claude Code, Cursor, Codex, and others — can connect to it and pull your meeting notes into the conversation as live context, on demand.
This is the easiest way to ask an AI agent things like:
- “What did we decide in yesterday’s standup?”
- “Find the meeting where we talked about the new pricing - quote the relevant section.”
- “Draft a follow-up email for the planning meeting we just had.”
- “Summarise this week’s product meetings into a Monday update.”
- “What happened in the last session of The Mystic Triad? Draft a quick recap I can read to the players.”
- “Who is Captain Marrow and what do the players know about her?”
- “List every NPC and faction in The Mystic Triad — I need a quick refresher before tonight’s session.”
- “Pull every campaign on this server and tell me which ones haven’t had a session in a month.”
…and have the agent fetch the actual notes from your server itself.
Requirements
- Your Discord server has the DiscMeet bot installed and enabled
- The server is on the Pro plan or above
- Sign in with Discord — no token to copy or rotate. ChatGPT signs you in during setup; every other client hands you a sign-in link right in the chat the first time you ask. See How sign-in works.
Connect your client
Pick your AI client below. Setup is just the endpoint URL plus a Discord sign-in — ChatGPT handles sign-in during setup; everywhere else the assistant gives you a sign-in link in the conversation.
ChatGPT
ChatGPT supports custom MCP servers through its Developer Mode for Apps. The whole setup is in the ChatGPT settings UI — no config files.
1. Enable Developer Mode
In ChatGPT, open Settings → Apps → Enable Developer Mode. This unlocks the ability to add custom MCP apps. (You may need to be on a paid ChatGPT plan that supports Apps.)
2. Create the DiscMeet app
Still in Settings → Apps, click Create App. Fill in:
- Name →
DiscMeet - Connection (URL) →
https://mcp.discmeet.com/mcp - Authentication →
OAuth
When ChatGPT shows the Custom MCP Warning (it warns you about trusting third-party MCP servers), check the box to acknowledge, then hit Create.
3. Sign in with Discord
ChatGPT opens a popup to discmeet.com for the OAuth handshake. Click Authorize with the Discord account that owns (or has Manage Server on) the DiscMeet-enabled server.
That’s it. No token to copy. In any conversation, you can now ask:
“What did I discuss in DiscMeet in the last 7 days? Group it by theme.”
ChatGPT will call the DiscMeet tools (list_recent_meetings, get_meeting, etc.) and stream the answer with inline tool calls.
To remove the connection later, go back to Settings → Apps → DiscMeet → Disconnect.
How sign-in works
Everywhere except ChatGPT, authentication happens in the conversation:
- You ask the agent anything about your meetings.
- DiscMeet replies that you’re not signed in, and the agent fetches a sign-in link (the
logintool). - The agent shows you the link. Open it, sign in with Discord — links expire after 10 minutes.
- Ask again. The connection stays signed in for that client session.
Sign-in is per client session: if your client starts a fresh session (typically after a restart), the agent hands you a new link when needed. ChatGPT instead uses a standard OAuth connection created at setup, which persists across restarts.
What it exposes
Tools — Meetings
| Tool | What it does |
|---|---|
list_recent_meetings | Lists meetings in your server’s window — metadata + a notes preview per meeting (no raw transcript). Composable: the agent can paginate, widen the date window, or narrow as needed. Use this first when you ask anything about past meetings. |
get_meeting | Fetches the full structured notes for one meeting by its UUID. The verbatim transcript is opt-in via include_transcript=true (only set when you need exact quotes — transcripts can be 20-100 KB). |
Tools — RPG sessions
| Tool | What it does |
|---|---|
list_campaigns | Lists campaigns in your server (id, name, description, active status, session count). The agent uses this to resolve a campaign name (the way GMs and players actually refer to them) to the campaign id needed by list_recent_sessions or get_campaign. |
get_campaign | Fetches one campaign’s full world bible: metadata plus characters (split into players/NPCs), items, locations, and organizations — the entities you curate from the dashboard. Use for any “who is X?”, “what is Y?”, “where is Z?” question. Defaults to active entities only; pass active_only=false for historical/retired content. |
list_recent_sessions | Lists RPG sessions, optionally scoped to one campaign via campaign_id. Each row now includes campaign_id + campaign_name so the agent can answer “which campaign was this session in?” without a second call. Same iterative pattern as list_recent_meetings — paginate, narrow, drill in via get_session. |
get_session | Fetches the full structured notes for one RPG session by its UUID, with campaign_id + campaign_name attached. Verbatim transcript opt-in via include_transcript=true (RPG sessions can run 3-5+ hours — transcripts get large). |
Prompts
Prompts appear as quick-pick options in your MCP client’s menu. One click runs a pre-baked agent flow.
| Prompt | What it does |
|---|---|
daily_standup_context | Pulls all voice meetings from the last 24 hours, summarises them grouped by channel, with decisions and action items called out. |
weekly_digest | Theme-organised rollup over a configurable window (defaults to 7 days; pass days to change). Highlights decisions, blockers, recurring topics. |
meeting_followup_drafter | Given a meeting_id, drafts a ready-to-paste follow-up message — recap, action items with owners, next step. |
next_session_prep | Given a campaign_name, drafts a player-facing “previously on…” recap plus a GM-facing prep brief (unresolved threads, NPC states, things to watch for) for the next RPG session. |
Tips for getting good results
- Just ask in any language. You don’t need to know the tool names. “What were the decisions from last Thursday’s planning call?” works as well as anything structured — in English, German, Japanese, or anything else your agent speaks. The agent picks the right tool and composes calls.
- Give a timeframe hint when you have one. “Back in April we discussed pricing” is much faster than “find that pricing meeting” with no hint — the agent uses the hint to narrow the search window instead of paginating from the start.
- Default to summaries, not transcripts. Notes are tightly summarised; transcripts are hundreds of KB per long meeting and will blow out the agent’s context window. Only request
include_transcript=truewhen you genuinely need verbatim quotes. - One sign-in covers every server you own or manage. No per-server tokens — meetings from all your DiscMeet-enabled servers are reachable from the one connection.
- Rate limits are per account. If the agent gets a
Rate limit hitresponse, wait a few seconds and retry.
Troubleshooting
| Symptom | Likely cause / fix |
|---|---|
Not signed in | Ask the agent to sign you in — it fetches a Discord sign-in link. Links expire after 10 minutes; just request a fresh one. |
Plan upgrade required | Your account dropped off the Pro plan. MCP access requires Pro or above. |
Rate limit hit | Too many requests in the rolling window. Wait a few seconds and retry — usually transient. |
Not found on get_meeting | The meeting_id doesn’t belong to your account, or the meeting has no transcript yet (still processing or empty audio). |
| Connection refused / 404 | Double-check the URL — must be exactly https://mcp.discmeet.com/mcp with the /mcp path. |
| Asked to sign in again after restarting your client | Expected for chat-link sign-ins — they’re scoped to one client session. ChatGPT’s OAuth connection is the exception and persists. |
Legacy config-file setup (mcp-remote): connects then disconnects | Config changes need a full Cmd+Q restart — or switch to the connector method above, which needs neither config files nor restarts. |
Security & data handling
- Read-only. The MCP server exposes only
GEToperations against your meetings. No tool can delete a meeting, rotate a key, or change settings. - Scoped to your Discord account. Sign-in authorises the meetings on Discord servers you own or manage. Nothing outside that scope is reachable.
- TLS in transit. All traffic is HTTPS.
- Short-lived sign-in links. A login link expires after 10 minutes and only connects the chat session that requested it. Only sign in through links your own assistant just gave you.
