{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_k6w3un8mxe7w","handle":"conferencecaptioning","url":"https://wellknown.network/agents/conferencecaptioning","links":{"self":"https://wellknown.network/agents/conferencecaptioning/record.json","html":"https://wellknown.network/agents/conferencecaptioning","markdown":"https://wellknown.network/agents/conferencecaptioning/record.md","api":"https://wellknown.network/api/v1/agents/conferencecaptioning","status":"https://wellknown.network/api/v1/agents/conferencecaptioning/status","claim":"https://wellknown.network/agents/conferencecaptioning/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/conferencecaptioning/claim.json","badge":"https://wellknown.network/agents/conferencecaptioning/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/conferencecaptioning/history","tools":"https://wellknown.network/api/v1/agents/conferencecaptioning/tools"},"ard":{"identifier":"urn:air:mcp.deafassistant.com:server:conferencecaptioning","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"ConferenceCaptioning","summary":"Read live captions, saved transcripts and audience questions from your ConferenceCaptioning events.","description":"Read live captions, saved transcripts and audience questions from your ConferenceCaptioning events.","publisher":{"name":"TheFirstPrototype","url":null},"homepage":"https://conferencecaptioning.com/developers/","repository":"https://github.com/TheFirstPrototype/ConfCapMcp","version":"0.1.0","license":null,"protocols":["mcp"],"tags":[],"pricing":null,"endpoints":[{"url":"https://mcp.deafassistant.com/mcp","type":"mcp_streamable_http","auth":null,"probeable":true}],"skills":null,"tools":null,"extra":{"updatedAt":"2026-10-28T18:33:23.491238Z","publishedAt":"2026-10-28T18:33:23.491238Z","registryName":"io.github.TheFirstPrototype/confcap"},"attribution":{"kind":"mcp_registry","name":"mcp_registry","repoUrl":"mcp_registry","summary":"mcp_registry","version":"mcp_registry","description":"mcp_registry","homepageUrl":"mcp_registry","publisherName":"mcp_registry"}},"derived":{"capabilities":[{"slug":"infra.browser-automation","name":"Browser Automation","confidence":1,"provenance":"derived"},{"slug":"media.video-editing","name":"Video Editing","confidence":0.938,"provenance":"derived"},{"slug":"content.translation","name":"Translation","confidence":0.569,"provenance":"derived"},{"slug":"content.writing","name":"Writing & Editing","confidence":0.51,"provenance":"derived"}],"categories":["content","infra","media"],"language":"en"},"observed":{"status":"live","statusReason":"Responded 20m ago.","lastOkAt":"2026-10-31T20:27:47.763Z","lastProbedAt":"2026-10-31T20:27:47.763Z","statusComputedAt":"2026-10-31T20:30:56.282Z","reliability30d":{"probes":8,"successRate":1,"p50Ms":105,"basis":"service","measures":{"availability":"availability","latency":"response time","tools":"tool surface observed","summary":"Checks reached the service itself."},"checks":{"total":8,"ok":8,"authBoundaryOk":0,"serviceOk":8,"note":"Counted from the observation rows for the window, checks of the server only (HTTP, A2A card, MCP initialize). ok = authBoundaryOk + serviceOk. `probes` is the sum of daily rollups and includes registry checks, so it can differ from `total`."}},"latestObservations":[{"at":"2026-10-31T20:27:47.763Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":105,"error":null,"detail":{"tools":[{"name":"list_my_streams","description":"List the streams that the configured developer API key can read. Returned text is sent to the AI model you are using. "},{"name":"get_session_overview","description":"Start here when asked about a session or event. One call that says what exists for a stream and how to read it: live or probably stopped, how much live text is "},{"name":"get_stream_status","description":"Is a stream live, what languages does it use, and can it be read? Returns state ok, authRequired, expired or unknown. Returned text is sent to the AI model you "},{"name":"get_live_captions","description":"The newest live caption text of a stream, in the spoken language or one of its translation languages. Translations are a window of recent text that is re-transl"},{"name":"get_stream_context","description":"A stream's design (colour, logo) and the glossary terms it uses (names, terms and acronyms the organizer expects). Call it before quoting or summarising caption"},{"name":"list_saved_transcripts","description":"The owner's saved transcripts for a stream (id, title, note, times, length). Needs a developer API key. Only some streams store history. Saved transcripts are i"},{"name":"get_saved_transcript","description":"One saved transcript's text, in pages (default 20,000 characters). The result says the total length and the next offset. Text is wrapped in <untrusted-text>. Re"},{"name":"list_questions","description":"Audience questions sent from the stream page, oldest first. Needs a developer API key. Question text was written by attendees and is wrapped in <untrusted-text>"},{"name":"get_audience_summary","description":"How many people opened the stream's attendee page: visits, unique browsers, new vs returning, peak hour or day, top cities, referrers, devices. Page loads only,"},{"name":"get_help_links","description":"Links to the ConferenceCaptioning how-to guides (OBS, ProPresenter, slide decks, Stream Deck, failover, static IP, local translation server, Chrome extension). "}],"toolCount":10,"toolsHash":"144bac5b38445e027dab536a373d6731a94085ba7b99a21c7545d759c0940b7a","serverName":"confcap","capabilities":["tools","resources","prompts"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-31T13:29:43.638Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":96,"error":null,"detail":{"tools":[{"name":"list_my_streams","description":"List the streams that the configured developer API key can read. Returned text is sent to the AI model you are using. "},{"name":"get_session_overview","description":"Start here when asked about a session or event. One call that says what exists for a stream and how to read it: live or probably stopped, how much live text is "},{"name":"get_stream_status","description":"Is a stream live, what languages does it use, and can it be read? Returns state ok, authRequired, expired or unknown. Returned text is sent to the AI model you "},{"name":"get_live_captions","description":"The newest live caption text of a stream, in the spoken language or one of its translation languages. Translations are a window of recent text that is re-transl"},{"name":"get_stream_context","description":"A stream's design (colour, logo) and the glossary terms it uses (names, terms and acronyms the organizer expects). Call it before quoting or summarising caption"},{"name":"list_saved_transcripts","description":"The owner's saved transcripts for a stream (id, title, note, times, length). Needs a developer API key. Only some streams store history. Saved transcripts are i"},{"name":"get_saved_transcript","description":"One saved transcript's text, in pages (default 20,000 characters). The result says the total length and the next offset. Text is wrapped in <untrusted-text>. Re"},{"name":"list_questions","description":"Audience questions sent from the stream page, oldest first. Needs a developer API key. Question text was written by attendees and is wrapped in <untrusted-text>"},{"name":"get_audience_summary","description":"How many people opened the stream's attendee page: visits, unique browsers, new vs returning, peak hour or day, top cities, referrers, devices. Page loads only,"},{"name":"get_help_links","description":"Links to the ConferenceCaptioning how-to guides (OBS, ProPresenter, slide decks, Stream Deck, failover, static IP, local translation server, Chrome extension). "}],"toolCount":10,"toolsHash":"144bac5b38445e027dab536a373d6731a94085ba7b99a21c7545d759c0940b7a","serverName":"confcap","capabilities":["tools","resources","prompts"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-31T06:28:14.649Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":107,"error":null,"detail":{"tools":[{"name":"list_my_streams","description":"List the streams that the configured developer API key can read. Returned text is sent to the AI model you are using. "},{"name":"get_session_overview","description":"Start here when asked about a session or event. One call that says what exists for a stream and how to read it: live or probably stopped, how much live text is "},{"name":"get_stream_status","description":"Is a stream live, what languages does it use, and can it be read? Returns state ok, authRequired, expired or unknown. Returned text is sent to the AI model you "},{"name":"get_live_captions","description":"The newest live caption text of a stream, in the spoken language or one of its translation languages. Translations are a window of recent text that is re-transl"},{"name":"get_stream_context","description":"A stream's design (colour, logo) and the glossary terms it uses (names, terms and acronyms the organizer expects). Call it before quoting or summarising caption"},{"name":"list_saved_transcripts","description":"The owner's saved transcripts for a stream (id, title, note, times, length). Needs a developer API key. Only some streams store history. Saved transcripts are i"},{"name":"get_saved_transcript","description":"One saved transcript's text, in pages (default 20,000 characters). The result says the total length and the next offset. Text is wrapped in <untrusted-text>. Re"},{"name":"list_questions","description":"Audience questions sent from the stream page, oldest first. Needs a developer API key. Question text was written by attendees and is wrapped in <untrusted-text>"},{"name":"get_audience_summary","description":"How many people opened the stream's attendee page: visits, unique browsers, new vs returning, peak hour or day, top cities, referrers, devices. Page loads only,"},{"name":"get_help_links","description":"Links to the ConferenceCaptioning how-to guides (OBS, ProPresenter, slide decks, Stream Deck, failover, static IP, local translation server, Chrome extension). "}],"toolCount":10,"toolsHash":"144bac5b38445e027dab536a373d6731a94085ba7b99a21c7545d759c0940b7a","serverName":"confcap","capabilities":["tools","resources","prompts"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-30T22:27:06.886Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":97,"error":null,"detail":{"tools":[{"name":"list_my_streams","description":"List the streams that the configured developer API key can read. Returned text is sent to the AI model you are using. "},{"name":"get_session_overview","description":"Start here when asked about a session or event. One call that says what exists for a stream and how to read it: live or probably stopped, how much live text is "},{"name":"get_stream_status","description":"Is a stream live, what languages does it use, and can it be read? Returns state ok, authRequired, expired or unknown. Returned text is sent to the AI model you "},{"name":"get_live_captions","description":"The newest live caption text of a stream, in the spoken language or one of its translation languages. Translations are a window of recent text that is re-transl"},{"name":"get_stream_context","description":"A stream's design (colour, logo) and the glossary terms it uses (names, terms and acronyms the organizer expects). Call it before quoting or summarising caption"},{"name":"list_saved_transcripts","description":"The owner's saved transcripts for a stream (id, title, note, times, length). Needs a developer API key. Only some streams store history. Saved transcripts are i"},{"name":"get_saved_transcript","description":"One saved transcript's text, in pages (default 20,000 characters). The result says the total length and the next offset. Text is wrapped in <untrusted-text>. Re"},{"name":"list_questions","description":"Audience questions sent from the stream page, oldest first. Needs a developer API key. Question text was written by attendees and is wrapped in <untrusted-text>"},{"name":"get_audience_summary","description":"How many people opened the stream's attendee page: visits, unique browsers, new vs returning, peak hour or day, top cities, referrers, devices. Page loads only,"},{"name":"get_help_links","description":"Links to the ConferenceCaptioning how-to guides (OBS, ProPresenter, slide decks, Stream Deck, failover, static IP, local translation server, Chrome extension). "}],"toolCount":10,"toolsHash":"144bac5b38445e027dab536a373d6731a94085ba7b99a21c7545d759c0940b7a","serverName":"confcap","capabilities":["tools","resources","prompts"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-30T15:24:32.452Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":110,"error":null,"detail":{"tools":[{"name":"list_my_streams","description":"List the streams that the configured developer API key can read. Returned text is sent to the AI model you are using. "},{"name":"get_session_overview","description":"Start here when asked about a session or event. One call that says what exists for a stream and how to read it: live or probably stopped, how much live text is "},{"name":"get_stream_status","description":"Is a stream live, what languages does it use, and can it be read? Returns state ok, authRequired, expired or unknown. Returned text is sent to the AI model you "},{"name":"get_live_captions","description":"The newest live caption text of a stream, in the spoken language or one of its translation languages. Translations are a window of recent text that is re-transl"},{"name":"get_stream_context","description":"A stream's design (colour, logo) and the glossary terms it uses (names, terms and acronyms the organizer expects). Call it before quoting or summarising caption"},{"name":"list_saved_transcripts","description":"The owner's saved transcripts for a stream (id, title, note, times, length). Needs a developer API key. Only some streams store history. Saved transcripts are i"},{"name":"get_saved_transcript","description":"One saved transcript's text, in pages (default 20,000 characters). The result says the total length and the next offset. Text is wrapped in <untrusted-text>. Re"},{"name":"list_questions","description":"Audience questions sent from the stream page, oldest first. Needs a developer API key. Question text was written by attendees and is wrapped in <untrusted-text>"},{"name":"get_audience_summary","description":"How many people opened the stream's attendee page: visits, unique browsers, new vs returning, peak hour or day, top cities, referrers, devices. Page loads only,"},{"name":"get_help_links","description":"Links to the ConferenceCaptioning how-to guides (OBS, ProPresenter, slide decks, Stream Deck, failover, static IP, local translation server, Chrome extension). "}],"toolCount":10,"toolsHash":"144bac5b38445e027dab536a373d6731a94085ba7b99a21c7545d759c0940b7a","serverName":"confcap","capabilities":["tools","resources","prompts"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-30T07:21:42.124Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":209,"error":null,"detail":{"tools":[{"name":"list_my_streams","description":"List the streams that the configured developer API key can read. Returned text is sent to the AI model you are using. "},{"name":"get_session_overview","description":"Start here when asked about a session or event. One call that says what exists for a stream and how to read it: live or probably stopped, how much live text is "},{"name":"get_stream_status","description":"Is a stream live, what languages does it use, and can it be read? Returns state ok, authRequired, expired or unknown. Returned text is sent to the AI model you "},{"name":"get_live_captions","description":"The newest live caption text of a stream, in the spoken language or one of its translation languages. Translations are a window of recent text that is re-transl"},{"name":"get_stream_context","description":"A stream's design (colour, logo) and the glossary terms it uses (names, terms and acronyms the organizer expects). Call it before quoting or summarising caption"},{"name":"list_saved_transcripts","description":"The owner's saved transcripts for a stream (id, title, note, times, length). Needs a developer API key. Only some streams store history. Saved transcripts are i"},{"name":"get_saved_transcript","description":"One saved transcript's text, in pages (default 20,000 characters). The result says the total length and the next offset. Text is wrapped in <untrusted-text>. Re"},{"name":"list_questions","description":"Audience questions sent from the stream page, oldest first. Needs a developer API key. Question text was written by attendees and is wrapped in <untrusted-text>"},{"name":"get_audience_summary","description":"How many people opened the stream's attendee page: visits, unique browsers, new vs returning, peak hour or day, top cities, referrers, devices. Page loads only,"},{"name":"get_help_links","description":"Links to the ConferenceCaptioning how-to guides (OBS, ProPresenter, slide decks, Stream Deck, failover, static IP, local translation server, Chrome extension). "}],"toolCount":10,"toolsHash":"144bac5b38445e027dab536a373d6731a94085ba7b99a21c7545d759c0940b7a","serverName":"confcap","capabilities":["tools","resources","prompts"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-29T23:23:02.556Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":94,"error":null,"detail":{"tools":[{"name":"list_my_streams","description":"List the streams that the configured developer API key can read. Returned text is sent to the AI model you are using. "},{"name":"get_session_overview","description":"Start here when asked about a session or event. One call that says what exists for a stream and how to read it: live or probably stopped, how much live text is "},{"name":"get_stream_status","description":"Is a stream live, what languages does it use, and can it be read? Returns state ok, authRequired, expired or unknown. Returned text is sent to the AI model you "},{"name":"get_live_captions","description":"The newest live caption text of a stream, in the spoken language or one of its translation languages. Translations are a window of recent text that is re-transl"},{"name":"get_stream_context","description":"A stream's design (colour, logo) and the glossary terms it uses (names, terms and acronyms the organizer expects). Call it before quoting or summarising caption"},{"name":"list_saved_transcripts","description":"The owner's saved transcripts for a stream (id, title, note, times, length). Needs a developer API key. Only some streams store history. Saved transcripts are i"},{"name":"get_saved_transcript","description":"One saved transcript's text, in pages (default 20,000 characters). The result says the total length and the next offset. Text is wrapped in <untrusted-text>. Re"},{"name":"list_questions","description":"Audience questions sent from the stream page, oldest first. Needs a developer API key. Question text was written by attendees and is wrapped in <untrusted-text>"},{"name":"get_audience_summary","description":"How many people opened the stream's attendee page: visits, unique browsers, new vs returning, peak hour or day, top cities, referrers, devices. Page loads only,"},{"name":"get_help_links","description":"Links to the ConferenceCaptioning how-to guides (OBS, ProPresenter, slide decks, Stream Deck, failover, static IP, local translation server, Chrome extension). "}],"toolCount":10,"toolsHash":"144bac5b38445e027dab536a373d6731a94085ba7b99a21c7545d759c0940b7a","serverName":"confcap","capabilities":["tools","resources","prompts"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-29T16:27:09.485Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":108,"error":null,"detail":{"tools":[{"name":"list_my_streams","description":"List the streams that the configured developer API key can read. Returned text is sent to the AI model you are using. "},{"name":"get_session_overview","description":"Start here when asked about a session or event. One call that says what exists for a stream and how to read it: live or probably stopped, how much live text is "},{"name":"get_stream_status","description":"Is a stream live, what languages does it use, and can it be read? Returns state ok, authRequired, expired or unknown. Returned text is sent to the AI model you "},{"name":"get_live_captions","description":"The newest live caption text of a stream, in the spoken language or one of its translation languages. Translations are a window of recent text that is re-transl"},{"name":"get_stream_context","description":"A stream's design (colour, logo) and the glossary terms it uses (names, terms and acronyms the organizer expects). Call it before quoting or summarising caption"},{"name":"list_saved_transcripts","description":"The owner's saved transcripts for a stream (id, title, note, times, length). Needs a developer API key. Only some streams store history. Saved transcripts are i"},{"name":"get_saved_transcript","description":"One saved transcript's text, in pages (default 20,000 characters). The result says the total length and the next offset. Text is wrapped in <untrusted-text>. Re"},{"name":"list_questions","description":"Audience questions sent from the stream page, oldest first. Needs a developer API key. Question text was written by attendees and is wrapped in <untrusted-text>"},{"name":"get_audience_summary","description":"How many people opened the stream's attendee page: visits, unique browsers, new vs returning, peak hour or day, top cities, referrers, devices. Page loads only,"},{"name":"get_help_links","description":"Links to the ConferenceCaptioning how-to guides (OBS, ProPresenter, slide decks, Stream Deck, failover, static IP, local translation server, Chrome extension). "}],"toolCount":10,"toolsHash":"144bac5b38445e027dab536a373d6731a94085ba7b99a21c7545d759c0940b7a","serverName":"confcap","capabilities":["tools","resources","prompts"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}}],"tools":[{"name":"list_my_streams","description":"List the streams that the configured developer API key can read. Returned text is sent to the AI model you are using. "},{"name":"get_session_overview","description":"Start here when asked about a session or event. One call that says what exists for a stream and how to read it: live or probably stopped, how much live text is "},{"name":"get_stream_status","description":"Is a stream live, what languages does it use, and can it be read? Returns state ok, authRequired, expired or unknown. Returned text is sent to the AI model you "},{"name":"get_live_captions","description":"The newest live caption text of a stream, in the spoken language or one of its translation languages. Translations are a window of recent text that is re-transl"},{"name":"get_stream_context","description":"A stream's design (colour, logo) and the glossary terms it uses (names, terms and acronyms the organizer expects). Call it before quoting or summarising caption"},{"name":"list_saved_transcripts","description":"The owner's saved transcripts for a stream (id, title, note, times, length). Needs a developer API key. Only some streams store history. Saved transcripts are i"},{"name":"get_saved_transcript","description":"One saved transcript's text, in pages (default 20,000 characters). The result says the total length and the next offset. Text is wrapped in <untrusted-text>. Re"},{"name":"list_questions","description":"Audience questions sent from the stream page, oldest first. Needs a developer API key. Question text was written by attendees and is wrapped in <untrusted-text>"},{"name":"get_audience_summary","description":"How many people opened the stream's attendee page: visits, unique browsers, new vs returning, peak hour or day, top cities, referrers, devices. Page loads only,"},{"name":"get_help_links","description":"Links to the ConferenceCaptioning how-to guides (OBS, ProPresenter, slide decks, Stream Deck, failover, static IP, local translation server, Chrome extension). "}],"package":null,"toolSurface":{"id":"ts_n7ymahrrpvmx","endpointId":"ep_xvrvbpguhcfb","hash":"144bac5b38445e027dab536a373d6731a94085ba7b99a21c7545d759c0940b7a","toolCount":10,"serverName":"confcap","serverVersion":"0.1.0","protocolVersion":"2025-06-18","firstSeenAt":"2026-10-29T16:27:09.488Z","lastSeenAt":"2026-10-31T20:27:47.770Z","observations":8,"toolNames":["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"],"distinctSurfaces":1},"endpointFacts":[]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"mcp_registry","key":"io.github.TheFirstPrototype/confcap","url":"https://registry.modelcontextprotocol.io/v0/servers/io.github.TheFirstPrototype%2Fconfcap","firstSeenAt":"2026-10-29T15:17:57.762Z","fetchedAt":"2026-10-29T15:17:57.762Z","normalizedAt":"2026-10-29T15:17:57.762Z"}]},"firstSeenAt":"2026-10-29T15:17:57.762Z","updatedAt":"2026-10-31T20:32:24.310Z"}