Vitena Directory
Server Details
Search Vitena's public directory of bookable health and wellness professionals
- Status
- Healthy
- Uptime
- 100.0% over 59 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-06-18
- URL
TDQS
Scored across 3 tools
Each tool has a clearly distinct role: search_providers queries the directory, get_provider retrieves one full profile by slug, and list_directory_filters enumerates valid filter codes. Their descriptions even spell out the intended call order, leaving no realistic chance of misselection.
All three tools follow the same verb_noun snake_case pattern (get_provider, list_directory_filters, search_providers). The verbs are semantically precise and evenly applied.
A read-only public directory needs exactly this triad: a search entry point, a detail lookup, and a filter-metadata lookup. Three tools is well-scoped with no redundant or filler members.
Coverage of the read-only directory surface is solid—search, retrieve-by-slug, and filter enumeration—with booking handled via the returned profileUrl rather than a tool. Minor gaps: no explicit pagination control for large result sets and no lookup of a profile by anything other than slug.
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. When the user names a specific professional or practice, pass that as 'name'. 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'. | |
| name | No | Name of the professional or their practice in free text, e.g. 'Müjde Koyuncu'. Every word must appear in the person's name, the practice name or the profile slug; case and accents are ignored and part of a word is enough ('koyun'). Names that start with the given words come first. | |
| 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 readOnly, idempotent, openWorld and non-destructive, so the safety profile is covered. The description adds genuinely useful behavior beyond that: results are 'public profile data only' and each result carries a profileUrl suitable for handing to the user for booking, which matters 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?
Four sentences, front-loaded with the core purpose, then scope, then the key routing hint for 'name', then output content. No wasted clauses, though the last two sentences (public data / profileUrl) could be folded together without loss.
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, zero-required search with no output schema, the description supplies the missing output-side context (public profile data, booking profileUrl) and the zero-filter default. What it omits is cross-tool orientation against get_provider and list_directory_filters, which the agent needs to pick correctly among the three.
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 all nine parameters are already documented with examples, enums and the deprecated-alias note. The description only reiterates the 'name' usage and the all-optional nature, adding little meaning the schema does not already carry; 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?
The description names a specific verb and resource ('Searches the public Vitena directory of health and wellness professionals') and even enumerates the covered disciplines, so the agent knows exactly what domain it queries. It does not explicitly distinguish itself from siblings like get_provider or list_directory_filters within the description text, so it lands at clear-but-undifferentiated.
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 gives concrete routing guidance ('When the user names a specific professional or practice, pass that as name') and clarifies that every filter is optional, with an unfiltered call returning the first page of everything. It never names the alternative tools to use instead (e.g. get_provider for a known entity, list_directory_filters for vocabularies), so no explicit exclusions.
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_providers1 field changed- added
Input schema / properties / nameAdded value: +{ + "description": "Name of the professional or their practice in free text, e.g. 'Müjde Koyuncu'. Every word must appear in the person's name, the practice name or the profile slug; case and accents are ignored and part of a word is enough ('koyun'). Names that start with the given words come first.", + "type": "string" +}
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
Find verified doctors, dentists, lawyers and accountants; see free times; request a booking.
Find wellbeing sessions with independent practitioners: free times, prices and booking links.
Search India's credential-verified therapist directory: read-only, public, checkable registrations.
Directory and marketplace of local businesses and independent professionals near you.
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 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
- AlicenseAqualityAmaintenanceEnables 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.12387 PyPI4MIT
- AlicenseAqualityAmaintenanceEnables 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.14396 PyPI2MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.