Skip to main content
Glama

uk-parliament-mcp-server

Ukparl Search Bills

ukparl_search_bills
Read-onlyIdempotent

Search Westminster bill summaries by title, current or originating House, session, sponsoring member, department, reference stage, bill type or status, with optional official ordering. Use ukparl_lookup_reference for stage/type/department IDs and ukparl_get_bill for complete selected records. Department IDs are distinct from answering-body IDs. inAmendableStage=true restricts to amendable stages; false is unrestricted. No session or date scope is inferred. Follow collection cursors with the same filters; use contentCursor to reconstruct an oversized item.

Input Schema

NameRequiredDescriptionDefault
houseNoCurrent Commons or Lords House.
limitNoRequested bills; positive safe integer, default 10, effective cap 20.
queryNoBill title search text.
cursorNoOpaque collection continuation; preserve filters.
memberIdNoSponsoring member identifier.
stageIdsNoReference stages, distinct from bill-specific stage IDs.
sessionIdNoSession identifier discovered in bill records.
sortOrderNoOfficial ordering; omission preserves the source default.
isDefeatedNoFilter by defeated state, including false.
billTypeIdsNoReference bill types.
isWithdrawnNoFilter by withdrawn state, including false.
departmentIdNoMembers department ID from ukparl_lookup_reference topic=departments; distinct from answering-body IDs.
contentCursorNoOpaque same-selection lossless content continuation.
inAmendableStageNoTrue restricts to amendable stages; false applies no restriction.
originatingHouseNoOriginating Commons or Lords House; omission includes all.

Output Schema

NameRequiredDescriptionDefault
capNoEffective per-call collection limit.
pageNoActual whole-item pagination.
errorNoPresent when the call failed. Absent on success.
itemsNoComplete source bill summaries on this page.
queryNoComplete normalized query text, also reconstructed through content continuation.
shownNoActual whole records emitted or selected for lossless reconstruction.
noticeNoLicence and empty/workload notices.
appliedNoNormalized filters; no implicit current-session scope.
deliveryNoFull selected payload, child outline, or JSON fragment.
identityNoStable selected-record identifiers retained during content retrieval.
retrievalNoSame-tool retrieval instruction.
truncatedNoFurther source matches remain after this selected page.
provenanceNoSelected response provenance retained during content retrieval; source notices remain in the reconstructed payload.
totalCountNoSource total matches.
contentPageNoLossless recursive content continuation.
collectionPageNoCollection continuation; reconstruct the outlined selected payload before following it.
requestedLimitNoCaller limit before clamping.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.6/5.0
Behavior4/5

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

Annotations already cover read-only, idempotent and open-world semantics. The description adds real operational context beyond them: no implicit session/date scoping, cursor continuation must retain filters, and contentCursor is a lossless same-selection continuation. It does not cover output shape, but an output schema exists.

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?

Front-loaded with the core purpose, then routes to siblings, then caveats. Dense but each sentence carries information; there is minor redundancy (department/answering-body distinction appears twice) but nothing wasteful.

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 15-parameter, all-optional search with a full output schema and safety annotations already present, the description supplies what's missing: sibling routing, the absence of implicit scoping, and pagination/oversized-item handling. An agent has enough to call it correctly.

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 cross-field meaning: department IDs are distinct from answering-body IDs, inAmendableStage=false means unrestricted (not 'non-amendable'), and originatingHouse omission includes all. Some of this duplicates schema text, but the clarifications genuinely reduce misuse.

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 ('Search') on a specific resource ('Westminster bill summaries') and enumerates the filterable dimensions (title, house, session, sponsor, department, stage, type, status). It explicitly distinguishes itself from ukparl_get_bill (full records) and ukparl_lookup_reference (ID resolution), so an agent can route without opening schemas.

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

Usage Guidelines5/5

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

Gives explicit routing: use ukparl_lookup_reference for stage/type/department IDs and ukparl_get_bill for complete records. It also states that no session/date scope is inferred, how to follow collection cursors (preserve filters), and how contentCursor reconstructs oversized items — concrete when/when-not guidance.

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.