mcpField
F
fhir-mcp-server-medagentbench

fhir-mcp-server-medagentbench

本地服务
github.com/mike-holcomb健康医疗081 周前更新

关于 fhir-mcp-server-medagentbench

fhir-mcp-server-medagentbench 是用于测试 MedAgentBench Agent 的 Python MCP 服务,无需连接真实 FHIR 端点。它模拟 FHIR 操作,并以文本返回预期发送的 HTTP 请求内容。

主要功能

  1. 01模拟 FHIR 搜索和读取
  2. 02模拟创建 FHIR 资源
  3. 03返回 HTTP 请求文本表示
  4. 04提供模拟资源和工具

适用场景

  1. 01在没有真实 FHIR API 时测试 MedAgentBench Agent
  2. 02检查生成的 FHIR 请求表示

MCP 相关

该服务向 MCP 客户端提供模拟 FHIR 资源和工具,包括搜索、读取及创建资源操作。它返回 HTTP 请求的文本表示,而不会向 FHIR 服务发送请求。

配置

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

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

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

详细介绍

fhir-mcp-server-medagentbench

PyPI version License: MIT

这是一个基于 Python 的 MCP(MedAgentBench Communications Protocol)服务,专为 MedAgentBench 环境设计。此服务模拟与 FHIR(Fast Healthcare Interoperability Resources)API 的交互。

它不会向 FHIR 服务发送实际的 HTTP 请求,而是拦截针对 FHIR 操作的 MCP 请求,并返回原本会发送的 HTTP 请求的文本表示(例如,GET https://fhir.example.com/Patient/123 或 POST https://fhir.example.com/Observation\n{...})。这样无需连接在线 FHIR 端点,即可测试 MedAgentBench Agent。

功能

  • 实现 MCP 处理器:
    • list_resources:列出可用的模拟资源(目前为 CapabilityStatement)。
    • read_resource:模拟通过 URI 读取 FHIR 资源。
    • list_tools:列出可用的 FHIR 模拟工具。
    • call_tool:模拟执行 FHIR 操作:
      • search_fhir:模拟搜索 FHIR 资源。
      • read_fhir:模拟通过 URI 读取特定的 FHIR 资源。
      • create_fhir_resource:模拟创建新的 FHIR 资源。
  • 使用 mcp-server 库进行 MCP 通信。
  • 使用 Poetry 进行配置和打包。
  • 使用 pytest 和 pytest-asyncio 编写异步单元测试。

安装

确保已安装 Python >= 3.10 和 Poetry。

poetry install

配置

运行服务之前,必须设置 FHIR_BASE_URL 环境变量。此 URL 用于构造模拟请求字符串。

export FHIR_BASE_URL="https://your-fhir-server-base.com/fhir"
# Or for local testing:
# export FHIR_BASE_URL="http://localhost:8080/fhir"

使用方法

配置完成后,使用已安装的脚本运行服务:

fhir-mcp-server-medagentbench

服务将通过标准输入/输出开始监听 MCP 请求。

开发

设置

克隆仓库并安装依赖项,包括开发工具:

git clone https://github.com/MikeHolcomb/mcp-fhir-python-medagentbench.git
cd mcp-fhir-python-medagentbench
poetry install --with dev
代码检查与格式化

此项目使用 pre-commit 强制执行代码风格规范(black、isort),并检查问题(flake8、mypy)。

# Run all checks on staged files (usually run automatically on commit)
poetry run pre-commit run

# Run all checks on all files
poetry run pre-commit run --all-files

# Or run tools individually
poetry run black .
poetry run isort .
poetry run flake8 src tests
poetry run mypy src
测试

测试位于 tests/ 目录中,使用 pytest 运行。

poetry run pytest

# Run with coverage report
poetry run pytest --cov=src

由于 MCP 处理器具有异步特性,测试需要 pytest-asyncio。

许可证

本项目采用 MIT 许可证,详情请参阅 LICENSE 文件(如果尚未创建 LICENSE 文件,则可能需要创建)。

贡献

欢迎贡献!请提交 issue 或拉取请求。

评论

支持 Markdown

第一次接触 MCP?

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

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