Skip to main content
Glama

What the index covers

govtube_get_coverage
Read-onlyIdempotent

Totals 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.

Input Schema

NameRequiredDescriptionDefault

No arguments

Output Schema

NameRequiredDescriptionDefault
notesYes
videoYes
videosYes
revisedNo
sourcesYes
by_timingYes
documentsYes
known_gapsYes
collectionsYes
correctionsNo
total_hoursYes
total_wordsYes
awaiting_reviewYes
last_event_dateYes
first_event_dateYes
last_ingested_atYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed6 schema fields changed
    • addedOutput schema / $defs / CitationCounts
      Added value: +{
      +  "properties": {
      +    "capped": {
      +      "default": false,
      +      "type": "boolean"
      +    },
      +    "moved": {
      +      "minimum": 0,
      +      "type": "integer"
      +    },
      +    "probes": {
      +      "minimum": 0,
      +      "type": "integer"
      +    },
      +    "reanchored": {
      +      "minimum": 0,
      +      "type": "integer"
      +    },
      +    "superseded": {
      +      "minimum": 0,
      +      "type": "integer"
      +    }
      +  },
      +  "required": [
      +    "probes",
      +    "reanchored",
      +    "moved",
      +    "superseded"
      +  ],
      +  "type": "object"
      +}
    • addedOutput schema / $defs / CorrectionChange
      Added value: +{
      +  "properties": {
      +    "after": {
      +      "type": "string"
      +    },
      +    "before": {
      +      "type": "string"
      +    },
      +    "end_ms": {
      +      "anyOf": [
      +        {
      +          "type": "integer"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "start_ms": {
      +      "anyOf": [
      +        {
      +          "type": "integer"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "word": {
      +      "minimum": 0,
      +      "type": "integer"
      +    }
      +  },
      +  "required": [
      +    "start_ms",
      +    "end_ms",
      +    "word",
      +    "before",
      +    "after"
      +  ],
      +  "type": "object"
      +}
    • changedOutput schema / $defs / CorrectionEntry / properties / action / enum
      Previous value: -[
      -  "hidden",
      -  "restored"
      -]New value: +[
      +  "hidden",
      +  "restored",
      +  "corrected"
      +]
    • addedOutput schema / $defs / CorrectionEntry / properties / changes
      Added value: +{
      +  "items": {
      +    "$ref": "#/$defs/CorrectionChange"
      +  },
      +  "type": "array"
      +}
    • addedOutput schema / $defs / CorrectionEntry / properties / citations
      Added value: +{
      +  "anyOf": [
      +    {
      +      "$ref": "#/$defs/CitationCounts"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null
      +}
    • addedOutput schema / $defs / CorrectionEntry / properties / from_rev
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "integer"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null
      +}
  2. Changed3 schema fields changed
    • addedOutput schema / $defs / CorrectionEntry
      Added value: +{
      +  "properties": {
      +    "action": {
      +      "enum": [
      +        "hidden",
      +        "restored"
      +      ],
      +      "type": "string"
      +    },
      +    "at": {
      +      "type": "string"
      +    },
      +    "event_date": {
      +      "format": "date",
      +      "type": "string"
      +    },
      +    "id": {
      +      "type": "integer"
      +    },
      +    "reason": {
      +      "type": "string"
      +    },
      +    "rev": {
      +      "type": "integer"
      +    },
      +    "source_id": {
      +      "type": "string"
      +    },
      +    "source_name": {
      +      "type": "string"
      +    },
      +    "title": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "video_id": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    }
      +  },
      +  "required": [
      +    "id",
      +    "at",
      +    "action",
      +    "video_id",
      +    "title",
      +    "event_date",
      +    "source_id",
      +    "source_name",
      +    "rev",
      +    "reason"
      +  ],
      +  "type": "object"
      +}
    • addedOutput schema / properties / corrections
      Added value: +{
      +  "items": {
      +    "$ref": "#/$defs/CorrectionEntry"
      +  },
      +  "type": "array"
      +}
    • addedOutput schema / properties / revised
      Added value: +{
      +  "default": 0,
      +  "type": "integer"
      +}
  3. Changed8 schema fields changed
    • addedOutput schema / $defs / CoverageCollection
      Added value: +{
      +  "properties": {
      +    "awaiting_review": {
      +      "minimum": 0,
      +      "type": "integer"
      +    },
      +    "days": {
      +      "anyOf": [
      +        {
      +          "items": {
      +            "$ref": "#/$defs/CoverageDay"
      +          },
      +          "type": "array"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null
      +    },
      +    "first_event_date": {
      +      "anyOf": [
      +        {
      +          "format": "date",
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "hours": {
      +      "anyOf": [
      +        {
      +          "type": "number"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "items": {
      +      "minimum": 0,
      +      "type": "integer"
      +    },
      +    "key": {
      +      "type": "string"
      +    },
      +    "kind": {
      +      "enum": [
      +        "video",
      +        "document"
      +      ],
      +      "type": "string"
      +    },
      +    "label": {
      +      "type": "string"
      +    },
      +    "last_event_date": {
      +      "anyOf": [
      +        {
      +          "format": "date",
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "rights_short": {
      +      "type": "string"
      +    },
      +    "short_name": {
      +      "type": "string"
      +    },
      +    "source_id": {
      +      "type": "string"
      +    },
      +    "speaker_labels": {
      +      "minimum": 0,
      +      "type": "integer"
      +    },
      +    "speakers_confirmed": {
      +      "minimum": 0,
      +      "type": "integer"
      +    },
      +    "unit": {
      +      "type": "string"
      +    },
      +    "units": {
      +      "type": "string"
      +    },
      +    "words": {
      +      "minimum": 0,
      +      "type": "integer"
      +    }
      +  },
      +  "required": [
      +    "key",
      +    "kind",
      +    "source_id",
      +    "label",
      +    "unit",
      +    "units",
      +    "short_name",
      +    "rights_short",
      +    "items",
      +    "first_event_date",
      +    "last_event_date",
      +    "hours",
      +    "words",
      +    "speaker_labels",
      +    "speakers_confirmed",
      +    "awaiting_review"
      +  ],
      +  "type": "object"
      +}
    • addedOutput schema / $defs / CoverageDay
      Added value: +{
      +  "properties": {
      +    "event_date": {
      +      "format": "date",
      +      "type": "string"
      +    },
      +    "items": {
      +      "minimum": 0,
      +      "type": "integer"
      +    },
      +    "parts": {
      +      "additionalProperties": {
      +        "type": "integer"
      +      },
      +      "type": "object"
      +    },
      +    "url": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null
      +    },
      +    "words": {
      +      "minimum": 0,
      +      "type": "integer"
      +    }
      +  },
      +  "required": [
      +    "event_date",
      +    "items",
      +    "words"
      +  ],
      +  "type": "object"
      +}
    • addedOutput schema / $defs / DocumentCoverage
      Added value: +{
      +  "properties": {
      +    "count": {
      +      "default": 0,
      +      "minimum": 0,
      +      "type": "integer"
      +    },
      +    "first_event_date": {
      +      "anyOf": [
      +        {
      +          "format": "date",
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null
      +    },
      +    "last_event_date": {
      +      "anyOf": [
      +        {
      +          "format": "date",
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null
      +    },
      +    "words": {
      +      "default": 0,
      +      "minimum": 0,
      +      "type": "integer"
      +    }
      +  },
      +  "type": "object"
      +}
    • addedOutput schema / $defs / VideoCoverage
      Added value: +{
      +  "properties": {
      +    "awaiting_review": {
      +      "default": 0,
      +      "minimum": 0,
      +      "type": "integer"
      +    },
      +    "first_event_date": {
      +      "anyOf": [
      +        {
      +          "format": "date",
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null
      +    },
      +    "hours": {
      +      "default": 0,
      +      "type": "number"
      +    },
      +    "last_event_date": {
      +      "anyOf": [
      +        {
      +          "format": "date",
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null
      +    },
      +    "sessions": {
      +      "default": 0,
      +      "minimum": 0,
      +      "type": "integer"
      +    },
      +    "speaker_labels": {
      +      "default": 0,
      +      "minimum": 0,
      +      "type": "integer"
      +    },
      +    "speakers_confirmed": {
      +      "default": 0,
      +      "minimum": 0,
      +      "type": "integer"
      +    },
      +    "words": {
      +      "default": 0,
      +      "minimum": 0,
      +      "type": "integer"
      +    }
      +  },
      +  "type": "object"
      +}
    • addedOutput schema / properties / collections
      Added value: +{
      +  "items": {
      +    "$ref": "#/$defs/CoverageCollection"
      +  },
      +  "type": "array"
      +}
    • addedOutput schema / properties / documents
      Added value: +{
      +  "$ref": "#/$defs/DocumentCoverage"
      +}
    • addedOutput schema / properties / video
      Added value: +{
      +  "$ref": "#/$defs/VideoCoverage"
      +}
    • changedOutput schema / required
      Previous value: -[
      -  "videos",
      -  "first_event_date",
      -  "last_event_date",
      -  "last_ingested_at",
      -  "awaiting_review",
      -  "known_gaps",
      -  "total_hours",
      -  "total_words",
      -  "by_timing",
      -  "sources",
      -  "notes"
      -]New value: +[
      +  "videos",
      +  "first_event_date",
      +  "last_event_date",
      +  "last_ingested_at",
      +  "awaiting_review",
      +  "known_gaps",
      +  "total_hours",
      +  "total_words",
      +  "video",
      +  "documents",
      +  "collections",
      +  "by_timing",
      +  "sources",
      +  "notes"
      +]
  4. First observed

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, idempotent, closed-world and non-destructive, so the safety profile is covered. The description goes further by describing the shape of the content it reports—separate video vs. official transcript counts, no timing on official transcripts, last update, pending review, known gaps—which is genuine behavioral context beyond the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Dense but front-loaded: what is counted first, then what metadata accompanies it, then citation guidance and the sibling pointer. Every sentence carries information, though the 'counted apart' phrasing is slightly compressed and the coverage list is packed into one long clause.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be spelled out, and the description still previews the reported dimensions. Combined with annotations covering the read-only profile, an agent has everything needed to select and call it; only explicit exclusions or a note on the gap definition are missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters, so there is nothing for the description to disambiguate; the baseline for a parameterless tool applies. The description correctly implies no input is needed, consistent with the empty schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific resource and scope: totals for the entire index, with video and official transcripts counted separately, plus date ranges, last update, pending review and known gaps. It also contrasts itself against the sibling govtube_list_sessions, so an agent can distinguish the two without opening either schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives a clear use condition (cite this with any count) and routes to an alternative for a related need (use govtube_list_sessions for the list of sessions). It does not mention when not to use it or the other siblings (search, get_video), but the primary alternative is named explicitly.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources