PubMed医学文献搜索工具

一个增强PubMed和PubMed Central医学文献搜索的MCP服务器,提供文献检索、摘要获取、MeSH术语提取等功能,适用于医学研究人员和医疗从业者。

  • by masa061580
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 masa061580/pubmed-mcp-server

使用说明

增强型PubMed搜索MCP服务器

医学文献检索的高机能MCP服务器-完整安装指南

📖 概要

这个MCP(Model Context Protocol)服务器PubMed单击功能区上PubMed Central(PMC)的医学文献检索,是研究者和医疗工作者能有效地检索·管理文献的工具。

🌟 主要机能

🔬 扩张PubMed検索

  • 完整摘要检索: efetch的明细栏样式中定义的设置
  • MeSH用语抽出: 医学件名標目(MeSH)の自動抽出
  • 关键字提取:自动获取论文关键字
  • 打开访问检测:标识全文可用的论文

📖 PMC全文搜索

  • 开放存取论文: PMC查找可用的全文
  • 全文搜索:不仅是标题和摘要,正文也是检索对象

💾 数据库功能

  • 保存搜索结果: SQLite数据库持久化(最多500个)
  • 検索履歴管理:管理和重新获取过去的搜索结果
  • 分页:有效查看大量搜索结果

🔍 详细情报取得

  • 完全要约取得:特定のPMIDの详细情报取得(数値・文字列両对应)
  • DOIPMCID支持:通过各种标识符确定论文

🚀 完整安装指南

第1步:Python安装

Windows对于环境

  1. Python从官方网站下载

  2. 安装执行

    • 运行下载的安装程序
    • ⚠️ 重要:“将Python添加到PATH”にチェックを入れる
    • 「Install Now」来修改标记元素的显示属性
  3. 安装确认

    # コマンドプロンプトまたはPowerShellで実行
    python --version
    pip --version
    

macOS对于环境

  1. Homebrew使用(推荐)

    # Homebrewのインストール(未インストールの場合)
    /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
    
    # Pythonのインストール
    brew install python
    
  2. 或官方安装程序

第2步:需要Python安装软件包

# 必要なパッケージをインストール
pip install fastmcp httpx

步骤3:准备项目文件

  1. 创建工作目录

    # 任意の場所にプロジェクトフォルダを作成
    mkdir "/path/to/your/pubmed-mcp-server"
    cd "/path/to/your/pubmed-mcp-server"
    
  2. GitHub从下载文件

    # Gitクローン(推奨)
    git clone https://github.com/your-username/pubmed-mcp-server.git
    cd pubmed-mcp-server
    
    # または、ZIPファイルをダウンロードして解凍
    
  3. 检查文件配置

    pubmed-mcp-server/
    ├── pubmed.py          # メインのPythonスクリプト
    ├── README.md          # このファイル
    └── requirements.txt   # 依存関係リスト
    

第4步:Claude Desktop配置

4-1. Claude Desktop配置文件位置

窗户:

%APPDATA%\Claude\claude_desktop_config.json

macOS:

~/Library/Application Support/Claude/claude_desktop_config.json

4-2.编辑配置文件

打开配置文件,单击JSON添加设置:

⚠️ Windows那么一定Python的绝对路径

{
  "mcpServers": {
    "pubmed": {
      "command": "C:\\Users\\YourName\\AppData\\Local\\Programs\\Python\\Python311\\python.exe",
      "args": ["/path/to/your/pubmed-mcp-server/pubmed.py"],
      "env": {
        "PYTHONPATH": "/path/to/your/pubmed-mcp-server"
      }
    }
  }
}

⚠️ 重要说明:

  • 视窗: Python的绝对路径(python命令不起作用)
  • macOS/Linux: python3在工作空间的边缘python启用命令
  • 路径是必定请根据你的环境进行变更
  • Windows中选择另一种天花板类型\)为双重:\\

4-3.设定例(环境别)

Windows环境:

{
  "mcpServers": {
    "pubmed": {
      "command": "C:\\Users\\YourName\\AppData\\Local\\Programs\\Python\\Python311\\python.exe",
      "args": ["C:\\path\\to\\your\\pubmed-mcp-server\\pubmed.py"]
    }
  }
}

macOS環境:

{
  "mcpServers": {
    "pubmed": {
      "command": "python3",
      "args": ["/Users/YourName/path/to/pubmed-mcp-server/pubmed.py"]
    }
  }
}

Linux环境:

{
  "mcpServers": {
    "pubmed": {
      "command": "python3",
      "args": ["/home/username/path/to/pubmed-mcp-server/pubmed.py"]
    }
  }
}

4-4. Python路径确认方法

窗户:

# Pythonのインストール場所を確認
where python
# または
py -c "import sys; print(sys.executable)"

macOS/Linux:

# Pythonのインストール場所を確認
which python3
# または
python3 -c "import sys; print(sys.executable)"

步骤5:动作确认

  1. Claude Desktop重新启动

    • 完全退出应用程序
    • 再度起动
  2. 接続确认

    • Claude Desktop开始聊天
    • 左下角🔧」确认图标是否显示
  3. 基本测试

    search_pubmed("COVID-19 vaccine", 5)
    

💡 可用功能

1. PubMed検索 (search_pubmed)

基本用法:

search_pubmed("covid vaccine", 10)

高级搜索语法:

  • 简单搜索: "covid vaccine"
  • 字段定义: "CRISPR"[Title]
  • 日付范围: "therapy AND 2023[Date - Publication]"
  • 复合検索: "gene therapy OR gene editing"
  • 著者検索: "Smith J"[Author]
  • 日志指定: "Nature"[Journal]

参数:

  • query:搜索查询(必需)
  • max_results:最大结果数(默认值:10,最大值:500)

2. PMC全文搜索(search_pmc_fulltext)

使用法:

search_pmc_fulltext("machine learning medical imaging", 20)

查找开放访问论文的全文。

3.获取保存的搜索结果(retrieve_pubmed_results)

使用法:

retrieve_pubmed_results(search_id=1, page=1, results_per_page=10)

参数:

  • search_id:検索ID(必须)
  • page:页码(默认值:1)
  • results_per_page:每页的结果数(默认值:10,最大值:50)

4.显示搜索历史记录(list_pubmed_searches)

使用法:

list_pubmed_searches()

显示过去的搜索历史记录和保存的结果列表。

5.获得完整摘要(get_full_abstract)

✅ 改进-支持数字和字符串:

# どちらの形式でも動作します
get_full_abstract(35504917)      # 数値形式
get_full_abstract("35504917")    # 文字列形式

6.使用帮助(get_abstract_help)

使用法:

get_abstract_help()

get_full_abstract显示功能的使用方法和示例。


📊 搜索结果格式

每篇论文的搜索结果包括:

**Title:** CRISPR-Cas9遺伝子編集技術の医療応用
**Authors:** 田中太郎, 佐藤花子, 山田次郎
**Journal:** Nature Medicine (2023 Dec)
**PMID:** 12345678 | **PMCID:** PMC9876543 | **DOI:** 10.1038/s41591-023-12345-6
**Abstract:** CRISPR-Cas9技術は...
🔓 **Full Text Available:** https://www.ncbi.nlm.nih.gov/pmc/articles/PMC9876543/
✅ **Open Access**
**PubMed Link:** https://pubmed.ncbi.nlm.nih.gov/12345678/
**Keywords:** CRISPR-Cas9, 遺伝子編集, 治療
**MeSH Terms:** Gene Editing, CRISPR-Cas Systems, Therapeutic Applications

🗃️ 数据库结构

searches工作台

|列|类型|说明| |--------|-----|------| | id | INTEGER | 主键| | query | TEXT | 搜索查询 | search_type | TEXT | 搜索类型(pubmed/pmc) | | timestamp | TEXT | 検索日时| |result_count |整数|取得結果数 | | total_found | INTEGER | 総検索结果数|

articles工作台

|列|类型|说明| |--------|-----|------| | id | INTEGER | 主键| | search_id | INTEGER | 查找ID(外键) |pmid |文本| PubMed識別子 | |pmcid |文本| PMC識別子 | | title | TEXT | 标题 | authors | TEXT | 著者 | | journal | TEXT | 日志 | pub_date | TEXT | 発行日 | |二|文字|二| |摘要|文本|要約 | | keywords | TEXT | 关键字 |mesh_terms|TEXT |mesh用語 | |is_open_access|BOOLEAN|オープンアクセス | |pmc_available | BOOLEAN | pmc利用可能 |

数据库文件位置:

Windows: C:\Users\[ユーザー名]\AppData\Local\AnthropicClaude\app-x.x.x\enhanced_pubmed_searches.db
macOS: ~/Library/Application Support/AnthropicClaude/app-x.x.x/enhanced_pubmed_searches.db
Linux: ~/.config/AnthropicClaude/app-x.x.x/enhanced_pubmed_searches.db

🔧 故障排除

常见问题及解决办法

1.“python:找不到命令”エラー

原因: Python未安装PATH未设置 解决法:

  • Python重新安装「Add to PATH」检查
  • 或者,在设置中python3使用

2.“ModuleNotFoundError:没有名为'fastmcp'的模块”

原因: 未安装所需的软件包 解决法:

pip install fastmcp httpx

3. Claude Desktop单击功能区上MCP未检测到服务器

原因: 配置文件格式错误或路径错误 解决法:

  • JSON确认格式(逗号、括号位置)
  • 使用绝对路径指定文件路径
  • 视窗: Python使用的绝对路径(python命令不可用)
  • Claude Desktop完全重新启动

4.“Invalid PMID format”错误

原因: PMID不正确的形式 解决法:

  • PMID确认为8位数字
  • 数値形式(12345678)或字符串格式("12345678")输入

5.未显示搜索结果

原因: 网络连接或NCBI API问题 解决法:

  • 检查互联网连接
  • 每隔一段时间重试

日志确认方法

窗户:

# コマンドプロンプトで実行:
"C:\Users\YourName\AppData\Local\Programs\Python\Python311\python.exe" "C:\path\to\your\pubmed-mcp-server\pubmed.py"

macOS/Linux:

# ターミナルで実行:
python3 /path/to/your/pubmed-mcp-server/pubmed.py

🌐 API制限と配慮事項

NCBI API制限

  • 汇率限制:3请求/秒(自动控制)
  • 超时: 30秒
  • 用户代理:适当的User-Agent设置页眉

错误处理

  • 连接错误:解决网络问题
  • API制限:自动调整汇率限制
  • 数据分析错误: XML珀斯失败时的处理

📝 使用例

基本的COVID-19ー研究

result = search_pubmed("COVID-19 vaccine efficacy", 15)

特定ー2023年研究

result = search_pubmed("cancer immunotherapy AND 2023[Date - Publication] AND Nature[Journal]", 10)

PMC在中查找全文

result = search_pmc_fulltext("artificial intelligence medical diagnosis", 20)

检索保存的搜索结果

searches = list_pubmed_searches()  # 検索履歴の確認
result = retrieve_pubmed_results(search_id=3, page=2)  # 特定検索の2ページ目

特定论文の详细情报取得

# 両方の形式が利用可能
abstract = get_full_abstract(35504917)     # 数値形式
abstract = get_full_abstract("35504917")   # 文字列形式

📄 许可证

这个项目是开源的。设想用于研究和教育目的。

⚠️ 免责事项

这个检索结果只把提供信息作为目的,不应该作为医学的建议。关于医学上的担忧,请咨询医疗工作者。


🤝 貢献

我们欢迎报告错误和改进功能的建议。

📈 更新履歴

v1.2 (最新)

  • get_full_abstract改进功能(支持数字和字符串)
  • get_abstract_help添加帮助功能
  • 最大存储数扩展到500个
  • 错误处理改进

v1.1

  • 添加完整的摘要检索功能
  • PMC实施集成
  • MeSH提取术语和关键字
  • 增强的数据库功能
  • 错误处理改进

v1.0

  • 基本的PubMed搜索功能
  • 初始版本

📞 支持

如果出现问题,请检查:

  1. Python的版本: 3.8以上
  2. 所需包: pip list确认
  3. 配置文件: JSON形式是否正确
  4. 文件路径:在绝对路径中精确指定
  5. Claude Desktop重新启动:更改设置后必需

这样就完全可以设置和使用了!🎉