mcpField
D
Doctoreto

Doctoreto

本地服务
github.com健康医疗25 天前更新

关于 Doctoreto

Doctoreto 是面向 Agent 的非官方只读 MCP 服务,可查询伊朗 Doctoreto 医疗平台。它支持查找医生与医疗机构、比较费用和空闲时段,并提供预约链接,但不代为预约。

主要功能

  1. 01按专科和地点搜索医生
  2. 02比较就诊费用与空闲时段
  3. 03查看医生评价
  4. 04查找医院、实验室、药房和诊所
  5. 05搜索定价固定的诊所项目
  6. 06查询健康杂志文章

适用场景

  1. 01寻找有空闲时段的专科医生
  2. 02比较线下与在线问诊费用
  3. 03查找附近的医院、实验室或药房
  4. 04查看诊所项目价格和空闲时段

MCP 相关

向 MCP 客户端提供 Doctoreto 的只读搜索和查询工具,涵盖医生、预约时段、评价、医疗机构、项目和文章。它不负责预约或付款。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"sepehr071-doctoreto": {
"command": "uvx",
"args": [
"doctoreto-mcp"
],
"env": {
"DOCTORETO_MCP_PROXY": "<DOCTORETO_MCP_PROXY>"
}
}
}
}
启动命令uvx doctoreto-mcp
需要配置的环境变量
DOCTORETO_MCP_PROXYOptional HTTP proxy URL for every request, or a comma-separated list tried one at a time (next one after a block or connect error). System proxy settings are ignored.

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypidoctoreto-mcp0.4.2

工具

14

收录的工具列表 · 更新于 5 天前

参数类型必填说明
limitinteger否每种类型的最大条目数。
querystring是用户用波斯语输入的内容:医生姓名、专科或症状,例如 'قلب' 或 'پرآذران'。
city_idany否来自 dt_cities 的数字城市 ID,用于优先显示一个城市,例如 2200(Tehran)。

详细介绍

doctoreto-mcp:面向 Claude、Cursor 和 Copilot 的非官方 Doctoreto MCP 服务

doctoreto-mcp:面向 AI Agent 的 Doctoreto MCP 服务

让你的 AI Agent 在 Doctoreto(دکترتو)上找到合适的伊朗医生。
这是一个面向 Doctoreto 的非官方只读 MCP 服务。Doctoreto 是伊朗的医生预约和在线咨询网站:
可在 Claude、Cursor 或 Copilot 中按专科、城市和就诊方式搜索医生、比较就诊费用、查看空闲预约时段、阅读评价,以及查找医院、实验室和诊所优惠。

PyPI Python CI MCP Registry License: MIT

在 Cursor 中安装 在 VS Code 中安装

面向 AI Agent · 快速开始 · 功能介绍 · 工具 · 常见问题 · فارسی


面向 AI Agent

  • **简介:**面向 Doctoreto(دکترتو,doctoreto.com)的非官方 MCP 服务(模型上下文协议)。Doctoreto 是伊朗的医生预约和在线咨询网站。支持用波斯语或英语查询;价格以 Toman 计价。
  • 安装:uvx doctoreto-mcp 或 claude mcp add doctoreto -- uvx doctoreto-mcp。传输方式:stdio。需要安装 uv(Python 3.10+)。
  • **身份验证:**无需身份验证、API 密钥或账户。可选设置 DOCTORETO_MCP_PROXY(HTTP 代理 URL,或按顺序逐一尝试的逗号分隔列表);系统代理设置不会生效。
  • **访问权限:**只读。无法登录、预约、付款或发布评价,因此调用任何工具前都无需确认。请向用户提供医生页面链接以便预约。
  • **工具:**共 14 个,名称均以 dt_ 开头。可从 dt_suggest(将任意短语匹配到医生和 slug)、dt_search_doctors、dt_doctor、dt_free_slots 开始;查找医院、实验室和诊所优惠时,可使用 dt_search_centers 和 dt_search_offers。
  • 典型调用顺序:dt_search_doctors -> dt_doctor -> dt_free_slots -> dt_reviews。
  • **适用场景:**用户希望在伊朗寻找医生、比较就诊费用(诊室、电话、文字、视频)、查看空闲预约时段,或查询医疗中心、实验室和固定价格的诊所优惠。
  • **不适用场景:**用户希望实际预约或付款,或需要医疗建议。
  • **输出:**精简 JSON。价格以 Toman 计价,日期使用公历(YYYY-MM-DD,旁边会给出波斯历日期),时间为德黑兰当地时间。医生、医疗中心和优惠均使用 6 位 ID(或页面 URL);仅凭名称 slug 无法解析。查询在线价格时,请使用 dt_doctor。
  • **隐私:**不会返回电话号码或评价者姓名。
  • 机器可读信息:server.json 和 iran-mcp 目录(TOOLS.md、servers.json、llms.txt)。

为什么

在 Doctoreto(doctoreto.com)上,医生卡片会显示姓名和评分,但你真正需要的信息还要多点几下才能找到:医生在哪些诊所出诊、诊所的就诊费用是多少(页面上往往不会显示)、电话或视频问诊费用是多少,以及实际最早的空闲时间是什么时候。使用 doctoreto-mcp 的 Agent 会读取搜索结果、医生的服务项目和时段选择器,并提供预约链接:

你: 找一位在德黑兰 Pasdaran 的心脏科医生,越快越好。就诊费用是多少?

Agent: 调用 dt_search_doctors(city="tehran", speciality="cardiologist", neighborhood="pasdaran", has_free_slot=True) → dt_doctor(doctor="xqbEWZ") → dt_free_slots(consultation_id=1943, days=7)

服务费用预约时支付下一个空闲时段
Pasdaran 诊所就诊250,000010 月 6 日周二 10:00(当天有 25 个空闲时段)
电话问诊,15 分钟750,000750,00010 月 6 日周二 10:00

心脏科亚专科医生 دکتر کامبیز پرآذران:408 条评价,92% 推荐,诊所平均等候约 36 分钟。诊所就诊费用在诊所支付。预约链接:https://doctoreto.com/doctor/dr-kambiz-parazaran/xqbEWZ

来自 2026-10-06 的真实工具输出;价格和空闲时段一直在变化。价格单位为 Toman。

每条回复都是精简的 JSON,并省略空值,避免占用过多 Agent 上下文。

功能

  • 查找医生:按专科、城市、街区、姓名、性别、保险和就诊类型(诊所、电话、文字、视频、即时)查找
  • 优先显示最早时段:按最早空闲时段、人气或预约数量排序;也可搜索某个地点附近
  • 实际价格:诊所就诊费用(包括网站隐藏费用时)、在线问诊价格、定金
  • 空闲时段:查询任何诊所或在线服务每天的空闲预约时段,最多提前一个月
  • 评价:星级、推荐率、等候时间、各类别平均分;绝不返回评价者姓名
  • 医疗中心:医院、诊所、实验室、影像中心、药房(24 小时营业、公立/私立、地图搜索)、营业时间和接受的保险
  • 诊所优惠项目:固定价格的项目(超声、超声心动图、激光、体检),包括定金和空闲时段
  • 健康杂志:有关病症和检查的背景文章
  • 默认只读:无需登录,不预约,不付款;Agent 会提供预约链接

示例提示词:

  • “找一位本周有空闲时段的设拉子女皮肤科医生,并告诉我她的就诊费用。”
  • “哪些儿科医生今天提供视频问诊?费用是多少?”
  • “Vanak Square 附近有哪些 24 小时药房?”
  • “德黑兰 Doctoreto 诊所的超声心动图费用是多少?下一个空闲时段是什么时候?”
  • “比较伊斯法罕接受 Tamin Ejtemaei 保险的心脏科医生的电话问诊价格。”
  • 一位在 سعادت‌آباد 附近、接受 تامین اجتماعی 保险的耳鼻喉科医生
  • شیراز 最早的妇科医生空闲时段是什么时候?她的就诊费用是多少?
  • 查找 تهران 的夜间营业实验室。

快速开始

你需要安装 uv。无需 API 密钥或账户。

Claude Code
claude mcp add doctoreto -- uvx doctoreto-mcp
Claude Desktop

前往“设置”→“开发者”→“编辑配置”,然后添加:

{
  "mcpServers": {
    "doctoreto": { "command": "uvx", "args": ["doctoreto-mcp"] }
  }
}
Cursor

点击上方的 Install in Cursor,或将 Claude Desktop 配置块添加到 ~/.cursor/mcp.json(或项目中的 .cursor/mcp.json)。

VS Code (Copilot agent mode)

点击上方的 Install in VS Code,或添加到 .vscode/mcp.json:

{
  "servers": {
    "doctoreto": { "type": "stdio", "command": "uvx", "args": ["doctoreto-mcp"] }
  }
}
Codex CLI
codex mcp add doctoreto -- uvx doctoreto-mcp

也可以添加到 ~/.codex/config.toml:

[mcp_servers.doctoreto]
command = "uvx"
args = ["doctoreto-mcp"]
Gemini CLI

添加到 ~/.gemini/settings.json:

{
  "mcpServers": {
    "doctoreto": { "command": "uvx", "args": ["doctoreto-mcp"] }
  }
}
Windsurf

将 Claude Desktop 配置块添加到 ~/.codeium/windsurf/mcp_config.json。

Anything else

这是一个标准的 stdio MCP 服务:运行 uvx doctoreto-mcp,或运行 pip install doctoreto-mcp 后再运行 doctoreto-mcp。

工具

医生、中心和项目均由 6 个字符的 ID 标识(xqbEWZ,即 doctoreto.com/doctor/dr-kambiz-parazaran/xqbEWZ 的最后一部分);每个工具也都接受页面 URL。

查找医生(6)
工具功能
dt_suggest自由短语 → 匹配的医生、专科 slug、服务标签和中心
dt_search_doctors按城市、专科、街区、姓名、性别、保险、就诊类型、可预约时段搜索医生;支持排序
dt_specialities专科列表及搜索所需的 slug
dt_cities城市 slug 和 ID;含有某专科的城市及医生数量
dt_neighborhoods某城市的街区和附近城市及医生数量
dt_insurances基本保险和补充保险及其 ID
单个医生(3)
工具功能
dt_doctor个人资料、所有诊室和在线服务及费用、定金、地址和下一个可预约时段、评价摘要
dt_free_slots单项服务(诊室、电话、视频、项目、实验室)每天的可预约时段,最多查询 31 天
dt_reviews医生、中心或项目的评价:星级、文本、标签、等待时间、回复(不含姓名)
中心(2)
工具功能
dt_search_centers按城市、类型、24 小时营业、公立/私立或附近地点搜索医院、诊所、实验室、影像中心和药房
dt_center单个中心:营业时间、科室、保险、实验室规定、可预约服务、医生
诊所项目和阅读内容(3)
工具功能
dt_search_offers按文本、城市、专科、价格区间、医生或地点搜索固定价格的治疗项目和套餐
dt_offer单个项目:价格、定金、提供方、条款、各变体及其可预约时段
dt_health_articlesDoctoreto 健康杂志中有关病症、检查或治疗的文章

全部 14 个工具均标注为 readOnlyHint: true,并返回精简的结构化 JSON,不会让 Agent 的上下文被大量内容塞满。

工作原理

  AI agent  (Claude, Cursor, Copilot, ...)
      │
      │  MCP over stdio
      ▼
  doctoreto-mcp  (runs on your machine)
      │
      │  HTTPS (JSON)
      ├──────▶  api.doctoreto.com   (doctors, slots, reviews, centers, offers)
      └──────▶  doctoreto.com/blog   (health magazine)

doctoreto-mcp 在本地运行,并调用 Doctoreto 网站使用的相同公开端点。 中间没有托管服务,无需 API 密钥,也不会将任何关于你的信息发送到其他地方。 请求使用类似 Chrome 的 TLS 指纹和请求头;每次最多并发发送 2 个请求,并在请求间加入短暂的随机延迟;遇到超时、5xx 和 429 时会重试两次。始终只发送 GET 请求。

注意事项

  • 价格单位为 Toman。 对于线下就诊,fee 是你在诊所支付的费用,pay_online_now 是预约时收取的费用(通常为 0)。对于电话、文字和视频问诊,fee 是在线价格。缺少 fee 表示医生未列出价格(结果会省略 null 和空值;保留 false 和 0)。
  • 在线价格请使用 dt_doctor。 搜索列表和个人资料显示的电话问诊价格是预约页面上价格的 3 倍;dt_doctor 读取预约框中的价格,与页面显示一致。
  • 日期采用公历 YYYY-MM-DD(1405-07-22 = 2026-10-14);时间为德黑兰当地时间。旁边会标注伊朗历日期。
  • 预约需在网站上完成。 预约需要短信验证码,因此 Agent 会查找医生和时间,并提供页面链接。
  • 保险: 很少有医生列出保险信息,因此 insurance_ids 可大幅缩小搜索范围。中心会在 dt_center 中列出保险信息;中心搜索会忽略保险筛选条件。
  • 评价: 医生和中心的评价按时间从新到旧排列,诊疗项目的评价按时间从旧到新排列;每条评价的日期均为德黑兰当地日期,与页面上的日期一致。
  • 搜索页面恰好包含 limit 位医生,即使网站混入了赞助医生也是如此。dt_search_offers 和非地图模式的 dt_search_centers 会将网站的页面(约 40 / 20 条)截取至 limit 条,并报告 on_page。
  • 列表: dt_specialities 和 dt_insurances 最多返回 limit 条(默认值会覆盖整个列表),并提供 total;这些结果会与 dt_cities 一起缓存 1 小时。较长的评价、简介、描述和条款文本会被截断(400 到 800 个字符);在 dt_doctor、dt_reviews、dt_center 和 dt_offer 中设置 full_text=true 可返回完整文本。
  • 照片和诊所: 搜索卡片和 dt_doctor 会附带医生的照片 URL(image)。在搜索卡片中,earliest_free.place_id 与某个 offices[].id 对应,因此可以判断哪个诊所有最早的空闲时段。
  • 隐私: 不会返回电话号码和评价者姓名。
  • 不提供的功能: 不支持登录、预约、支付、评价或聊天,也不提供医疗建议。请合理控制请求频率。
  • 已与网站核对: 2026-10-06,所有工具的输出均已与 doctoreto.com 的实时页面进行比对(姓名、费用、每天的空闲时段、评价顺序、搜索总数和排序、中心、诊疗项目)。

常见问题解答

Doctoreto 是否有供 AI Agent 使用的 API 或 MCP 服务?

这个非官方 MCP 服务封装了 Doctoreto 网站自身使用的公开端点,因此 Claude、Cursor 或 Copilot 可以搜索医生、比较就诊费用并查看空闲时段。

如何在 Claude、Cursor 或 Copilot 中使用 Doctoreto?

使用 claude mcp add doctoreto -- uvx doctoreto-mcp 添加服务(也可以使用上方的 Cursor 和 VS Code 按钮,或在快速开始中选择适用于客户端的配置),然后用波斯语或英语提问,例如“尽快预约德黑兰 Pasdaran 的心脏科医生”。

它是官方、安全且免费的吗?

它是非官方的开源项目(MIT),并且免费。它是只读的,无需账号或 API 密钥,并且在你的机器上运行,不会向任何其他服务发送数据。

它能帮我预约吗?

不能,这是有意为之。它没有登录功能,也绝不会调用预约、付款、评价或聊天端点。 Agent 会找到医生、服务和空闲时段;你可以使用自己的电话号码在 doctoreto.com 上预约。

“slug alone cannot be resolved”

Doctoreto 的 API 需要 6 个字符的 ID,而不是名称 slug。粘贴完整的页面 URL (https://doctoreto.com/doctor/<slug>/<id>),或让 Agent 按医生的波斯语姓名搜索。

我需要伊朗 IP 吗?

目前未发现地理封锁:直接调用和通过土耳其代理调用均可正常工作(2026-10-06)。尚未测试云服务器;如果 Doctoreto 封锁了某个服务器,请设置 DOCTORETO_MCP_PROXY。

搜索结果中没有医生

筛选条件可能过于严格(保险加社区条件往往如此)。移除一个筛选条件,或使用 dt_suggest、dt_specialities 或 dt_neighborhoods 检查 slug。未知的城市或专科 slug 会返回错误。

为什么电话咨询的价格与网站不一致?

网站的搜索列表和医生资料页显示的电话咨询价格,是预约页面上价格的三倍。 dt_doctor 读取预约框,因此其价格与你实际支付的金额一致。

Claude Desktop 提示找不到 uvx

将 uvx 的完整路径(Windows 上运行 where uvx,macOS/Linux 上运行 which uvx)用作 command。

如何调试 Agent 能看到的内容?
npx @modelcontextprotocol/inspector uvx doctoreto-mcp

配置

变量默认值含义
DOCTORETO_MCP_PROXY未设置每个请求可选使用的 HTTP 代理 URL,例如 http://user:pass@host:port;系统代理设置会被忽略。用逗号分隔的列表会逐个使用:某个代理被封锁或无法连接时,将切换到下一个代理

如果 Doctoreto 显示了机器人验证页面,请安装 doctoreto-mcp[browser] 并运行 patchright install chromium;随后,无头浏览器会通过验证,并复用 Cookie。

波斯语:Doctoreto MCP 服务(医生预约)

doctoreto-mcp 是一个非官方的 Doctoreto MCP 服务(在线医生预约和在线咨询网站),可让您的 AI 助手(Claude、Cursor、Copilot 等) 在伊朗的医生中,根据专科、城市、街区、保险和问诊类型(线下、电话、文字、视频)寻找合适的医生,查看问诊费用和空闲预约时段, 阅读患者评价,还能搜索医院、实验室和 Doctoreto Clinic 服务。

功能

  • 搜索医生:按专科、城市、街区、姓名、性别、保险和问诊类型搜索,并按最近可预约时段排序。
  • 问诊费用:线下问诊(即使网站未显示),以及电话、文字和视频咨询的价格。
  • 空闲预约时段:查看任意医生或服务未来一个月内的空闲时段。
  • 患者评价:评分、推荐比例、等待时间(不含评价者姓名)。
  • 医疗中心:医院、诊所、实验室、影像中心和药房(包括 24 小时营业的药房),并提供营业时间和接受的保险。
  • Doctoreto Clinic 服务(固定价格,包括超声、心脏超声、激光和体检)以及健康杂志。

注意事项

  • 仅供查询:不会登录账户、预约或付款;会提供医生页面链接供您预约。这不是医疗建议。
  • 所有价格均以托曼计。日期使用公历,并附有伊朗历日期;时间为德黑兰时间。
  • 不会返回电话号码和评价者姓名。
  • 无需 API 密钥,可在您的本地系统运行,不会向任何中间服务器发送数据。

安装(请先安装 uv)。在 Claude Code 中:

claude mcp add doctoreto -- uvx doctoreto-mcp

在 Claude Desktop、Cursor 和其他应用中,使用 Quick start 部分中的相同配置。

示例问题

  • “找一位在德黑兰 Pasdaran 的心脏科医生,要求有最近的空闲预约时段,并提供问诊费用”
  • “找一位在 Saadat Abad 的耳鼻喉科医生,接受社会保障保险”
  • “今天哪位儿科医生有视频问诊预约?价格是多少?”

开发

git clone https://github.com/sepehr071/doctoreto-mcp && cd doctoreto-mcp
uv sync
uv run ruff check . && uv run ruff format --check .
uv run python -m pytest -q          # offline, against recorded responses
uv run python -m pytest -m live -q  # real APIs
uv build

工具位于 src/doctoreto_mcp/search.py、doctor.py、centers.py、offers.py 和 info.py 中;每个工具都是带有类型注解的 异步函数,并附有说明何时使用它的文档字符串。欢迎提交 Issue 和 PR,尤其是新增工具和修复 API 变更相关问题。

发布:更新 pyproject.toml 和 server.json 中的版本号,然后推送一个 v* 标签。GitHub Actions 会运行测试、 发布到 PyPI 和 MCP Registry,并创建 GitHub Release。

相关服务

  • iran-mcp:伊朗服务 MCP 服务目录
  • paziresh24-mcp:用于在 Paziresh24 上查找伊朗医生、个人资料和空闲预约时段
  • jabama-mcp:用于在 Jabama 上查找伊朗住宿和别墅租赁
  • iran-news-mcp:伊朗新闻

免责声明

这是非官方项目,与 Doctoreto 无关,也未得到其认可。它仅供查询,并使用 doctoreto.com 网站的公开接口,这些接口可能会在未通知的情况下发生变化。它提供信息,而非医疗建议。请合理控制请求频率。

如果它帮您省下了几次点击,请点个星,帮助更多人找到这个项目。

作者

Sepehr Radmard:面向伊朗网络的开源 MCP 服务。LinkedIn:linkedin.com/in/sepehr-radmard

由 Sepehr Radmard(سپهر رادمرد)构建并维护。欢迎通过 LinkedIn 联系,或在 GitHub 上关注 @sepehr071,获取更多面向伊朗网站的 MCP 服务,所有服务均列于 iran-mcp。如果这为你节省了时间,欢迎给仓库点个星,帮助更多人发现它。

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。