Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Description from the maker (original English)
Read live captions, saved transcripts and audience questions from your ConferenceCaptioning events.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
AuthorizationValues marked secret are keys to your account. Never share them or paste them into a chat.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
This address needs a key in a request header, which the add-connector menu cannot set. Use Claude Code, Cursor or VS Code instead.
Run this in your terminal
claude mcp add --transport http confcap https://mcp.deafassistant.com/mcp --header 'Authorization: your-value'Fill in the empty values before running it.
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"confcap": {
"url": "https://mcp.deafassistant.com/mcp",
"headers": {
"Authorization": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"confcap": {
"type": "http",
"url": "https://mcp.deafassistant.com/mcp",
"headers": {
"Authorization": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This address needs a key in a request header, which the add-connector menu cannot set. Use Claude Code, Cursor or VS Code instead.
Your choice stays on this device in a cookie; no account needed.
Authorization secret required HTTP headerThese settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
We have not read this server’s tool list yet; we check endpoints in rotation.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 6, 2026
The registry name was verified with the GitHub account TheFirstPrototype, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
Not checked yet; we check endpoints in rotation
Not checked yet; we check endpoints in rotation
Not checked yet; we read the tool list when we check the endpoint
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
You need to fill in: Authorization
It runs in the maker’s cloud. Connect over the internet with nothing to install, but what you send passes through the maker’s servers.
The GitHub repo last changed –, and the latest version (0.1.0) reached the registry 8 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. It connects by URL, so apps that accept remote MCP servers work too, such as ChatGPT in developer mode.
In the same category: Spec Driven Development, Remote Desktop Commander, AI Deprecations
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
AI model shutdown dates, replacements, change feed and webhook alerts for 8 providers.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
A read-only MCP server for ConferenceCaptioning. It lets an AI assistant read your stream's live captions and translations, your saved transcripts and your audience questions, using a developer API key you create in the portal.
Privacy: everything a tool returns is sent to the AI model you connected. If you promised attendees that captions stay private, check that model provider's terms first.
npm install && npm run build.claude_desktop_config.json) or any stdio MCP client:{
"mcpServers": { "confcap": { "command": "node", "args": ["/path/to/ConfCapMcp/dist/src/index.js"], "env": { "CONFCAP_KEY": "cck_...", "CONFCAP_STREAM": "yourstream" } } } }
Claude Code: claude mcp add confcap -e CONFCAP_KEY=cck_... -e CONFCAP_STREAM=yourstream -- node /path/to/ConfCapMcp/dist/src/index.js
| Variable | Meaning |
|---|---|
CONFCAP_KEY | Your developer API key. Needed for saved transcripts, questions and your secured streams. Not needed for public streams. |
CONFCAP_STREAM | Default stream name. If unset and the key owns exactly one stream, that stream is used. |
CONFCAP_AUTH | The secure code of a secured stream, to read its captions without being its owner. |
CONFCAP_API_URL | Defaults to https://api.deafassistant.com. Must be https (or localhost). |
Keep the key out of source control. See the Developer API docs.
MCP_TRANSPORT=http PORT=8787 node dist/src/index.js runs a stateless streamable-HTTP endpoint (POST /mcp, GET /healthz) instead of stdio. Each request carries its own key (Authorization: Bearer cck_...), optionally X-Confcap-Stream and X-Confcap-Auth. Nothing is stored; callers never share cached text; 60 requests a minute per caller. Self-hosting as a systemd service behind nginx, with memory and CPU caps, is in deploy/README.md.
The hosted endpoint is https://mcp.deafassistant.com/mcp. Create a key in the portal (step 1 above), then:
claude mcp add --transport http confcap https://mcp.deafassistant.com/mcp --header "Authorization: Bearer cck_..." (add --header "X-Confcap-Stream: yourstream" to set a default stream).ConferenceCaptioning, MCP server URL https://mcp.deafassistant.com/mcp, then Continue. It reports "no sign-in" (we do not use OAuth); open Request headers, add the header Authorization with the value Bearer followed by your key, and click Add. Then start a chat and ask "what can the ConferenceCaptioning connector do".Authorization: Bearer cck_.... Clients that only offer OAuth sign-in cannot send a static header yet.npx mcp-remote https://mcp.deafassistant.com/mcp --header "Authorization: Bearer cck_..." bridges to the hosted URL.The key is sent on every request, so treat the client's config file like a password file. Check the connection with HOSTED_URL=https://mcp.deafassistant.com node scripts/live-smoke.mjs (needs a portal login and FIREBASE_API_KEY, see below).
server.json describes the hosted server for the official MCP Registry (a remote, streamable-http server that needs an Authorization header). It is published by the "Publish to the MCP Registry" workflow (.github/workflows/publish-registry.yml) through GitHub's OIDC login, because an organization namespace (io.github.TheFirstPrototype) cannot be published from a laptop's mcp-publisher login github. Push a tag such as v0.1.0 (the tag becomes the version), or run the workflow by hand. The registry checks that you control the namespace, not the server URL.
| Tool | What it does | Needs a key |
|---|---|---|
list_my_streams | The streams the key can read | yes |
get_session_overview | Start here: what exists for a stream (live or probably stopped, live text held, saved transcripts, questions, glossary) and what to do next | no (more with a key) |
get_stream_status | Live or not, languages, and whether it is readable (ok, authRequired, expired, unknown) | no |
get_live_captions | Newest caption text, spoken language or a translation; a cursor for new text only | no (yes for your secured streams) |
get_stream_context | Colour, logo and glossary terms (use them to correct mis-heard names) | no |
list_saved_transcripts | Saved transcripts with title, note, times and length | yes |
get_saved_transcript | One transcript, paged | yes |
list_questions | Audience questions, oldest first | yes |
get_audience_summary | Visits to the attendee page: totals, peak, cities, referrers, devices | yes |
get_help_links | Links to the how-to guides (static) | no |
Also: resources confcap://stream/{name}/status and confcap://stream/{name}/transcript/{id}, and prompts meeting_minutes, triage_questions, catch_me_up, translate_summary.
Good to know:
: other people wrote them, so a model should treat them as data, never as instructions.GET requests. The server has no code path that writes or deletes, and the key is read-only on the server as well.uid and the admin code are never used or sent.429 and 5xx are retried with backoff.HOSTED_URL=https://... node scripts/live-smoke.mjs for the hosted endpoint)Runs the built server against the real API with a throwaway key (created and deleted by the script), calls every tool read-only, and checks that neither the key nor the account uid appears in any output.
npm run build
FIREBASE_API_KEY='portal Firebase web apiKey' T_EMAIL=' ' T_PASS=' ' npm run live-smoke
Optional: `SMOKE_STREAM` (default: the account's first stream), `API_BASE_URL`. Exit code 0 means it passed. Never commit the password. The related checks are `ConfCapApi/scripts/live_developer_keys_check.py` (API) and `ConfCapPortal/e2e` (portal UI).
npm test builds and runs the tests (a real local mock API, the protocol through the SDK's in-memory transport, and mutation-style checks described in test/). The server uses the v1.x SDK, which supports the 2025-11-25 MCP spec.