kolejki-nfz-mcp
Server Details
NFZ waiting times in Poland: where a specialist, test or treatment is available soonest
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- ContentWriterco/kolejki-nfz-mcp
- GitHub Stars
- 8
- Server Listing
- kolejki-nfz-mcp
TDQS
Scored across 3 tools
The three tools have distinct roles: source caveats, benefit-name lookup, and availability search. find_benefits and find_care both involve search terms, but the descriptions clearly explain when to use each and how they relate.
Two tools follow a clear find_noun pattern, while data_sources uses a noun phrase instead of a verb. This is a minor deviation and remains readable and predictable.
Three tools is well-scoped for a focused NFZ queue lookup server. Each tool has a clear purpose: data provenance, benefit normalization, and care availability search.
The surface covers the core workflow: understand data sources, resolve official benefit names, and find nearby care with waiting times. Minor gaps may exist around broader browsing or facility-detail workflows, but agents can work around them.
Available Tools
3 toolsdata_sourcesData sourcesCRead-onlyInspect
Where the data comes from and caveats.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=true, covering the safety profile. The description adds essentially no behavioral context beyond that — it doesn't say whether this returns provenance metadata, a list, external references, or how large/stable the result is.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short with no wasted words, but it is a sentence fragment that is not front-loaded with a verb and reads as a caption rather than a definition. Brevity here reflects under-specification more than discipline.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no parameters, the description is the only source of information about what this tool yields, and it does not explain the return content, structure, or the nature of the 'caveats'. For a metadata/provenance tool it leaves the agent guessing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the baseline of 4 applies; there is no parameter semantics for the description to clarify.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a noun-phrase fragment ('Where the data comes from and caveats') that essentially restates the name and title. There is no verb and no statement of what the tool actually returns or does, so an agent cannot confidently distinguish it from siblings like air_quality or air_stations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Nothing indicates when to call this rather than air_quality or air_stations, nor any prerequisite or exclusion. Usage is at best implied by the word 'caveats', which is too weak to count as guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_benefitsNFZ benefit namesARead-onlyInspect
Look up official NFZ benefit names (clinics, wards, tests, procedures) matching a word, e.g. 'rezonans' or 'okulist'. Use the exact name as find_care.benefit.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Word or fragment, e.g. 'kardiolog', 'tomograf', 'zaćm' |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint and openWorldHint annotations already establish the safety profile. The description adds useful matching behavior and the downstream find_care.benefit usage, but it does not describe return format, matching exactness, or other behavioral details beyond 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the tool's purpose and followed by a concrete usage instruction. There is no redundant or wasted text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter lookup with full schema coverage and safety annotations, the description provides the essential context and the key sibling handoff. It stops short of describing the return shape, which matters slightly because no output schema exists.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the query parameter is already documented with examples. The description reinforces that it accepts a word or fragment and shows example terms, but adds no syntax or matching semantics beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Look up') and resource ('official NFZ benefit names') with examples of the categories returned (clinics, wards, tests, procedures). It also distinguishes its output from the sibling find_care by telling the agent to use the exact name as find_care.benefit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It clearly states the usage context: find an official benefit name matching a word, then pass the exact name to find_care.benefit. This routes the agent well, but it does not explicitly cover when to avoid this tool or mention data_sources as an alternative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_careShortest NFZ waiting times near a placeARead-onlyInspect
Where a specialist, diagnostic test or treatment paid by NFZ is available soonest near a place in Poland. Returns clinics and hospitals with NFZ's forecast waiting time, people in the queue, address, phone, distance, accessibility and whether children are seen. service: everyday words (okulista, kardiolog, rezonans, zaćma, rehabilitacja…) or an exact NFZ benefit name from find_benefits. place: town, address or 'lat,lon'.
| Name | Required | Description | Default |
|---|---|---|---|
| max | No | How many places to list (default 10) | |
| sort | No | 'wait' (default) = shortest waiting time first, 'distance' = nearest first | |
| place | Yes | Town, address or 'lat,lon' in Poland | |
| urgent | No | Urgent case (referral marked 'pilne'); default false = stable case | |
| benefit | No | Exact NFZ benefit name (from find_benefits / 'Inne pasujące świadczenia') – overrides service matching | |
| service | Yes | What is needed, e.g. 'okulista', 'ortopeda', 'rezonans magnetyczny', 'endoprotezoplastyka stawu biodrowego' | |
| children | No | Patient is a child – searches paediatric clinics | |
| hospital | No | Hospital ward instead of an outpatient clinic | |
| radius_km | No | Search radius in km (default 30, widened automatically if few results) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare readOnlyHint and openWorldHint, so the description carries the rest: it discloses the Poland-only scope, that results are NFZ forecast waits with queue counts, and that an exact benefit name overrides service matching. It does not mention result volume limits beyond 'max' or any latency/rate considerations, but the substantive behavioral context is present.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the outcome (soonest available NFZ care near a place), followed by the returned fields and then the two required parameters. Dense but each clause carries information; the returned-field enumeration is slightly list-like but justified given there is no output schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 9-parameter, open-world search tool with no output schema, the description supplies the return shape and the required-parameter semantics, which is the main gap it needs to fill. Minor omissions remain (ordering interplay between sort and radius widening is left to the schema, no mention of empty-result behavior).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so every one of the 9 parameters is already documented in the schema, setting the baseline at 3. The description adds only the semantic that 'service' accepts colloquial terms (okulista, zaćma, rezonans) or an exact NFZ benefit name sourced from find_benefits, and that 'place' accepts lat,lon — both already largely implied by the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: finds where NFZ-paid specialist care, diagnostics or treatment is available soonest near a place in Poland. It also names what comes back (clinics/hospitals with forecast wait, queue size, address, phone, distance, accessibility, paediatric availability), which lets an agent distinguish it from find_benefits and data_sources 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Clear context for use: geo-based search for the shortest NFZ wait, with service given either in everyday words or as an exact benefit name taken from find_benefits. That routes the agent to the sibling tool when a precise benefit name is needed, but there is no explicit 'do not use this for X' exclusion or statement of what find_benefits alone covers.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
3 tool updates
- First observed
data_sources - First observed
find_benefits - First observed
find_care
Related MCP Connectors
Polish medicines: refunded drug prices, patient co-payment and cheaper substitutes
Polish schools and kindergartens with per-school eighth-grade exam and matura results
Air quality in Poland: live GIOŚ measurements, smog warnings, CAMS forecast and pollen
Polish real-estate deed prices and parcel checks: zoning plan, utilities, flood risk
Related MCP Servers
- AlicenseAqualityBmaintenanceEnables querying the Polish National Health Fund (NFZ) public API for medical waiting lists and service dictionary, allowing AI to compare wait times and find providers.3MIT
- AlicenseNot gradedqualityAmaintenanceYour AI agent's practical guide to life and administration in Poland.MIT

cenogram-mcp-serverofficial
AlicenseAqualityAmaintenance7M+ real estate transactions from Poland's RCN registry. Search, compare, and analyze prices30105 npm1MIT- AlicenseAqualityDmaintenancePolish phone number lookup: who called, spam and scam checks, UKE DNO registry, CERT phishing stats51MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.