Skip to main content
Glama
kubecon-agenda-mcp

kubecon-agenda-mcp

by slashben

kubecon-agenda-mcp

A read-only MCP server that lets AI agents search, browse and sanity-check a KubeCon + CloudNativeCon schedule: the main conference, every talk of the CNCF-hosted co-located events (ArgoCon, Agentics Day, SecurityCon, ...) and the Maintainer Summit.

Default event: KubeCon + CloudNativeCon North America 2026, Salt Lake City, Nov 9-12. Point it at any other conference that publishes a Sessionize schedule by changing one environment variable.

Community project. Not affiliated with CNCF, the Linux Foundation or Sessionize.

Use it

Hosted endpoint (Streamable HTTP, no auth, read-only):

https://kubecon-schedule-mcp.slashben.net/mcp

It works with any MCP client that speaks Streamable HTTP. Pick yours:

claude mcp add --transport http kubecon https://kubecon-schedule-mcp.slashben.net/mcp

Settings, Connectors, Add custom connector, paste the URL. Available on paid plans.

Settings, Apps & Connectors, Advanced settings, enable Developer mode. Then Connectors, Create, paste the URL, choose No authentication. In a chat, open the plus menu and enable the connector. Developer mode is a beta feature on OpenAI's side.

Add to .vscode/mcp.json (workspace) or run MCP: Open User Configuration (all projects):

{
  "servers": {
    "kubecon": { "type": "http", "url": "https://kubecon-schedule-mcp.slashben.net/mcp" }
  }
}

Or from the shell: code --add-mcp '{"name":"kubecon","type":"http","url":"https://kubecon-schedule-mcp.slashben.net/mcp"}'. Use it from Copilot Chat in agent mode.

Run /mcp add inside the CLI, or add to ~/.copilot/mcp-config.json:

{
  "mcpServers": {
    "kubecon": { "type": "http", "url": "https://kubecon-schedule-mcp.slashben.net/mcp", "tools": ["*"] }
  }
}
gemini mcp add --transport http -s user kubecon https://kubecon-schedule-mcp.slashben.net/mcp

or in ~/.gemini/settings.json:

{
  "mcpServers": {
    "kubecon": { "httpUrl": "https://kubecon-schedule-mcp.slashben.net/mcp", "timeout": 30000 }
  }
}

Use httpUrl, not url (that one is for the older SSE transport). Check with /mcp.

codex mcp add kubecon --url https://kubecon-schedule-mcp.slashben.net/mcp

Add to ~/.cursor/mcp.json (global) or .cursor/mcp.json (project):

{
  "mcpServers": {
    "kubecon": { "url": "https://kubecon-schedule-mcp.slashben.net/mcp" }
  }
}

Any client with a remote / HTTP MCP option: transport Streamable HTTP, URL above, no auth headers. For stdio-only clients, bridge with npx mcp-remote https://kubecon-schedule-mcp.slashben.net/mcp.

Then ask things like:

  • "What's on right now?" or "what starts in the next hour near Grand Ballroom H?"

  • "Find Falco or Tetragon talks on Wednesday after 2pm."

  • "Which co-located events run on Monday?"

  • "Plan my Tuesday around eBPF, runtime security and agent sandboxing, no overlaps."

  • "Is Ben Hirschberg speaking, and when?"

Related MCP server: Sessionize MCP Server

Tools

Tool

What it does

describe_event

Event name, local time right now, valid days, tracks, rooms, CNCF project tags. Call first.

search_sessions

AND-combined filters (query, speaker, day, after, before, room, track, project, level), ranked by relevance then time. Breaks hidden unless asked; off-site sponsor events can be excluded.

get_session

Full abstract, speakers, room, level, project tags, slides/repo links for one id.

whats_on

What is on at a moment (default: now in event time): talks in progress, talks starting within the hour, all-day blocks, off-site events.

find_speaker

Speakers by name or company, with their sessions.

check_agenda

Order a list of session ids, flag overlaps, unknown ids and venue changes with no walking time.

Also exposed: an agenda://day/{day} resource (one full day, in time order) and a plan_my_day prompt.

Output is plain text, one line per session, built to be cheap in tokens:

[1236746] | Tue 10 Nov 14:50-15:20 | Hyatt Regency, Level 2, Salt Lake Ballroom DE | Security | Gone in 60 Minutes: ... — Ben Hirschberg, Dr. Constanze Roedig

Run it yourself

uv sync
uv run kubecon-agenda-mcp            # http://localhost:8080/mcp
uv run pytest

Or with Docker:

docker build -t kubecon-agenda-mcp .
docker run -p 8080:8080 kubecon-agenda-mcp

Configuration

Variable

Default

Purpose

SESSIONIZE_FEEDS

main, co-located and Maintainer Summit feeds of KubeCon NA 2026

Comma-separated id=label pairs; each label becomes the session's program

SESSIONIZE_EVENT_ID

unset

Shortcut for a single-feed event; ignored when SESSIONIZE_FEEDS is set

EVENT_NAME

KubeCon + CloudNativeCon North America 2026

Shown to agents

EVENT_SHORT_NAME

KubeCon NA 2026

Shown to agents

EVENT_CITY

Salt Lake City

Shown to agents

EVENT_TIMEZONE

America/Denver

Used for "now"

EVENT_URL

LF schedule page

Linked from tool output

CACHE_TTL_SECONDS

600

How long the feed is cached in memory

PORT

8080

Listen port

Deploy to Google Cloud Run

The server is stateless, so any scale-to-zero container platform works. On Cloud Run:

gcloud run deploy kubecon-agenda-mcp --source . --region us-central1 \
  --allow-unauthenticated --cpu 1 --memory 512Mi --min-instances 0 --max-instances 5

Map a custom domain with gcloud beta run domain-mappings create or put it behind a load balancer.

How it works

Sessionize publishes a public JSON view of each schedule (sessions, speakers, rooms, categories as separate tables). Linux Foundation events spread one conference over several Sessionize events; the ids are in the data-sched-config attribute of each LF schedule page. The server fetches all of them concurrently, joins them into flat session records with a program field, caches the result in memory with ETag revalidation, and keeps serving the last good copy of any feed that is down. Search is a ranked AND over terms: a hit in the title outranks a tag, which outranks the abstract. Access notes LF appends to titles ("| ALL ACCESS PASS REQUIRED") are split into a separate field.

No user data is stored. Tool calls are logged as one JSON line each (tool name, filter names used, result counts) for usage metrics; query text is never logged.

License

Apache-2.0

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    Related MCP Connectors

    Related MCP Servers

    • F
      license
      Not graded
      quality
      C
      maintenance
      An OAuth-secured remote MCP server (22 tools) that lets Claude, ChatGPT, and Codex search All-In Summit attendee profiles, explore the live agenda, check sessions and meetings, detect scheduling conflicts, and export a calendar. Account-changing actions are only prepared for review, with the user confirming each request in the browser before any event API call is made.
      -
    • F
      license
      Not graded
      quality
      B
      maintenance
      Enables agentic systems to search and retrieve conference talk details, ask grounded questions about the conference, list talks and concepts, and monitor server queue status via native MCP tools.
      2
      -