GnistAI GnistAI
Log in

Crossref

Academic publication metadata — DOI lookup, citation data, and journal articles.

Overview   |   MCP   |   REST API   |   OpenAPI   |   CLI   |   Tutorial   |   Toolkits   |   Home
status: healthy status status healthy healthy tools: 5 tools tools 5 5 type: api wrapper type type api wrapper api wrapper lifecycle: maintained lifecycle lifecycle maintained maintained Science

Data source: Crossref

MCP Endpoint (Streamable HTTP) https://context.gnist.ai/mcp/crossref/
Authentication

All requests require a Gnist-API-Key header (or api_key query parameter).

Free tier: 100 calls/day. Get your API key.

Tools (5)

resolve_doi

Resolve a DOI to full bibliographic metadata via Crossref.

Crossref is the authoritative DOI registry covering ~140M scholarly works:
journal articles, books, conference papers, datasets, and preprints.

Args:
doi: The DOI to resolve. Accepts bare DOI (e.g. "10.1038/nature12373")
or full URL form (e.g. "https://doi.org/10.1038/nature12373").

Returns:
Dict with doi, title, authors (given/family/orcid/affiliation), publication_date,
type, journal, issn, publisher, abstract (JATS tags stripped), citation_count,
reference_count, url, and subject list.

ParameterTypeRequiredDescription
doistringrequiredThe DOI to resolve. Accepts bare DOI (e.g. "10.1038/nature12373") or full URL form (e.g. "https://doi.org/10.1038/nature12373").
JSON-RPC Request
{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "id": 1,
  "params": {
    "name": "resolve_doi",
    "arguments": {
      "doi": "123456789"
    }
  }
}
search_works

Search Crossref for scholarly publications by keyword.

Args:
query: Full-text search query (e.g. "CRISPR gene editing", "climate change tipping points").
filter_type: Limit to a Crossref work type. Common values: "journal-article",
"book-chapter", "proceedings-article", "dataset", "posted-content" (preprints).
filter_issn: Limit to a specific journal by ISSN (e.g. "0028-0836" for Nature).
filter_funder: Limit to works funded by a Crossref Funder ID (e.g. "10.13039/100000001" for NSF).
date_from: Only include works published on or after this date (YYYY-MM-DD or YYYY).
date_to: Only include works published on or before this date (YYYY-MM-DD or YYYY).
limit: Number of results to return (1–50, default 10).

Returns:
Dict with 'count' (returned), 'total_results' (total matches), and 'works' list.
Each work includes doi, title, authors, publication_date, type, journal,
citation_count, and abstract where available.

ParameterTypeRequiredDescription
querystringrequiredFull-text search query (e.g. "CRISPR gene editing", "climate change tipping points").
filter_typeanyoptionalLimit to a Crossref work type. Common values: "journal-article", "book-chapter", "proceedings-article", "dataset", "posted-content" (preprints).
filter_issnanyoptionalLimit to a specific journal by ISSN (e.g. "0028-0836" for Nature).
filter_funderanyoptionalLimit to works funded by a Crossref Funder ID (e.g. "10.13039/100000001" for NSF).
date_fromanyoptionalOnly include works published on or after this date (YYYY-MM-DD or YYYY).
date_toanyoptionalOnly include works published on or before this date (YYYY-MM-DD or YYYY).
limitintegeroptionalNumber of results to return (1–50, default 10). (default: 10)
JSON-RPC Request
{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "id": 1,
  "params": {
    "name": "search_works",
    "arguments": {
      "query": "example"
    }
  }
}
get_journal

Fetch metadata for a journal by ISSN.

Args:
issn: The journal ISSN (e.g. "0028-0836" for Nature, "1476-4687" for Nature online).

Returns:
Dict with issn list, title, publisher, subjects, works_count (total DOIs indexed),
and coverage_from (earliest year in Crossref index).

ParameterTypeRequiredDescription
issnstringrequiredThe journal ISSN (e.g. "0028-0836" for Nature, "1476-4687" for Nature online).
JSON-RPC Request
{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "id": 1,
  "params": {
    "name": "get_journal",
    "arguments": {
      "issn": "example"
    }
  }
}
get_funder

Fetch metadata for a research funder by Crossref Funder ID.

Common funder IDs:
- "10.13039/100000001" — US National Science Foundation (NSF)
- "10.13039/100000002" — US National Institutes of Health (NIH)
- "10.13039/501100000269" — UK Research and Innovation (UKRI)
- "10.13039/501100000780" — European Commission

Use search_works with filter_funder to find works funded by a specific funder.

Args:
funder_id: Crossref Funder Registry ID (e.g. "10.13039/100000001").

Returns:
Dict with id, name, alt_names, location, and works_count.

ParameterTypeRequiredDescription
funder_idstringrequiredCrossref Funder Registry ID (e.g. "10.13039/100000001").
JSON-RPC Request
{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "id": 1,
  "params": {
    "name": "get_funder",
    "arguments": {
      "funder_id": "example"
    }
  }
}
report_feedback

Report a bug, feature request, or general feedback for this data source.

Use this when something doesn't work as expected, when you'd like
a new feature, or when you have suggestions for improvement.

Args:
feedback: Describe the issue or suggestion.
feedback_type: One of 'bug', 'feature_request', or 'general'.

ParameterTypeRequiredDescription
feedbackstringrequired
feedback_typestringoptional (default: "general")
JSON-RPC Request
{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "id": 1,
  "params": {
    "name": "report_feedback",
    "arguments": {
      "feedback": "example"
    }
  }
}

Quick Start

Shell
curl -X POST "https://context.gnist.ai/mcp/crossref/" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -H "Gnist-API-Key: YOUR_API_KEY" \
  -d '{"jsonrpc": "2.0", "method": "tools/call", "id": 1, "params": {"name": "resolve_doi", "arguments": {"doi": "example"}}}'
Python
import httpx

resp = httpx.post(
    "https://context.gnist.ai/mcp/crossref/",
    headers={"Gnist-API-Key": "YOUR_API_KEY", "Content-Type": "application/json"},
    json={
  "jsonrpc": "2.0",
  "method": "tools/call",
  "id": 1,
  "params": {
    "name": "resolve_doi",
    "arguments": {
      "doi": "example"
    }
  }
},
)
print(resp.json())

Related Toolkits (Science)

Resources