cds-mcp
This MCP server enables searching, retrieving, and browsing documents from the CERN Document Server (CDS).
Search CDS documents (
search_cds_documents): Search using keywords with optional filters for experiment (e.g., ATLAS, CMS, LHCb, ALICE), document type (e.g., Article, Thesis, Report), date ranges, sort order (most recent, best match, most cited), and result size (up to 100).Get document details (
get_cds_document_details): Retrieve full metadata for a specific document by its MCP ID (cds:123456), including the complete abstract, authors, and other metadata.Get document files (
get_cds_document_files): Fetch file information and direct download URLs for a specific document by its MCP ID.List CERN experiments (
get_cds_experiments): Browse common CERN experiments available as search filters.List document types (
get_cds_document_types): Browse available CDS document types to use as search filters.Browse collections (
list_cds_collections): Explore the hierarchical taxonomy of CDS collections and sub-collections to identify the correct search keys for filtering.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@cds-mcpfind recent papers from the ATLAS experiment"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
CDS MCP Server
A Model Context Protocol (MCP) server for integrating with CERN Document Server (CDS), built on the Invenio digital library framework.
As of July 28, 2026, CDS places its public search, export, API, and OAI routes behind an Anubis JavaScript proof-of-work challenge. Non-browser clients receive HTML instead of record data, so this MCP server cannot currently query CDS. The CDS team must provide a machine-accessible route or exempt the documented API routes before service can be restored.
Features
Search CDS documents with filters for experiments, document types, and date ranges
Get detailed document information including full abstracts, authors, and metadata
Access document files with download URLs and file metadata
Browse experiments and document types for better search filtering
Related MCP server: research-mcp
Installation
Requires Python 3.10+.
Quickstart (recommended)
No installation needed, just use uvx to run directly:
uvx cds-mcpFrom PyPI
pip install cds-mcpFrom source
git clone https://github.com/MohamedElashri/cds-mcp
cd cds-mcp
uv syncUsage
Claude Desktop
Add to your claude_desktop_config.json:
{
"mcpServers": {
"cds": {
"command": "uvx",
"args": ["cds-mcp"]
}
}
}Note for macOS users: If you see an error about uvx not being found, you may need to provide the absolute path. Claude Desktop does not support ~ or $HOME expansion.
Run
which uvxin your terminal to find the path (e.g.,/Users/yourusername/.local/bin/uvx).Use that absolute path in the
commandfield:
"command": "/Users/yourusername/.local/bin/uvx"Claude Code
Project-specific (default) — installs in the current directory's configuration:
claude mcp add cds-mcp -- uvx cds-mcpGlobal — installs for your user account (works in all projects):
claude mcp add --scope user cds-mcp -- uvx cds-mcpManual Configuration — you can also manually edit your global config at ~/.claude.json (on Linux/macOS) or %APPDATA%\Claude\claude.json (on Windows):
{
"mcpServers": {
"cds": {
"command": "uvx",
"args": ["cds-mcp"]
}
}
}GitHub Copilot
Add to your VS Code settings.json:
{
"mcp": {
"servers": {
"cds": {
"command": "uvx",
"args": ["cds-mcp"]
}
}
}
}Or add a .vscode/mcp.json to your project:
{
"servers": {
"cds": {
"command": "uvx",
"args": ["cds-mcp"]
}
}
}Gemini CLI
Add to your ~/.gemini/settings.json:
{
"mcpServers": {
"cds": {
"command": "uvx",
"args": ["cds-mcp"]
}
}
}Direct usage
# Run with uvx (no install needed)
uvx cds-mcp
# Or if installed from PyPI
cds-mcp
# Or from source
uv run cds-mcpAuthentication & Access Control
CDS does not document an API key or OIDC audience for its legacy /search
JSON endpoint. Although this repository contains experimental CERN OIDC
client-credentials code, obtaining a token does not authenticate a request to
CDS: API-access tokens require a target audience that accepts the token, and a
client-credentials token represents an application identity rather than the
CERN user whose experiment memberships grant access to restricted records.
Do not create a Personal API request or OIDC application for this server until CDS Support confirms:
The supported machine-to-machine endpoint and authentication scheme.
The exact OIDC audience, if bearer tokens are supported.
Whether access to restricted records requires a user-delegated flow.
Which API paths are exempt from the Anubis browser challenge.
Tools
search_cds_documents: Search CDS with various filtersget_cds_document_details: Get detailed information about a specific documentget_cds_document_files: Get file information and download URLsget_cds_experiments: List available CERN experiments for filteringget_cds_document_types: List available document types for filtering
Development
git clone https://github.com/MohamedElashri/cds-mcp
cd cds-mcp
uv sync
uv run python tests/test_integration.py # Test real CDS API integration
uv run python tests/test_mcp_server.py # Test MCP server functionalityLicense
MIT License - see LICENSE for details.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Flicense-qualityCmaintenanceA comprehensive MCP server for interacting with Zenodo records, enabling search, retrieval, citation generation, and file downloads.Last updated6
- AlicenseAqualityDmaintenanceMCP server for searching, retrieving, and extracting full-text PDFs from arXiv papers.Last updated524MIT
- AlicenseAqualityDmaintenanceMCP server for searching Ex Libris Primo library catalogues and subscribed databases, enabling search, record retrieval, autocomplete, citation generation, and export to BibTeX, RIS, or CSV.Last updated57MIT
- AlicenseAqualityBmaintenanceMCP server for searching and retrieving arXiv papers with full-text PDF extraction.Last updated53MIT
Related MCP Connectors
MCP server for AgentDocs (agentdocs.eu): read, search, write, comment on & share Markdown docs.
MCP server for fcc-ecfs
Academic research MCP server for paper search, citation checks, graphs, and deep research.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/MohamedElashri/cds-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server