Skip to main content
Glama
matanmill304

knesset-mcp

by matanmill304

get_vote

Read-onlyIdempotent

Retrieve a Knesset plenum vote by ID to see what was voted on, total votes, faction breakdown, and the MKs behind each result.

Instructions

One plenum vote: what was voted on, the totals, the breakdown by faction, and the names of the MKs behind each result.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
vote_idYesKNS_PlenumVote Id (from get_bill, get_session or get_person_votes)

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already disclose readOnlyHint, openWorldHint, idempotentHint, and destructiveHint, covering the safety profile. The description adds the return content (voted on, totals, faction breakdown, MK names), which is useful context about what to expect. However, it does not mention potential errors, null returns, or any other behavioral traits, but this is partially mitigated by 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 a single, compact sentence that front-loads the tool's purpose ('One plenum vote') and immediately details the output. There is no filler or repetition; every phrase contributes information about the response content.

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?

For a simple retrieval tool with one well-documented parameter and safety annotations, the description is fairly complete. It lists the key output dimensions the agent needs. It does not describe exact formatting or error handling, but with no output schema, it provides sufficient expectation of what is returned.

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?

Schema coverage is 100% for the single parameter vote_id, including its exact source and type. The description adds no additional parameter semantics; it relies entirely on the schema. Since the schema fully explains the parameter, a baseline 3 is appropriate.

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

Purpose4/5

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

The description clearly indicates the resource (a single plenum vote) and the specific information it provides: what was voted on, totals, faction breakdown, and MK names. It implies a retrieval action though it lacks an explicit verb. It distinguishes itself from siblings through its singular focus on one vote, differing from get_bill or get_person_votes, but the differentiation is implicit rather than explicit.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It does not state 'use when you have a vote ID' or recommend sibling tools like get_person_votes for listing a person's votes. The only usage hint appears in the schema's parameter description (source of vote_id), not in the tool description itself, so the agent receives no direct routing information.

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