Science
Data source: Crossref
MCP Protocol
Endpoint
https://context.gnist.ai/mcp/crossref/
claude_desktop_config.json
{
"mcpServers": {
"gnist-crossref": {
"url": "https://context.gnist.ai/mcp/crossref/",
"headers": {
"Gnist-API-Key": "YOUR_API_KEY"
}
}
}
}
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"}}}'
REST API
API Root
https://context.gnist.ai/rest/crossref/
5 endpoints available:
GET /rest/crossref/resolve_doiGET /rest/crossref/search_worksGET /rest/crossref/get_journalGET /rest/crossref/get_funderGET /rest/crossref/report_feedback
Shell
curl "https://context.gnist.ai/rest/crossref/resolve_doi?doi=example" \ -H "Gnist-API-Key: YOUR_API_KEY"
Python
import httpx
resp = httpx.get(
"https://context.gnist.ai/rest/crossref/resolve_doi",
headers={"Gnist-API-Key": "YOUR_API_KEY"},
params={
"doi": "example"
},
)
print(resp.json())
Command Line
Command
gc crossref
CLI documentation will be available when the GnistAI SDK is published.
Install
pip install gnistai
Available Tools (5)
resolve_doiResolve a DOI to full bibliographic metadata via Crossref.
| Parameter | Type | Required | Description |
|---|---|---|---|
doi | string | required | The DOI to resolve. Accepts bare DOI (e.g. "10.1038/nature12373") or full URL form (e.g. "https://doi.org/10.1038/nature12373"). |
search_worksSearch Crossref for scholarly publications by keyword.
| Parameter | Type | Required | Description |
|---|---|---|---|
query | string | required | Full-text search query (e.g. "CRISPR gene editing", "climate change tipping points"). |
filter_type | any | optional | Limit to a Crossref work type. Common values: "journal-article", "book-chapter", "proceedings-article", "dataset", "posted-content" (preprints). |
filter_issn | any | optional | Limit to a specific journal by ISSN (e.g. "0028-0836" for Nature). |
filter_funder | any | optional | Limit to works funded by a Crossref Funder ID (e.g. "10.13039/100000001" for NSF). |
date_from | any | optional | Only include works published on or after this date (YYYY-MM-DD or YYYY). |
date_to | any | optional | Only include works published on or before this date (YYYY-MM-DD or YYYY). |
limit | integer | optional | Number of results to return (1–50, default 10). (default: 10) |
get_journalFetch metadata for a journal by ISSN.
| Parameter | Type | Required | Description |
|---|---|---|---|
issn | string | required | The journal ISSN (e.g. "0028-0836" for Nature, "1476-4687" for Nature online). |
get_funderFetch metadata for a research funder by Crossref Funder ID.
| Parameter | Type | Required | Description |
|---|---|---|---|
funder_id | string | required | Crossref Funder Registry ID (e.g. "10.13039/100000001"). |
report_feedbackReport a bug, feature request, or general feedback for this data source.
| Parameter | Type | Required | Description |
|---|---|---|---|
feedback | string | required | |
feedback_type | string | optional | (default: "general") |