🩺 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.
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 Code
claude mcp add paziresh24 -- uvx paziresh24-mcp
Claude Desktop
Settings → Developer → Edit Config, then add:
{
"mcpServers": {
"paziresh24": { "command": "uvx", "args": ["paziresh24-mcp"] }
}
}
Cursor
Click Install in Cursor above, or add the Claude Desktop block to ~/.cursor/mcp.json.
VS Code (Copilot agent mode)
Click Install in VS Code above, or add to .vscode/mcp.json:
{
"servers": {
"paziresh24": { "type": "stdio", "command": "uvx", "args": ["paziresh24-mcp"] }
}
}
Anything else
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.
🔎 Find (4)
| Tool | What it does |
|---|---|
pz_suggest |
Persian or English words → city slugs, specialty slugs and query completions |
pz_search_doctors |
Doctors (or hospitals and clinics) by city, specialty, name, online visit, gender, degree, with sorting and paging |
pz_resolve_url |
A paziresh24.com link → doctor or center slug |
pz_center |
Hospital or clinic: address, phone, website, departments and doctors |
👩⚕️ One doctor (3)
| Tool | What it does |
|---|---|
pz_doctor |
Full profile: specialties, about, rating, insurances, online visit, centers, services, prices, weekly hours |
pz_first_available |
Earliest free in-person and online slot, per center |
pz_reviews |
Patient reviews (paged) with rating averages and waiting time per center |
📅 Times and prices (4)
| Tool | What it does |
|---|---|
pz_free_days |
Days with free slots over the whole booking window, days off and holidays |
pz_free_slots |
Free appointment times per day for a date range |
pz_visit_price |
Fee, VAT and payable total in Toman, and the refund-on-cancel setting |
pz_holidays |
Official Iranian holidays between two dates |
ℹ️ Help (1)
| Tool | What it does |
|---|---|
pz_faq |
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
Can it book an appointment for me?
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.
Do I need an Iranian IP?
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.
A tool says the server "did not answer in time"
Some Paziresh24 gateway routes sometimes hang for 20-30 seconds. The server retries once; if it still fails, try again in a minute.
Claude Desktop says uvx is not found
Use the full path to uvx (where uvx on Windows, which uvx on macOS/Linux) as command.
How do I debug what the agent sees?
npx @modelcontextprotocol/inspector uvx paziresh24-mcp
Configuration
| Variable | Default | Meaning |
|---|---|---|
PAZIRESH24_MCP_PROXY |
unset | HTTP proxy for every request, e.g. http://user:pass@host:port |
فارسی
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
Metadata
Release files for paziresh24-mcp 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| paziresh24_mcp-0.1.0.tar.gz | 450.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| paziresh24_mcp-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 479.9 kB
Release files / paziresh24_mcp-0.1.0.tar.gz
| Download URL | paziresh24_mcp-0.1.0.tar.gz |
|---|---|
| Size | 450.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
7c0bc15c928681302f7497b79a56d067d14e3f3429b0188ccf604d9feca88bf7
|
|
BLAKE2b-256 checksum How to use checksums |
1e48b6de18686e76aa4642dc87ade495ddc4e855ef32766c62e2a054a49f74b4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 6, 2026.
Transparency logRelease files / paziresh24_mcp-0.1.0-py3-none-any.whl
| Download URL | paziresh24_mcp-0.1.0-py3-none-any.whl |
|---|---|
| Size | 29.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
7c4c47ea2d219e941c1863171570537ae137b03a6d2bbc8528914e57e22519c4
|
|
BLAKE2b-256 checksum How to use checksums |
df311658efbbff1d1240e762c6c04997cc55e8592e60c8109dc4cee8c98a301e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 6, 2026.
Transparency log