ConferenceCaptioning MCPサーバー
コミット 2026年11月13日ConferenceCaptioning イベントのライブ字幕、翻訳、保存済みトランスクリプト、および視聴者からの質問を AI アシスタントが読み取れるようにします。
別名 TheFirstPrototype/ConfCapMcp, confcapmcp
- スター
- 0
- ツール
- 10
- ダウンロード数(30日間)
- —
- 最新バージョン
- 0.1.0
- 最終コミット
- 2026年11月13日
- ライセンス
- MIT
ConferenceCaptioning MCPとは
ConferenceCaptioningはMCPサーバーです。 ConferenceCaptioning イベントのライブ字幕、翻訳、保存済みトランスクリプト、および視聴者からの質問を AI アシスタントが読み取れるようにします。. 10個のツールを提供しており、list_my_streams, get_session_overview, get_stream_statusなどがあります。
プロジェクトのREADMEから生成された概要
ConferenceCaptioning MCP server について
ConferenceCaptioning は、AI アシスタントがストリーミングイベントのリアルタイムデータおよび履歴データにアクセスできる読み取り専用の MCP server を提供します。開発者は、ローカルの stdio 設定またはリモートの HTTP エンドポイントを使用して、このサーバーを Claude Desktop や Claude Code などのクライアントに接続できます。保護されたストリーム、保存済みトランスクリプト、または視聴者からの質問にアクセスするには、ConferenceCaptioning ポータルで作成した開発者 API キーを提供する必要があります。
このサーバーには、リアルタイムテキスト用の get_live_captions、履歴記録用の list_saved_transcripts、視聴者の質問を表示する list_questions など、イベントデータとやり取りするための特定のツールが含まれています。また、セッションの概要やストリームのステータス更新も提供します。ユーザーは、CONFCAP_KEY や CONFCAP_STREAM などの環境変数、またはホスト接続用の HTTP ヘッダーを通じてアクセスを管理できます。このシステムは安全性を考慮して設計されており、すべての操作が読み取り専用であり、認証情報がログやツールの引数から保護されるようになっています。
プロジェクトの README から作成されています。すべてのユースケースは、その引用と照らし合わせて確認されています。
ConferenceCaptioning MCPのインストール方法
フォーマット検証日 2026年11月10日Cursor に追加Gooseに追加Claude CodeにConferenceCaptioning MCPをインストール
$ claude mcp add --transport http confcapmcp https://mcp.deafassistant.com/mcpCursorにConferenceCaptioning MCPをインストール
~/.cursor/mcp.json
{
"mcpServers": {
"confcapmcp": {
"url": "https://mcp.deafassistant.com/mcp"
}
}
}VS CodeにConferenceCaptioning MCPをインストール
.vscode/mcp.json
{
"servers": {
"confcapmcp": {
"type": "http",
"url": "https://mcp.deafassistant.com/mcp"
}
}
}VS Code CLIにConferenceCaptioning MCPをインストール
$ code --add-mcp '{"name":"confcapmcp","type":"http","url":"https://mcp.deafassistant.com/mcp"}'CodexにConferenceCaptioning MCPをインストール
$ codex mcp add confcapmcp --url https://mcp.deafassistant.com/mcpCodex config.tomlにConferenceCaptioning MCPをインストール
~/.codex/config.toml
[mcp_servers.confcapmcp] url = "https://mcp.deafassistant.com/mcp"
Gemini CLIにConferenceCaptioning MCPをインストール
$ gemini mcp add -s user --transport http confcapmcp https://mcp.deafassistant.com/mcpGemini settings.jsonにConferenceCaptioning MCPをインストール
~/.gemini/settings.json
{
"mcpServers": {
"confcapmcp": {
"url": "https://mcp.deafassistant.com/mcp",
"type": "http"
}
}
}ConferenceCaptioning MCPツール 10
READMEから検出list_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 | — |
設定
CONFCAP_KEYCONFCAP_STREAMFIREBASE_API_KEY
| 名前 | 説明 | 種類 |
|---|---|---|
| CONFCAP_KEY | — | |
| CONFCAP_STREAM | — | |
| FIREBASE_API_KEY | — |
自動チェック
実行日 2026年11月14日完全なレポート →まだ検証されていません。サーバーには80点のスコア、重大な問題がないこと、および検証に必要な十分なデータが必要です。 チェックの仕組み · 点数を上げるための改善点
- ソースリポジトリがリンクされており、アクセス可能thefirstprototype/confcapmcp is public and reachablegithub.com/thefirstprototype/confcapmcp ↗合格
- パッケージがこのリポジトリをソースとして指定未チェック
- ビルドの来歴 (Sigstore 証明)未チェック
- オープンソースライセンス (OSI)MITspdx.org/licenses/MIT.html ↗合格
- 過去1年以内にコミットまたはリリースありLast commit or release 2026-11-13github.com/thefirstprototype/confcapmcp ↗合格
- OpenSSF Scorecard未チェック
- パッケージ名が有名なパッケージに酷似していない未チェック
- パッケージおよびその依存関係に重大な勧告なし未チェック
- モデルへの隠れた指示がない10 tool descriptions and the README read; no override phrases, credential paths or hidden characters合格
- 破壊的なツールがラベル付けされているNo tool named like delete, drop or exec合格
- リモートエンドポイントが MCP ハンドシェイクに応答initialize answered with protocol 2025-06-18 in 318 ms合格
README
GitHubで見るConfCapMcp
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.
ConferenceCaptioning MCPのよくある質問
ConferenceCaptioning MCPをClaude Codeに追加するには
ターミナルでclaude mcp add --transport http confcapmcp https://mcp.deafassistant.com/mcpを実行します。すべてのプロジェクトで利用するには--scope userを追加します。
ConferenceCaptioning MCPをCursorに追加するには
~/.cursor/mcp.jsonを開き、上記のインストールセクションに示すCursor設定を使ってmcpServersの下にサーバーを追加します。
ConferenceCaptioning MCPが提供するツールは
10個のツールを提供しており、list_my_streams, get_session_overview, get_stream_status, get_live_captions, get_stream_contextなどがあります。
ConferenceCaptioning の API キーを取得するにはどうすればよいですか?
ポータル内の Advanced Settings を開き、Create Developer API Key を選択してください。このキーは読み取り専用であり、いつでも削除可能です。
このサーバーは読み取り専用ですか?
はい、このサーバーは GET リクエストのみを実行し、データを書き込んだり削除したりするコードパスは存在しません。
Claude Desktop で使用できますか?
はい、claude_desktop_config.json ファイルを使用するか、UI のカスタムコネクタ設定を介して Claude Desktop に追加できます。
字幕のプライバシーはどうなりますか?
ツールが返すすべての情報は接続された AI モデルに送信されるため、プライバシーに関するモデルプロバイダーの利用規約を確認してください。