Skip to main content
Glama

uk-parliament-mcp-server

Search spoken Hansard

ukparl_search_hansard
Read-onlyIdempotent

Search spoken Westminster Hansard contributions by topic, member, House, date or numeric debateSectionId. Returns full source contribution text where supplied, including HTML; previews are labelled summaries. Repeat with a returned debateSectionId to search that section, which does not establish an entire debate transcript. Historical completeness is not guaranteed, including the 2004–2006 website warning despite some API records. Use ukparl_lookup_reference topic=coverage for archive guidance. Follow collection cursors unchanged and contentCursor for lossless oversized contributions; retry timeouts with shorter date windows.

Input Schema

NameRequiredDescriptionDefault
houseNoCommons or Lords; exact official House aliases are accepted.
limitNoRequested whole contributions; default 5, effective cap 20 with notice.
queryNoSpoken contribution search text; no date range is inferred.
cursorNoOpaque collection continuation; repeat the same filters and effective limit.
endDateNoInclusive latest sitting date, real YYYY-MM-DD; must not precede startDate.
memberIdNoMembers API identifier discovered with ukparl_search_members.
startDateNoInclusive earliest sitting date, real YYYY-MM-DD; no inferred archive cutoff.
contentCursorNoOpaque lossless content continuation; preserve original selection and collection cursor.
debateSectionIdNoReturned numeric debateSectionId, distinct from external debate IDs.

Output Schema

NameRequiredDescriptionDefault
capNoActual collection workload cap.
pageNoActual emitted whole-item continuation, independent of content delivery.
errorNoPresent when the call failed. Absent on success.
itemsNoWhole Spoken contributions in source search order.
queryNoComplete normalized search text, reconstructable during content delivery.
shownNoWhole contributions emitted or selected for reconstruction.
noticeNoLicence, coverage, missing-text, empty-result and clamped-limit guidance.
sourceNoExact official Spoken request provenance, including empty pages.
appliedNoNormalized filters and actual workload.
coverageNoHistorical source facts; samples never establish complete coverage.
deliveryNoFull selected payload, child outline, or JSON fragment.
identityNoStable selected-record identifiers retained during content retrieval.
retrievalNoSame-tool retrieval instruction.
truncatedNoFurther whole contributions remain; follow the collection cursor.
provenanceNoSelected response provenance retained during content retrieval; source notices remain in the reconstructed payload.
totalCountNoSource TotalResultCount.
contentPageNoLossless recursive content continuation.
searchTermsNoSource parsed terms, including explicit null.
collectionPageNoCollection continuation; reconstruct the outlined selected payload before following it.
requestedLimitNoOriginal request when above the workload cap.
spokenResultCountNoSource SpokenResultCount, distinct from total matches.
writtenResultCountNoSource WrittenResultCount metadata.
divisionsResultCountNoSource DivisionsResultCount metadata.
correctionsResultCountNoSource CorrectionsResultCount metadata.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Goes well beyond the readOnly/openWorld/idempotent annotations by disclosing that full contribution text including HTML is returned, that previews are labelled summaries, that debateSectionId does not yield a whole debate transcript, and that historical coverage has a 2004–2006 gap. It also specifies cursor disciplines (collection cursor unchanged, contentCursor for lossless oversized contributions), which is exactly the operational detail annotations cannot convey.

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?

The core purpose lands in the first sentence and each subsequent sentence carries distinct information with no filler. The final sentence packs cursor and retry rules together, which is dense but still readable, so it falls just short of ideal structure.

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

Completeness5/5

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

For a 9-parameter, zero-required search tool with an output schema and full annotation coverage, the description supplies the remaining essentials: archive completeness caveats, sibling routing for coverage questions, pagination/continuation rules, and result-shape expectations. Nothing an agent needs in order to call it correctly appears to be 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?

Schema coverage is 100%, so the baseline is 3, but the description adds real semantics on top: it explains how cursor must be replayed with identical filters, what contentCursor is for, and how debateSectionId is used across repeated calls. Date-window narrowing on retry also gives practical meaning to startDate/endDate.

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 verb plus resource (search spoken Westminster Hansard contributions) and enumerates the available facets (topic, member, House, date, debateSectionId). The word 'spoken' cleanly separates it from siblings like ukparl_search_questions and ukparl_search_divisions without the agent needing to open another 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 concrete operating guidance: repeat with a returned debateSectionId to drill into a section, consult ukparl_lookup_reference topic=coverage for archive questions, and retry timeouts with shorter date windows. It doesn't explicitly state when to prefer a sibling such as ukparl_search_questions over this tool, which keeps it short of a 5.

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.