Serveur MCP ConferenceCaptioning
Commit 13 nov. 2026Permet à un assistant IA de lire les sous-titres en direct, les traductions, les transcriptions sauvegardées et les questions de l'audience lors d'événements ConferenceCaptioning.
Aussi connu sous TheFirstPrototype/ConfCapMcp, confcapmcp
- Étoiles
- 0
- Outils
- 10
- Téléchargements, 30 jours
- —
- Dernière version
- 0.1.0
- Dernier commit
- 13 nov. 2026
- Licence
- MIT
Qu'est-ce que ConferenceCaptioning MCP ?
ConferenceCaptioning est un serveur MCP. Permet à un assistant IA de lire les sous-titres en direct, les traductions, les transcriptions sauvegardées et les questions de l'audience lors d'événements ConferenceCaptioning. Il expose 10 outils, comme list_my_streams, get_session_overview, get_stream_status.
Résumé généré à partir du README du projet
À propos du MCP server ConferenceCaptioning
ConferenceCaptioning fournit un MCP server en lecture seule qui permet aux assistants IA d'accéder aux données en temps réel et historiques des événements en streaming. Les développeurs peuvent connecter ce serveur à des clients comme Claude Desktop ou Claude Code en utilisant soit une configuration locale via stdio, soit un endpoint HTTP distant. Pour accéder aux flux sécurisés, aux transcriptions sauvegardées ou aux questions de l'audience, vous devez fournir une clé API développeur créée dans le portail ConferenceCaptioning.
Le serveur inclut des outils spécifiques pour interagir avec les données de l'événement, tels que get_live_captions pour le texte en temps réel, list_saved_transcripts pour les archives historiques, et list_questions pour consulter les questions de l'audience. Il propose également des aperçus de session et des mises à jour sur l'état du flux. Les utilisateurs peuvent gérer l'accès via des variables d'environnement comme CONFCAP_KEY et CONFCAP_STREAM, ou via des headers HTTP pour les connexions hébergées. Le système est conçu avec une approche de sécurité rigoureuse, garantissant que toutes les opérations sont en lecture seule et que les identifiants sont protégés des logs et des arguments d'outils.
Extrait du README du projet. Chaque cas d'utilisation est vérifié par rapport à une citation du document.
Comment installer ConferenceCaptioning MCP
Formats vérifiés le 10 nov. 2026Ajouter à CursorAjouter à GooseInstaller ConferenceCaptioning MCP dans Claude Code
$ claude mcp add --transport http confcapmcp https://mcp.deafassistant.com/mcpInstaller ConferenceCaptioning MCP dans Cursor
~/.cursor/mcp.json
{
"mcpServers": {
"confcapmcp": {
"url": "https://mcp.deafassistant.com/mcp"
}
}
}Installer ConferenceCaptioning MCP dans VS Code
.vscode/mcp.json
{
"servers": {
"confcapmcp": {
"type": "http",
"url": "https://mcp.deafassistant.com/mcp"
}
}
}Installer ConferenceCaptioning MCP dans VS Code CLI
$ code --add-mcp '{"name":"confcapmcp","type":"http","url":"https://mcp.deafassistant.com/mcp"}'Installer ConferenceCaptioning MCP dans Codex
$ codex mcp add confcapmcp --url https://mcp.deafassistant.com/mcpInstaller ConferenceCaptioning MCP dans Codex config.toml
~/.codex/config.toml
[mcp_servers.confcapmcp] url = "https://mcp.deafassistant.com/mcp"
Installer ConferenceCaptioning MCP dans Gemini CLI
$ gemini mcp add -s user --transport http confcapmcp https://mcp.deafassistant.com/mcpInstaller ConferenceCaptioning MCP dans Gemini settings.json
~/.gemini/settings.json
{
"mcpServers": {
"confcapmcp": {
"url": "https://mcp.deafassistant.com/mcp",
"type": "http"
}
}
}Outils MCP ConferenceCaptioning 10
Détectés depuis le READMElist_my_streamsget_session_overviewget_stream_statusget_live_captionsget_stream_contextlist_saved_transcriptsget_saved_transcriptlist_questionsget_audience_summaryget_help_links
| list_my_streams | — | |
| get_session_overview | — | |
| get_stream_status | — | |
| get_live_captions | — | |
| get_stream_context | — | |
| list_saved_transcripts | — | |
| get_saved_transcript | — | |
| list_questions | — | |
| get_audience_summary | — | |
| get_help_links | — |
Configuration
CONFCAP_KEYCONFCAP_STREAMFIREBASE_API_KEY
| Nom | Description | Type |
|---|---|---|
| CONFCAP_KEY | — | |
| CONFCAP_STREAM | — | |
| FIREBASE_API_KEY | — |
Vérifications automatisées
Exécuté le 14 nov. 2026Rapport complet →Pas encore vérifié. Un serveur nécessite un score de 80, aucune faille sérieuse et suffisamment de données pour que nous puissions effectuer les vérifications. Fonctionnement des vérifications · Ce qu'il faut corriger pour gagner des points
- Dépôt source lié et accessiblethefirstprototype/confcapmcp is public and reachablegithub.com/thefirstprototype/confcapmcp ↗Réussi
- Le nom du package correspond au dépôt sourceNon vérifié
- Provenance du build (attestation Sigstore)Non vérifié
- Licence open source (OSI)MITspdx.org/licenses/MIT.html ↗Réussi
- Commit ou version publiée au cours de l'année écouléeLast commit or release 2026-11-13github.com/thefirstprototype/confcapmcp ↗Réussi
- OpenSSF ScorecardNon vérifié
- Nom du package non proche d'un package populaireNon vérifié
- Aucun avis critique dans le package ou ses dépendancesNon vérifié
- Aucune instruction cachée destinée au modèle10 tool descriptions and the README read; no override phrases, credential paths or hidden charactersRéussi
- Les outils destructifs sont étiquetésNo tool named like delete, drop or execRéussi
- Le point de terminaison distant répond à la poignée de main MCPinitialize answered with protocol 2025-06-18 in 318 msRéussi
README
Voir sur GitHubConfCapMcp
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.
Setup
- In the portal (https://app.deafassistant.com), open Advanced Settings and choose Create Developer API Key. Copy the key (it is shown once). It is read-only, and you can delete it any time.
- Build:
npm install && npm run build. - Add the server to your client. Claude Desktop (
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.
Hosted mode
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.
Connect a client to the hosted server (nothing to install)
The hosted endpoint is https://mcp.deafassistant.com/mcp. Create a key in the portal (step 1 above), then:
- Claude Code:
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). - Claude Desktop (tested): Settings > Connectors > Add > Add custom connector. Name
ConferenceCaptioning, MCP server URLhttps://mcp.deafassistant.com/mcp, then Continue. It reports "no sign-in" (we do not use OAuth); open Request headers, add the headerAuthorizationwith the valueBearerfollowed by your key, and click Add. Then start a chat and ask "what can the ConferenceCaptioning connector do". - Any other client with remote MCP and custom headers: the same URL with the header
Authorization: Bearer cck_.... Clients that only offer OAuth sign-in cannot send a static header yet. - Clients that only speak stdio:
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).
Listing in the MCP Registry
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.
Tools
| 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:
- Translations are a window of recent text that is re-translated as people speak. Saved transcripts are in the spoken language only; ask the assistant to translate them.
- Only some streams store history, and only sessions of 100 characters or more.
- Speech and questions come back wrapped in
<untrusted-text>: other people wrote them, so a model should treat them as data, never as instructions.
Safety properties (all tested)
- Only
GETrequests. The server has no code path that writes or deletes, and the key is read-only on the server as well. - Credentials come only from the environment, never from tool arguments. They are redacted from errors and never logged.
- The account
uidand the admin code are never used or sent. - Calls to one stream are spaced at one per second and overall at five per second;
429and5xxare retried with backoff. - Two server instances never share cached text.
Live smoke test (stdio, or 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='<portal login of an account that owns a stream>' T_PASS='<password>' 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).
Development
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.
Questions sur ConferenceCaptioning MCP
Comment ajouter ConferenceCaptioning MCP à Claude Code ?
Exécutez claude mcp add --transport http confcapmcp https://mcp.deafassistant.com/mcp dans votre terminal. Ajoutez --scope user pour le rendre disponible dans tous les projets.
Comment ajouter ConferenceCaptioning MCP à Cursor ?
Ouvrez ~/.cursor/mcp.json et ajoutez le serveur sous mcpServers, avec la configuration Cursor indiquée dans la section d'installation ci-dessus.
Quels outils ConferenceCaptioning MCP fournit-il ?
Il expose 10 outils, dont list_my_streams, get_session_overview, get_stream_status, get_live_captions, get_stream_context.
Comment obtenir une clé API pour ConferenceCaptioning ?
Dans le portail, ouvrez Advanced Settings et choisissez Create Developer API Key. La clé est en lecture seule et peut être supprimée à tout moment.
Le serveur est-il en lecture seule ?
Oui, le serveur effectue uniquement des requêtes GET et ne possède aucun chemin de code permettant d'écrire ou de supprimer des données.
Puis-je l'utiliser avec Claude Desktop ?
Oui, vous pouvez l'ajouter à Claude Desktop en utilisant le fichier claude_desktop_config.json ou via les paramètres du connecteur personnalisé dans l'interface utilisateur.
Qu'en est-il de la confidentialité des sous-titres ?
Tout ce qu'un outil renvoie est envoyé au modèle d'IA auquel vous êtes connecté, vous devez donc vérifier les conditions de votre fournisseur de modèle concernant la confidentialité.