Skip to main content
Glama
paulieb89

UK Business Tools - Ledgerhall

by paulieb89

Get Divisions Held In A Debate

law_parliament_get_debate_divisions
Read-onlyIdempotent

Retrieve divisions (formal votes) from a UK Parliament debate using its debate ID. Returns Hansard and Votes API IDs for cross-referencing and detailed vote records.

Instructions

USE THIS TOOL WHEN you have a debate_ext_id and want the divisions (formal votes) held within it.

Most debates contain no divisions — Business of the House sittings, statements, urgent questions, debates without a vote. A populated list typically appears around bill stages, motions, and contested amendments. Empty list is the honest result, not a failure mode.

Each returned division carries TWO IDs:

  • id — Hansard-side reference. Useful for cross-referencing in Hansard.

  • votes_id — Lords/Commons Votes API ID (cross-resolved by date+number). AFTER calling, pass votes_id as division_id into votes_get_division for the full member-by-member voting record.

The two upstreams use distinct ID-spaces (Hansard Number=3 might be Votes-API divisionId=3392). The cross-resolve runs once per (date, house) group — typically one extra HTTP per debate. votes_id is None when the cross-resolve found no match.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
debate_ext_idYesDebate GUID (DebateSectionExtId). Chain from parliament_search_hansard contribution.debate_ext_id, top_debates[].debate_ext_id, or parliament_policy_position_summary top_debates[].debate_ext_id.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
divisionsNoDivisions held in this debate, in chronological order. Empty when no divisions occurred. Each element's `id` chains to votes_get_division.
debate_ext_idYesEcho of the input debate GUID.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.2.1

TDQS

A4.7/5.0
Behavior5/5

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

Beyond the annotations (readOnly, idempotent, non-destructive), the description discloses that an empty list is a normal result, the cross-resolve runs once per (date, house) group with an extra HTTP call, and votes_id may be None. These are non-obvious behavioral details that enrich 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.

Conciseness5/5

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

The description is well-structured with a usage clause, expectation-setting, bullet-point ID explanations, and behavioral notes. Every sentence contributes value; length is justified by the complexity of the cross-referencing behavior.

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?

Given the output schema exists and annotations are comprehensive, the description covers the non-obvious aspects: the two ID spaces, the empty-list semantics, and the cross-resolve overhead. It fully prepares an agent to invoke the tool and chain its output correctly.

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

Parameters3/5

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

The single parameter debate_ext_id is fully described in the schema with field type, minLength, and chaining sources. The description adds only that you need to have the ID, not new semantics. With 100% schema coverage, baseline 3 is appropriate.

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?

The description clearly states the tool gets divisions (formal votes) held within a debate, with a specific verb+resource. It distinguishes itself from siblings by noting the two ID types and the follow-up call to votes_get_division, and the 'USE THIS TOOL WHEN' clause clarifies the exact precondition.

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?

Explicitly states when to use: 'USE THIS TOOL WHEN you have a debate_ext_id and want the divisions'. Also gives context on when divisions are absent (most debates) and directs users to call votes_get_division after passing votes_id, effectively mapping the workflow.

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

Deploy Server

Other Tools