Skip to main content
Glama

PubTator-MCP-Server

MIT License
  • Linux
  • Apple

PubTator MCP サーバー

🔍 PubTator3 に基づく生物医学文献の注釈および関係マイニング サーバー。MCP インターフェイスを介して便利なアクセスを提供します。

PubTator MCPサーバーは、モデルコンテキストプロトコル(MCP)を介してAIアシスタントにPubTator3生物医学文献アノテーションシステムへのアクセスを提供します。これにより、AIモデルはプログラムによって科学文献を検索し、アノテーション情報を取得し、エンティティ関係を分析できるようになります。

🤝 貢献する • 📝 問題を報告する

✨ コア機能

  • 🔎 文献注釈のエクスポート: PubTator 注釈の結果を複数の形式でエクスポートできるようになりました ✅
  • 🚀 エンティティID検索: フリーテキストで生物学概念の標準識別子を検索 ✅
  • 📊 関係性マイニング: エンティティ間の生物医学的関係性を発見する ✅
  • 📄 文献検索: キーワードとエンティティIDによる文献検索をサポートします ✅
  • 🧠 バッチ処理: 検索結果からの注釈情報のバッチエクスポートをサポート ✅

🚀 クイックスタート

要件

  • Python 3.10以上
  • FastMCPライブラリ

インストール

スミザリー経由

Smitheryを使用して PubTator Server を自動的にインストールします。

クロード
npx -y @smithery/cli@latest install @JackKuo666/pubtator-mcp-server --client claude --config "{}"
カーソル

設定 → カーソル設定 → MCP → 新しいサーバーの追加を貼り付けます。

  • Mac/Linux
npx -y @smithery/cli@latest run @JackKuo666/pubtator-mcp-server --client cursor --config "{}"
ウィンドサーフィン
npx -y @smithery/cli@latest install @JackKuo666/pubtator-mcp-server --client windsurf --config "{}"
Cライン
npx -y @smithery/cli@latest install @JackKuo666/pubtator-mcp-server --client cline --config "{}"
手動インストール
  1. リポジトリをクローンします。
    git clone https://github.com/JackKuo666/PubTator-MCP-Server.git cd PubTator-MCP-Server
  2. 依存関係をインストールします:
    pip install -r requirements.txt

📊 使用方法

サーバーを直接実行する

MCP サーバーを起動します。

python pubtator_server.py

サーバーはstdioとTCPの両方のトランスポートをサポートするようになりました。デフォルトではTCPトランスポートを使用します。以下の環境変数を設定できます。

  • MCP_TRANSPORT : TCPトランスポートの場合は「tcp」、stdioトランスポートの場合は「stdio」に設定します(デフォルトは「tcp」です)
  • MCP_HOST : バインドするホスト(デフォルトは「0.0.0.0」)
  • MCP_PORT : リッスンするポート(デフォルトは8080)

カスタム設定でサーバーを起動する例:

MCP_TRANSPORT=tcp MCP_HOST=127.0.0.1 MCP_PORT=8888 python pubtator_server.py

サーバーは遅延初期化と適切なエラー処理を実装しています。シャットダウンシグナル(SIGINTおよびSIGTERM)を適切に処理し、起動時または操作中に発生したエラーをすべてログに記録します。

Dockerの使用

簡単にデプロイできるよう、Dockerfileを提供しています。Dockerコンテナを使用するには、以下の手順に従ってください。

  1. Docker イメージをビルドします。
    docker build -t pubtator-mcp-server .
  2. Docker コンテナを実行します。
    docker run -p 8080:8080 pubtator-mcp-server

これにより、Docker コンテナ内で PubTator MCP サーバーが起動し、ポート 8080 で公開されます。

トラブルシューティング

サーバーの起動中に問題が発生した場合:

  1. コンソール出力でエラー メッセージを確認します。
  2. 必要な依存関係がすべてインストールされていることを確認します (要件セクションを参照)。
  3. 環境変数が正しく設定されていることを確認します。
  4. サーバーの起動に失敗した場合は、詳細度を上げて実行してみてください。
python -v pubtator_server.py

これにより、問題の原因を特定するために役立つ、より詳細なログ情報が提供されます。

Docker を使用する場合、次のコマンドでログを確認できます。

docker logs <container_id>

構成

クロードデスクトップ構成

claude_desktop_config.jsonに追加:

(Mac OS)

{ "mcpServers": { "pubtator": { "command": "python", "args": ["-m", "pubtator-mcp-server"] } } }

(ウィンドウズ)

{ "mcpServers": { "pubtator": { "command": "C:\\Users\\YOUR\\PATH\\miniconda3\\envs\\mcp_server\\python.exe", "args": [ "D:\\code\\YOUR\\PATH\\PubTator-MCP-Server\\pubtator_server.py" ], "env": {}, "disabled": false, "autoApprove": [] } } }
CLine構成
{ "mcpServers": { "pubtator": { "command": "bash", "args": [ "-c", "source /home/YOUR/PATH/mcp-server-pubtator/.venv/bin/activate && python /home/YOUR/PATH/pubtator_server.py" ], "env": { "MCP_TRANSPORT": "stdio" }, "disabled": false, "autoApprove": [] } } }

TCP トランスポートを使用するには、次のように構成を変更します。

{ "mcpServers": { "pubtator": { "command": "bash", "args": [ "-c", "source /home/YOUR/PATH/mcp-server-pubtator/.venv/bin/activate && python /home/YOUR/PATH/pubtator_server.py" ], "env": { "MCP_TRANSPORT": "tcp", "MCP_HOST": "127.0.0.1", "MCP_PORT": "8888" }, "disabled": false, "autoApprove": [] } } }

🛠 API 機能

PubTator MCP サーバーは、次のコア機能を提供します。

1. 出版物のエクスポート (export_publications)

指定された PMID 文献の PubTator 注釈結果をエクスポートします。

result = await export_publications( ids=["32133824", "34170578"], id_type="pmid", format="biocjson", # Supported: pubtator, biocxml, biocjson full_text=False # Whether to include full text )

2. エンティティID検索(find_entity_id)

自由テキストを通じて生物学概念の標準識別子を照会します。

result = await find_entity_id( query="COVID-19", concept="disease", # Optional: gene, disease, chemical, species, mutation limit=5 # Optional: limit number of results )

指定したエンティティに関連する他のエンティティを検索します。

result = await find_related_entities( entity_id="@DISEASE_COVID_19", relation_type="treat", # Optional: treat, cause, interact, etc. target_entity_type="chemical", # Optional: gene, disease, chemical max_results=5 # Optional: limit number of results )

4. 文献検索(search_pubtator)

PubTator データベースを検索:

results = await search_pubtator( query="COVID-19", max_pages=1 # Optional: maximum number of pages to retrieve )

文献注釈の検索と一括エクスポート:

results = await batch_export_from_search( query="COVID-19", format="biocjson", max_pages=1, full_text=False, batch_size=5 )

注: 実際の関数呼び出しは実装によって異なる場合があります。これらの例は最近のテストに基づいており、実際のAPIに合わせて調整する必要がある場合があります。

⚠️ 使用制限

  • API リクエストレート制限: 1 秒あたり最大 3 リクエスト
  • バッチエクスポートの場合は、リクエストのタイムアウトを回避するために適切なbatch_sizeを使用してください。
  • 関係クエリの場合、エンティティ ID は「@」で始まる必要があります(例:「@DISEASE_COVID-19」)。

📄 ライセンス

このプロジェクトは MIT ライセンスに基づいてライセンスされています。

⚠️免責事項

このツールは研究目的のみにご使用ください。PubTatorの利用規約を遵守し、責任を持ってご利用ください。

-
security - not tested
A
license - permissive license
-
quality - not tested

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

🔍 PubTator3 に基づく生物医学文献の注釈および関係マイニング サーバー。MCP インターフェイスを介して便利なアクセスを提供します。

  1. ✨ コア機能
    1. 🚀 クイックスタート
      1. 要件
      2. インストール
    2. 📊 使用方法
      1. サーバーを直接実行する
      2. Dockerの使用
      3. トラブルシューティング
      4. 構成
    3. 🛠 API 機能
      1. 出版物のエクスポート (export\_publications)
      2. エンティティID検索(find\_entity\_id)
      3. 関係クエリ(find\_related\_entities)
      4. 文献検索(search\_pubtator)
      5. バッチエクスポート(batch\_export\_from\_search)
    4. ⚠️ 使用制限
      1. 📄 ライセンス
        1. ⚠️免責事項

          Related MCP Servers

          • A
            security
            A
            license
            A
            quality
            An MCP server that provides access to PubMed articles through the Entrez API.
            Last updated -
            2
            76
            Python
            MIT License
            • Apple
          • -
            security
            A
            license
            -
            quality
            Server to search PubMed (PubMed is a free, online database that allows users to search for biomedical and life sciences literature). I have created on a day MCP came out but was on vacation, I saw someone post similar server in your DB, but figured to post mine.
            Last updated -
            1
            1
            Python
            MIT License
            • Apple
          • -
            security
            F
            license
            -
            quality
            An MCP server implementation that enables searching and retrieving research articles from PubMed with specific focus on open access content filtering and full-text link retrieval.
            Last updated -
            4
            3
            JavaScript
          • -
            security
            F
            license
            -
            quality
            Enables search and retrieval of academic papers from PubMed database with advanced features like MeSH term lookup, publication statistics, and PICO-based evidence search.
            Last updated -
            Python
            • Apple

          View all related MCP servers

          MCP directory API

          We provide all the information about MCP servers via our MCP API.

          curl -X GET 'https://glama.ai/api/mcp/v1/servers/JackKuo666/PubTator-MCP-Server'

          If you have feedback or need assistance with the MCP directory API, please join our Discord server