Skip to main content
Glama

switzerland-parliament-mcp-server

Chparl Get Member

chparl_get_member
Read-onlyIdempotent

Read a Swiss Parliament member by PersonNumber, which need not equal Person.ID. overview returns identity and every base MemberCouncil affiliation without pagination. Select council_terms for historical council terms, committees for published MemberCommittee rows, or interests for declared interests; those sections accept limit and offset. Missing paid status means unknown, and empty interests do not establish absence of conflicts of interest. Metadata labels remain in the selected language.

Input Schema

NameRequiredDescriptionDefault
limitNoRelationship sections only: default 20, effective maximum 100 with notice. Omit for overview.
offsetNoRelationship sections only: default zero; continue with nextOffset. Omit for overview.
sectionNooverview (default), council_terms, committees, or interests.overview
languageNoMetadata language: de (default), fr, or it; uppercase is accepted.de
personNumberYesRequired positive Int32 PersonNumber as a decimal string; discover with chparl_search_members.

Output Schema

NameRequiredDescriptionDefault
errorNoPresent when the call failed. Absent on success.
foundNoWhether a Person matched the requested PersonNumber and language.
noticeNoCombined clamping, size, empty-section, or past-end guidance.
personNoResolved parliamentary identity, including the distinct Person.ID.
hasMoreNoWhether section records remain; false for complete overview affiliations.
sectionNoProfile component returned.
guidanceNoDiscovery guidance when the person is absent.
interestsNoDelivered declared interests; missing paid flags stay unknown, and emptiness does not prove no conflicts of interest.
committeesNoDelivered published committee memberships; not a complete historical committee ledger.
nextOffsetNoStarting offset plus delivered records; absent when exhausted or unpaged.
provenanceNoAttribution, publication status, and source download dates.
totalCountNoExact section count when supplied upstream, or the fully enumerated overview membership count.
membershipsNoComplete base MemberCouncil affiliations in overview; source continuations are drained.
councilTermsNoDelivered complete historical council-term records.
returnedCountNoNumber of profile records returned; omitted for a missing person.
effectiveLimitNoEffective page size, present only for relationship sections.
effectiveFiltersNoNormalized profile parameters and defaults for the selected section.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.7/5.0
Behavior5/5

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

Annotations already declare readOnly/idempotent/openWorld, and the description adds genuinely non-obvious semantics beyond them: missing paid status means unknown, empty interests do not establish absence of conflicts of interest, overview is unpaginated while relationship sections paginate (effective max 100 with notice), and metadata labels follow the selected language. These are exactly the interpretive caveats an agent needs to avoid misreading the response.

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?

Purpose is front-loaded and the pagination caveat comes second, so the highest-value information leads. It is dense and semicolon-heavy, packing several sections into one sentence, but nearly every clause earns its place with a behavior an agent would otherwise get wrong.

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?

With a full output schema present, the description need not describe return shapes, and it instead covers the interpretive risks (paid status unknown, empty interests ambiguity, pagination scope, language of labels). Combined with complete schema annotations, nothing essential for correct invocation is missing.

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

Parameters5/5

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

Though schema coverage is 100% (baseline 3), the description adds meaning the schema does not: PersonNumber need not equal Person.ID, limiting applies only to relationship sections (omit for overview), and language governs the labels returned. These are genuine semantic additions rather than restatements.

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 names a specific verb and resource — read a Swiss Parliament member by PersonNumber — and immediately clarifies the non-obvious ID semantics (PersonNumber need not equal Person.ID). This is an unambiguous, single-purpose getter that an agent can distinguish from the sibling search/get tools by resource alone.

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?

It explicitly routes the agent among the four sections: overview for identity and all base affiliations without pagination, council_terms for historical terms, committees for published MemberCommittee rows, interests for declared interests. Only gap is it does not state when to prefer this over chparl_search_members (that hint lives in the schema's personNumber description, not the tool description).

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.