Skip to main content
Glama

sweden-parliament-mcp-server

Search parliamentary members

riksdag_search_members
Read-onlyIdempotent

Find members and ministers by name, party, constituency and service status. Defaults to the service register; register all includes earlier source records through a larger cold request that may time out. Use numeric memberId with riksdag_get_member for assignment history.

Input Schema

NameRequiredDescriptionDefault
limitNoRequested rows; applied maximum 100.
partyNoParty code or exact reference label.
offsetNoLocal row offset.
sittingNoSource service classification; all retains unknown status.all
registerNoRegister scope; all includes historical records and can require a large cold request that reaches the normal timeout.service
revisionNoRevision returned by a preceding page.
constituencyNoExact constituency reference label or code, applied locally.
nameContainsNoStrict all-token local name filter, ignoring case and diacritics.

Output Schema

NameRequiredDescriptionDefault
errorNoPresent when the call failed. Absent on success.
itemsNoFiltered member-register rows.
limitNoApplied row limit.
offsetNoApplied local offset.
sourceNoRequired attribution to the Swedish Parliament.
hasMoreNoWhether filtered rows remain.
noticesNoAll applicable notices, including an empty list.
nextCallNoComplete next-page call.
revisionNoComplete candidate-set revision.
truncatedNoWhether response fitting shortened the selected page.
totalCountNoExact count after local filtering.
retrievedAtNoSource fetch time, retained unchanged on cache hits.
returnedCountNoRows in this page.
upstreamQueryNoUpstream query echo; not proof that a filter was applied.
candidateCountNoActual returned candidate records in the selected register scope.
effectiveQueryNoDeterministic normalized input, applied defaults and local filters.
requestedLimitNoRequested row limit before clamping and fitting.
upstreamWarningsNoWarnings supplied by the source.
sourceReportedCountNoSource-reported register hits; may differ from actual returned candidates in all scope.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare read-only, idempotent, and open-world, so the safety profile is covered. The description adds genuinely new behavioral context: the default register scope and the timeout risk of the larger historical request, which is operationally important and not derivable from annotations alone.

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?

Three tight sentences with no filler; the core capability comes first, then the caveat, then the sibling pointer. The phrase 'register all includes earlier source records' is slightly compressed but still readable.

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?

With an output schema present and full parameter documentation in the schema, the description only needs to cover invocation guidance and caveats — which it does via the register/timeout warning and the get_member pointer. Nothing essential for a correct call is missing.

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 description coverage is 100%, so the schema already documents all 8 parameters including register scope and timeout behavior. The description repeats the register/timeout story rather than adding new syntax or format details, so the baseline 3 applies.

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 ('Find') and resource ('members and ministers') with the filterable facets (name, party, constituency, service status). It also separates itself from the sibling riksdag_get_member by assigning ID-based assignment history to that tool, so an agent can pick correctly without opening either 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?

Clearly routes ID-based lookups to riksdag_get_member and explains the register=all trade-off ('larger cold request that may time out'). It lacks an explicit statement of when NOT to search at all, but the alternative routing gives strong context.

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.