PubMed Search MCP Server 使用说明
项目简介
PubMed Search MCP Server 是一个基于 Model Context Protocol (MCP) 构建的后端服务,旨在为大型语言模型(LLM)客户端提供医学文献检索能力。通过集成 PubMed 数据库,该服务器允许 LLM 客户端使用 'pubmed_search' 工具来查询医学文献,并返回检索结果。
主要功能点
- 医学文献检索: 提供 'pubmed_search' 工具,允许用户通过关键词在 PubMed 数据库中搜索医学文献。
- 可配置结果数量: 用户可以指定每次检索返回的最大结果数量(默认为15条)。
- JSON-RPC 协议通信: 使用标准的 JSON-RPC 协议与 MCP 客户端进行通信。
- 标准 I/O 传输: 通过标准输入/输出流 (stdio) 与客户端建立连接。
安装步骤
该项目本身是一个服务器,无需传统意义上的“安装”。您需要先下载或克隆该仓库的代码到您的本地计算机。
前提条件:
- 确保已安装 Python 环境 (推荐 Python 3.8 及以上版本)
- 确保已安装 'uv' 包管理器 (根据仓库 README.md 建议使用)
步骤:
- 下载代码: 从 GitHub 仓库 https://github.com/MCP-Mirror/wavelovey_pubmed_search 下载或克隆代码到本地。
- 安装依赖: 在项目根目录下,使用 'uv' 安装项目依赖(如果 'uv' 未安装,请先安装 'uv',参考 https://pypi.org/project/uv/)。打开终端,导航到项目根目录,运行命令:
uv sync - 配置 Entrez API Email: PubMed 检索需要 Entrez API 的 Email 认证。您需要在您的操作系统环境变量中设置 'ENTREZ_EMAIL' 变量,值为您的邮箱地址。例如,在 Linux 或 macOS 中,您可以编辑 '~/.bashrc' 或 '~/.zshrc' 文件,添加一行:
然后运行 'source ~/.bashrc' 或 'source ~/.zshrc' 使环境变量生效。在 Windows 中,您可以通过“系统属性” -> “高级” -> “环境变量” 来设置系统环境变量。export ENTREZ_EMAIL="[email protected]"
服务器配置
要将 PubMed Search MCP Server 集成到 MCP 客户端(例如 Claude Desktop),您需要在客户端的配置文件中添加服务器配置信息。以下是配置示例,以 Claude Desktop 为例,配置文件路径请参考仓库 'README.md' 的指引。
Claude Desktop 配置示例 (Development/Unpublished Servers Configuration)
"mcpServers": { "pubmed_search": { "command": "uv", "args": [ "--directory", "/path/to/your/pubmed_search", // 请替换为您的 'pubmed_search' 仓库的实际本地路径 "run", "pubmed_search" ] } }
重要参数说明:
- '"server name"': 'pubmed_search' - 服务器在 MCP 客户端中注册的名称,可以自定义。
- '"command"': 'uv' - 用于启动服务器的命令,这里使用 'uv' 运行器。
- '"args"': 启动参数列表。
- '"--directory"': 指定服务器代码所在的目录,请务必将 '/path/to/your/pubmed_search' 替换为您实际存放 'pubmed_search' 仓库的本地路径。
- '"run"': 'uv run' 命令的子命令,表示运行指定的 Python 包。
- '"pubmed_search"': 要运行的 Python 包名称,对应 'src/pubmed_search/init.py'。
注意: 如果使用 'uvx' (Published Servers Configuration),则通常用于已发布到 PyPI 的包,对于本地开发或未发布的服务器,建议使用 'uv' 和 '--directory' 参数指定本地代码路径。
基本使用方法
- 启动服务器: 配置完成后,当 MCP 客户端(如 Claude Desktop)启动时,会自动尝试连接并启动 PubMed Search MCP Server。
- 使用 'pubmed_search' 工具: 在 MCP 客户端中,您可以通过指令或自然语言提示,指示 LLM 使用 'pubmed_search' 工具进行医学文献检索。例如,您可以指示 LLM “使用 'pubmed_search' 工具搜索关于新冠疫苗的最新研究”。
- 查看检索结果: 服务器会将 PubMed 检索结果以 JSON 格式返回给 MCP 客户端,客户端会根据返回结果进行后续处理,例如展示给用户或用于生成回复。
工具调用示例 (在 MCP 客户端中)
当 LLM 需要使用 'pubmed_search' 工具时,它会向 MCP 服务器发送工具调用请求,请求可能包含以下参数:
{ "tool_name": "pubmed_search", "arguments": { "query": "新冠疫苗最新研究", "max_results": 10 } }
服务器收到请求后,会执行 PubMed 检索,并将结果返回给客户端。
信息
分类
数据库与文件