Skip to main content
Glama
DataCite MCP Server

DataCite MCP Server

by alexwade

DataCite MCP Server

DOI

A Model Context Protocol (MCP) server that wraps the DataCite REST API, giving Claude and other MCP clients read-only access to DataCite's index of 125M+ research DOIs. No API key is required. The server runs as a local stdio process and communicates with Claude Desktop via the MCP protocol, enabling natural-language queries against the full DataCite catalogue: searching by keyword, person, funder, or repository; retrieving full metadata records; and exploring relationships between research outputs.

Claude Desktop Configuration

Add the following to your claude_desktop_config.json (found at ~/Library/Application Support/Claude/claude_desktop_config.json on macOS):

{
  "mcpServers": {
    "datacite": {
      "command": "node",
      "args": ["/Users/[user_name]/Claude/projects/datacite/dist/index.js"]
    }
  }
}

Related MCP server: OpenAIRE MCP Server

Build Instructions

cd [path-to-project]
npm install
npm run build

To inspect the server interactively:

npm run inspector

Available Tools

Tool

Description

search_dois

Full-text search across DataCite's 125M+ DOI index with filters for resource type, funder, year, repository, and more. Supports cursor-based pagination.

get_doi

Retrieve complete metadata for a single DOI. Accepts any common DOI format (bare, URL, doi: prefix). Optionally includes the raw DataCite Schema XML.

format_citation

Format a DOI as a formatted citation string. Supports APA, MLA, Chicago, Harvard, IEEE, Vancouver, BibTeX, and CSL JSON.

get_doi_metrics

Retrieve view, download, and citation counts for a DOI. Optionally include time-series arrays.

get_related_works

Explore the relationship graph for a DOI — citations, references, versions, and parts.

search_by_person

Find all DOIs associated with a researcher by ORCID iD or name.

list_repositories

Browse DataCite member repositories (clients) with optional search and filtering.

get_doi_schema_xml

Fetch the raw DataCite Metadata Schema XML for a DOI (base64-decoded).

Available Prompts

Prompts are pre-built workflows invocable from Claude Desktop's prompt menu (⌘K → "Use a prompt").

Prompt

Arguments

Description

find-top-works-by-topic

resource_type (required), topic (required)

Find the top 10 most relevant DataCite records for a resource type and subject area. Returns a ranked table with repository/year observations and a suggested follow-up.

repository-summary

repository_name (required)

Full metadata quality and activity report for a repository. Pass a common name like "Zenodo" or "Dryad" — the prompt resolves it to a DataCite client_id automatically.

researcher-profile

identifier (required)

Researcher profile from DataCite records. Pass an ORCID iD (0000-0001-8135-3489) for exact matching, or a name ("Jane Smith") for fuzzy search with disambiguation.

Available Resources

Resource URI

Description

datacite://schema/resource-types

The complete DataCite resourceTypeGeneral controlled vocabulary.

datacite://providers

All DataCite member providers (organisations).

datacite://clients

All DataCite repository clients.

datacite://doi/{doi}

Full metadata record for a given DOI as JSON.

datacite://doi/{doi}/citations

Works that cite the given DOI.

datacite://doi/{doi}/references

Works cited by the given DOI.

datacite://provider/{id}

Metadata for a specific DataCite provider.

datacite://client/{id}

Metadata for a specific DataCite repository client.

Environment Variables

Copy .env.example to .env and adjust as needed. All variables are optional — defaults work out of the box.

Variable

Default

Description

MCP_USER_AGENT_URL

https://github.com/alexwade/datacite-mcp

URL included in the HTTP User-Agent header

MCP_USER_AGENT_EMAIL

(empty)

Contact email for DataCite's polite pool

DATACITE_RATE_LIMIT_RPS

10

Max API requests per second

CACHE_DOI_TTL_SECONDS

3600

DOI cache TTL (1 hour)

CACHE_SEARCH_TTL_SECONDS

300

Search cache TTL (5 minutes)

CACHE_STATIC_TTL_SECONDS

86400

Static data cache TTL (24 hours)

Available Tools

9 tools
format_citationB

Format a DOI as a citation string. Supports APA, MLA, Chicago, Harvard, IEEE, Vancouver, BibTeX, and CSL JSON styles.

NameRequiredDescriptionDefault
doiYes
styleNoapa
localeNoen-US
get_doiA

Retrieve complete metadata for a single DOI. Accepts any common DOI format (bare, URL, doi: prefix). Optionally includes the raw DataCite Schema XML.

NameRequiredDescriptionDefault
doiYes
include_xmlNo
get_doi_metricsA

Retrieve view, download, and citation counts for a DOI. Optionally include monthly time-series arrays.

NameRequiredDescriptionDefault
doiYes
include_time_seriesNo
get_doi_schema_xmlA

Fetch the raw DataCite Metadata Schema XML for a DOI (base64-decoded). Useful for inspecting the complete, canonical metadata record.

NameRequiredDescriptionDefault
doiYes
get_repositoryA

Retrieve full metadata for a single DataCite repository (client) by its ID. Returns name, symbol, alternateName, clientType, isActive, re3data, opendoar, issn, prefixes, language, year, created, updated, and more. Pass includeStats:true to add doiCount (fetched via a secondary /dois call). Note: per-client view/download/citation counts are not exposed by the DataCite API.

NameRequiredDescriptionDefault
idYesDataCite client ID (e.g. 'cern.zenodo', 'dryad.dryad'). Use list_repositories to discover IDs.
includeStatsNoWhen true, adds doiCount fetched via /dois?client-id={id}&page[size]=0. Returns doiCount:null if the secondary call fails. Note: viewCount/downloadCount/citationCount are not available from the DataCite API.
list_repositoriesA

Browse DataCite-registered repositories and data centers. Supports full-text search (Elasticsearch, matches name/alternateName/description) and filtering by clientType or providerId. Returns id, name, symbol, alternateName, clientType, isActive, re3data, prefixes, language, year, created/updated timestamps, and more. Pass includeStats:true to add doiCount (fetched via secondary /dois calls, one per result). Note: viewCount/downloadCount/citationCount are not available from the DataCite API and will not appear even when includeStats:true.

NameRequiredDescriptionDefault
queryNo
clientTypeNorepository | periodical | service | igsnCatalog | raidAgency
providerIdNo
includeStatsNo
page_sizeNo
search_by_personC

Find all DOIs associated with a researcher by ORCID iD or name.

NameRequiredDescriptionDefault
orcidNo
nameNo
roleNoany
resource_typeNo
page_sizeNo
search_doisA

Search DataCite's index of 125M+ research DOIs. Supports full-text queries and filters by resource type, funder, year, repository, and more.

NameRequiredDescriptionDefault
queryNo
resource_typeNo
funder_ror_idNo
affiliation_ror_idNo
client_idNo
provider_idNo
prefixNo
published_yearNo
sortNo
page_sizeNo
page_cursorNo

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 9 tool updatesv0.4.0
    • First observedformat_citation
    • First observedget_doi
    • First observedget_doi_metrics
    • First observedget_doi_schema_xml
    • First observedget_related_works
    • First observedget_repository
    • First observedlist_repositories
    • First observedsearch_by_person
    • First observedsearch_dois

TDQS

A3.7/5.0

Scored across 9 tools

Disambiguation5/5

Each tool has a clearly distinct purpose: formatting citations, retrieving metadata, metrics, schema XML, related works, repository info, listing, and searching by person or general query. No overlap in functionality.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern (e.g., format_citation, get_doi, list_repositories, search_dois). The naming is uniform and predictable.

Tool Count5/5

9 tools is well within the ideal range for a focused server. Each tool serves a specific purpose without redundancy, and the count feels appropriate for the scope of DataCite access.

Completeness4/5

The tool set covers all major read operations for DataCite DOIs: retrieval, search, metrics, citation formatting, schema, related works, and repository info. Minor gaps exist (e.g., no write/update operations, no per-repository stats), but these are consistent with a read-only API focus.

Maintenance

ActivitySlowing
ResponsivenessNo recent community issues

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables AI assistants to search academic literature and retrieve detailed metadata for papers, journals, and funding organizations via the Crossref database. It supports DOI-based lookups and keyword searches to facilitate programmatic access to scholarly research data.
    7
    -
  • A
    license
    A
    quality
    D
    maintenance
    Enables AI assistants to explore the OpenAIRE Research Graph and ScholExplorer citation index, discovering citation relationships and retrieving metadata for publications, datasets, and software.
    2
    1
    Apache 2.0
  • F
    license
    A
    quality
    D
    maintenance
    Enables searching and retrieving scholarly metadata from Crossref's public REST API, including works, journals, funders, and members, without requiring an API key.
    10
    1
    -
  • A
    license
    Not graded
    quality
    B
    maintenance
    Provides access to DataCite DOIs for research datasets, enabling searching and retrieval of dataset metadata.
    99 npm
    MIT