Discussion Capsule
Turns GitHub Discussions into interactive, read-only briefs inside an MCP host, surfacing participants, questions, and thread maps without mutating GitHub state.
README
Discussion Capsule
Discussion Capsule is a read-only MCP App that turns a GitHub Discussion into a compact, interactive brief inside an MCP host.
It demonstrates the contextual-launch pattern proposed in modelcontextprotocol/ext-apps#736: ordinary tool arguments identify the discussion, the server returns grounded structured content, and the app renders the result without introducing a host-specific launch envelope.
What it does
- Loads a public GitHub Discussion, comments, and reply counts from GitHub's official REST API.
- Surfaces participants, answer state, source-linked open questions, and a filterable thread map.
- Lets a user ask the host model for reply help, then review and select a draft for copying.
- Never publishes, edits, reacts to, or otherwise mutates GitHub state.
Public discussions work without credentials. Set GITHUB_TOKEN only when you need a higher API rate limit or access to a private repository. Never commit the token.
Run it
Requires Node.js 22 or newer.
npm install
npm run build
npm start
The Streamable HTTP MCP endpoint is http://localhost:3001/mcp. It binds to 127.0.0.1 by default. Use PORT or HOST to change either value; set a comma-separated ALLOWED_HOSTS list when exposing a non-loopback host.
For a stdio client:
{
"mcpServers": {
"discussion-capsule": {
"command": "node",
"args": [
"/absolute/path/to/mcp-discussion-capsule/dist/main.js",
"--stdio"
]
}
}
}
Then ask the host:
Open https://github.com/modelcontextprotocol/ext-apps/discussions/606 as a discussion capsule.
Verify it
npm test
npm run build
npm run smoke:live
The live smoke test defaults to ext-apps Discussion #606. Pass another public Discussion URL as its first argument.
Trust model
Discussion bodies and comments are untrusted external input. The app renders them as text, not executable HTML. Extracted questions are deterministic source excerpts with links; they are not claimed to be model judgments. GitHub remains the canonical source.
AI disclosure
The initial prototype was developed with OpenAI Codex. The implementation was validated with local tests and a live GitHub Discussion; AI output is not treated as proof of GitHub state.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.