Indico Server
FreeNot checkedProvides access to CERN Indico public events, enabling search, retrieval of event details, and listing of upcoming events through natural language.
About
Provides access to CERN Indico public events, enabling search, retrieval of event details, and listing of upcoming events through natural language.
README
A Model Context Protocol (MCP) server providing access to CERN Indico public events. https://github.com/indico/indico
Features
- Search upcoming public events at CERN
- Get detailed event information
- Filter by date ranges, categories, and keywords
- Built-in caching for improved performance
- Public events only (no authentication required)
Project Structure
indico-mcp/
├── main.py # Main entry point
├── requirements.txt # Python dependencies
├── .env.example # Environment variables template
├── .gitignore
│
├── src/ # Source code package
│ ├── __init__.py
│ ├── server.py # MCP server implementation
│ ├── client.py # Indico API client
│ ├── config.py # Configuration management
│ ├── models.py # Data models and normalizers
│ └── utils.py # Utility functions
│
├── scripts/ # Setup and utility scripts
│ ├── setup.sh # Linux/macOS setup script
│ └── setup.bat # Windows setup script
│
└── config/ # Configuration examples
├── server_config.example.json
└── server_config.windows.example.json
Quick Start
1. Setup
Linux/macOS:
./scripts/setup.sh
Windows:
scripts\setup.bat
2. Run
Direct execution:
python main.py
With MCP Inspector (for testing):
npx @modelcontextprotocol/inspector .venv/bin/python main.py
Windows:
.venv\Scripts\python.exe main.py
Available Tools
1. search_events
Search upcoming public CERN Indico events by keyword.
Parameters:
keyword(str): Text to search for in event titleslimit(int, optional): Maximum results (default: 10, max: 500)category_id(int, optional): Indico category ID (default: 0 = all)days_ahead(int, optional): Days to look ahead (default: 30)from_date(str, optional): Start date YYYY-MM-DDto_date(str, optional): End date YYYY-MM-DD
Example:
search_events("machine learning", limit=5)
2. get_event_details
Get detailed information for a specific public Indico event.
Parameters:
event_id(int): Numeric Indico event ID
Example:
get_event_details(1234567)
3. upcoming_public
List upcoming public events at CERN.
Parameters:
days(int, optional): Days to look ahead (default: 7)limit(int, optional): Maximum events (default: 10, max: 500)category_id(int, optional): Indico category ID (default: 0 = all)from_date(str, optional): Start date YYYY-MM-DDto_date(str, optional): End date YYYY-MM-DD
Example:
upcoming_public(days=14, limit=20)
4. server_status
Get server status and configuration information.
Example:
server_status()
Configuration
Environment Variables (Optional)
You can customize behavior by creating a .env file:
INDICO_BASE_URL=https://indico.cern.ch
LOG_LEVEL=INFO
ENABLE_CACHE=true
CACHE_SIZE=128
Note: This server only accesses public events. Authentication is disabled for security purposes.
MCP Client Configuration
For Claude Desktop or other MCP clients, use the configuration from config/server_config.example.json:
{
"servers": [
{
"name": "indico",
"command": "python",
"args": ["main.py"],
"env": {},
"enabled": true
}
]
}
Development
Running Tests
source .venv/bin/activate
python -m pytest tests/
Requirements
- Python 3.8+
- fastmcp
- requests
- python-dotenv
License
MIT
Support
- Report issues on GitHub
- Check CERN Indico documentation: https://indico.cern.ch/
Installing Indico Server
This server has no published package — it is built from source. Open the repository and follow its README.
▸ github.com/elizavetaRa/cern-indico-mcpFAQ
Is Indico Server MCP free?
Yes, Indico Server MCP is free — one-click install via Unyly at no cost.
Does Indico Server need an API key?
No, Indico Server runs without API keys or environment variables.
Is Indico Server hosted or self-hosted?
A hosted option is available: Unyly runs the server in the cloud, no local setup required.
How do I install Indico Server in Claude Desktop, Claude Code or Cursor?
Open Indico Server on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
GitHub
PRs, issues, code search, CI status
by GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
by mcpdotdirectCompare Indico Server with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All development MCPs
