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 建议使用)

步骤

  1. 下载代码: 从 GitHub 仓库 https://github.com/MCP-Mirror/wavelovey_pubmed_search 下载或克隆代码到本地。
  2. 安装依赖: 在项目根目录下,使用 'uv' 安装项目依赖(如果 'uv' 未安装,请先安装 'uv',参考 https://pypi.org/project/uv/)。打开终端,导航到项目根目录,运行命令:
    uv sync
  3. 配置 Entrez API Email: PubMed 检索需要 Entrez API 的 Email 认证。您需要在您的操作系统环境变量中设置 'ENTREZ_EMAIL' 变量,值为您的邮箱地址。例如,在 Linux 或 macOS 中,您可以编辑 '~/.bashrc' 或 '~/.zshrc' 文件,添加一行:
    export ENTREZ_EMAIL="[email protected]"
    然后运行 'source ~/.bashrc' 或 'source ~/.zshrc' 使环境变量生效。在 Windows 中,您可以通过“系统属性” -> “高级” -> “环境变量” 来设置系统环境变量。

服务器配置

要将 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' 参数指定本地代码路径。

基本使用方法

  1. 启动服务器: 配置完成后,当 MCP 客户端(如 Claude Desktop)启动时,会自动尝试连接并启动 PubMed Search MCP Server。
  2. 使用 'pubmed_search' 工具: 在 MCP 客户端中,您可以通过指令或自然语言提示,指示 LLM 使用 'pubmed_search' 工具进行医学文献检索。例如,您可以指示 LLM “使用 'pubmed_search' 工具搜索关于新冠疫苗的最新研究”。
  3. 查看检索结果: 服务器会将 PubMed 检索结果以 JSON 格式返回给 MCP 客户端,客户端会根据返回结果进行后续处理,例如展示给用户或用于生成回复。

工具调用示例 (在 MCP 客户端中)

当 LLM 需要使用 'pubmed_search' 工具时,它会向 MCP 服务器发送工具调用请求,请求可能包含以下参数:

{
  "tool_name": "pubmed_search",
  "arguments": {
    "query": "新冠疫苗最新研究",
    "max_results": 10
  }
}

服务器收到请求后,会执行 PubMed 检索,并将结果返回给客户端。

信息

分类

数据库与文件