PubMed 拡張検索 MCP サーバー
PubMed データベースから学術論文を検索および取得するための強化されたツールを提供するモデル コンテンツ プロトコル サーバー。MeSH 用語検索、出版数統計、PICO ベースの証拠検索などの追加機能も備えています。
特徴
オプションのジャーナルフィルターを使用してキーワードでPubMedを検索します
関連性または日付による結果の並べ替えをサポート(最新/古い順)
検索語に関連するMeSH(Medical Subject Headings)用語を取得します
複数の検索用語の出版物数を取得する(普及率を比較するのに便利)
抄録、DOI、著者、キーワードなどの詳細な論文情報を取得します
同義語や組み合わせクエリをサポートする構造化されたPICOベースの検索を実行します。
Related MCP server: Academic Paper Search MCP Server
インストール
前提条件
Python 3.6以上
ピップ
インストール
このリポジトリをクローンします:
git clone https://github.com/leescot/pubmed-mcp-smithery cd pubmed-mcp-smithery依存関係をインストールします:
pip install fastmcp requests
使用法
ローカルで実行
サーバーを起動します。
自動リロード付き開発モードの場合:
Claudeデスクトップに追加
Claude Desktop 構成ファイル ( CLAUDE_DIRECTORY/claude_desktop_config.json ) を編集して、サーバーを追加します。
MCP機能
サーバーは次の主な機能を提供します。
search_pubmed- オプションのジャーナルフィルタリングを使用して、キーワードに一致する記事を PubMed で検索します。# Example results = await search_pubmed( keywords=["diabetes", "insulin resistance"], journal="Nature Medicine", num_results=5, sort_by="date_desc" )get_mesh_terms- 医学的概念に関連するMeSH用語を検索する# Example mesh_terms = await get_mesh_terms("diabetes")get_pubmed_count- 複数の検索語句の出版物の数を取得する# Example counts = await get_pubmed_count(["diabetes", "obesity", "hypertension"])format_paper_details- PMIDで特定の論文の詳細情報を取得します# Example paper_details = await format_paper_details(["12345678", "87654321"])pico_search- 同義語を使った構造化されたPICO(人口、介入、比較、結果)検索を実行します# Example pico_results = await pico_search( p_terms=["diabetes", "type 2 diabetes", "T2DM"], i_terms=["metformin", "glucophage"], c_terms=["sulfonylurea", "glipizide"], o_terms=["HbA1c reduction", "glycemic control"] )
PICO検索機能
PICO 検索ツールは、次の方法で研究者が証拠に基づく文献検索を行うのに役立ちます。
各PICO要素に複数の同義語を許可する
OR演算子を使用して各要素内の用語を結合する
要素間の AND 結合を実行する (P AND I、P AND I AND C など)
それぞれの組み合わせについて、検索クエリと公開数の両方を返す
このアプローチは、研究の質問を絞り込み、最も関連性の高い文献を特定するのに役立ちます。
レート制限
サーバーは、NCBI の E-utilities サービスによる潜在的なレート制限に対処するために、バックオフ遅延を備えた自動再試行メカニズムを実装しています。
ライセンス
このプロジェクトは、BSD 3 条項ライセンスに基づいてライセンスされています。詳細については、LICENSE ファイルを参照してください。