使用说明
项目简介
BioMedMCP服务器是一个基于Model Context Protocol (MCP) 的后端实现,专为生物医学研究领域设计。它旨在为大型语言模型(LLM)驱动的研究Agent提供必要的上下文信息和工具能力,使其能够更有效地进行医学文献检索和网络信息挖掘。该服务器使用Python编写,无需大型框架,依赖少,方便研究人员在本地或服务器上部署,以低成本或零成本的方式增强本地LLM在生物医学领域的应用能力。
主要功能点
- PubMed文献检索: 提供强大的PubMed数据库检索工具,支持关键词查询,并返回相关的医学文献信息,助力研究人员快速定位所需文献。
- PubMed文章详情获取: 允许通过PubMed ID (PMID) 精确获取特定文章的详细信息,包括摘要、作者、期刊等,为LLM提供深入的文献上下文。
- PubMed查询优化提示: 内置查询优化工具,可以根据用户提出的医学问题,生成用于指导LLM构建高效PubMed检索查询的提示,提升检索效率。
- 网页搜索: 集成网页搜索工具,帮助LLM获取更广泛的互联网信息,作为PubMed文献信息的补充。
- 网页内容获取: 能够根据URL地址抓取网页内容,并进行初步处理,提取关键信息,为LLM提供网页文本上下文。
- 轻量级易部署: 采用Flask框架,代码简洁,依赖少,易于安装和配置,方便研究人员快速搭建和使用。
- 支持JSON-RPC协议: 完全遵循MCP协议规范,通过JSON-RPC与客户端进行通信,保证了与各类MCP客户端的兼容性。
- 支持本地和网络模式: 服务器可以以网络模式(HTTP)或本地模式(标准输入/输出)运行,适应不同的部署环境和应用场景。
安装步骤
-
克隆仓库:
git clone https://github.com/hherb/biomedmcp.git cd biomedmcp -
安装Python依赖: 虽然项目声称依赖少,但为了确保运行,建议检查并安装可能需要的库,通常标准Python库已足够,如果缺少可以尝试安装 'flask', 'requests', 'beautifulsoup4', 'flask-jsonrpc' 等。可以使用pip命令安装:
pip install flask requests beautifulsoup4 flask-jsonrpc如果需要使用NCBI API Key以提升PubMed API的请求速率限制,请设置环境变量 'NCBI_API_KEY'。
-
安装Ollama (如果需要运行配套Agent): 如果需要运行仓库中提供的agent('biomed_mcpagent.py'),则需要安装并运行 Ollama,并确保agent所使用的模型(默认为 'phi4:latest')已通过 Ollama 下载。
服务器配置
MCP客户端需要配置服务器的启动命令和参数才能连接到BioMedMCP服务器。以下是根据仓库信息生成的服务器配置信息(JSON格式),请复制到MCP客户端的服务器配置中。
{ "serverName": "BioMedMCP Server", "command": "python", "args": [ "biomed_mcpserver.py", "--mode", "network" // 默认为网络模式,如果需要在本地模式下运行,可以修改为 "local" // "--port", "5152" // 如果需要修改默认端口,可以添加此参数并指定端口号 // "--debug" // 如果需要启用debug模式,可以添加此参数 ], "protocol": "json-rpc", "transport": "http" // 网络模式下使用HTTP传输,本地模式下根据客户端实现可能为stdio或其他 }
参数注释:
- 'serverName': 服务器名称,用于在MCP客户端中标识。
- 'command': 启动服务器的命令,这里使用 'python' 解释器。
- 'args': 传递给启动命令的参数列表:
- '"biomed_mcpserver.py"': 服务器主程序文件名。
- '"--mode", "network"': 指定服务器运行模式为网络模式,接受HTTP请求。可以替换为 '"local"' 以使用本地模式。
- '"--port", "5152"' (可选): 指定服务器监听的端口号,默认为5152。可以根据需要修改。
- '"--debug"' (可选): 启用debug模式,方便开发和调试。
- 'protocol': 指定通信协议为 'json-rpc'。
- 'transport': 指定网络模式下的传输协议为 'http'。 本地模式下根据客户端实现可能为 'stdio' 或其他。
注意: 请根据您的MCP客户端的具体配置要求进行调整。例如,某些客户端可能需要指定服务器的URL地址而不是启动命令。对于BioMedMCP服务器的网络模式,默认URL为 'http://服务器IP地址:5152/jsonrpc'。
基本使用方法
-
启动BioMedMCP服务器: 根据您选择的模式(网络或本地),运行相应的命令启动服务器。
- 网络模式: 在仓库根目录下,执行命令 'python biomed_mcpserver.py --mode network' (或 'python biomed_mcpserver.py',因为网络模式是默认模式)。
- 本地模式: 执行命令 'python biomed_mcpserver.py --mode local'。 本地模式下服务器将通过标准输入/输出与客户端通信。
-
配置MCP客户端: 在您的MCP客户端中,根据上述 服务器配置 部分提供的信息,配置连接到BioMedMCP服务器。 确保客户端能够正确识别服务器地址(网络模式)或启动命令(本地模式)。
-
使用Agent或客户端工具: 仓库中提供了 'biomed_mcpagent.py' 作为使用BioMedMCP服务器的示例Agent。您可以运行该Agent,或使用任何兼容MCP协议的客户端工具,通过服务器提供的工具进行生物医学文献检索和信息查询。
例如,使用 'biomed_mcpagent.py' Agent,您可以直接在命令行中输入医学问题,Agent将自动判断是否需要使用PubMed或网页搜索工具,并调用BioMedMCP服务器提供的工具进行检索,最终给出基于检索结果的答案。
运行 Agent 示例: 'python biomed_mcpagent.py' 然后根据提示输入医学问题。
提示: 为了获得更好的PubMed API 使用体验,建议配置 NCBI API Key。
信息
分类
网页与API