Indico MCP Server
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., "@Indico MCP ServerFind upcoming events about machine learning"
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.
Indico MCP Server PROTOTYPE
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.jsonQuick Start
1. Setup
Linux/macOS:
./scripts/setup.shWindows:
scripts\setup.bat2. Run
Direct execution:
python main.pyWith MCP Inspector (for testing):
npx @modelcontextprotocol/inspector .venv/bin/python main.pyWindows:
.venv\Scripts\python.exe main.pyAvailable 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=128Note: 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/
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
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/elizavetaRa/cern-indico-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server