Skip to main content
Glama
andybrandt

mcp-simple-pubmed

by andybrandt

MCPシンプルPubMed

鍛冶屋のバッジ

Entrez API を通じて PubMed 記事へのアクセスを提供する MCP サーバー。

特徴

  • キーワードを使用してPubMedデータベースを検索

  • 論文の要約にアクセスする

  • 入手可能な場合は全文をダウンロードしてください(オープンアクセス記事はPubMedで直接入手できます)

このツールはXML形式の全文を返します。ただし、文書の構造に関する追加情報を提供するため、「人間が読める」テキストよりもAIにとってより有用です。少なくとも、Claude 3.5 Sonnet氏はXML形式の方が好ましいと述べています。

なお、このツール、そしておそらく他のツールが論文の全文を表示できないのは、必ずしも論文が利用できないからではないことにご注意ください。このツールをテストしていた際、PubMedに全文が掲載されていない論文に遭遇しました。Claudeが(DOI経由で取得した)fetchを使って論文のURLにアクセスしたところ、「forbidden(アクセス不可)」というエラーが発生しました。しかし、私は通常のブラウザを使って同じページにアクセスできました。

つまり、AI アシスタントがこのツールを使用して論文の全文を取得できない場合は、通常の Web ブラウザで手動で試してみる価値があります。

最後に、このツールでは当然ながら有料論文にアクセスすることはできません。図書館のアクセスを通して、あるいは最後の手段として、公的資金による研究を無料で公開することを目指している特定のサイトを通じて、論文を読むことはできるかもしれません。

Related MCP server: mcp-pubmed

インストール

Smithery経由でインストール

Smithery経由で Claude Desktop 用の Simple PubMed を自動的にインストールするには:

npx -y @smithery/cli install mcp-simple-pubmed --client claude

手動インストール

pip install mcp-simple-pubmed

構成

サーバーには次の環境変数が必要です。

  • PUBMED_EMAIL : あなたのメールアドレス(NCBIで必須)

  • PUBMED_API_KEY : レート制限を高くするためのオプションの API キー

標準的なレート制限は3リクエスト/秒です。通常の使用シナリオでは、AIがこれ以上のトラフィックを生成する可能性は低いため、レート制限は実装されていません。必要な場合は、10リクエスト/秒のAPIキーを登録できます。詳細はNCBIのページをご覧ください。

Claude Desktopでの使用

Claude Desktop 構成 ( claude_desktop_config.json ) に追加します。

(Mac OS)

{
  "mcpServers": {
    "simple-pubmed": {
      "command": "python",
      "args": ["-m", "mcp_simple_pubmed"],
      "env": {
        "PUBMED_EMAIL": "your-email@example.com",
        "PUBMED_API_KEY": "your-api-key" 
      }
    }
  }
}

(ウィンドウズ)

{
  "mcpServers": {
    "simple-pubmed": {
      "command": "C:\\Users\\YOUR_USERNAME\\AppData\\Local\\Programs\\Python\\Python311\\python.exe",
      "args": [
        "-m",
        "mcp_simple_pubmed"
      ],
      "env": {
        "PUBMED_EMAIL": "your-email@example.com",
        "PUBMED_API_KEY": "your-api-key" 
      }
    }
  }
}

ライセンス

MITライセンス

Available Tools

2 tools
get_paper_fulltextGet a paper's full textA
Read-only

Get full text of a PubMed article using its ID.

This tool attempts to retrieve the complete text of the paper if available through PubMed Central. If the paper is not available in PMC, it will return a message explaining why and provide information about where the text might be available (e.g., through DOI).

Example usage: get_paper_fulltext(pmid="39661433")

Returns:

  • If successful: The complete text of the paper

  • If not available: A clear message explaining why (e.g., "not in PMC", "requires journal access")

ParametersJSON Schema
NameRequiredDescriptionDefault
pmidYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate readOnlyHint=true and openWorldHint=true, but the description adds valuable behavioral context: it explains that retrieval depends on availability in PubMed Central, describes fallback behavior (returning messages with explanations), and mentions alternative sources like DOI. This enhances transparency beyond the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured and front-loaded with the core purpose, followed by behavioral details and example usage. Every sentence adds value without redundancy, making it efficient and easy to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (fetching full text with fallbacks), the description is complete: it covers purpose, usage, behavior, and output scenarios. With an output schema present, it appropriately omits detailed return value explanations, focusing on high-level outcomes like success/failure messages.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, but the description compensates by explaining that the 'pmid' parameter is used to identify the PubMed article. However, it does not provide additional details like format constraints or examples beyond the basic usage. With one parameter and no schema descriptions, the baseline is met but not exceeded.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific action ('retrieve the complete text') and resource ('PubMed article using its ID'), distinguishing it from the sibling tool 'search_pubmed' which likely searches rather than fetches full text. It explicitly mentions PubMed Central as the source, adding specificity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context on when to use this tool (to get full text of a PubMed article by ID) and implies when not to use it (if you need to search, use 'search_pubmed'). However, it does not explicitly name the alternative or detail exclusions, such as handling non-PubMed IDs.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_pubmedSearch articles about medical and life sciences research available on PubMed.A
Read-only

Search PubMed for medical and life sciences research articles.

You can use these search features:

  • Simple keyword search: "covid vaccine"

  • Field-specific search:

    • Title search: [Title]

    • Author search: [Author]

    • MeSH terms: [MeSH Terms]

    • Journal: [Journal]

  • Date ranges: Add year or date range like "2020:2024[Date - Publication]"

  • Combine terms with AND, OR, NOT

  • Use quotation marks for exact phrases

Examples:

  • "covid vaccine" - basic search

  • "breast cancer"[Title] AND "2023"[Date - Publication]

  • "Smith J"[Author] AND "diabetes"

  • "RNA"[MeSH Terms] AND "therapy"

The search will return:

  • Paper titles

  • Authors

  • Publication details

  • Abstract preview (when available)

  • Links to full text (when available)

  • DOI when available

  • Keywords and MeSH terms

Note: Use quotes around multi-word terms for best results.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes
max_resultsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate readOnlyHint=true and openWorldHint=true, which the description aligns with by describing a search operation. The description adds valuable behavioral context beyond annotations, such as available search features, return format details (e.g., paper titles, authors, abstract preview), and performance tips, though it doesn't mention rate limits or authentication needs.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured and front-loaded with the core purpose, followed by bullet points and examples that efficiently convey usage without unnecessary details. Every sentence adds value, making it concise and easy to scan.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (search with multiple features), low schema coverage (0%), and presence of an output schema, the description is complete enough. It thoroughly explains search capabilities, return values, and usage, compensating for the lack of schema descriptions and leveraging the output schema for return format details.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With schema description coverage at 0%, the description compensates well by explaining the 'query' parameter through search features and examples, and it implies the 'max_results' parameter by mentioning return details. However, it doesn't explicitly define 'max_results' or its default value, leaving some gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Search PubMed for medical and life sciences research articles.' This specifies the verb ('Search'), resource ('PubMed'), and domain ('medical and life sciences research articles'), distinguishing it from the sibling tool 'get_paper_fulltext' which presumably retrieves full text rather than searching.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit guidance on when to use this tool by detailing search features and examples, and it implicitly distinguishes from the sibling tool 'get_paper_fulltext' by focusing on search functionality rather than full-text retrieval. It also includes a note on best practices ('Use quotes around multi-word terms for best results').

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 2 tool updatesv1.0.0
    • First observedget_paper_fulltext
    • First observedsearch_pubmed

TDQS

A4.2/5.0

Scored across 2 tools

Disambiguation5/5

The two tools have clearly distinct purposes: get_paper_fulltext retrieves the full text of a specific article by ID, while search_pubmed performs keyword-based searches across the PubMed database. There is no overlap or ambiguity between these functions.

Naming Consistency5/5

Both tools follow a consistent verb_noun naming pattern: get_paper_fulltext and search_pubmed. The naming is clear and predictable, with no deviations in style or convention.

Tool Count3/5

With only two tools, the server feels thin for a PubMed interface, as it lacks operations like fetching paper metadata, filtering search results, or managing citations. While the tools cover basic retrieval and search, more comprehensive coverage would typically require additional tools.

Completeness2/5

The tool set is significantly incomplete for a PubMed domain. It lacks essential operations such as get_paper_metadata (for details like authors, journal, abstract without full text), filter_search_results, or citation-related tools. This will likely cause agent failures when trying to perform common PubMed tasks beyond simple search and full-text retrieval.

Maintenance

ActivityInactive
ResponsivenessUnresponsive

Related MCP Connectors

Related MCP Servers

  • -
    license
    Not graded
    quality
    Not graded
    maintenance
    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.
    8 npm
    3
    -
  • A
    license
    A
    quality
    D
    maintenance
    An MCP server that provides access to PubMed and NCBI's biomedical literature database for searching articles, retrieving metadata, and tracking citations. It enables users to explore related research, browse MeSH vocabulary, and find free full-text links.
    6
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    An MCP server that provides direct access to PubMed and PubMed Central via the NCBI E-utilities API. It enables AI models to search biomedical literature, retrieve detailed article metadata, and download open-access full texts.
    5
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    MCP server for searching PubMed scientific articles using NCBI E-utilities API. Supports query, fetch summaries, and full text retrieval with caching and rate limiting.
    18 npm
    ISC