关于 Doctoreto
Doctoreto 是面向 Agent 的非官方只读 MCP 服务,可查询伊朗 Doctoreto 医疗平台。它支持查找医生与医疗机构、比较费用和空闲时段,并提供预约链接,但不代为预约。
主要功能
- 01按专科和地点搜索医生
- 02比较就诊费用与空闲时段
- 03查看医生评价
- 04查找医院、实验室、药房和诊所
- 05搜索定价固定的诊所项目
- 06查询健康杂志文章
适用场景
- 01寻找有空闲时段的专科医生
- 02比较线下与在线问诊费用
- 03查找附近的医院、实验室或药房
- 04查看诊所项目价格和空闲时段
MCP 相关
向 MCP 客户端提供 Doctoreto 的只读搜索和查询工具,涵盖医生、预约时段、评价、医疗机构、项目和文章。它不负责预约或付款。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
uvx doctoreto-mcpDOCTORETO_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+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
14收录的工具列表 · 更新于 5 天前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| limit | integer | 否 | 每种类型的最大条目数。 |
| query | string | 是 | 用户用波斯语输入的内容:医生姓名、专科或症状,例如 'قلب' 或 'پرآذران'。 |
| city_id | any | 否 | 来自 dt_cities 的数字城市 ID,用于优先显示一个城市,例如 2200(Tehran)。 |
详细介绍
doctoreto-mcp:面向 AI Agent 的 Doctoreto MCP 服务
让你的 AI Agent 在 Doctoreto(دکترتو)上找到合适的伊朗医生。
这是一个面向 Doctoreto 的非官方只读 MCP 服务。Doctoreto 是伊朗的医生预约和在线咨询网站:
可在 Claude、Cursor 或 Copilot 中按专科、城市和就诊方式搜索医生、比较就诊费用、查看空闲预约时段、阅读评价,以及查找医院、实验室和诊所优惠。
面向 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,000 0 10 月 6 日周二 10:00(当天有 25 个空闲时段) 电话问诊,15 分钟 750,000 750,000 10 月 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_articles | Doctoreto 健康杂志中有关病症、检查或治疗的文章 |
全部 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(سپهر رادمرد)构建并维护。欢迎通过 LinkedIn 联系,或在 GitHub 上关注 @sepehr071,获取更多面向伊朗网站的 MCP 服务,所有服务均列于 iran-mcp。如果这为你节省了时间,欢迎给仓库点个星,帮助更多人发现它。
许可证
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。
