Skip to main content
Glama
cyanheads

pubmed-mcp-server

by cyanheads

Pubmed Fetch Citation Metrics

pubmed_fetch_citation_metrics
Read-only

Fetch NIH iCite citation metrics for PubMed articles by PMID, including Relative Citation Ratio, NIH percentile, and citation counts, to assess research impact and translation potential.

Instructions

Fetch NIH iCite citation metrics for PubMed articles: the Relative Citation Ratio (RCR), NIH percentile, citation count, citations per year, expected and field citation rates, the Approximate Potential to Translate (APT), the human, animal, and molecular/cellular shares of each article's MeSH terms, and how many clinical articles cite it. RCR is a field- and year-normalized citation rate benchmarked to NIH-funded papers, whose median RCR is 1.0; iCite computes none for the most recent papers and marks recent ones provisional. iCite does not flag retractions — a retracted article keeps its metrics — so check pubmed_fetch_articles for retraction notices before relying on a record. Up to 1000 PMIDs per call; the first 200 distinct PMIDs are fetched and the rest returned in overLimit. PMIDs iCite has no record for are listed in unavailablePmids.

Input Schema

NameRequiredDescriptionDefault
pmidsYesPubMed IDs to look up (e.g. ["23456789"]). The first 200 distinct PMIDs are fetched; the rest are returned in `overLimit`. Leading zeros are ignored, so "00023456789" and "23456789" name one article.

Output Schema

NameRequiredDescriptionDefault
errorNoPresent when the call failed. Absent on success.
noticeNoNames the PMIDs iCite had no record for, records not yet scored, records with no RCR or a provisional one, and PMIDs past the per-call limit with how to fetch them. Absent when every record came back final and complete.
recordsNoOne record per fetched PMID iCite knows, in request order.
overLimitNoPMIDs the call named past the per-call fetch limit. Present only when the call named more distinct PMIDs than one call fetches.
unavailablePmidsNoRequested PMIDs within the per-call limit that NIH iCite has no record for, in request order, under the spelling sent. iCite omits a PMID it has no record for without an error, so the absence says nothing about whether PubMed has the article; pubmed_fetch_articles confirms that.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv2.11.1

TDQS

A4.6/5.0
Behavior5/5

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

Annotations only cover readOnly/openWorld, and the description adds substantial behavior: 200-distinct-PMID truncation with the remainder surfaced in `overLimit`, missing records in `unavailablePmids`, RCR being field/year-normalized with NIH median 1.0, recent papers lacking or having provisional RCR, and the crucial caveat that iCite does not flag retractions. That is exactly the non-obvious operational detail an agent needs.

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

Conciseness4/5

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

Front-loaded with the primary purpose and the metric list, then limits and caveats. Dense but each clause carries real information; the long enumeration of metrics is the only mildly padded element.

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?

For a read-only lookup with an output schema, the description covers everything an agent needs: scope, truncation semantics, missing-record behavior, normalization of RCR, and the retraction blind spot. Nothing material is left implicit.

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?

Schema coverage is 100%, so the parameter itself is already documented. The description still adds meaning beyond the schema by stating the 200-distinct-PMID dedup/fetch ceiling and the resulting `overLimit` behavior, which the schema does not express.

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?

Specific verb (fetch) plus specific resource (NIH iCite citation metrics for PubMed articles), and it enumerates the metrics returned (RCR, NIH percentile, citation count, APT, MeSH shares, citing-clinical count). An agent can distinguish this from pubmed_fetch_articles or pubmed_lookup_citation without opening the schema.

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?

Clear usage context: batch PMID lookup with a 1000-PMID cap and a 200-distinct fetch limit, plus an explicit instruction to check pubmed_fetch_articles for retraction notices before relying on a record. It lacks a positive 'use this instead of sibling X when…' framing for the other metric-free siblings, so it falls just short of 5.

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