ExirYab

io.github.sshnevis由 GitHub 帳號 sshnevis 發布v0.1.0更新於 Oct 24, 2026

Official read-only ExirYab: find Iranian doctors by name, city and specialty, with clinics and maps.

概覽

AI 產生的概覽

ExirYab 官方唯讀伺服器,讓助理依姓名、城市或專科尋找伊朗醫師,並取得診所、電話、看診時間與地圖連結。

可以做什麼
依完整或部分姓名、城市或省份及專科搜尋醫師,回傳最佳匹配、替代結果與信心程度,並附個人檔案連結、診所、電話、每週看診時間與地圖連結(Google 地圖、Neshan、Balad)。列出有醫師的城市及其省份與醫師數量。列出專科及其醫師數量與上層專科。在重新搜尋前解析不清楚的波斯語城市或專科詞彙。
適用情境
當使用者想找某位伊朗醫師,或某城市、某省份某專科的頂尖醫師,並需要地址、電話、看診時間或地圖位置時使用。不適用於醫療建議、預約或付款。
執行需求
透過 uvx(或 pip install)以 stdio 在本機執行,需要 uv 與 Python 3.10+。無需帳號或 API 金鑰。選用環境變數 EXIRYAB_MCP_BASE_URL(API 基礎位址)與 EXIRYAB_MCP_PROXY(所有請求使用的 HTTP 代理)。需能連線 ExirYab 公開 API,每 IP 每分鐘限 60 次請求。
安裝前請注意
唯讀:無登入、預約或付款,預約須自行與醫師安排。此目錄不構成醫療建議。查詢會透過 HTTPS 送往 ExirYab 公開 API。若設定 EXIRYAB_MCP_PROXY,其位址可能含代理憑證,請勿放入共用設定。系統代理設定會被忽略。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 ExirYab,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

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_PROXY sets an HTTP proxy for every request.
  • Access: read-only. There is no booking or login; give the user the doctor's profile url and 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_doctors again.
  • 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_match plus alternatives, a confidence (high, medium, low, ranking, none) and warnings. Clinic weekly_hours maps 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
bash
claude mcp add exiryab -- uvx exiryab-mcp
Claude Desktop

Settings → Developer → Edit Config, then add:

json
{  "mcpServers": {    "exiryab": { "command": "uvx", "args": ["exiryab-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:

json
{  "servers": {    "exiryab": { "type": "stdio", "command": "uvx", "args": ["exiryab-mcp"] }  }}
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

text
  AI agent  (Claude, Cursor, Copilot, ...)      │      │  MCP over stdio      ▼  exiryab-mcp  (runs on your machine)      │      │  HTTPS (JSON)      └──────▶  exiryab.com/api/v1  (doctors/search, cities, specialties)

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

ToolWhat it does
ey_search_doctorsBest match plus alternatives for a name, city (or province) and specialty, with profile URL, clinics, phones, hours and map links
ey_citiesCities with doctors, their province and doctor count, most doctors first
ey_specialtiesSpecialties with doctor count and parent specialty, most doctors first

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_filters and warnings.
  • 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.
  • similar alternatives are padding (same specialty and area), not people with the name you asked for.
  • verified means the medical council card was checked and the mobile confirmed; managed_by_doctor means 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?
bash
npx @modelcontextprotocol/inspector uvx exiryab-mcp

Configuration

VariableDefaultMeaning
EXIRYAB_MCP_PROXYunsetHTTP proxy for every request, e.g. http://user:pass@host:port
EXIRYAB_MCP_BASE_URLhttps://exiryab.comAPI base URL, e.g. a local ExirYab for development

فارسی: سرور MCP اکسیریاب

exiryab-mcp سرور MCP رسمی اکسیریاب است که به دستیار هوش مصنوعی شما (Claude، Cursor، Copilot و ...) اجازه می‌دهد پزشکان ایران را با نام، شهر و تخصص پیدا کند و لینک صفحه پزشک، مطب‌ها، تلفن‌ها، ساعت کاری و موقعیت روی نقشه (گوگل‌مپ، نشان، بلد) را بگیرد.

  • فقط خواندنی است: ورود، نوبت‌دهی و پرداخت ندارد.
  • نام پزشک را کامل یا ناقص بنویسید؛ «دکتر» و تفاوت «ی/ي» و فاصله‌ها در سرور حل می‌شود.
  • به جای شهر می‌توانید نام استان را بدهید.
  • روی سیستم خود شما اجرا می‌شود و فقط به API عمومی exiryab.com وصل می‌شود.

نصب در Claude Code:

bash
claude mcp add exiryab -- uvx exiryab-mcp

بعد بپرسید: «یک متخصص اطفال خوب در شیراز با آدرس و لینک نقشه.»

Development

bash
git clone https://github.com/sshnevis/exiryab-mcp && cd exiryab-mcpuv syncuv run pytest            # offline, against recorded responsesuv run pytest -m live    # real API (EXIRYAB_MCP_LIVE_BASE_URL=http://localhost:5082 for a local ExirYab)uv run ruff check .

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

Disclaimer

The directory is for finding doctors and is not medical advice. Please keep request rates reasonable.

License

MIT

來源:README.md,提交 ea4d38e

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v0.1.0最新Oct 14, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分