Skip to main content
Glama

crossref-mcp-server

Get Work by DOI

crossref_get_work
Read-onlyIdempotent

Resolves a DOI to its full Crossref metadata record: title, authors, affiliations, abstract (when deposited), journal or container, publication date, type, license, full-text links, and funder acknowledgements. The author list is paged: authorCount is the full deposited total, offset and limit select the page (25 authors by default), and when authors remain the response carries a nextOffset to pass back as offset — large-collaboration papers deposit thousands. Outgoing references are reported as a count in referencesCount; the reference entries themselves come from crossref_get_references. The isReferencedByCount field reports the total incoming citation count from Crossref; the citing works themselves are not available through Crossref — use OpenAlex for citation graphs.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
doiYesDOI in the format "10.NNNN/suffix", e.g. "10.1038/nature12373". A resolver-wrapped form — "https://doi.org/10.1038/nature12373", "https://dx.doi.org/…", "doi:10.1038/nature12373" — is accepted and unwrapped.
limitNoMaximum number of authors to return in one page (1–500, default 25). Ordinary records fit in a single page; large-collaboration papers in particle physics and genomics deposit thousands.
offsetNoZero-based index of the first author to return. Pass the nextOffset value from the previous response to continue through a long author list. Only the author list is paged; every other field of the record is returned in full on every page.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
capNoThe limit that was applied to this page of authors.
doiNoCanonical DOI
urlNoDOI resolution URL
issnNoISSN(s) of the containing journal
typeNoWork type (e.g. journal-article, book-chapter, posted-content)
errorNoPresent when the call failed. Absent on success.
linksNoRegistered full-text links
shownNoNumber of authors returned in this page.
titleNoWork title
noticeNoWhich authors this page covers and the offset that reaches the next ones, or an explanation when the requested offset is past the end of the author list. Absent when the page holds the whole list.
offsetNoZero-based index of the first returned author within the deposited list. Omitted alongside authors when the record deposits no author field.
authorsNoPage of the author and contributor list, bounded by limit. Omitted when the record deposits no author field at all.
fundersNoFunding acknowledgements
subjectNoSubject classification terms
abstractNoAbstract when deposited by the publisher. Many records lack abstracts. Publishers deposit it as JATS XML, so this is the text of that deposit with markup removed and character references decoded; a link keeps its tag only where its href holds an address the text it wraps does not already carry, and a formula the deposit encodes more than once — TeX beside MathML — appears once, in the first notation deposited.
languageNoLanguage code (ISO 639)
licensesNoLicense terms
subtitleNoSubtitle when present
publishedNoPublication date — the first of published, published-print, published-online, and issued that names one. A component Crossref records as unknown is omitted, and so is every component below it.
publisherNoPublisher name
truncatedNoTrue when authors remain beyond this page. Absent when the page is the last.
nextOffsetNoOffset to pass in the next call to retrieve the following page of authors. Absent when this page reaches the end of the author list.
authorCountNoTotal number of authors in the deposited list, before offset and limit were applied. Omitted alongside authors when the record deposits no author field.
containerTitleNoJournal, book, or proceedings name containing this work
referencesCountNoNumber of outgoing references (works cited by this paper)
isReferencedByCountNoIncoming citation count from Crossref — the count of works citing this DOI

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.9/5.0
Behavior5/5

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

Beyond the readOnlyHint and idempotentHint annotations, the description discloses important runtime behavior: author-list pagination with authorCount, offset, limit, and nextOffset semantics; referencesCount as a count only; and isReferencedByCount as an incoming-count field whose underlying works are not available via Crossref. These are concrete behavioral details an agent needs to correctly interpret responses and continue paging.

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 dense but every sentence earns its place: purpose, pagination mechanics, reference count behavior, and citation-count limitations. It is appropriately front-loaded with the tool's main job, then covers edge cases an agent would otherwise discover only at runtime.

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 rich output schema and the read-only, idempotent annotations, the description covers all essential operational knowledge: what fields are returned, how to page through large author lists, which related data is out of scope, and which sibling tool to use for that data. An agent can invoke and interpret this tool correctly without additional context.

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?

The input schema already covers DOI format, limit, and offset with 100% coverage, so the baseline is 3. The description adds cross-parameter meaning by explaining that only the author list is paged, that limit defaults to 25, that nextOffset should be passed back as offset, and that all other fields are returned in full on every page. This goes beyond the schema's individual field descriptions.

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 opens with a specific verb and resource: 'Resolves a DOI to its full Crossref metadata record' and enumerates the concrete fields returned. It also distinguishes itself from siblings by explicitly routing reference entries to crossref_get_references and citing works to OpenAlex, so an agent cannot confuse it with the search or reference tools.

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 states when to use the tool — when you have a DOI and need the full metadata record — and gives explicit when-not guidance: outgoing references come from crossref_get_references, and citation graphs are not available through Crossref at all, pointing to OpenAlex instead. This gives clear alternatives and exclusions.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.