fhir-mcp-server-medagentbench

fhir-mcp-server-medagentbench

site icon
2025.04.13 0
PythonFHIR 模拟测试工具其它
fhir-mcp-server-medagentbench 是一个基于 Python 的 MCP(MedAgentBench Communications Protocol)服务器,专为 MedAgentBench 环境设计。该服务器模拟与 FHIR(Fast Healthcare Interoperability Resources)API 的交互,而不是实际向 FHIR 服务器发出 HTTP 请求。它拦截 MCP 请求并返回模拟的 HTTP 请求文本表示,以便在不需真实 FHIR 端点的情况下测试 MedAgentBench 代理。
View on GitHub

Overview

基本能力

产品定位

fhir-mcp-server-medagentbench 是一个用于模拟 FHIR API 交互的 MCP 服务器,主要用于测试 MedAgentBench 代理的功能。

核心功能

  • 实现 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 进行配置和打包。
  • 包含使用 pytestpytest-asyncio 的异步单元测试。

适用场景

  • 测试 MedAgentBench 代理的功能,无需真实的 FHIR 端点。
  • 开发和调试 FHIR 相关的应用程序。

工具列表

  • list_resources:列出可用的模拟资源。
  • read_resource:模拟读取 FHIR 资源。
  • list_tools:列出可用的 FHIR 模拟工具。
  • call_tool:模拟执行 FHIR 操作。

常见问题解答

  • 无具体常见问题解答内容。

使用教程

使用依赖

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

poetry install

安装教程

  1. 克隆仓库并安装依赖:
git clone https://github.com/MikeHolcomb/mcp-fhir-python-medagentbench.git
cd mcp-fhir-python-medagentbench
poetry install --with dev
  1. 设置环境变量 FHIR_BASE_URL
export FHIR_BASE_URL="https://your-fhir-server-base.com/fhir"
# 或用于本地测试:
# export FHIR_BASE_URL="http://localhost:8080/fhir"
  1. 运行服务器:
fhir-mcp-server-medagentbench

调试方式

  1. 运行测试:
poetry run pytest

# 带覆盖率报告:
poetry run pytest --cov=src
  1. 运行代码风格检查和格式化:
poetry run pre-commit run

# 对所有文件运行检查:
poetry run pre-commit run --all-files

# 或单独运行工具:
poetry run black .
poetry run isort .
poetry run flake8 src tests
poetry run mypy src

许可证

该项目遵循 MIT 开源许可条款,请参阅 MIT 了解完整条款。