Skip to main content
Glama

omniseek_paper_enrich

Retrieve a paper's open-access PDF, retraction status, and citation count from a DOI or arXiv ID.

Instructions

Use WHEN you need ONE paper's open-access full-text PDF, retraction / integrity status, or citation count — signals omniseek_search / field_skeleton do NOT give cleanly. Keyless, mechanical: YOU decide when + on which papers.

Pass DOIs and/or arXiv ids (e.g. "2306.08543", "10.1145/3292500.3330701"; use a node's doi from omniseek_field_skeleton, or metadata.paper_id/metadata.doi from an openalex omniseek_search result — NOT its source_id, the OpenAlex W-id, which is not a DOI/arXiv id). Enrich only the handful you care about, not a whole map. For each id: • is_oa / pdf_url — the open-access full text (arXiv always OA; real DOIs via Unpaywall). Feed pdf_url to omniseek_read (or read it yourself) to get the WHOLE paper, not just the abstract — then YOU synthesize. (This thin PDF primitive is why we did NOT add a synthesis engine.) For FIGURES / architecture diagrams / result plots: download the PDF and Read its pages with your own VISION — they render in context with captions, so no figure-extraction channel is needed. • integrity.retracted + integrity.notices (retraction / expression_of_concern / correction / …) from Crossref's Retraction Watch feed — check before trusting a high-stakes citation. (retracted=None means "not checked" / backend unreachable; notices=[] means clean. arXiv ids are checked too: an author withdrawal marker plus the journal DOI, when present, run through the same Crossref retraction path.) • citation_count — this paper's citation count (DOI: Crossref is-referenced-by-count; arXiv: S2 citationCount). The single-paper count's home, so you need NOT repurpose omniseek_field_skeleton to read one node's count. (None when the backend was unreachable.)

Returns: {"results": [{id, kind, doi, is_oa, pdf_url, oa_url, citation_count, integrity:{retracted, notices}}, ...]} (or {id, error} for an unrecognized id).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idsYes

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. First observedv0.2.0

TDQS

A5/5.0
Behavior5/5

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

With no annotations provided, the description carries the full behavioral burden and does so thoroughly. It discloses that the tool is keyless and mechanical, that it does not synthesize or extract figures, and it explains edge-case semantics such as retracted=None vs notices=[] and backend-unreachable behavior. It also clearly states what the return payload contains, including error entries for unrecognized ids.

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?

Despite being long, the description is tightly organized with front-loaded usage intent, bulleted per-id behaviors, and a compact return schema. Every sentence adds useful information, from identifier guidance to integrity semantics to explicit non-synthesis rationale. The structure makes the detail scannable rather than overwhelming.

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 single-parameter tool with no output schema and no annotations, the description is complete: it covers valid inputs, per-field output semantics, error handling, backend failures, and downstream tool routing. An agent has everything needed to invoke it correctly and interpret results correctly.

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

Parameters5/5

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

The input schema only says ids is an array of strings with 0% description coverage, so the description must compensate. It does by specifying accepted identifier forms (DOIs and arXiv ids), giving concrete examples, explaining which fields from sibling tools to use, and explicitly warning against using source_id or OpenAlex W-id. This is far more than the schema alone provides.

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 names a specific verb and resource: enrich a single paper with open-access PDF, integrity status, and citation count. It explicitly contrasts with omniseek_search / field_skeleton, which do not provide these signals cleanly, so an agent can distinguish this tool from its siblings.

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?

It tells the agent exactly when to use the tool ('Use WHEN you need ONE paper's open-access full-text PDF...') and when not to, such as not using omniseek_field_skeleton to read a single node's count. It also advises enriching only a handful of papers rather than a whole map, and names omniseek_read as the follow-up for reading PDFs.

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

Latest Blog Posts

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/Battam1111/omniseek'

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