paziresh24-mcp
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@paziresh24-mcpfind a female cardiologist in Tehran with an online visit today"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
🩺 paziresh24-mcp
Let your AI agent find the right doctor on Paziresh24. Search doctors by specialty, city, name and online visit, read profiles, prices, insurances and patient reviews, and see the free appointment times, all from Claude, Cursor or Copilot.
Quick start · What it can do · Tools · FAQ · فارسی
Why
Paziresh24 (paziresh24.com) lists tens of thousands of Iranian doctors, hospitals and clinics, with in-person
booking and online visits by phone or messenger. Picking one means comparing specialties, ratings, insurance,
prices and who has a free slot soon. An agent with paziresh24-mcp reads the same data the site shows and does
the comparing for you, then gives you the profile link to book:
You: A female cardiologist in Tehran with an online visit today, not too expensive?
Agent: calls
pz_search_doctors(city="tehran", specialty="cardiovascular", visit_type="online", gender="female", sort="earliest")→pz_doctor(slug="دکتر-هدیه-جباری-0")→pz_free_slots(center_id="5532", ...)→pz_visit_price(center_id="5532", ...)Dr. Hedieh Jabbari (cardiologist, 5.0 from 11 ratings) has online visits over WhatsApp today from 15:00 (10-minute slots: 15:00, 15:10, 15:20, ...). The visit is 500,000 Toman + 15,000 VAT = 515,000 Toman. Book it here: https://www.paziresh24.com/dr/دکتر-هدیه-جباری-0/
Real tool output from 2026-10-06; slots and prices change all the time. Prices are in Toman.
Related MCP server: medical-hospital-mcp-server
What it can do
🔎 Search doctors by city, specialty, name, online visit, gender, degree and work time, sorted by best, nearest free time or cheapest online visit
🏷️ Resolve words: Persian or English city and specialty names to search slugs, plus the site's type-ahead
👩⚕️ Read a profile: specialties, about text, medical council code, offices and hospitals with address, phone and map, services, weekly hours, insurance contracts, online visit channels
📅 Find a time: the earliest free appointment, the days with free slots, and the free times of each day (in person and online)
💳 Know the cost: online visit fee, VAT and the payable total in Toman
⭐ Check reviews: rating averages, average waiting time and paged patient reviews (no reviewer names)
🏥 Hospitals and clinics: departments, doctors, phone, website, map
🔒 Read-only by design: no login, no slot holds, no booking, no payment
Quick start
You need uv.
claude mcp add paziresh24 -- uvx paziresh24-mcpSettings → Developer → Edit Config, then add:
{
"mcpServers": {
"paziresh24": { "command": "uvx", "args": ["paziresh24-mcp"] }
}
}Click Install in Cursor above, or add the Claude Desktop block to ~/.cursor/mcp.json.
Click Install in VS Code above, or add to .vscode/mcp.json:
{
"servers": {
"paziresh24": { "type": "stdio", "command": "uvx", "args": ["paziresh24-mcp"] }
}
}It's a standard stdio MCP server: run uvx paziresh24-mcp, or pip install paziresh24-mcp and run paziresh24-mcp.
Then just ask:
"A dermatologist in Shiraz who accepts Tamin Ejtemaei and has a free slot this week."
"Cheapest online pediatrician visit available today?"
"What do patients say about this doctor? https://www.paziresh24.com/dr/..."
"Which cardiologists work at Treata hospital, and who is free soonest?"
چطور نوبت ویزیت آنلاین را لغو کنم و پولم برمی‌گردد؟
How it works
AI agent (Claude, Cursor, Copilot, ...)
│
│ MCP over stdio
▼
paziresh24-mcp (runs on your machine)
│
│ HTTPS (JSON)
├──────▶ apigw.paziresh24.com (search, free days and slots, prices, holidays)
├──────▶ drprofile.paziresh24.com (doctor profiles)
├──────▶ ravi-apis.paziresh24.com (reviews and ratings)
├──────▶ saman / biko.paziresh24.com (availability, insurance)
└──────▶ www.paziresh24.com (cities, specialties, hospitals, FAQ)paziresh24-mcp runs locally and calls the same public endpoints the Paziresh24 website uses.
There's no hosted server in between, no API key, and nothing about you is sent anywhere else.
Tools
Doctors are identified by their Persian slug, the part after /dr/ in the profile URL
(دکتر-هدیه-جباری-0); slot and price tools take the center_id, user_center_id and service_id
that search results and pz_doctor return.
Tool | What it does |
| Persian or English words → city slugs, specialty slugs and query completions |
| Doctors (or hospitals and clinics) by city, specialty, name, online visit, gender, degree, with sorting and paging |
| A paziresh24.com link → doctor or center slug |
| Hospital or clinic: address, phone, website, departments and doctors |
Tool | What it does |
| Full profile: specialties, about, rating, insurances, online visit, centers, services, prices, weekly hours |
| Earliest free in-person and online slot, per center |
| Patient reviews (paged) with rating averages and waiting time per center |
Tool | What it does |
| Days with free slots over the whole booking window, days off and holidays |
| Free appointment times per day for a date range |
| Fee, VAT and payable total in Toman, and the refund-on-cancel setting |
| Official Iranian holidays between two dates |
Tool | What it does |
| Paziresh24's official FAQ: booking, cancelling, online visits, refunds |
All 12 tools are annotated readOnlyHint: true and return compact structured JSON, so they don't flood the agent's context.
Good to know
Prices are in Toman (1 Toman = 10 Rial). The APIs answer in Rial; the server divides by 10.
In-person office visits usually show price 0: they are paid at the office and the fee is not published. Online visits have a real fee;
pz_visit_priceadds the VAT (3% in tests).Times are Tehran local (
HH:MM), dates GregorianYYYY-MM-DD(1405-07-18 = 2026-10-10).Online visits live in Paziresh24's virtual center
5532(phone call or messenger such as WhatsApp; seechannels).Insurance: search cards list accepted insurance names, but there is no insurance filter.
insurances: nullinpz_doctormeans no data, not "no insurance".Centers with booking off stay in
pz_doctorwithbooking_off: true(call their phone);booking_opensmeans the booking period has ended and new slots open at that time. Search cards give the first free time per center as well as the doctor's earliest overall.Booking is not possible here. Booking needs an SMS login, so the agent gives you the doctor's profile URL. Free slots are listed, never held.
Search results can include sponsored doctors;
sort="earliest"drops doctors without a free slot.
FAQ
No, and that's deliberate. It never calls login, slot-hold, booking, payment or review endpoints (a test fails if their paths appear in the code). The agent finds the doctor and the time; you book on the profile page.
No geo block was seen: direct calls and calls through a proxy in Turkey both worked (2026-10-06). If your network
blocks the site, set PAZIRESH24_MCP_PROXY.
Some Paziresh24 gateway routes sometimes hang for 20-30 seconds. The server retries once; if it still fails, try again in a minute.
Use the full path to uvx (where uvx on Windows, which uvx on macOS/Linux) as command.
npx @modelcontextprotocol/inspector uvx paziresh24-mcpConfiguration
Variable | Default | Meaning |
| unset | HTTP proxy for every request, e.g. |
فارسی
paziresh24-mcp به دستیار هوش مصنوعی شما (Claude، Cursor، Copilot و ...) اجازه می‌دهد در پذیرش۲۴ پزشک پیدا کند: جستجو بر اساس تخصص، شهر، نام و ویزیت آنلاین، خواندن پروفایل، بیمه‌ها، قیمت و نظرات بیماران، و دیدن زمان‌های خالی نوبت.
فقط خواندنی است: وارد حساب نمی‌شود، نوبت نگه نمی‌دارد، نوبت ثبت نمی‌کند و پرداخت نمی‌کند.
برای گرفتن نوبت، لینک صفحه پزشک را به شما می‌دهد.
همه قیمت‌ها به تومان است.
روی سیستم خود شما اجرا می‌شود و به هیچ سرور واسطی داده نمی‌فرستد.
نصب در Claude Code:
claude mcp add paziresh24 -- uvx paziresh24-mcpبعد بپرسید: «یک متخصص پوست خانم در تهران که امروز ویزیت آنلاین دارد، با قیمت»
Development
git clone https://github.com/sepehr071/paziresh24-mcp && cd paziresh24-mcp
uv sync
uv run pytest # offline, against recorded responses
uv run pytest -m live # real APIs
uv run ruff check .Tools live in src/paziresh24_mcp/search.py, doctor.py, slots.py and info.py; each is a typed async
function with a docstring that tells the agent when to use it. Issues and PRs are welcome, especially new tools and
fixes for API changes.
Releases: bump the version in pyproject.toml and server.json, then push a v* tag. GitHub Actions tests,
publishes to PyPI and the MCP Registry, and creates the GitHub Release.
Disclaimer
Unofficial and not affiliated with or endorsed by Paziresh24. It uses the public endpoints of the paziresh24.com website, which can change without notice. It is not medical advice. Please keep request rates reasonable.
License
Available Tools
12 toolspz_centerHospital or clinic profileARead-onlyIdempotent
Profile of a hospital or clinic: type, address, phone, website, map, about text, departments, and its doctors (slug, department, specialty, basic insurance flags).
For a paged doctor list of the center sorted by nearest free time, call pz_search_doctors(center_id=, sort='earliest'). For one doctor, pz_doctor(slug).
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | Center slug from a pz_search_doctors center result (or its /center/... URL), e.g. 'بیمارستان-تخصصی-و-فوق-تخصصی-تریتا'. | |
| specialty | No | Only doctors whose department or specialty contains this Persian text, e.g. 'قلب' or 'زنان'. | |
| doctors_limit | No | Max doctors to list (0 = none). |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
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's enumeration of returned content is largely redundant with the existing output schema, so it adds little behavioral context 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?
Front-loaded with the core purpose and then a compact routing paragraph; no filler. The returned-field list is slightly redundant against the output schema, keeping it just short of a 5.
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 full schema coverage, complete annotations, and an output schema, the description only needed to orient the agent and route to siblings, which it does. Nothing essential is missing, though it offers no edge-case or prerequisite notes.
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%: the slug origin, the specialty Persian-text filter, and the doctors_limit semantics are all documented in the schema with min/max and defaults. The description's mention of doctor fields does not add parameter-level meaning, 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 (hospital/clinic profile) and enumerates exactly what it returns: type, address, phone, website, map, about text, departments, and embedded doctors. It then names the sibling tools (pz_search_doctors, pz_doctor) so the agent can distinguish this profile fetch from the doctor-list and single-doctor tools.
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 routes the agent: for a paged doctor list sorted by nearest free time call pz_search_doctors with sort='earliest'; for a single doctor call pz_doctor(slug). This gives clear alternatives with conditions, though it never states when this profile tool is the wrong choice or any prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pz_doctorDoctor profileARead-onlyIdempotent
Full profile of one doctor: specialties, about text, medical council code, rating averages, insurance contracts, online visit (channels, price in Toman), and every office/hospital/clinic with address, phone, map, first free slot and services (ids, price, duration, weekly hours).
A center with booking_off: true has online booking switched off (call its phone); booking_opens means
the booking period has ended and new slots open at that time. Use after pz_search_doctors or pz_resolve_url.
The center_id + user_center_id + service_id of a
service feed pz_first_available, pz_free_days, pz_free_slots and pz_visit_price. Reviews: pz_reviews.
Booking itself is done by the user on the returned url (it needs an SMS login).
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | Doctor slug from pz_search_doctors (Persian, e.g. 'دکتر-هدیه-جباری-0') or the doctor's paziresh24.com profile URL. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/openWorld, so the bar is lower; the description nonetheless adds real behavioral context: what 'booking_off: true' means (call the phone), what 'booking_opens' means (slots open later), and that booking happens externally with SMS login. No contradictions.
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?
Purpose and payload are front-loaded in the first sentence, and the guidance sentences are short. However, the long parenthetical field enumeration and mid-sentence line breaks ('...pz_resolve_url. The center_id + user_center_id + service_id of a service feed...') add some density without much extra value.
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 an output schema present, the description need not explain return values, yet it does summarize them. It covers the mutation-free nature and downstream id chaining, leaving only minor ambiguity about how the returned center/service ids are meant to be threaded into the listed sibling tools.
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?
Only one parameter with 100% schema description coverage, including an example and the note that it accepts either a slug or a profile URL. The description adds no syntax or format detail beyond the schema, 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 ('Full profile of one doctor') and enumerates the exact payload: specialties, council code, ratings, insurance, online visit channels/price, and every office with address, phone, map, first free slot and services. It is immediately distinguishable from list/search siblings like pz_search_doctors or pz_center.
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 to use it 'after pz_search_doctors or pz_resolve_url' and explains the booking flow ('Booking itself is done by the user on the returned url (it needs an SMS login)'). No explicit when-not-to-use condition is given, but the placement in the tool chain is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pz_faqPaziresh24 FAQARead-onlyIdempotent
Answers from the official Paziresh24 FAQ: how booking works, cancelling or moving an appointment, online visits (channels, prescriptions), payment and refunds.
Without a query it lists the questions only. Use for "how do I ..." questions about the site.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max answers. | |
| query | No | Topic words in Persian, e.g. 'لغو نوبت' (cancel), 'استرداد' (refund), 'ویزیت آنلاین' (online visit). Empty = list every question. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/openWorld/non-destructive, so safety is covered. The description adds behavior beyond them: the empty-query browse mode and the fact that answers are drawn from an official FAQ corpus (authoritative, site-scoped). Minor gap: nothing about answer length or result limits beyond the schema's default.
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 plus a topic parenthetical, all front-loaded: purpose first, browse-mode caveat second, usage rule last. Nothing redundant with the 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?
Output schema exists, annotations are rich, and both parameters are fully documented, so the description need not explain returns. Remaining minor gap is that it does not hint at result-shape/limit interplay, but that is adequately handled by 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% and the schema itself documents the Persian topic-word format and that empty query lists all questions, so the description only echoes the empty-query behavior. Baseline 3 applies when the schema carries the parameter semantics.
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+resource ('Answers from the official Paziresh24 FAQ') and enumerates the covered domains (booking, cancel/move appointment, online visits, payment/refunds). No sibling tool (doctor search, prices, slots, holidays) does FAQ answering, so the agent can route without opening the schema.
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 scopes use to '"how do I ..." questions about the site', and adds the no-query browse mode ('Without a query it lists the questions only'). Clear usage context, though it never names a sibling alternative for overlapping informational queries.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pz_first_availableEarliest free appointmentARead-onlyIdempotent
Whether a doctor can be booked now and the nearest free slot, for in-person and online visits and per center (Tehran time).
A quick check before pz_free_days / pz_free_slots. Center names and service ids are in pz_doctor (online visit center_id is '5532').
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | Doctor slug from pz_search_doctors (Persian, e.g. 'دکتر-هدیه-جباری-0') or the doctor's paziresh24.com profile URL. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, non-destructive, open-world, so the safety profile is covered. The description adds real context beyond them: results are per center, cover both in-person and online visits, and are in Tehran time, which matters for interpreting slot times.
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, capability stated first, workflow routing second. The parenthetical center hint is slightly tangential for a one-parameter tool but still compact and useful for follow-up calls.
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?
An output schema exists so return values need no prose, and the description supplies the time-zone and scope context needed to interpret results. Combined with 100% schema coverage on the sole parameter, the definition is largely complete.
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 100% and the single slug parameter is fully documented in the schema itself (Persian slug from pz_search_doctors or profile URL). The description adds no slug syntax or formatting beyond that, so this is a baseline 3; its extra center_id '$5532' note pertains to other tools' parameters, not this one's.
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 capability: whether a doctor is bookable now plus the nearest free slot, scoped to in-person/online and per center. It names its sibling relationship (pre-check before pz_free_days / pz_free_slots), so an agent can place it in the toolchain without opening a schema.
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 positions itself as 'a quick check before pz_free_days / pz_free_slots', giving clear ordering relative to alternatives. No when-not or exclusion cases are stated, but the workflow role is unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pz_free_daysFree appointment daysARead-onlyIdempotent
Days with at least one free appointment for one service of a doctor at one center, over the whole booking window (often 6-8 weeks), with the weekly days off and holidays in that window.
Read-only (nothing is reserved). Get the ids from pz_doctor. Next: pz_free_slots for the times of chosen days; the user books on the doctor's profile URL.
| Name | Required | Description | Default |
|---|---|---|---|
| center_id | Yes | center_id from pz_doctor or a pz_search_doctors card, e.g. '291c1bfe-e8f3-414a-a82d-d6fe081683fb'; '5532' = online visit. | |
| service_id | Yes | service_id of a service at that center, e.g. '1a4a8ec2-fdf9-436e-a32b-8fc4485f609c'. | |
| user_center_id | Yes | user_center_id of the same center (the doctor-at-center id), e.g. '09558bad-168d-4df8-b39d-437a260ca6fc'. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint/idempotent/destructive=false/openWorld, and the description reinforces this while adding real context: 'nothing is reserved' clarifies the call has no side effect on availability. It also discloses the result's temporal scope (6-8 weeks) and that weekly days off and holidays are included, which the annotations do not cover.
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?
Short and front-loaded: scope of the return value first, then a workflow/safety note. Sentence fragments (e.g. 'Next: pz_free_slots ...') are terse but readable and each clause carries information.
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 an output schema present, return-format explanation is unnecessary, and the description covers scope, provenance of ids, read-only nature, and next steps. It leaves minor gaps around volume/pagination of returned days, but nothing an agent needs to invoke it 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?
Schema coverage is 100% and each parameter already carries an example and a source hint. The description only adds provenance ('Get the ids from pz_doctor'), which is mild value over the schema; baseline 3 for high-coverage schemas 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 precise verb+resource: days with at least one free appointment, scoped to one service, one doctor, one center, across the whole booking window. It also distinguishes itself from neighbors by naming pz_doctor as the id source and pz_free_slots as the follow-up for times.
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?
Gives clear context for when to call it (finding candidate days before picking times) and routing: ids from pz_doctor, then pz_free_slots, with booking happening on the doctor's profile URL. No explicit when-not-to-use or named exclusions, which keeps it just below a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pz_free_slotsFree appointment slotsARead-onlyIdempotent
Free appointment start times (Tehran HH:MM) per day for one service of a doctor at one center, for a date range.
Read-only: this only lists slots; it does not hold or book one. Get the ids from pz_doctor (or a
search card); find days with pz_free_days. If the range has no free slot, next_free_day points
to the next one. To book, send the user to the doctor's profile URL (booking needs an SMS login).
| Name | Required | Description | Default |
|---|---|---|---|
| date_to | No | Last day, inclusive (default date_from); at most 14 days after date_from. | |
| center_id | Yes | center_id from pz_doctor or a pz_search_doctors card, e.g. '291c1bfe-e8f3-414a-a82d-d6fe081683fb'; '5532' = online visit. | |
| date_from | No | First day, Gregorian YYYY-MM-DD (default today in Iran), e.g. '2026-10-10'. | |
| service_id | Yes | service_id of a service at that center, e.g. '1a4a8ec2-fdf9-436e-a32b-8fc4485f609c'. | |
| user_center_id | Yes | user_center_id of the same center (the doctor-at-center id), e.g. '09558bad-168d-4df8-b39d-437a260ca6fc'. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint/idempotentHint/non-destructive, but the description adds real value by clarifying it 'does not hold or book one' and that actual booking requires an SMS login outside this tool. It does not cover rate limits or pagination, so it falls short of a 5 given annotations carry the safety profile.
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 core purpose, then a compact paragraph covering read-only behavior, ID sourcing, and the booking path. Every sentence earns its place; slightly long but no waste.
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 an output schema present, return fields needn't be explained, and the description still proactively mentions next_free_day behavior plus the booking hand-off. Complete enough for correct invocation, though it omits the 14-day range cap that lives 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 all five parameters are documented in the schema, including the 14-day cap and ID formats. The description adds only the 'Tehran HH:MM' time convention and date-range scoping, which is marginal beyond the schema — 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+resource ('Free appointment start times ... per day for one service of a doctor at one center, for a date range'), including the scope dimensions that matter. It is clearly distinguishable from the sibling pz_free_days (day-level) versus this tool (slot-level).
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 routes the agent: get ids from pz_doctor or a search card, find days with pz_free_days, and send the user to the profile URL to book. It also states the edge case behavior (no free slot → next_free_day) so the agent knows how to interpret an empty result.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pz_holidaysPublic holidaysARead-onlyIdempotent
Official Iranian public holidays and occasions between two dates (Persian occasion name and the Hijri date).
Fridays (the weekly day off) are not listed. Use before suggesting appointment days.
| Name | Required | Description | Default |
|---|---|---|---|
| date_to | Yes | Last day, Gregorian YYYY-MM-DD, at most a year later, e.g. '2026-12-31'. | |
| date_from | Yes | First day, Gregorian YYYY-MM-DD, e.g. '2026-10-01'. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, non-destructive behavior, so the safety profile is covered. The description adds real behavioral context beyond that: the exclusion of Fridays (the weekly day off) and the shape of each returned record.
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 short sentences with zero filler; the coverage statement comes first and the actionable guidance ('use before suggesting appointment days') is front-loaded where an agent will read it.
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 an output schema present, return-value detail is unnecessary, and annotations cover the safety profile. The description supplies the essential scope, exclusion, and usage cue; the only missing niceties are the one-year span limit and any timezone caveat, both of which the schema already handles.
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%, including the formatexamples and the one-year maximum span, so the schema carries the parameter burden. The description adds only the phrase 'between two dates', which contributes no syntax or format detail beyond 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 resource ('Official Iranian public holidays and occasions') and scope ('between two dates'), plus what is returned (Persian occasion name, Hijri date). It is clearly distinguishable from scheduling siblings like pz_free_days or pz_free_slots, though it does not name a sibling 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?
'Use before suggesting appointment days' gives a concrete when-to-use condition, and the note that Fridays are excluded prevents a common misinterpretation. No alternative tool is named for comparison, so it stops short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pz_resolve_urlResolve a Paziresh24 URLARead-onlyIdempotent
Turn a paziresh24.com link into its kind ('doctor' or 'center') and slug, plus the clean URL.
Use when the user pastes a link. Next: pz_doctor(slug) for a doctor, pz_center(slug) for a hospital or clinic.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | A paziresh24.com link (doctor profile /dr/..., center /center/..., online visit /factor/v2/...), percent-encoded or not, e.g. 'https://www.paziresh24.com/dr/دکتر-هدیه-جباری-0/'. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, covering the safety profile. The description adds a small amount of context (the classification outcome and the chained next tool) but nothing beyond what the output schema and annotations already establish.
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 short sentences, front-loaded with the transformation and followed by the trigger plus next-tool routing. No filler or repetition.
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?
An output schema exists and annotations cover safety, so return values and side effects need no further explanation here. The only small gap is behavior on an unrecognized or malformed link, which is not stated anywhere.
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?
There is one parameter at 100% schema description coverage, and the schema already spells out the accepted path forms (/dr/, /center/, /factor/v2/) and encoding tolerance. The description only restates that the input is a paziresh24.com link, 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+resource (turn a paziresh24.com link into kind + slug + clean URL) with an explicit output shape, so the agent knows exactly what comes back. It is clearly distinguishable from the sibling lookup tools (pz_doctor, pz_center) which it feeds into.
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 when the user pastes a link" gives the trigger condition, and the second sentence names the two follow-up alternatives (pz_doctor for a doctor, pz_center for a hospital/clinic) with the condition that selects each. Routing guidance is explicit rather than inferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pz_reviewsDoctor reviewsARead-onlyIdempotent
Patient reviews of a doctor (stars 1-5 for behaviour, explanation and treatment, text, visit reason, center, verified visit), paged, plus on the first page a summary: rating averages, counts and average waiting time per center.
Reviewer names and ids are never returned. Online-visit reviews have center_id '5532'.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | Doctor slug from pz_search_doctors (Persian, e.g. 'دکتر-هدیه-جباری-0') or the doctor's paziresh24.com profile URL. | |
| sort | No | 'relevant' = the site's default order, 'newest' first. | relevant |
| limit | No | Reviews per page. | |
| offset | No | Reviews to skip (paging), e.g. 10 for page 2. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover readOnly/idempotent/non-destructive, so the bar is lower, and the description still adds non-obvious behavior: reviewer names and ids are never returned (a privacy guarantee an agent couldn't infer) and online-visit reviews carry the sentinel center_id '5532'. It also notes the summary appears only on the first page, which is a real paging gotcha.
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 and a short fragment, front-loaded with what the tool returns and how it pages. The parenthetical field list is dense but each item carries information; nothing is wasted, though it could be slightly tighter.
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 a full input schema, an output schema, and rich annotations, the description only needs to cover behavior those structures can't express, and it does so via the privacy note, the sentinel center_id, and the first-page-only summary. Minor gaps (e.g. explicit no-results or auth behavior) keep it from being fully complete.
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 slug, sort, limit and offset are fully documented in the schema itself. The description adds no syntax, range or format detail 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 (patient reviews of a doctor) and enumerates the concrete content returned (star ratings for behaviour/explanation/treatment, text, visit reason, center, verified visit), plus the paging model. An agent can distinguish this from sibling profile tools like pz_doctor or pz_center without opening the schema.
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 implies the workflow by telling the agent where the slug comes from (pz_search_doctors or a paziresh24.com profile URL), which is useful prerequisite context. However, it never states when to prefer this tool over an alternative or when reviews are unavailable, so usage is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pz_search_doctorsSearch doctorsARead-onlyIdempotent
Search Paziresh24 doctors (or hospitals and clinics) by city, specialty, name, online visit, gender, degree, with sorting and paging.
Each doctor card has the slug, profile URL, rating, accepted insurance names, first free in-person
(earliest at any center, plus first_free per center) and online slots, the online visit price in Toman
(online_visit only when the doctor offers one), and the center/service ids needed for slot tools
(a null service_id comes from pz_doctor). There is no insurance filter: check insurances yourself. Next: pz_doctor for the full profile,
pz_first_available, or pz_free_days / pz_free_slots with the ids of a card's center.
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | English city slug from pz_suggest, e.g. 'tehran', 'isfahan', 'mashhad'; 'ir' = all of Iran (best for online visits and name searches). | ir |
| page | No | 1-based page number. | |
| sort | No | Order. 'earliest' = nearest free appointment first (drops doctors without free slots); 'cheapest_online' = cheapest online visit first. | best |
| text | No | Free text in Persian: a doctor's name ('هدیه جباری'), a disease or a center, e.g. 'آزمایشگاه'. | |
| limit | No | Results per page (the site caps it at 50). | |
| degree | No | Academic degree, e.g. 'فوق تخصص' (subspecialist), 'متخصص' (specialist), 'فلوشیپ' (fellowship). | |
| gender | No | Doctor's gender. | |
| center_id | No | Only doctors of one hospital or clinic: its center_id from pz_center or a center result, e.g. '204'. | |
| specialty | No | Specialty slug from pz_suggest: a group ('cardiovascular', 'dermatology', 'general-practitioner') or an expertise ('exp-cardiovascular-diseases'). | |
| work_time | No | Doctor works in that part of the day. | |
| visit_type | No | 'online' = doctors with an online visit (phone or messenger), 'in_person' = office booking. | any |
| centers_only | No | List hospitals and clinics of the city instead of doctors (ignores specialty). |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/openWorld/non-destructive, so the safety bar is covered. The description adds genuine behavioral context beyond them: what each result card contains, that online_visit price is only present when offered, and that a null service_id originates from pz_doctor. It stops short of discussing paging limits or result-count behavior, but the added detail is substantive.
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 purpose and filter list, then a second paragraph on result contents and routing. Dense but every sentence carries information; the result-card inventory is somewhat long and partly overlaps the output schema, keeping it from a 5.
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 12-param, zero-required search tool with annotations and an output schema present, the description covers purpose, filter semantics, a known limitation, handoff ids for downstream slot tools, and next-step routing. Nothing an agent needs to call it correctly is missing.
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 100%, so the schema already documents all 12 params and the baseline is 3. The description adds meaning by summarizing the filterable dimensions and explicitly recording a negative constraint (no insurance filter) plus the null service_id provenance note, which goes beyond what the schema 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?
Opens with a specific verb and resource ('Search Paziresh24 doctors (or hospitals and clinics)') and enumerates the filter dimensions (city, specialty, name, online visit, gender, degree). The parenthetical covering hospitals/clinics and the explicit naming of sibling tools makes it easy to distinguish from pz_doctor and pz_center.
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 routes the agent: 'Next: pz_doctor for the full profile, pz_first_available, or pz_free_days / pz_free_slots with the ids of a card's center.' It also flags a real constraint exclusions-style ('There is no insurance filter: check insurances yourself'), so the agent knows what NOT to expect from this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pz_suggestSuggest cities, specialties and queriesARead-onlyIdempotent
Turn words into pz_search_doctors arguments: matching cities (city slug), specialties (specialty slug) and the site's type-ahead query completions (use one as text).
Call this first when you do not know the English city slug or the specialty slug. Then call pz_search_doctors with city=, specialty= or text=.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max items in each list. | |
| query | Yes | Persian or English word: a city ('تهران', 'shiraz'), a specialty or symptom ('قلب', 'پوست'), or the start of a doctor's name. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, openWorld, idempotent, and non-destructive, so the safety profile is covered. The description adds meaningful context beyond that: the data is the site's type-ahead completions and is intended as a precursor resolution step. It stops short of describing the return structure, though an 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?
Two sentences, front-loaded with the core mapping and then the workflow guidance. Every clause carries information; no waste.
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 an output schema present, return values need not be explained, and the description covers the resolution-then-search workflow an agent needs to use this 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?
Schema coverage is 100%, so the schema already documents query and limit. The description restates the kinds of input words but adds no format or syntax detail beyond the schema, so the 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+resource: turning words into pz_search_doctors arguments (city slug, specialty slug, type-ahead completions). It explicitly names the sibling it feeds into, so an agent distinguishes it from pz_search_doctors 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives explicit when-to-use ('Call this first when you do not know the English city slug or the specialty slug') and the exact follow-up call with argument mapping (city=<slug>, specialty=<slug>, text=<completion>). The alternative path is fully specified.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pz_visit_priceVisit priceARead-onlyIdempotent
Exact price of one service in Toman: the doctor's fee, VAT and the payable total (what the online-visit invoice shows), plus Paziresh24's refund-on-cancel setting.
Most useful for online visits (center_id '5532'). In-person office visits usually show 0: they are paid at the office and the fee is not published.
| Name | Required | Description | Default |
|---|---|---|---|
| center_id | Yes | center_id from pz_doctor or a pz_search_doctors card, e.g. '291c1bfe-e8f3-414a-a82d-d6fe081683fb'; '5532' = online visit. | |
| service_id | Yes | service_id of a service at that center, e.g. '1a4a8ec2-fdf9-436e-a32b-8fc4485f609c'. | |
| user_center_id | Yes | user_center_id of the same center (the doctor-at-center id), e.g. '09558bad-168d-4df8-b39d-437a260ca6fc'. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive/open-world, so the safety profile is covered. The description adds genuinely useful behavioral context beyond that: what the total represents (what the online-visit invoice shows), the refund-on-cancel value included, and the important edge case where in-person visits return 0 and why.
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 paragraphs: the first front-loads what is returned, the second the applicability caveat. Every sentence earns its place and the most decision-relevant content (what the value means, when it is nonzero) comes first.
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?
An output schema exists so return structure is documented, yet the description adds the interpretive layer that matters for this tool: what the payable total means and why in-person prices read as 0. Combined with annotations covering safety and 100% schema coverage, nothing an agent needs to call it correctly is missing.
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 each parameter is documented with format patterns, source tools (pz_doctor, pz_search_doctors cards), and examples. The description's only parameter-relevant note ('5532' = online visit) already appears in the schema, so it adds no meaning beyond structured data; 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?
The description states a specific resource and result: the exact price of one service in Toman, enumerated as doctor's fee, VAT, payable total, plus the refund-on-cancel setting. This is precise enough that an agent immediately understands it returns a cost breakdown, not availability or profile data like its siblings.
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 clear usage context: 'Most useful for online visits (center_id \'5532\')' and warns that in-person office visits usually return 0 because the fee is not published. This is strong when-to-use guidance, though it names no specific sibling alternative to prefer when this tool does not apply.
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.
12 tool updates
v0.1.0- First observed
pz_center - First observed
pz_doctor - First observed
pz_faq - First observed
pz_first_available - First observed
pz_free_days - First observed
pz_free_slots - First observed
pz_holidays - First observed
pz_resolve_url - First observed
pz_reviews - First observed
pz_search_doctors - First observed
pz_suggest - First observed
pz_visit_price
TDQS
Scored across 12 tools
Each tool targets a distinct aspect of the doctor-search and appointment-info workflow. The only potential confusion is among the related availability helpers pz_first_available, pz_free_days, and pz_free_slots, but their descriptions explicitly establish next-step relationships that make the boundaries clear.
All tools share the pz_ prefix and snake_case, so namespace and casing are consistent. However, some names are verb phrases like pz_search_doctors and pz_resolve_url while many are bare resource nouns like pz_doctor and pz_reviews, so the set does not follow a single verb_noun pattern throughout.
The 12 tools are well-scoped for a medical provider search and booking-assistance server. Each tool covers a distinct part of the domain without obvious redundancy, and the count sits comfortably in the appropriate 3–15 range.
The surface covers search, suggestions, URL resolution, provider profiles, availability, pricing, reviews, FAQ, and holidays. Actual booking and user appointment management are not provided as tools, but the descriptions explicitly delegate booking to the returned URL and FAQ, so these are minor workaroundable gaps rather than failures.
Maintenance
Related MCP Connectors
Research 7,400+ US doctors: search, semantic search, profiles, reviews & procedure pricing.
Search a healthcare provider directory and get full provider details by id.
US provider, KOL, executive and organization search over de-identified claims data.
Find and book doctor, dentist & nurse appointments. 2M+ providers by insurance & cost in the US.
Related MCP Servers
- AlicenseAqualityDmaintenanceEnables AI assistants to search the doktor.mx directory for over 56,000 verified doctors and medical specialists across Mexico. It provides tools for verifying professional licenses, finding specialists by symptoms or conditions, and checking medical insurance compatibility.1041 npmMIT
- FlicenseNot gradedqualityCmaintenanceEnables hospital search and detail lookup to discover medical institutions and verify campuses, departments, contacts, introductions, and operating entities.1-
- AlicenseNot gradedqualityBmaintenanceEnables AI assistants to search an Oscar Health in-network provider directory for doctors and facilities, with specialty resolution, local filtering by gender and review quality, plan details, and live provider records.MIT
- AlicenseNot gradedqualityCmaintenanceEnables searching 580K+ Turkish businesses and 90K+ mosques by name, city, category, or attributes, retrieving full details and canonical profile URLs. It lets AI agents answer location and business questions about Turkey with current, sourced data.MIT