GovTube
Measured conclusion: Deep-tested. L2 outcome: tools_ok.
Search what U.S. officials said on camera, with timestamps and citations. Not a government site.
| Author | us.govtube |
|---|---|
| Access | remote |
| Publisher key required | No |
| Measured state | Deep-tested |
| L1 liveness | alive |
| L1 latency | 108 ms |
| Last measured | 2026-10-26 |
Add to your agent
Copy this into your MCP client config:
{
"mcpServers": {
"GovTube": {
"url": "https://api.govtube.us/mcp",
"transport": "streamable-http"
}
}
}
Measured tools (7)
govtube_search_instancesread-onlyFind spoken instances of words or a phrase across official videos and White House transcripts. Returns one small page: counts for the whole result, then up to 5 videos (newest first, or most instances first with sort="most_instances"), each with up to 3 passages (quotes; overlapping instances merged), each passage listing its instances with citation id and share_url. `notes` and `more_passages` say what else there is: use `next_cursor` for more videos, govtube_list_video_instances for the rest of one video, and detail="full" for larger pages. White House transcripts have no timing (`timing_granularity` "document", null times, a `position` and a `document_url`).
Parameters:
query(required) — string — Words to find. Put an exact phrase in double quotes: "no tax on tips". Unquoted words must occur within 8 words of each other.sort— string — newest (default): event date, newest first; on the same day, video sessions before official transcripts. most_instances: most instances first; check order_exact in the response.cursor— next_cursor from the previous page of the same search (same query and filters).detail— string — compact (default): small pages, passages only. full: the larger pages of the REST API (default 10 videos x 5), with every instance listed one by one as well as in passages.source— Only one source: house_floor_clerk (U.S. House floor), senate_floor_and_committees (U.S. Senate floor and committee hearings), govinfo_dcpd (White House transcripts, no video timing), govinfo_crec (Congressional Record, House and Senate speeches as printed, no video timing) or us_gov_youtube (official U.S. government YouTube channels; see source_caveats). A source can hold nothing yet: govtube_get_coverage lists what each one holds.date_to— Latest event date, YYYY-MM-DD.speaker— Bioguide ID of a member of Congress, e.g. 'C001053' (Rep. Tom Cole). Matches speakers a person has confirmed. Names matched only from the on-screen caption are left out (the result counts them in unreviewed_excluded) unless include_unreviewed is true. Omit to search everyone.date_from— Earliest event date, YYYY-MM-DD.max_videos— Videos per page, 1 to 25. Default 5, or 10 with detail="full".playable_only— boolean — true: only results with playable video; transcript-only results (no video) are left out and counted in counts.transcript_only.include_unreviewed— boolean — With speaker: also return moments where that person was named from the on-screen caption and nobody has reviewed the name yet. They are labelled 'matched from on-screen name, not reviewed'; say so when you quote them.max_instances_per_video— Passages per video, 1 to 20 (with detail="full", also instances). Default 3, or 5 with detail="full".
Hints: read-only yes · destructive no · idempotent yes · open-world no
govtube_list_video_instancesread-onlyPage through one video's matches by passage, in time order. A passage is a run of instances whose excerpts overlap, shown as one quote. `offset` and `limit` count passages; `next_offset` is null on the last page. `passage_count` and `instance_count` cover the whole video. With detail="full", `instances` also lists every instance of the page one by one.
Parameters:
video_id(required) — string — video_id from a search result.query(required) — string — The same query as the search.limit— Passages per page, 1 to 100. Default 10, or 20 with detail="full".detail— string — compact (default): small pages, passages only. full: the larger pages of the REST API (default 10 videos x 5), with every instance listed one by one as well as in passages.offset— integer — Passages to skip; use next_offset from the previous page.speaker— Bioguide ID of a member of Congress, e.g. 'C001053' (Rep. Tom Cole). Matches speakers a person has confirmed. Names matched only from the on-screen caption are left out (the result counts them in unreviewed_excluded) unless include_unreviewed is true. Omit to search everyone.include_unreviewed— boolean — With speaker: also return moments where that person was named from the on-screen caption and nobody has reviewed the name yet. They are labelled 'matched from on-screen name, not reviewed'; say so when you quote them.
Hints: read-only yes · destructive no · idempotent yes · open-world no
govtube_get_transcript_windowread-onlyReturn speaker turns overlapping [start_ms, end_ms] with their text, for checking context. A turn with cluster null and speaker "No speaker label" holds words no voice was found for. The words are as heard; don't attribute them to a neighbouring speaker. Not available for official transcripts without timing (timing_granularity "document"): read those at the result's document_url, or resolve the citation for the surrounding turns.
Parameters:
video_id(required) — string — video_id from a search result.start_ms(required) — integer — Start, in milliseconds from the start of the video, e.g. an instance's start_ms minus 30000.end_ms(required) — integer — End, in milliseconds; at most 5 minutes after start_ms.
Hints: read-only yes · destructive no · idempotent yes · open-world no
govtube_get_videoread-onlyMetadata, speakers, playback asset and the rights and use restrictions of the video's source.
Parameters:
video_id(required) — string — video_id from a search result.
Hints: read-only yes · destructive no · idempotent yes · open-world no
govtube_resolve_citationread-onlyCheck that a cited instance still says the quoted words after corrections, and return its context. The result has a share_url to link. gd2./gd1. ids cite words in an official transcript: the result has positions instead of times, citation_text to paste, document_highlight_url, and `certifies` saying what is (and is not) certified.
Parameters:
citation_id(required) — string — An instance id (gt2.... or gd2...., or an older gt1.... or gd1....).
Hints: read-only yes · destructive no · idempotent yes · open-world no
govtube_get_coverageread-onlyTotals for the whole index, video and official transcripts counted apart: video sessions, hours and words transcribed; official transcripts (text, no timing); each source; date ranges, last update, items awaiting review and known gaps. Cite this with any count. For the list of sessions use govtube_list_sessions.
Hints: read-only yes · destructive no · idempotent yes · open-world no
govtube_list_sessionsread-onlyEvery indexed item, one page at a time: video sessions and official transcripts (White House transcripts, Congressional Record speeches, one item per speech). Newest first; on the same day, video sessions before official transcripts. Each has title, date, source, length, words, whether it plays, and how many speakers are confirmed. `total` matches govtube_get_coverage's counts for the same source.
Parameters:
kind— Only one kind: "video" (video sessions, timed transcripts) or "document" (official transcripts without video timing: White House transcripts, Congressional Record speeches). Omit for both.limit— integer — Sessions per page, 1 to 100.cursor— next_cursor from the previous page (same filters).source— Only one source: house_floor_clerk (U.S. House floor), senate_floor_and_committees (U.S. Senate floor and committee hearings), govinfo_dcpd (White House transcripts, no video timing), govinfo_crec (Congressional Record, House and Senate speeches as printed, no video timing) or us_gov_youtube (official U.S. government YouTube channels; see source_caveats). A source can hold nothing yet: govtube_get_coverage lists what each one holds.date_to— Latest event date, YYYY-MM-DD.date_from— Earliest event date, YYYY-MM-DD.
Hints: read-only yes · destructive no · idempotent yes · open-world no
Measured by MCPYP probing. Untested fields are omitted, never estimated. Listing is always free; MCPYP never proxies calls or stores user tokens.