paziresh24-mcp: Paziresh24 MCP server for AI agents
Let your AI agent find the right Iranian doctor on Paziresh24 (پذیرش۲۴).
An unofficial, read-only MCP server for Paziresh24, Iran's doctor appointment booking site:
search doctors by specialty, city, name and online visit, read profiles, prices, insurances and patient reviews, and see free appointment times, from Claude, Cursor or Copilot.
For AI agents · Why · What it can do · Quick start · Tools · How it works · Good to know · FAQ · Configuration · فارسی · Development · Related servers
For AI agents
- What: unofficial MCP server (model context protocol) for Paziresh24 (پذیرش۲۴, paziresh24.com), the Iranian doctor appointment site: doctors, hospitals and clinics, in-person and online visits. Queries in Persian or English.
- Install:
uvx paziresh24-mcporclaude mcp add paziresh24 -- uvx paziresh24-mcp. Transport: stdio. Needs uv (Python 3.10+). - Auth: none, no API key or account. Optional
PAZIRESH24_MCP_PROXYsets an HTTP proxy for every request (a comma-separated list rotates after a block); system proxy settings are ignored. - Access: read-only. It cannot log in, hold a slot, book, pay or post a review, so no confirmation is needed before calling any tool. Give the user the doctor's profile
urlto book. - Tools: 12, all prefixed
pz_, all annotatedreadOnlyHint: true. 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) is Iran's largest doctor appointment site, listing 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
Example prompts:
- "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?"
- "Is next Thursday an official holiday in Iran, and is this doctor free the day after?"
- یک متخصص پوست خانم در تهران که امروز ویزیت آنلاین دارد و گران نیست؟
- نزدیکترین نوبت خالی دکتر قلب در شیراز کی است؟
- چطور نوبت ویزیت آنلاین را لغو کنم و پولم برمیگردد؟
Quick start
You need uv. No API key or account.
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 (or .cursor/mcp.json in a project).
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"] }
}
}
Codex CLI
codex mcp add paziresh24 -- uvx paziresh24-mcp
Or in ~/.codex/config.toml:
[mcp_servers.paziresh24]
command = "uvx"
args = ["paziresh24-mcp"]
Gemini CLI
Add to ~/.gemini/settings.json:
{
"mcpServers": {
"paziresh24": { "command": "uvx", "args": ["paziresh24-mcp"] }
}
}
Windsurf
Add the Claude Desktop block to ~/.codeium/windsurf/mcp_config.json.
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, in Persian or English, with one of the example prompts above.
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 JSON in one text block, so they don't flood the agent's context.
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. Requests use a
Chrome-like TLS and header profile, at most 2 at a time with a short random delay, time out after 20 seconds and
are retried up to twice on connect errors, timeouts, 429 and 5xx. Reference data (cities, specialties, FAQ) is
cached for 6 hours. Redirects away from *.paziresh24.com are refused.
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% on the checked example). - 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. A
pz_doctorresult withoutinsurancesmeans no data, not "no insurance". Empty fields are omitted from all results; review text is clipped to 400 characters (passfull_text=truefor everything; same forpz_doctor,pz_center,pz_faq) and is untrusted site content. - 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; search results can include sponsored doctors.- Limits:
pz_search_doctorsreturns at most 50 results per page. Reviews are paged (1-50 per page, default 5), and reviewer names are never returned. - Specialty groups are broad: a group slug such as
ophthalmologyalso includes related professions (for example optometrists); theexp-slug of the same title (exp-ophthalmology) lists only that specialty.pz_suggestreturns both. - Holidays:
pz_holidaysdepends on the site's holidays endpoint, which answered HTTP 500 on 2026-10-10; if it fails, retry later. - What it does not do: no login, booking, cancelling, payment, chat, bookmarks or posting reviews; no patient data; no medical advice.
- 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.
Can I filter doctors by insurance?
Not in the search: the site's API ignores an insurance filter. Each search card lists the insurance names the doctor
accepts, and pz_doctor returns the insurance contracts, so the agent can check them for you.
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 up to twice; if it still fails, try again in a minute.
The site shows a bot-check page. What now?
Install the optional browser fallback (see Configuration). It clears the check once with a headless Chromium; without it the tool reports an error that says so.
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; a comma-separated list is used one at a time, moving on after a block or connect error. System proxy settings are ignored |
If the site shows a bot-check page, install the optional browser fallback: pip install "paziresh24-mcp[browser]"
(or uvx --from "paziresh24-mcp[browser]" paziresh24-mcp), then run patchright install chromium.
فارسی: سرور MCP پذیرش۲۴
paziresh24-mcp یک سرور MCP غیررسمی برای پذیرش۲۴ (سامانه نوبتدهی آنلاین پزشکان) است که به دستیار هوش مصنوعی شما (Claude، Cursor، Copilot و ...) اجازه میدهد در میان پزشکان ایران پزشک پیدا کند: جستجو بر اساس تخصص، شهر، نام و ویزیت آنلاین، خواندن پروفایل، بیمهها، قیمت و نظرات بیماران، و دیدن زمانهای خالی نوبت.
- فقط خواندنی است: وارد حساب نمیشود، نوبت نگه نمیدارد، نوبت ثبت نمیکند و پرداخت نمیکند.
- برای گرفتن نوبت، لینک صفحه پزشک را به شما میدهد.
- همه قیمتها به تومان است.
- ۱۲ ابزار دارد که همگی با
pz_شروع میشوند. - روی سیستم خود شما اجرا میشود، کلید API لازم ندارد و به هیچ سرور واسطی داده نمیفرستد.
- توصیه پزشکی نمیکند.
کلمات جستجو: پذیرش۲۴، پذیرش 24، نوبت دهی پزشک، نوبت اینترنتی پزشک، نوبت دکتر، ویزیت آنلاین، مشاوره آنلاین پزشک، پیدا کردن پزشک متخصص، نزدیکترین نوبت خالی، هزینه ویزیت، نظرات بیماران، بیمه تامین اجتماعی، سرور MCP، هوش مصنوعی.
نصب در Claude Code (اول uv را نصب کنید):
claude mcp add paziresh24 -- uvx paziresh24-mcp
در Claude Desktop، Cursor و بقیه برنامهها همان تنظیم بخش Quick start را بگذارید.
بعد بپرسید: «یک متخصص پوست خانم در تهران که امروز ویزیت آنلاین دارد و گران نیست؟»
Development
git clone https://github.com/sepehr071/paziresh24-mcp && cd paziresh24-mcp
uv sync
uv run python -m pytest # offline, against recorded responses
uv run python -m 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
- awesome-iran-mcp: catalog of all Iranian-service MCP servers
- doctoreto-mcp for doctor visit fees, free times, clinics and labs
- jabama-mcp for Jabama stays
- mrbilit-mcp for Mrbilit travel tickets
- flytoday-mcp for Flytoday flights
Disclaimer
Unofficial and not affiliated with or endorsed by Paziresh24. It is read-only and 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.4.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| paziresh24_mcp-0.4.1.tar.gz | 469.8 kB | With provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| paziresh24_mcp-0.4.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 504.8 kB
Release files / paziresh24_mcp-0.4.1.tar.gz
| Download URL | paziresh24_mcp-0.4.1.tar.gz |
|---|---|
| Size | 469.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e8d2450d9177dc9f4ede271dd1db31de51d54d96d9c612f61cdc95a3b666c498
|
|
BLAKE2b-256 checksum How to use checksums |
576e0b885d845d56d37966704eb474039488741b56af5550cad1e6810095b711
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
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 22, 2026.
Transparency logRelease files / paziresh24_mcp-0.4.1-py3-none-any.whl
| Download URL | paziresh24_mcp-0.4.1-py3-none-any.whl |
|---|---|
| Size | 35.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
47ffec88ae475cbdc54be87d3d83433644a0149b0f4467b0de1fb81c569cb3a3
|
|
BLAKE2b-256 checksum How to use checksums |
00af130c46687fe13cc535c37c6d601ab9d174c0f3f2a0688a0e548f5cb0dac3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
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 22, 2026.
Transparency logSecurity for paziresh24-mcp 0.4.1
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.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for paziresh24_mcp-0.4.1.tar.gz
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 22, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.