
ExirYab
io.github.sshnevisPublished by GitHub account sshnevisv0.1.0Updated Oct 24, 2026
Official read-only ExirYab: find Iranian doctors by name, city and specialty, with clinics and maps.
Overview
Official read-only ExirYab server that lets an assistant find Iranian doctors by name, city or specialty, with clinics, phones, hours and map links.
- What you can do
- Search doctors by full or partial name, city or province and specialty, returning a best match, alternatives and a confidence level with profile links, clinics, phones, weekly hours and map links (Google Maps, Neshan, Balad). List cities that have doctors, with province and doctor count. List specialties with doctor count and parent specialty. Resolve unclear Persian city or specialty words before searching again.
- When to use it
- Use it when a user wants to find a specific Iranian doctor or the top doctors of a specialty in an Iranian city or province, and needs the address, phone, working hours or map location. Not for medical advice, booking or payment.
- Requirements
- Runs locally over stdio via uvx (or pip install), needing uv and Python 3.10+. No account or API key. Optional environment variables EXIRYAB_MCP_BASE_URL (API base URL) and EXIRYAB_MCP_PROXY (HTTP proxy for every request). Network access to the public ExirYab API, limited to 60 requests per minute per IP.
Installation
In SourceWeft
- Open ExirYab in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
🩺 exiryab-mcp: ExirYab MCP server for AI agents
Official, read-only MCP server that lets your AI agent find Iranian doctors on ExirYab (اکسیریاب, exiryab.com).
Search by name, city and specialty, and get the doctor's profile link, clinics, phones, working hours
and map location (Google Maps, Neshan, Balad), all from Claude, Cursor or Copilot.
[PyPI] [Python] [CI] [MCP Registry] [License: MIT]
[Install in Cursor] [Install in VS Code]
Quick start · What it can do · Tools · FAQ · فارسی
For AI agents
- What: Official MCP server for ExirYab (اکسیریاب, exiryab.com), a directory of Iranian doctors. Queries in Persian work best.
- Install:
claude mcp add exiryab -- uvx exiryab-mcp(stdio, needs uv and Python 3.10+). - Auth: none. Optional
EXIRYAB_MCP_PROXYsets an HTTP proxy for every request. - Access: read-only. There is no booking or login; give the user the doctor's profile
urland clinic phones. - Tools: 3, all prefixed
ey_:ey_search_doctors,ey_cities,ey_specialties. - Typical sequence:
ey_search_doctors-> (if a name or word is unclear)ey_cities/ey_specialties->ey_search_doctorsagain. - Use when: the user wants to find a specific doctor or the best doctors of a specialty in an Iranian city, with address, phone, hours and map.
- Do not use when: the user needs medical advice, or wants to book or pay online.
- Output: compact JSON. A
best_matchplusalternatives, aconfidence(high,medium,low,ranking,none) andwarnings. Clinicweekly_hoursmaps an English weekday to shifts ([]= closed). - Skill: skills/exiryab/SKILL.md has the usage rules for agents.
- Machine-readable: server.json, the site's llms.txt, and the catalog of Iranian MCP servers awesome-iran-mcp.
Why
ExirYab (exiryab.com) lists doctors across Iran with their specialties, offices, hospitals and clinics.
People usually remember half a name ("Dr. Mohammadi, the cardiologist in Tehran"), and the agent has to turn
that into the right person and tell them where to go. exiryab-mcp calls ExirYab's public API, which does the
name matching on the server (titles, Arabic letters, spacing, partial names) and returns the best match with
alternatives:
You: Find Dr. Malek Mohammadi, a cardiologist in Tehran. Where is the office?
Agent: calls
ey_search_doctors(name="ملک محمدی", city="تهران", specialty="قلب")Dr. Mousa Malek Mohammadi (cardiology, Tehran). Profile: https://exiryab.com/dr/36370-.../ I also found other cardiologists in Tehran if you want alternatives.
What it can do
- 🔎 Find a doctor by name, full or partial, with optional city and specialty, and tell you how sure the match is
- 🏆 Top doctors of a specialty in a city or a whole province when no name is given
- 🏥 Clinics: type (office, hospital, clinic), address, district, phones, working hours per weekday
- 🗺️ Map location: coordinates plus Google Maps, directions, Neshan and Balad links
- 🏷️ Resolve words: Persian city and specialty names, with doctor counts
- 🔒 Read-only by design: no login, no booking, no payment
Quick start
You need uv.
Claude Code
Claude Desktop
Settings → Developer → Edit Config, then add:
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:
Anything else
It's a standard stdio MCP server: run uvx exiryab-mcp, or pip install exiryab-mcp and run exiryab-mcp.
Then just ask:
- "Find Dr. Mohammadi, the cardiologist in Tehran, and give me the office phone."
- "The best pediatricians in Fars province, with a map link."
- "Which heart specialties are there, and how many doctors does each have?"
- دکتر ملک محمدی متخصص قلب در تهران را پیدا کن و آدرس مطبش را روی نشان بده.
How it works
The API is public and needs no key. It is limited to 60 requests per minute per IP and answers are cached for up to a day.
Tools
All 3 tools are annotated readOnlyHint: true and return compact structured JSON.
Good to know
- Persian input works best. Titles such as «دکتر» are ignored, and «ي»/«ك» and spacing differences are handled on the server.
- City words in the name are used as filters:
name="محمدی قلب تهران"searches for Mohammadi among Tehran cardiologists. - A province works as a city:
city="فارس"searches the whole province. - Filters can be dropped: when a name matches nobody with the given specialty or city, the server drops that filter and says so in
understood.dropped_filtersandwarnings. confidence:high= one clear match;medium= a good match but others are close, so confirm with the user;low= weak matches only;ranking= no name was given;none= nothing found.similaralternatives are padding (same specialty and area), not people with the name you asked for.verifiedmeans the medical council card was checked and the mobile confirmed;managed_by_doctormeans the doctor confirmed their mobile.
FAQ
Is there an ExirYab API for AI agents?
Yes. ExirYab publishes a small public JSON API at https://exiryab.com/api/v1 (search, cities, specialties), and this
MCP server wraps it for Claude, Cursor and Copilot.
Is it official, safe and free?
It is official (made by ExirYab), open source (MIT) and free. It is read-only, needs no account or API key, and runs on your machine.
Can it book an appointment?
No. It gives the doctor's profile link and clinic phones; booking happens with the doctor or on the profile page.
A tool says "rate limiting requests"
The API allows 60 requests per minute per IP. Wait a minute and try again.
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?
Configuration
فارسی: سرور MCP اکسیریاب
exiryab-mcp سرور MCP رسمی اکسیریاب است که به دستیار هوش مصنوعی شما (Claude، Cursor، Copilot و ...) اجازه میدهد پزشکان ایران را با نام، شهر و تخصص پیدا کند و لینک صفحه پزشک، مطبها، تلفنها، ساعت کاری و موقعیت روی نقشه (گوگلمپ، نشان، بلد) را بگیرد.
- فقط خواندنی است: ورود، نوبتدهی و پرداخت ندارد.
- نام پزشک را کامل یا ناقص بنویسید؛ «دکتر» و تفاوت «ی/ي» و فاصلهها در سرور حل میشود.
- به جای شهر میتوانید نام استان را بدهید.
- روی سیستم خود شما اجرا میشود و فقط به API عمومی exiryab.com وصل میشود.
نصب در Claude Code:
بعد بپرسید: «یک متخصص اطفال خوب در شیراز با آدرس و لینک نقشه.»
Development
Tools live in src/exiryab_mcp/doctors.py and lookup.py; each is a typed async function with a docstring that
tells the agent when to use it.
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
- Paziresh24 MCP server and Doctoreto MCP server for appointment times and visit fees
- All Iranian MCP servers: awesome-iran-mcp
Disclaimer
The directory is for finding doctors and is not medical advice. Please keep request rates reasonable.
License
Source: README.md at commit ea4d38e
Tools
0Version history
1- v0.1.0LatestOct 14, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts
