A Model Context Protocol (MCP) server for accessing Sessionize event data - speakers, sessions, and schedules from any Sessionize-powered conference.
Built with Quarkus MCP Server.
This server supports two MCP transport modes:
| Mode | Description | Use Case |
|---|---|---|
| stdio | Standard input/output communication | Default for Claude Desktop, Claude Code, Cursor, VS Code |
| SSE | Server-Sent Events over HTTP | Standalone server, web integrations, multiple clients |
- Java 21+ - Download
- Sessionize Event ID - Get from your event's API URL:
https://sessionize.com/api/v2/{EVENT_ID}/view/All
claude mcp add sessionize -e SESSIONIZE_EVENT_ID="your-event-id" -- npx -y mcp-sessionize@latestAdd to ~/.claude/settings.json:
{
"mcpServers": {
"sessionize": {
"command": "npx",
"args": ["-y", "mcp-sessionize@latest"],
"env": {
"SESSIONIZE_EVENT_ID": "your-event-id"
}
}
}
}Add to claude_desktop_config.json:
{
"mcpServers": {
"sessionize": {
"command": "npx",
"args": ["-y", "mcp-sessionize@latest"],
"env": {
"SESSIONIZE_EVENT_ID": "your-event-id"
}
}
}
}code --add-mcp '{"name":"sessionize","command":"npx","args":["-y","mcp-sessionize@latest"],"env":{"SESSIONIZE_EVENT_ID":"your-event-id"}}'Add to mcp.json:
{
"mcpServers": {
"sessionize": {
"command": "npx",
"args": ["-y", "mcp-sessionize@latest"],
"env": {
"SESSIONIZE_EVENT_ID": "your-event-id"
}
}
}
}Add to MCP configuration:
{
"mcpServers": {
"sessionize": {
"command": "npx",
"args": ["-y", "mcp-sessionize@latest"],
"env": {
"SESSIONIZE_EVENT_ID": "your-event-id"
}
}
}
}Add to config.yaml:
extensions:
sessionize:
command: npx
args:
- -y
- mcp-sessionize@latest
env:
SESSIONIZE_EVENT_ID: your-event-idRun as standalone server:
npx mcp-sessionize --port 9080 --event-id your-event-idEndpoints:
- SSE:
http://localhost:9080/mcp/sse - Streamable HTTP:
http://localhost:9080/mcp
| Option | Description |
|---|---|
--port <PORT> |
Start in SSE mode on specified port |
--event-id <ID> |
Default Sessionize event ID |
--help |
Show help message |
--version |
Show version |
| Variable | Description | Required |
|---|---|---|
SESSIONIZE_EVENT_ID |
Default event ID (can be overridden per tool call) | No |
The event ID can be configured in three ways (in order of precedence):
- Tool parameter: Pass
eventIddirectly in tool calls - CLI argument:
--event-id your-event-id - Environment variable:
SESSIONIZE_EVENT_ID=your-event-id
This server provides 6 tools organized in 3 categories:
List all speakers for a Sessionize event.
| Parameter | Type | Required | Description |
|---|---|---|---|
eventId |
string | No* | Sessionize event ID |
Returns: List of speakers with name, bio, tagline, profile picture, and links.
*Required if
SESSIONIZE_EVENT_IDis not set.
Search for a speaker by name.
| Parameter | Type | Required | Description |
|---|---|---|---|
name |
string | Yes | Speaker name to search for (partial match) |
eventId |
string | No* | Sessionize event ID |
Returns: Matching speakers with full details.
Get all sessions for a specific speaker.
| Parameter | Type | Required | Description |
|---|---|---|---|
speakerName |
string | Yes | Speaker name to find sessions for |
eventId |
string | No* | Sessionize event ID |
Returns: List of sessions presented by the speaker.
List all sessions for a Sessionize event.
| Parameter | Type | Required | Description |
|---|---|---|---|
eventId |
string | No* | Sessionize event ID |
Returns: List of sessions with title, description, speakers, room, and time.
Search sessions by title or description.
| Parameter | Type | Required | Description |
|---|---|---|---|
query |
string | Yes | Search term (matches title or description) |
eventId |
string | No* | Sessionize event ID |
Returns: Matching sessions with full details.
Get the event schedule/agenda organized by day and time.
| Parameter | Type | Required | Description |
|---|---|---|---|
eventId |
string | No* | Sessionize event ID |
Returns: Schedule organized by date with time slots and rooms.
Use natural language to explore conference data:
"Show me all speakers for the conference"
"Find speaker Jean Lopez"
"Search for speakers named Victor"
"Who is presenting at the event?"
"List all speakers with their bios"
"List all sessions"
"Find sessions about Kubernetes"
"Search for talks about AI"
"What sessions are about cloud native?"
"Show me sessions by Jean Lopez"
"What is Victor Aguayo presenting?"
"What's the schedule for the conference?"
"Show me today's agenda"
"What sessions are happening now?"
"Get the full event schedule"
"What time does the keynote start?"
"Show speakers for event 8gc76sf7"
"List sessions for CloudNativeLima (eventId: 8gc76sf7)"
"Get the schedule for DevConf (eventId: abc123)"
Here are some public Sessionize events you can try:
| Event | Event ID |
|---|---|
| CloudNativeLima | 8gc76sf7 |
To find your event ID, check your Sessionize embed URL: https://sessionize.com/api/v2/{EVENT_ID}/view/All
./mvnw quarkus:dev# Regular JAR
./mvnw package -DskipTests
# Uber JAR (single file)
./mvnw package -DskipTests -Dquarkus.package.jar.type=uber-jarecho '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"test","version":"1.0.0"}}}' | \
java -Dquarkus.mcp.server.stdio.enabled=true -Dquarkus.http.host-enabled=false -jar target/*-runner.jar# stdio mode
npx @modelcontextprotocol/inspector npx mcp-sessionize
# SSE mode
npx mcp-sessionize --port 9080 --event-id 8gc76sf7
# Then connect inspector to http://localhost:9080/mcp/sse- Quarkus 3.30.2 - Supersonic Subatomic Java Framework
- quarkus-mcp-server-http - HTTP/SSE MCP transport
- quarkus-mcp-server-stdio - STDIO MCP transport
- MicroProfile REST Client - For Sessionize API communication
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
Apache-2.0 - Free to use, modify, and distribute.