Skip to main content
Glama
jtl-neo

crossref-mcp

by jtl-neo

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
CACHE_TTLNoCache TTL in seconds.86400
LOG_LEVELNoLog level (logs go to stderr).INFO
REDIS_URLNoEnable Redis cache + shared rate limiting (optional).
MCP_API_KEYNoIf set, HTTP requests need a matching X-API-Key header (/health exempt).
MCP_TRANSPORTNoTransport mode: 'stdio' or 'http'.stdio
CROSSREF_MAILTONoEmail for Crossref's polite pool (recommended).
CROSSREF_TIMEOUTNoPer-request timeout in seconds.30
CROSSREF_BASE_URLNoAPI base URL.https://api.crossref.org
RATELIMIT_BACKENDNoRate limiting backend: 'in-memory' or 'redis'.in-memory
CROSSREF_PLUS_TOKENNoCrossref Plus API token (sent as a header).

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
pingA

Health check tool: returns the server name and version.

search_worksA

Search Crossref works (articles, books, datasets, ...).

    Use `query` for free-text, or the field-scoped variants
    (query_bibliographic / query_author / query_title). `filter` accepts
    Crossref's `key:value,key2:value2` syntax (e.g. "from-pub-date:2020,type:journal-article").
    `rows` is capped at 1000; `select` (e.g. "DOI,title") trims the payload.
    For deep paging set `cursor="*"`, then pass the returned `next_cursor` back.
    Returns simplified items unless `raw=True`.
    
get_workA

Fetch a single work's metadata by DOI.

    Accepts a bare DOI or a doi.org URL. Returns simplified fields unless
    `raw=True`. Returns a structured error if the DOI does not exist.
    
get_work_referencesA

List the reference list of a work (the works it cites), by DOI.

    `limit` is hard-capped at 50. Reads the `reference` field of the work.
    
get_work_qualityB

Look up the registration agency for a DOI (Crossref, DataCite, ...).

search_membersA

Search Crossref members (publishers/societies). Returns id + primary name.

get_memberA

Fetch one member (publisher) by numeric Crossref member id.

get_member_worksA

List works published by a given member id.

search_journalsB

Search journals by title/keyword. Returns title, ISSNs, publisher.

get_journalA

Fetch one journal by ISSN (NNNN-NNNN; hyphen optional).

get_journal_worksB

List works published in a given journal (by ISSN).

search_fundersB

Search funding bodies by name. Returns funder id, name, location.

get_funderA

Fetch one funder by its Crossref Funder Registry id (e.g. 100000001).

get_funder_worksA

List works funded by a given funder id.

list_typesB

List Crossref work types (journal-article, book-chapter, ...).

get_typeA

Fetch one work type by id (e.g. "journal-article").

list_licensesA

List licenses Crossref has seen. No single-license lookup exists.

get_prefixA

Look up the owner of a DOI prefix (e.g. "10.1038").

    Crossref only exposes /prefixes/{owner_prefix}; there is no list endpoint.
    

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

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/jtl-neo/crossref-api-MCP'

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