DataCite Librarian MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| DATACITE_DATA_DIR | No | Corpus root (must exist if set). If unset, uses mock data unless DATACITE_USE_MOCK=1 is set. | |
| DATACITE_MOCK_DIR | No | Override mock write/read location. | |
| DATACITE_USE_MOCK | No | Set to '1' or 'true' to force mock corpus even if DATACITE_DATA_DIR is set. | |
| DATACITE_EXPORT_DIR | No | Export output directory. | |
| DATACITE_MAX_RECORDS | No | Aggregate scan ceiling (default 10000). | 10000 |
| DATACITE_DOI_LOOKUP_MAX_SCAN | No | get_doi ceiling; 0 = full local scan. |
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
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| community_guideA | Persona-oriented guide: which tools for librarians, RDM, funders, ops, research, teaching. |
| corpus_statusA | Quick status: path, mode, partitions, part count, capability notes. |
| corpus_inventoryB | Full inventory: layout type, partitions, loose CSV/JSONL, capabilities, gaps. |
| server_infoB | Version, paths, env vars, export dir, DataCite documentation links. |
| diff_partitions_summaryB | Summarize partitions and part files (metadata side). |
| search_doisC | Search streamed JSONL with filters (title/DOI/description, funder, subject, year, geo). |
| get_doiA | Lookup one DOI in local JSONL; returns summary + QA issues. Default full-corpus scan. |
| check_doi_qaC | Full QA issue breakdown for one DOI. |
| repository_healthC | Aggregate repository QA: completeness, issues, samples. Scope by client_id or prefix. |
| funder_complianceC | Funder/award compliance: IDs, awards, licenses, ORCID; actionable issues. |
| list_clientsC | Repository client_id counts from streamed metadata. |
| list_fundersC | Funder name/ID frequencies from fundingReferences in metadata. |
| facetsC | Facet counts: types, years, publishers, languages, clients; ORCID/funder/license rates. |
| top_subjectsC | Most common subject/keyword strings in metadata. |
| index_summaryA | Summarize a monthly CSV index (doi/state/client_id/updated). Returns totals, states, top clients/prefixes. Works without JSONL — ideal for large months when you only have the index. Pass month as YYYY-MM (e.g. 2026-06) or csv_path relative/absolute. |
| index_clientC | One repository's DOI count, states, prefixes, and sample rows from the CSV index only. |
| coverage_reportC | Compare CSV index DOIs vs DOIs in loaded JSONL (coverage gap / what to download next). |
| export_health_issuesB | Run repository_health and write issues to exports/ (csv or json). Returns path. |
| export_funder_issuesC | Run funder_compliance and export issues to exports/. |
| export_search_resultsA | Search DOIs and export matching summaries to CSV under exports/. |
| regenerate_mock_dataC | Regenerate bundled/demo mock corpus. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| resource_corpus_status | |
| resource_corpus_inventory | |
| resource_community_guide | |
| resource_schema_overview |
TDQS
Scored across 21 tools
Most tools target distinct resources (search, QA, compliance, corpus status). However, get_doi and check_doi_qa both report QA issues (summary vs full breakdown), and export_* tools wrap their base operations, which could cause confusion. Overall, the descriptions are detailed enough to differentiate most tools.
Tool names mix verb-first (search_dois, list_clients, export_search_results) with noun-first (facets, repository_health, corpus_status) and some ambiguous names like index_client and diff_partitions_summary. The patterns are inconsistent but readable.
21 tools is on the heavy side for a specialized librarian server. Many tools are variations of reporting/exporting (export_health_issues, export_funder_issues, export_search_results) and status (corpus_status, corpus_inventory, server_info), but the breadth of DataCite functionality justifies most tools.
The server covers core analysis needs: search, lookup, QA, compliance, aggregations, and exports. However, there is no direct tool to fetch the full raw metadata for a DOI (only summaries and QA), and no create/update/delete operations, which might be outside scope but could be a gap for some use cases.