🩺 paziresh24-mcp: Paziresh24 MCP server for AI agents
Unofficial, read-only MCP server that lets your AI agent find the right Iranian 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 · فارسی
For AI agents
- What: Unofficial MCP server for Paziresh24 (پذیرش۲۴, paziresh24.com), the Iranian doctor appointment site. Queries in Persian or English; prices in Toman.
- Install:
claude mcp add paziresh24 -- uvx paziresh24-mcp(stdio, needs uv and Python 3.10+). - Auth: none. Optional
PAZIRESH24_MCP_PROXYsets an HTTP proxy for every request. - Access: read-only. It cannot log in, hold a slot, book, pay or post a review; give the user the doctor's profile
urlto book. - Tools: 12, all prefixed
pz_. Start withpz_suggest(words to city and specialty slugs),pz_search_doctors,pz_doctor,pz_free_slots,pz_visit_price. - Typical sequence:
pz_suggest->pz_search_doctors->pz_doctor->pz_first_availableorpz_free_slots->pz_visit_price. - Use when: the user wants to find a doctor, compare ratings, insurance and online visit fees, or see free appointment times in Iran.
- Do not use when: the user wants to actually book or pay, or needs medical advice.
- Output: compact JSON. Prices in Toman, dates Gregorian
YYYY-MM-DD, times Tehran localHH:MM. Doctors are identified by their Persian slug; slot and price tools takecenter_id,user_center_idandservice_idfrompz_doctor(online visits use center5532). - Machine-readable: server.json, and the catalog of all Iranian MCP servers awesome-iran-mcp (
TOOLS.md,servers.json,llms.txt).
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). - Search cards carry the doctor's
genderand photo (image, from pic.paziresh24.com; a real photo even where the profile has none). - 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.
sort="earliest"drops doctors without a free slot. The order follows the site's search API; the sponsored cards on the website were not seen in it.- Checked against the website: on 2026-10-06 every tool's output was compared with the live paziresh24.com pages (names, prices, first free times, review order, search totals). Free days and slots were compared only where the site shows them without holding a slot.
FAQ
Is there a Paziresh24 API or MCP server for AI agents?
Yes: this unofficial MCP server wraps the public endpoints the Paziresh24 website itself uses, so Claude, Cursor or Copilot can search doctors and read free times and prices.
How do I use Paziresh24 with Claude, Cursor or Copilot?
Add the server with claude mcp add paziresh24 -- uvx paziresh24-mcp (or use the Cursor and VS Code buttons above),
then ask in Persian or English, for example "a cardiologist in Tehran with an online visit today".
Is it official, safe and free?
It is unofficial, open source (MIT) and free. It is read-only, needs no account or API key, and runs on your machine without sending data to any other server.
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 |
فارسی: سرور MCP پذیرش۲۴
paziresh24-mcp یک سرور 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.
Related servers
- Doctoreto MCP server for doctor visit fees, free times, clinics and labs
- All Iranian MCP servers: awesome-iran-mcp
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.
If this saves you clicks, a star helps others find it.
License
Metadata
Release files for paziresh24-mcp 0.2.2
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.2.2.tar.gz | 452.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| paziresh24_mcp-0.2.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 482.2 kB
Release files / paziresh24_mcp-0.2.2.tar.gz
| Download URL | paziresh24_mcp-0.2.2.tar.gz |
|---|---|
| Size | 452.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
872e4d6257ace9855b542eed2b4a36fcb2d1f0e31b96bebd9a595e103cbc0897
|
|
BLAKE2b-256 checksum How to use checksums |
e8a8f7d6851d81f946c9d29d40d10d28f2e23bd4a801d88f2db8b98a26b9255e
|
| 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 13, 2026.
Transparency logRelease files / paziresh24_mcp-0.2.2-py3-none-any.whl
| Download URL | paziresh24_mcp-0.2.2-py3-none-any.whl |
|---|---|
| Size | 30.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d23fa6d3fdb2a96901654bb5add53042175d21cbefdb9fa6130b287d2e711c7c
|
|
BLAKE2b-256 checksum How to use checksums |
894e7bc011ae24f798bfb94870f7601ae19021e57a4541cb0728d8da6050252c
|
| 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 13, 2026.
Transparency log