Vitena Directory
Server Details
Search Vitena's public directory of bookable health and wellness professionals
- Status
- Healthy
- Uptime
- 100.0% over 36 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-06-18
- URL
TDQS
Scored across 3 tools
Each tool has a clearly distinct role: one retrieves a single provider's full profile, one returns available filter metadata, and one performs search. There is no overlap that would cause an agent to confuse them.
All tool names follow a clear verb_first snake_case convention: get_provider, list_directory_filters, search_providers. The singular/plural distinction between get_provider and search_providers matches their return types and does not create confusion.
Three tools is a well-scoped set for a directory server: search, detail retrieval, and filter metadata. Each tool earns its place and the count is comfortably within the ideal 3–15 range.
The core directory workflow is covered: discover valid filters, search providers, and fetch a full profile. The only notable gap is that pagination is not explicitly documented, so agents may be limited to the first page of results when not filtering.
Available Tools
3 toolsget_providerGet health professional detailsARead-onlyIdempotentInspect
Returns the full public profile of one professional by their slug (the value returned as 'slug' by search_providers): services offered, specializations, spoken languages, locations, working hours, contact details and whether online booking is available.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | Profile slug from search_providers, e.g. 'cristobal-diaz'. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this as a safe, read-only, idempotent operation, so the bar for additional behavioral disclosure is lower. The description adds useful context by specifying that it returns a 'full public profile' and listing what data the agent can expect, which goes beyond the bare annotation hints.
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?
The entire description is one focused sentence with no filler. The core purpose is front-loaded, and the field list is compact yet comprehensive.
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 present, the description carries the burden of explaining the return value, and it does so thoroughly by listing services, specializations, languages, locations, hours, contacts, and booking availability. Combined with the simple one-parameter schema and clear relationship to search_providers, the agent has everything needed to use the tool correctly.
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 schema already fully documents the single 'slug' parameter with an example, and the description restates the same source ('the value returned as 'slug' by search_providers'). The description adds little beyond the schema, so the baseline of 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?
The description uses a specific verb ('Returns') and resource ('full public profile of one professional by their slug'), and enumerates the key fields returned. It also ties the slug to search_providers, which clearly differentiates it from the sibling search tool.
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?
The description clearly indicates this tool is used after obtaining a slug from search_providers, giving the agent a concrete workflow. It does not explicitly state when not to use this tool vs alternatives, but the usage context is clear enough for correct selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_directory_filtersList directory filter optionsARead-onlyIdempotentInspect
Returns the valid filter values currently available in the Vitena provider directory: specialization codes (with human labels), spoken-language codes, and the countries that currently have listed professionals. Call this FIRST when you intend to filter a search by specialization — that argument only matches exact codes from this list, so guessing a specialty name will silently return no results. Note that CITY is NOT in this list and does not need to be: search_providers resolves a free-text city, district or region name against a gazetteer, so pass the name the user actually said.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark the tool as read-only, idempotent, and non-destructive, so the description adds valuable context beyond that: exact-code matching, silent failure on guessing, the dynamic nature of 'currently available' values, and how search_providers handles free-text city names. This deepens the agent's understanding of the tool's behavior.
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?
The description is three sentences, front-loaded with what the tool returns, followed by precise usage instructions and a clarifying caveat about CITY. Every sentence adds distinct value with no redundancy or 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 no-parameter read-only tool with rich annotations and no output schema, the description is complete: it names the output categories, explains when to call it, and resolves ambiguity with sibling tools. An agent can confidently select and invoke this tool without further clarification.
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 input schema is empty and the description correctly implies the tool takes no parameters. With zero parameters, the description has no param semantics to document, so the baseline score of 4 applies; there is no gap to compensate for.
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 clearly states the tool returns valid filter values for the provider directory, specifically enumerating specialization codes, language codes, and countries. It also functionally distinguishes this from sibling tools by clarifying what it is not for, such as CITY resolution handled by search_providers.
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 explicitly tells the agent to call this FIRST when filtering by specialization, warns that guessing specialty names silently returns no results, and explicitly says CITY is not in the list and should be passed to search_providers. This gives direct when-to-use and when-not-to-use guidance with a named alternative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_providersSearch health professionalsARead-onlyIdempotentInspect
Searches the public Vitena directory of health and wellness professionals who accept appointments (dietitians, dentists, physiotherapists, psychologists, beauty and aesthetics practitioners, child development specialists). Every filter is optional; with no filters it returns the first page of all publicly listed professionals. Results are public profile data only. Each result includes a profileUrl that can be given to the user for booking.
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | Deprecated alias for 'location', kept so agents that learned the older argument name keep working. Prefer 'location'. | |
| page | No | 1-based page number. Page size is fixed at 20. | |
| country | No | Two-letter ISO country code, e.g. 'TR', 'ES', 'DE'. Narrows an ambiguous place name. Valid values come from 'countries' in list_directory_filters. | |
| language | No | Two-letter language code the professional consults in, e.g. 'es', 'tr'. | |
| location | No | City, district or region name in free text, e.g. 'Istanbul', 'Kadıköy', 'Madrid', 'Andalucía'. Resolved against a place gazetteer, so it does NOT have to match a fixed list and is NOT returned by list_directory_filters — pass the place the user actually named. Choosing a region matches everywhere inside it. An unrecognised place returns an explanatory error rather than silently ignoring the filter. | |
| workMode | No | Consultation mode. 'online' for remote, 'in_person' for on-site. | |
| discipline | No | Profession to filter by. One of: dietitian, psychologist, physiotherapist, beauty, child-development, dentist, doctor, other. | |
| specialization | No | Specialization CODE (not label) as returned by list_directory_filters. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the description only needs to add context. It adds that results are public profile data only assimilation, that professionals accept appointments, and that each result includes a profileUrl for booking – useful behavioral detail 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?
The description is well front-loaded with the core search purpose and includes only relevant clauses. The discipline enumeration partly duplicates the schema enum, so a small amount of redundancy prevents a perfect score.
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 tool with zero required parameters and rich annotations, the description covers the essential output insight (profileUrl) and default behavior. It could more explicitly point to list_directory_filters for filter values and to get_provider for single-provider details, but those are already partially implied/introduced in the schema.
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 baseline is 3. The description confirms that all filters are optional and that no filters returns the first page, but it does not add per-parameter syntax or format details beyond what the schema already 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?
States a specific action ('Searches the public Vitena directory') and resource (health and wellness professionals who accept appointments), and lists example disciplines. The verb 'search' differentiates it from get_provider (single record) and list_directory_filters (filter metadata) even without naming them.
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?
Provides clear context: every filter is optionalable, no filters returns the first page, and results are public profile data with a usable profileUrl. It does not explicitly name when to prefer get_provider or list_directory_filters, but the search-and-return-profile-Url flow is well implied.
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.
1 tool update
- Changed
search_providers2 fields changed- changed
Input schema / properties / discipline / descriptionPrevious value: -"Profession to filter by. One of: dietitian, psychologist, physiotherapist, beauty, child-development, dentist, other."New value: +"Profession to filter by. One of: dietitian, psychologist, physiotherapist, beauty, child-development, dentist, doctor, other." - changed
Input schema / properties / discipline / enumPrevious value: -[ - "dietitian", - "psychologist", - "physiotherapist", - "beauty", - "child-development", - "dentist", - "other" -]New value: +[ + "dietitian", + "psychologist", + "physiotherapist", + "beauty", + "child-development", + "dentist", + "doctor", + "other" +]
3 tool updates
- First observed
get_provider - First observed
list_directory_filters - First observed
search_providers
Related MCP Connectors
Directory and marketplace of local businesses and independent professionals near you.
Find and book UK private physiotherapy, osteopathy and chiropractic clinics, with live availability.
Find Italian doctors and health practitioners: profile, services, prices, free booking slots.
Discover wellness practitioners, events, communities, and modalities through Let's Vibe.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceEnables searching a public coach directory by free text, category, country, city, languages, specialties, hourly rate, experience and verification, and retrieving individual coach profiles, booking availability, directory facet counts, featured coaches and articles. All tools are read-only, require no authentication, and render interactive coach and profile cards inside ChatGPT and Claude clients.MIT
- AlicenseAqualityCmaintenanceEnables AI agents to search Iranian doctors, hospitals and clinics by specialty, city, name, gender and online visit, then read profiles, ratings, insurances, patient reviews, visit prices in Toman and free appointment times. Read-only, with no login, booking or payment, so users compare options and get a profile link to book themselves.12MIT
- AlicenseAqualityCmaintenanceEnables AI agents to search Iranian doctors by speciality, city, neighborhood, insurance and visit type, compare office and online consultation fees, check free appointment times up to a month ahead, and read reviews. Also covers hospitals, clinics, labs, pharmacies, fixed-price clinic offers and health articles, all read-only so booking happens on the site via a returned link.14MIT
- 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
Glama MCP Gateway
Add one secure layer between your agents and this server.