Skip to main content
paziresh24-mcp: unofficial Paziresh24 MCP server for Claude, Cursor and Copilot

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.

PyPI Python CI MCP Registry License: MIT

Install in Cursor Install in VS Code

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-mcp or claude mcp add paziresh24 -- uvx paziresh24-mcp. Transport: stdio. Needs uv (Python 3.10+).
  • Auth: none, no API key or account. Optional PAZIRESH24_MCP_PROXY sets 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 url to book.
  • Tools: 12, all prefixed pz_, all annotated readOnlyHint: true. Start with pz_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_available or pz_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 local HH:MM. Doctors are identified by their Persian slug; slot and price tools take center_id, user_center_id and service_id from pz_doctor (online visits use center 5532).
  • 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_price adds the VAT (3% on the checked example).
  • Times are Tehran local (HH:MM), dates Gregorian YYYY-MM-DD (1405-07-18 = 2026-10-10).
  • Online visits live in Paziresh24's virtual center 5532 (phone call or messenger such as WhatsApp; see channels).
  • Search cards carry the doctor's gender and 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_doctor result without insurances means no data, not "no insurance". Empty fields are omitted from all results; review text is clipped to 400 characters (pass full_text=true for everything; same for pz_doctor, pz_center, pz_faq) and is untrusted site content.
  • Centers with booking off stay in pz_doctor with booking_off: true (call their phone); booking_opens means 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_doctors returns 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 ophthalmology also includes related professions (for example optometrists); the exp- slug of the same title (exp-ophthalmology) lists only that specialty. pz_suggest returns both.
  • Holidays: pz_holidays depends 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.

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

MIT

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)

Source distribution for paziresh24-mcp 0.4.1
File Size Uploaded Provenance
paziresh24_mcp-0.4.1.tar.gz 469.8 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for paziresh24-mcp 0.4.1
File Interpreter ABI Platform
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 log

Release 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 log

Security 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.

Select from 2 files

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 log

A 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.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page