这是一个基于 Python 的 MCP(MedAgentBench 通信协议)服务器,专为 MedAgentBench 环境设计,可模拟与 FHIR(快速医疗互操作性资源)API 的交互,无需实时 FHIR 端点即可测试 MedAgentBench 代理。
本项目是一个基于 Python 的 MCP 服务器,用于模拟与 FHIR API 的交互。在使用前,你需要确保安装了 Python >= 3.10 和 Poetry。以下是快速开始的步骤:
poetry install
export FHIR_BASE_URL="https://your-fhir-server-base.com/fhir"
# 或者用于本地测试:
# export FHIR_BASE_URL="http://localhost:8080/fhir"
fhir-mcp-server-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 通信:借助该库实现高效的 MCP 通信。pytest 和 pytest - asyncio 进行异步单元测试。确保已经安装了 Python >= 3.10 和 Poetry,然后执行以下命令进行安装:
poetry install
配置环境变量并启动服务器:
export FHIR_BASE_URL="https://your-fhir-server-base.com/fhir"
fhir-mcp-server-medagentbench
服务器将开始监听标准输入/输出中的 MCP 请求。
在运行服务器之前,必须设置环境变量 FHIR_BASE_URL。此 URL 用于构建模拟请求字符串。
export FHIR_BASE_URL="https://your-fhir-server-base.com/fhir"
# 或者用于本地测试:
# export FHIR_BASE_URL="http://localhost:8080/fhir"
克隆仓库并安装依赖项(包括开发工具):
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)。
# 在提交时运行所有检查(通常自动运行)
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
测试位于 tests/ 目录中,并使用 pytest。
poetry run pytest
# 带覆盖报告运行测试
poetry run pytest --cov=src
测试需要 pytest-asyncio 以支持异步功能。
我们欢迎社区的贡献!请参考项目仓库中的 CONTRIBUTING.md 文件了解如何参与。
本项目遵循 MIT 许可证。