mcpField
M
meddata

meddata

本地服务
github.com/anthesiallc健康医疗07 周前更新

关于 meddata

meddata 是将 MedData API 封装为工具的 MCP 服务,供 MCP 客户端查询药物与补充剂资料及相互作用。它区分来源未发现结果与未覆盖的组合,并提供评估依据。

主要功能

  1. 01按品牌名或通用名搜索药物
  2. 02按 RxCUI 或 NDC 查询药物资料
  3. 03查询补充剂及事实说明
  4. 04检查药物与补充剂相互作用
  5. 05评估日常方案并返回依据
  6. 06查看用量与方案限额

适用场景

  1. 01查询药物的完整资料
  2. 02核查药物与补充剂组合
  3. 03了解方案评估所用来源
  4. 04查看当前计费周期用量

MCP 相关

通过工具向 MCP 客户端提供 MedData API 的药物、补充剂和相互作用查询。支持 stdio 与 streamable-HTTP 传输。

配置

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

mcp.json · 通用配置
{
"mcpServers": {
"anthesiallc-meddata": {
"command": "uvx",
"args": [
"meddata-mcp"
],
"env": {
"MEDDATA_API_KEY": "<MEDDATA_API_KEY>"
}
}
}
}
启动命令uvx meddata-mcp
需要配置的环境变量
MEDDATA_API_KEY密钥MedData API key. Get a free one (250 calls/month, no card) at https://meddata.anthesia.io

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

安装包
pypimeddata-mcp0.2.1

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

MedData MCP Server

mcp-name: io.github.anthesiallc/meddata

一个 Model Context Protocol 服务,可将 MedData API 作为工具提供,让任何 MCP 客户端(Claude Desktop、Cursor、ChatGPT 连接器或 Agent 框架)都能通过对话查询药物和 补充剂数据并检查相互作用。

这是一个轻量封装:每个工具都映射到一个 MedData REST 端点。所有数据 处理都由 API 完成。

工具

工具功能
search_drugs按品牌名或通用名搜索药物;返回 RxCUI 和详细信息
get_drug按 RxCUI 获取完整药物档案
get_drug_by_ndc按 NDC 包装代码获取药物档案
search_supplements按名称搜索补充剂;返回补充剂 ID
get_supplement按 ID 获取完整补充剂资料表
check_interactions检查 2 至 10 种药物/补充剂混合清单中的相互作用
assess_routine全面评估日常方案:逐对覆盖情况、来源、时间和食物条件
get_usage当前计费周期的用量和套餐限额
check_interactions 与 assess_routine 的区别

check_interactions 返回平面形式的相互作用列表。assess_routine 则会返回推理过程:每个提交的名称解析成了什么、每一对查阅了哪些内容, 以及每项发现所依据的文档。当答案需要解释或采取行动,而不只是展示时,请使用它。

最重要的区别体现在 pairs_checked[].status 中:

状态含义
finding存在一项或多项有依据的发现,列于 findings[] 中
no_finding_in_sources已查阅涵盖此类配对的来源,但未发现内容。没有发现不代表安全
not_covered没有来源涵盖此类配对,因此未进行评估。大多数补充剂之间的配对都属于此类
unresolved某项未能解析,因此无法进行检查

not_covered 和 no_finding_in_sources 表示不同的结果,空的平面列表 无法区分二者。

assess_routine 还接受 class_matching(默认关闭)。启用后,药物 会与补充剂记录中列出的治疗类别匹配,而不仅仅是记录中列出的药物名称;此类发现会带有 basis.level: "class" 并注明类别,因此可以区分推断匹配与明确匹配。发现还会带有 basis.level (formulation / ingredient / class),说明来源与提交内容的匹配程度;还会提供三态的 timing 和 food 条件,其中未提及表示 not_documented,而不是“没有影响”;以及包含文档 版本和原文段落的 references[]。

获取 API 密钥

免费套餐每月可调用 250 次,无需信用卡:

curl -X POST https://meddata.anthesia.io/api/v1/signup \
  -H 'Content-Type: application/json' \
  -d '{"email":"[email protected]"}'

密钥会在响应的 api_key 字段中返回。

安装和运行

最简单的方式是使用 uv(无需手动创建虚拟环境):

# stdio transport (default — for Claude Desktop, Cursor, most local clients)
MEDDATA_API_KEY=md_your_key uvx meddata-mcp

# streamable-HTTP transport (for remote / web clients)
MEDDATA_API_KEY=md_your_key uvx meddata-mcp --http

也可以使用 pip 将其安装到独立环境中:

pip install meddata-mcp
MEDDATA_API_KEY=md_your_key meddata-mcp

注意:请安装到专用环境中。mcp SDK 要求的 starlette 版本比 MedData API 应用固定的版本更新,因此二者一起安装会发生冲突。

环境变量:

  • MEDDATA_API_KEY(必填)— 你的 MedData API 密钥。
  • MEDDATA_BASE_URL(可选)— 默认为 https://meddata.anthesia.io。
  • MEDDATA_TIMEOUT(可选)— 请求超时时间(秒),默认为 30。

客户端配置

Claude Desktop

在 claude_desktop_config.json 中添加(Settings → Developer → Edit Config):

{
  "mcpServers": {
    "meddata": {
      "command": "uvx",
      "args": ["meddata-mcp"],
      "env": { "MEDDATA_API_KEY": "md_your_key" }
    }
  }
}
Cursor

在 ~/.cursor/mcp.json 中添加相同的代码块(或添加到项目的 .cursor/mcp.json 中)。

Smithery(托管,无需安装)

该服务托管在 Smithery 上, 因此支持 Smithery 的 MCP 客户端无需安装任何内容即可连接。你只需在 Smithery 配置中提供 MedData API 密钥,它便会将请求路由到该服务。

LangChain / LangGraph

任何 LangChain 或 LangGraph Agent 都可以通过 langchain-mcp-adapters 使用这些工具:

# pip install langchain-mcp-adapters langgraph "langchain[anthropic]"
from langchain_mcp_adapters.client import MultiServerMCPClient

client = MultiServerMCPClient(
    {
        "meddata": {
            "transport": "stdio",
            "command": "uvx",
            "args": ["meddata-mcp"],
            "env": {"MEDDATA_API_KEY": "md_your_key"},
        }
    }
)
tools = await client.get_tools()
# hand `tools` to a LangGraph/LangChain agent, e.g.
# from langgraph.prebuilt import create_react_agent
# agent = create_react_agent("anthropic:claude-opus-4-8", tools)

LlamaIndex 通过其 MCP 工具规范也可以采用相同的方式。

从源代码开发

git clone https://github.com/anthesiallc/meddata-mcp && cd meddata-mcp
python -m venv .venv
.venv/Scripts/python -m pip install -e ".[http]"   # Windows; [http] adds uvicorn for --http
# .venv/bin/pip install -e ".[http]"                # macOS/Linux
MEDDATA_API_KEY=md_your_key .venv/Scripts/python -m meddata_mcp.server

备注

  • 数据仅供参考,不构成医疗建议。
  • 交互数据来自成熟的医疗数据库;结果为空表示这些来源中未找到相关数据,并不代表已证明某种组合是安全的。

评论

支持 Markdown

第一次接触 MCP?

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

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