使用说明
模块化MCP(pubmed MCP)
此存储库包含一个打包在Docker中运行的小型MCP(模型上下文协议)服务。
快速笔记
- 该服务希望您在运行之前提供MCP客户端API密钥(请参阅 API密钥 部分)。
- 主服务器入口点是
server.py.
这个MCP做什么
问题: 大型语言模型在推理生物医学研究时会产生幻觉,从业者在LLM工作流程中缺乏值得信赖的权威来源。
解决方案: 此MCP将PubMed(美国国家医学图书馆,NIH)暴露为只读、有界的数据源。LLM客户端可以从权威的NIH电子工具中检索逐字摘要和出版物元数据,然后以完全透明和可追溯的方式对这些数据进行推理。
范围和限制:
- 数据来源: 通过NIH电子工具从PubMed检索逐字摘要、引文和元数据。
- 它的作用: 按关键字搜索最近的出版物;通过PMID(PubMed ID)获取完整摘要。
- 它没有做什么: 总结、综合、分析、选择或排名出版物;提出医疗建议;支持培训或微调。
- 关注点分离: MCP处理权威 数据检索 只有。客户LLM负责 推理 和 解释.
- 护栏: 强制只读访问;限制搜索最近的出版物(≤30天);为结果集设置上限(每个查询≤50)。
所有信息均直接来源于美国国立卫生研究院。MCP是一个薄而透明的包装;它没有添加任何解释。
API密钥
- 通过环境变量提供MCP客户端API密钥
MCP_API_KEY. - 你可以通过以下方式将其传递给Docker
-e MCP_API_KEY=your_key_here,使用Docker密钥,或将其存储在本地.env文件并加载它。
Docker:构建并运行
- 构建映像(从存储库根运行):
docker build -t pubmed-mcp:latest .
- 运行容器(例如,暴露端口8080):
docker run --rm -p 8080:8080 -e MCP_API_KEY="your_api_key_here" pubmed-mcp:latest
替换 8080 如果服务使用的端口不同。
本地(非Docker)运行
- 安装依赖项:
pip install -r requirements.txt
- 使用设置的环境变量启动服务器:
set MCP_API_KEY=your_api_key_here # PowerShell/CMD on Windows
python server.py
安全
- 对待
MCP_API_KEY敏感。不要将其提交给源代码管理或公开共享。
感兴趣的文件
server.py--服务入口点Dockerfile--图像构建说明requirements.txt--Python依赖关系
如果你愿意,我也可以添加一个 .env.example 并更新 Dockerfile 阅读a .env 或者Docker的秘密\