Skip to main content
Glama

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)

Related MCP server: indico-mcp

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 titles

  • limit (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-DD

  • to_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-DD

  • to_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

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    Enables AI assistants to search, filter, and analyze Microsoft events (conferences, workshops, webinars) using the Microsoft Events API.
    4
    2
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    MCP server for the Indico meeting agenda system, enabling AI agents to search event categories, browse agendas, and extract contribution and session details. Works with multiple Indico instances simultaneously.
    19
    3
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI agents to search CERN's open research data repository and retrieve records, files, and curated communities by DOI or keyword, covering datasets, software, papers, and presentations. Works keyless over HTTP or as a local stdio server, with no account required for initial calls.
    31 npm
    MIT