Skip to main content
Glama

article_search

Read-only

Search biomedical literature across PubMed, Europe PMC, arXiv, and other sources in one federated query, with deduplicated results and per-source warnings for failed or degraded searches.

Instructions

Search literature across multiple backends with federated search and deduplication. Response is an envelope: { results, warnings?, errors? } — per-source failures ride in errors (never as items inside results), degradation notes (e.g. PubMed dropping unrecognized query terms, LitSense relevance-floor drops) in warnings. LitSense rows carry the matched sentence plus PubMed-enriched title/metadata when available.

Input Schema

NameRequiredDescriptionDefault
limitNoMaximum results to return. Applied to final deduplicated results, not per-source. Each source may fetch more internally before deduplication.
queryYesSearch query (title, abstract, or keyword). Journal scoping (pubmed/europepmc): a trailing full journal name recognized from the bundled NLM title list is automatically rewritten to the NLM abbreviation (e.g. "... New England Journal of Medicine" → "N Engl J Med[Journal]" / JOURNAL:"N Engl J Med") and disclosed in response warnings; otherwise supply the NLM abbreviation (e.g. "N Engl J Med") or PubMed "Abbr[Journal]" field syntax — full journal names NOT recognized by the NLM list are not matched by PubMed/EuropePMC journal scoping.
offsetNoResult offset. EuropePMC and preprint_only windows are capped at 1000 rows; arXiv clamps the start offset so start + page size stays within its ~30000-result deep-paging ceiling (the API errors past it); use narrower queries or another source for deeper results
sourceNoSpecific source to search. "preprint_only" searches ONLY bioRxiv+medRxiv preprints (bioRxiv/medRxiv DOIs, abstracts, citation counts, via Europe PMC's preprint index); "arxiv" searches the arXiv preprint server (quotes, parentheses, and field prefixes like ti:/au: are stripped from the query for arXiv only). Default (unset) = federated journal-literature search across PubMed, EuropePMC, Semantic Scholar, arXiv, PubTator, LitSense; bioRxiv/medRxiv preprints are NOT included unless explicitly requested via preprint_only.
dateRangeNoDate range as YYYY-MM-DD/YYYY-MM-DD. Open-ended: "2020-01-01/" or "/2023-12-31". Only pubmed, europepmc, semantic_scholar, preprint_only, and arxiv support this. On pubmed, the upstream filter matches epub dates (pdat), so results are additionally post-filtered on the displayed publication date.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changedv1.6.0-alpha.10
    • removedInput schema / additionalProperties
      Removed value: -false
    • addedInput schema / properties / offset / maximum
      Added value: +9007199254740991
  2. Changed2 schema fields changedv1.6.0-alpha.3
    • changedInput schema / properties / dateRange / description
      Previous value: -"Date range as YYYY-MM-DD/YYYY-MM-DD. Open-ended: \"2020-01-01/\" or \"/2023-12-31\". Only pubmed, europepmc, semantic_scholar, preprint_only, and arxiv support this."New value: +"Date range as YYYY-MM-DD/YYYY-MM-DD. Open-ended: \"2020-01-01/\" or \"/2023-12-31\". Only pubmed, europepmc, semantic_scholar, preprint_only, and arxiv support this. On pubmed, the upstream filter matches epub dates (pdat), so results are additionally post-filtered on the displayed publication date."
    • changedInput schema / properties / query / description
      Previous value: -"Search query (title, abstract, or keyword). Journal scoping: PubMed matches full journal names and NLM abbreviations; EuropePMC JOURNAL:\"...\" filters require the NLM abbreviation (e.g. \"N Engl J Med\")"New value: +"Search query (title, abstract, or keyword). Journal scoping (pubmed/europepmc): a trailing full journal name recognized from the bundled NLM title list is automatically rewritten to the NLM abbreviation (e.g. \"... New England Journal of Medicine\" → \"N Engl J Med[Journal]\" / JOURNAL:\"N Engl J Med\") and disclosed in response warnings; otherwise supply the NLM abbreviation (e.g. \"N Engl J Med\") or PubMed \"Abbr[Journal]\" field syntax — full journal names NOT recognized by the NLM list are not matched by PubMed/EuropePMC journal scoping."
  3. Changed2 schema fields changedv1.6.0-alpha.1
    • changedInput schema / properties / offset / description
      Previous value: -"Result offset. EuropePMC and preprint_only windows are capped at 1000 rows; use narrower queries or another source for deeper results"New value: +"Result offset. EuropePMC and preprint_only windows are capped at 1000 rows; arXiv clamps the start offset so start + page size stays within its ~30000-result deep-paging ceiling (the API errors past it); use narrower queries or another source for deeper results"
    • addedInput schema / properties / query / minLength
      Added value: +1
  4. Changed4 schema fields changedv1.5.0
    • changedInput schema / properties / dateRange / description
      Previous value: -"Date range as YYYY-MM-DD/YYYY-MM-DD. Open-ended: \"2020-01-01/\" or \"/2023-12-31\". Only pubmed, europepmc, semantic_scholar support this."New value: +"Date range as YYYY-MM-DD/YYYY-MM-DD. Open-ended: \"2020-01-01/\" or \"/2023-12-31\". Only pubmed, europepmc, semantic_scholar, preprint_only, and arxiv support this."
    • changedInput schema / properties / offset / description
      Previous value: -"Result offset. EuropePMC windows are capped at 1000 rows; use narrower queries or another source for deeper results"New value: +"Result offset. EuropePMC and preprint_only windows are capped at 1000 rows; use narrower queries or another source for deeper results"
    • changedInput schema / properties / source / description
      Previous value: -"Specific source to search"New value: +"Specific source to search. \"preprint_only\" searches ONLY bioRxiv+medRxiv preprints (bioRxiv/medRxiv DOIs, abstracts, citation counts, via Europe PMC's preprint index); \"arxiv\" searches the arXiv preprint server (quotes, parentheses, and field prefixes like ti:/au: are stripped from the query for arXiv only). Default (unset) = federated journal-literature search across PubMed, EuropePMC, Semantic Scholar, arXiv, PubTator, LitSense; bioRxiv/medRxiv preprints are NOT included unless explicitly requested via preprint_only."
    • changedInput schema / properties / source / enum
      Previous value: -[
      -  "pubmed",
      -  "europepmc",
      -  "semantic_scholar",
      -  "pubtator",
      -  "litsense"
      -]New value: +[
      +  "pubmed",
      +  "europepmc",
      +  "semantic_scholar",
      +  "pubtator",
      +  "litsense",
      +  "preprint_only",
      +  "arxiv"
      +]
  5. Changed2 schema fields changedv1.4.2
    • changedInput schema / properties / offset / description
      Previous value: -"Result offset"New value: +"Result offset. EuropePMC windows are capped at 1000 rows; use narrower queries or another source for deeper results"
    • changedInput schema / properties / query / description
      Previous value: -"Search query (title, abstract, or keyword)"New value: +"Search query (title, abstract, or keyword). Journal scoping: PubMed matches full journal names and NLM abbreviations; EuropePMC JOURNAL:\"...\" filters require the NLM abbreviation (e.g. \"N Engl J Med\")"
  6. First observedv0.1.8

TDQS

A3.9/5.0
Behavior5/5

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

Annotations only declare readOnly/openWorld, so the description carries the real load and adds substantial context: the response is an envelope with results/warnings/errors, per-source failures never appear as items in results, and specific degradation modes are named (PubMed dropping unrecognized query terms, LitSense relevance-floor drops). It also discloses that LitSense rows are enriched with PubMed metadata, which an agent could not infer from the schema.

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?

Three sentences, front-loaded with the purpose before moving to response shape and then per-source failure semantics. The parentheticals are dense but each carries real information (specific degradation examples), with no filler sentences.

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

Completeness4/5

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

With no output schema, the description correctly compensates by documenting the envelope and error/warning channels, which is the highest-value gap to fill for a federated search. Parameters are fully covered by the schema; the only shortfall is the missing routing guidance relative to sibling retrieval tools.

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 100% and the per-parameter docs (limit applied post-dedup, journal-name rewriting, offset caps, dateRange support matrix) are already thorough. The description adds only the LitSense row-shape detail and does not restate or extend the parameter meanings, so the baseline 3 applies.

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

Purpose4/5

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

States a specific verb and resource (search literature) plus a distinctive mechanism (federated search with deduplication across multiple backends), which separates it from article_get and preprint_fulltext. It never names a sibling or explicitly contrasts with single-article or gene-scoped retrieval tools, so the differentiation is implicit rather than stated.

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

Usage Guidelines3/5

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

The description implies this is the broad multi-backend search entry point but never says when to prefer it over article_get, gene_articles, or preprint_fulltext, nor when to restrict to a single source. The source-selection guidance that does exist (preprint_only, arxiv behavior, default federated scope) lives entirely in the schema field descriptions, not the prose.

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