MCP Hub
Back to servers

DataCite MCP Server

Provides read-only access to DataCite's index of 125M+ research DOIs via natural language queries, enabling searching, metadata retrieval, citation formatting, and relationship exploration.

glama
Updated
Apr 29, 2026

DataCite MCP Server

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"]
    }
  }
}

Build Instructions

cd /Users/[user_name]/Claude/projects/datacite
npm install
npm run build

To inspect the server interactively:

npm run inspector

Available Tools

ToolDescription
search_doisFull-text search across DataCite's 125M+ DOI index with filters for resource type, funder, year, repository, and more. Supports cursor-based pagination.
get_doiRetrieve complete metadata for a single DOI. Accepts any common DOI format (bare, URL, doi: prefix). Optionally includes the raw DataCite Schema XML.
format_citationFormat a DOI as a formatted citation string. Supports APA, MLA, Chicago, Harvard, IEEE, Vancouver, BibTeX, and CSL JSON.
get_doi_metricsRetrieve view, download, and citation counts for a DOI. Optionally include time-series arrays.
get_related_worksExplore the relationship graph for a DOI — citations, references, versions, and parts.
search_by_personFind all DOIs associated with a researcher by ORCID iD or name.
list_repositoriesBrowse DataCite member repositories (clients) with optional search and filtering.
get_doi_schema_xmlFetch 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").

PromptArgumentsDescription
find-top-works-by-topicresource_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-summaryrepository_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-profileidentifier (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 URIDescription
datacite://schema/resource-typesThe complete DataCite resourceTypeGeneral controlled vocabulary.
datacite://providersAll DataCite member providers (organisations).
datacite://clientsAll DataCite repository clients.
datacite://doi/{doi}Full metadata record for a given DOI as JSON.
datacite://doi/{doi}/citationsWorks that cite the given DOI.
datacite://doi/{doi}/referencesWorks 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.

VariableDefaultDescription
MCP_USER_AGENT_URLhttps://github.com/alexwade/datacite-mcpURL included in the HTTP User-Agent header
MCP_USER_AGENT_EMAIL(empty)Contact email for DataCite's polite pool
DATACITE_RATE_LIMIT_RPS10Max API requests per second
CACHE_DOI_TTL_SECONDS3600DOI cache TTL (1 hour)
CACHE_SEARCH_TTL_SECONDS300Search cache TTL (5 minutes)
CACHE_STATIC_TTL_SECONDS86400Static data cache TTL (24 hours)

Reviews

No reviews yet

Sign in to write a review