fysio.care clinic discovery
Server Details
Discover Swedish MSK clinics on fysio.care: search clinics, services, and open appointment times.
- Status
- Healthy
- Uptime
- 100.0% over 75 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 4 tools
search_clinics (directory) and list_clinic_services (one clinic's offerings) are clearly distinct, as are the resource-level actions. The only overlap is between get_available_slots and get_next_available_date, but the descriptions explicitly frame the latter as a fallback when the former returns empty, resolving the boundary.
All four tools follow a consistent snake_case verb_noun pattern (get_available_slots, get_next_available_date, list_clinic_services, search_clinics). The verbs (get/list/search) accurately reflect the action type.
Four tools cleanly cover the discovery workflow (find clinic, list services, find slots, fallback date) without redundancy. It is slightly lean—no clinic-detail lookup—but each tool earns its place for the narrow discovery scope.
The server deliberately scopes itself to discovery and slot-finding (never booking), and the surface covers that lifecycle end to end. A minor gap is the absence of a get_clinic detail call, but search results already return Organization resources agents can use.
Available Tools
4 toolsget_available_slotsGet available slotsARead-onlyIdempotentInspect
Free appointment slots for one bookable service variant at one clinic, up to 14 days ahead. Each slot carries a FHIR Slot resource and a bookingUrl where the PATIENT completes the booking themselves on the web (this server never books).
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | Window length in days. | |
| from_date | No | Window start (YYYY-MM-DD, clinic runs Europe/Stockholm). Defaults to today. | |
| clinic_slug | Yes | The clinic slug from search_clinics (the URL segment, e.g. "mickes-klinik-lund"). | |
| service_variant_id | Yes | A bookable service variant id from list_clinic_services. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnly, idempotent, non-destructive, closed-world behavior. The description adds genuinely new context beyond them: that this server never performs bookings, that the patient completes booking via bookingUrl, and that each result carries a FHIR Slot resource. No auth or rate-limit detail, but the operational boundary is clear.
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, no filler. The scoping constraint comes first and the non-booking handoff behavior second, so the most decision-relevant fact is front-loaded.
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, the description carries the return-value burden and does so at a useful level: it names the FHIR Slot resource and the bookingUrl field per slot. It stops short of describing result ordering, empty-result behavior, or pagination, which leaves a small gap for a discovery tool.
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 days/from_date/clinic_slug/service_variant_id are fully documented in the schema itself. The description only restates the 14-day cap and the single-clinic/single-variant scoping, adding little syntax or format meaning beyond the schema. Baseline 3 is appropriate.
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 with tight scope: free slots for exactly one bookable service variant at one clinic, capped at 14 days. An agent can distinguish it from get_next_available_date (a single date) by the plural 'slots' and the FHIR Slot payload, though no sibling is named explicitly.
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?
Usage is implied rather than stated: 'this server never books' and the bookingUrl handoff tell the agent this is a discovery-only step, not a booking step. However, no alternative tool (get_next_available_date, list_clinic_services) is named with a condition that would route the agent to it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_next_available_dateGet next available dateARead-onlyIdempotentInspect
Earliest free slot for a service variant, scanning up to 90 days ahead. Use when get_available_slots comes back empty.
| Name | Required | Description | Default |
|---|---|---|---|
| clinic_slug | Yes | The clinic slug from search_clinics (the URL segment, e.g. "mickes-klinik-lund"). | |
| service_variant_id | Yes | A bookable service variant id from list_clinic_services. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive), so the bar is lower, and the description adds the 90-day scan horizon, a genuine behavioral trait not in the annotations. It does not say what happens if no slot exists within that window, which is a modest remaining gap.
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 tight sentences with the scope constraint front-loaded and the usage condition second. No filler or redundancy.
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, the description carries the return-value burden and adequately conveys that a date/slot is returned, but it omits the failure case (what is returned when nothing is free in 90 days). That is a minor but real gap for a fallback tool.
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% and both parameters are fully documented in-schema (clinic_slug sourcing from search_clinics, service_variant_id from list_clinic_services). The description adds no parameter-level meaning beyond that, so the baseline 3 applies.
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 resource (earliest free slot for a service variant) with a concrete scope bound (scanning up to 90 days ahead). This clearly differentiates it from the sibling get_available_slots, which returns broader availability.
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?
Explicitly says when to use it: 'Use when get_available_slots comes back empty.' That names the alternative and the exact triggering condition, leaving nothing to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_clinic_servicesList clinic servicesARead-onlyIdempotentInspect
List the bookable services of one clinic, with duration, price (SEK) and a FHIR HealthcareService per bookable variant. The variant id is what get_available_slots takes.
| Name | Required | Description | Default |
|---|---|---|---|
| clinic_slug | Yes | The clinic slug from search_clinics (the URL segment, e.g. "mickes-klinik-lund"). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and openWorldHint=false, so safety is covered structurally. The description adds real value beyond that by disclosing the shape of the payload (per-variant FHIR HealthcareService with duration and SEK pricing), which matters since no output schema exists.
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?
One dense sentence plus a short handoff sentence. Purpose and output content are front-loaded, and the downstream dependency is appended where it belongs. No filler.
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 one-parameter list tool with annotations covering the safety profile, the description supplies the essentials: what comes back and how the result feeds get_available_slots. Minor omissions (pagination, behavior on an unknown slug) keep it from a 5 but are not blocking.
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?
With a single parameter at 100% schema description coverage, the schema fully documents clinic_slug including its origin in search_clinics and an example. The description adds no further syntax or format guidance, so baseline 3 applies.
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 ('List the bookable services of one clinic') and goes further by naming the returned data (duration, price in SEK, FHIR HealthcareService per bookable variant). The closing clause ties it to get_available_slots, so an agent can situate it among its siblings immediately.
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 establishes a clear workflow: this tool supplies the variant id that get_available_slots consumes, and the schema points back to search_clinics for the slug. It stops short of explicit when-not-to-use guidance, but the chain context is unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_clinicsSearch clinicsARead-onlyIdempotentInspect
Search the public directory of Swedish MSK clinics (fysioterapi, naprapati, kiropraktik m.fl.) on fysio.care. Returns published clinics with FHIR Organization resources. Use list_clinic_services next to see what a clinic offers.
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | Exact city name, e.g. "Lund". | |
| limit | No | ||
| query | No | Case-insensitive clinic-name substring. | |
| modality | No | Only clinics offering this treatment modality. | |
| friskvard | No | Only clinics where friskvårdsbidrag can actually be spent. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, and closed-world, so only additions count. The description adds real value with two facts not in the structured data: only *published* clinics are returned, and results are FHIR Organization resources — important since there is no output schema.
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, no filler; the identity/scope comes first and the sibling pointer last. Every clause carries information the agent can act on.
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 five-parameter read-only search with no output schema, the description covers what is returned (published clinics as FHIR Organization) and where to go next. Only the filter-combination behavior and result ordering/pagination remain unstated, which is minor here.
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 coverage is 80%, so the baseline is 3. The parenthetical modality list loosely maps to the enum values, but the description adds no semantics for city matching (exact), query (case-insensitive substring), limit, or friskvård beyond what the schema already states.
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 ("Search the public directory of Swedish MSK clinics") with geographic and domain scope (fysio.care, fysioterapi/naprapati/kiropraktik). It also names the sibling list_clinic_services and what it covers, so an agent can separate discovery from service lookup 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?
"Use list_clinic_services next to see what a clinic offers" gives an explicit follow-up route and the condition that selects it. However, it gives no guidance on how to combine the filtering parameters (city vs. query vs. modality) or when this tool is the wrong choice for a lookup.
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.
4 tool updates
- First observed
get_available_slots - First observed
get_next_available_date - First observed
list_clinic_services - First observed
search_clinics
Related MCP Connectors
Find and book UK private physiotherapy, osteopathy and chiropractic clinics, with live availability.
Read-only facts, MSK references and availability snapshots for a physiotherapy clinic in Tel Aviv
Norwegian dental clinic MCP: more than 4,500 clinics with Helfo, specialty and emergency care data.
Find clinics, treatments, prices and free times on GLØDI in Norway, with booking links.
Related MCP Servers
- AlicenseAqualityCmaintenanceEnables AI assistants to search Italian private healthcare services, clinics, and doctors, compare real-time availability, bookable times, and prices, and retrieve service preparation and pricing information, while leaving booking on cup24.it.5MIT
- AlicenseBqualityCmaintenanceEnables querying Doctolib's public data to find practitioners, retrieve all available appointment slots in a geographic area, access practice details, and receive alerts when new slots open.21MIT
- AlicenseBqualityCmaintenanceEnables AI assistants to search official NFZ waiting lists in Poland for specialists, diagnostic tests, and procedures near a given location, ranked by forecast waiting time or distance. Results include waiting counts, addresses, phone numbers, accessibility details, and pediatric availability, with no API key required.38MIT
- AlicenseNot gradedqualityAmaintenanceVeterinary clinic network in Moscow (20 clinics, open 24/7). Find a clinic with live ratings, check live prices for 900+ services, see open appointment slots, book a real visit, run a vet-approved symptom triage, check pet food safety, and query a knowledge base of 3,700+ vet-reviewed Q&As. Remote Streamable HTTP server at https://bio.vet/mcp, no auth required. Tools operate in Russian.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.