Pubtator について
Pubtatorは、NCBI/NLMのPubTator 3を通じて、生物医学研究者向けにエンティティと文献を検索します。機械抽出された遺伝子、疾患、化学物質、変異の関係も照会できます。
主な機能
- 01生物医学エンティティを解決・正規化
- 02テキストやエンティティで文献検索
- 03抽出されたエンティティ関係を照会
- 04関係を裏付ける文章を確認
- 05論文のエンティティ注釈を取得
活用シーン
- 01遺伝子に言及する文献を検索
- 02薬剤と疾患の関係を調査
- 03抽出された関係の文献根拠を確認
MCP 対応
MCP サーバーとして、エンティティ解決、文献検索、関係照会、根拠、注釈のためのPubTator 3ツールを公開します。Pipeworx ゲートウェイ経由で接続するか、ローカルのstdioで実行できます。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://gateway.pipeworx.io/pubtator/mcpclaude mcp add --transport http pipeworx-io-pubtator https://gateway.pipeworx.io/pubtator/mcp{"mcpServers":{"pipeworx-io-pubtator":{"type":"http","url":"https://gateway.pipeworx.io/pubtator/mcp"}}}Cursor で開く{"servers":{"pipeworx-io-pubtator":{"type":"http","url":"https://gateway.pipeworx.io/pubtator/mcp"}}}VS Code で開く{"mcpServers":{"pipeworx-io-pubtator":{"type":"http","url":"https://gateway.pipeworx.io/pubtator/mcp"}}}{"mcpServers":{"pipeworx-io-pubtator":{"serverUrl":"https://gateway.pipeworx.io/pubtator/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
詳細
@pipeworx/pubtator
エンティティによる生物医学文献の検索に加え、約3,600万件のPubMed抄録とPMCオープンアクセス全文からPubTator 3が抽出した遺伝子・疾患・化学物質・バリアントの関係を検索できます。各関係には機械抽出のラベルが付き、抽出元の文も含まれます。NCBI / NLMが運営するPubTator 3 APIを利用しています。遺伝子レベルの検索(mygene-info、pubmed)と、それらに言及する文献をつなぎます。
Pipeworxの一部です。AI エージェントを1,715以上の稼働中データソースにつなぐMCPゲートウェイです。これは独立した非公式の連携機能であり、上流のプロバイダーとの提携、承認、公開はありません。
ツール
pubtator_find_entity(query, concept?, limit?)— 遺伝子、疾患、化学物質、バリアント、種、または細胞株の名称を、正規化されたPubTator ID(@GENE_BRCA1/ NCBI Gene 672、@DISEASE_Breast_Neoplasms/ MeSH D001943)に解決します。「XをIDで検索するには、どのIDを使えばよいか」という問いに答えます。pubtator_search(query, page?)— フリーテキスト、AND/ORで結合したエンティティID、または関係クエリ(relations:treat|@CHEMICAL_Doxorubicin|@DISEASE_Breast_Neoplasms)で文献を検索します。各検索結果には、エンティティへの言及をデコードした一致文(text、entity、正規化されたids、matched_query)、PMID、PMCID、DOI、ジャーナル、日付が含まれます。1ページあたり10件で、total_resultsとtotal_pagesが返されます。pubtator_relations(entity, type?, target?, limit?, evidence_for?)— エンティティについてPubTator 3が抽出した関係(疾患を治療する薬、疾患に関連する遺伝子など)を、supporting_publicationsの数に基づいて順位付けして返します。上位evidence_for件の関係(デフォルトは3件、最大5件)には、それぞれ最大3件の裏付けとなる文章が含まれます。PubTator IDまたは通常の名称を指定できます(オートコンプリートで解決され、一致した名称はresolved_fromに示されます)。pubtator_relation_evidence(type, entity1, entity2, page?)— 特定の関係を裏付けるすべての文章を、PMIDとともに1ページあたり10件返します。pubtator_relationsが返した関係を監査する際に使用します。pubtator_annotations(pmids, full_text?)— 最大20件のPMIDについて、エンティティのアノテーションを返します。タイトルと抄録(full_text: trueの場合はPMC全文)に含まれるすべての言及を、文字オフセットとともにNCBI Gene/MeSH/dbSNP/Taxonomyに正規化します。また、各論文内で抽出された関係も返します。
認証
キーは不要です。
データソース
- https://www.ncbi.nlm.nih.gov/research/pubtator3-api/entity/autocomplete/?query=BRCA1&concept=gene&limit=10
— エンティティ名から
@TYPE_Name形式の ID を取得します。元となるデータベース ID も含まれます。 - https://www.ncbi.nlm.nih.gov/research/pubtator3-api/search/?text=...&page=1
— 論文検索です。
text_hlは PubTator のインラインエンティティ形式で、一致した文を返します。このパックでデコードされます。 - https://www.ncbi.nlm.nih.gov/research/pubtator3-api/relations?e1=@GENE_BRCA1&type=associate&e2=... — 根拠となる出版物数を含む、抽出された関係です。
- https://www.ncbi.nlm.nih.gov/research/pubtator3-api/publications/export/biocjson?pmids=31022191&full=true — すべてのアノテーションと記事内の関係を含む BioC JSON です。
次に作業する人が再発見せずに済む情報:
- エンティティ ID は名前ベースで、大文字と小文字が区別されます。 API では
@GENE_BRCA1、@DISEASE_Breast_Neoplasms、@CHEMICAL_Doxorubicinが必要です。@GENE_672や@DISEASE_MESH_D001943ではありません。データベース ID 形式で検索すると、エラーなしでcount: 0の HTTP 200 が返されます。そのため、このパックでは@で始まらないすべてのエンティティ引数をオートコンプリート経由で取得します。 - すべてテキストマイニングによる予測です。 PubTator 3 の関係はニューラル関係抽出モデルによって、アノテーションはエンティティ認識器(GNormPlus、TaggerOne、tmVar…)によって生成されます。人手でキュレーションされたものはありません。各関係とアノテーションのエンベロープには、その旨を示す
extractionフィールドがあります。supporting_publicationsはモデルの根拠件数であり、キュレーション状況を示すものではありません。 - 関係クエリではエンティティの順序は無視されます。
relations:associate|A|Bとrelations:associate|B|Aは同じ件数を返します。関係タイプは 12 種類です:associate、cause、compare、cotreat、drug_interact、inhibit、interact、negative_correlate、positive_correlate、prevent、stimulate、treat。 text_hlのエンコード形式。@<m>GENE_BRCA1</m> @GENE_672 @@@BRCA1@@@-mutatedは、ID トークン(一致したクエリは<m>で囲まれます)の後に、表層形のメンションが@@@で囲まれていることを意味します。ID トークンは@@が後に続かない@です。デコーダーの初期版では@@@BRCA@@@を ID として扱い、2 つのメンションを 1 つに結合していました。- オートコンプリートの概念。
gene、disease、chemical、variantは結果が多い一方、speciesとcelllineは一般的な名前(「mouse」、「HeLa」)に対して[]を返します。エンティティが存在しないと結論づける前に、概念フィルターを外してください。 - 全文は大きくなります。 PMC のオープンアクセス記事で
full=trueを指定すると、100 件を超えるパッセージ(PMID 31022191 では 119 件)が返され、ドキュメント ID は PMC 番号になります。PMID は最初のパッセージにあるarticle-id_pmidから取得できます。パッセージは 1,500 文字で切り詰められ、truncated: trueが設定されます。 - ページサイズは上流の API によって 10 件に固定されています。
sizeパラメーターはありません。
クイックスタート
MCP クライアント(Claude Desktop、Cursor、Windsurf など)に追加します:
{
"mcpServers": {
"pubtator": {
"url": "https://gateway.pipeworx.io/pubtator/mcp"
}
}
}
このエンドポイントが実際に提供するもの
https://gateway.pipeworx.io/pubtator/mcp の tools/list は、上記の表にあるツールに加えて、共有 Pipeworx メタツールである ask_pipeworx、discover_tools、search_within、remember/recall など、ゲートウェイ全体で利用できるツール一式も返します。そのため、表示されるツール数はこの表より多くなります。現在、単一パックのエンドポイントには、パック独自のツールに加えて、共有ツールが約 30 個表示されます。接続の initialize レスポンスに正確な対象範囲が記載されており、その日の状況を確認する際の正式な情報源となります。
これは意図的な動作であり、偶然の多重化ではありません。メタツールを使えば、ask_pipeworx を通じてカタログ全体にルーティングできるため、このパックでは対応できない質問にも、2 つ目の MCP サーバーを追加せずに回答できます。現在、メタツールを含めずにパックのエンドポイントをマウントする方法はありません。追加のスキーマによるコンテキスト消費がルーティングの利点を上回る場合は、複数のパックエンドポイントではなく、フルゲートウェイに一度だけ接続してください。
または、Pipeworx のフルゲートウェイに接続すると、このパックだけでなく、すべてのパックのツールを直接一覧表示できます。
{
"mcpServers": {
"pipeworx": {
"url": "https://gateway.pipeworx.io/mcp"
}
}
}
どちらの URL も、同じゲートウェイと同じ 1715+ 件のデータソースに接続します。違いは、どのパックのツールが直接一覧表示されるかだけです。どちらからも ask_pipeworx を使って、すべてのツールにアクセスできます。
MCP クライアントがない場合:HTTP で呼び出す
curl -X POST https://gateway.pipeworx.io/v1/tools/pubtator_find_entity \
-H 'Content-Type: application/json' \
-d '{"query":"BRCA1","concept":"gene","limit":5}'
最初の呼び出しにアカウントは必要ありません。任意のツールを確認するには、GET https://gateway.pipeworx.io/v1/tools/pubtator_find_entity を実行します。ツールを検索するには、{"query":"..."} を指定して POST https://gateway.pipeworx.io/v1/tools/search_packs を実行します。
スタンドアロン(ゲートウェイアカウント不要)
このパッケージは、ローカルの stdio MCP サーバーとしても実行できます。Pipeworx アカウントも、ゲートウェイとの往復通信も不要です。
{
"mcpServers": {
"pubtator": {
"command": "npx",
"args": ["-y", "@pipeworx/mcp-pubtator"]
}
}
}
または、直接実行して起動することを確認できます。
npx -y @pipeworx/mcp-pubtator
stdin/stdout 経由で MCP を通信し、このパックのツールのみを対象に initialize/tools/list/tools/call に応答します。上記のゲートウェイ接続で追加される共有メタツールは含まれません。同じソース、同じツールで、ask_pipeworx によるルーティングはありません。
ask_pipeworx を使う
ツールを直接呼び出す代わりに、平易な英語で質問できます。上記のパックエンドポイントでも、フルゲートウェイでも利用できます。
ask_pipeworx({ question: "your question about Pubtator data" })
ゲートウェイが適切なツールを選択し、引数を自動的に設定します。
その他
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。