Skip to main content
Glama
mcp-ignite-server

mcp-ignite-server

by Eric2XU

Microsoft Ignite MCP Server

A Model Context Protocol (MCP) server providing access to Microsoft Ignite 2025 conference data—1,033 sessions, 1,579 speakers, plus your personal schedule and favorites.

Examples:

Related MCP server: Microsoft Fabric MCP Server

Features

  • 7 MCP Tools: Search sessions/speakers, get schedules, view favorites, and fetch complete conference data

  • Smart Caching: Auto-refresh every 15 mins (sessions) and 60 mins (speakers) for fast, reliable access

  • Personal Data: Full access to your authenticated Ignite schedule and favorites

  • Production Ready: Tested with Claude Desktop and VS Code

Quick Start

1. Install Dependencies

npm install
npm run build

2. Get Your Bearer Token

Method 1: From Cookie (Recommended)

  1. Sign in at https://ignite.microsoft.com

  2. Open DevTools (F12) → Application tab → Cookies → ignite.microsoft.com

  3. Find the cookie named ignite2025.prod.token

  4. Copy the cookie value and prefix it with Bearer (e.g., Bearer eyJhbGc...)

Method 2: Console Script Run this in the browser console on ignite.microsoft.com:

(function () {
  const cookies = Object.fromEntries(
    document.cookie.split(";").map(c => {
      const [k, ...v] = c.split("=");
      return [k.trim(), decodeURIComponent(v.join("="))];
    })
  );

  const rawToken = cookies["ignite2025.prod.token"];
  if (!rawToken) {
    console.warn("ignite2025.prod.token cookie not found");
    return null;
  }

  const bearer = `Bearer ${rawToken}`;
  console.log("Bearer token:", bearer);
  return bearer;
})();

Note: This will only allow the MCP server to function for 1 hour at a time, anyone who knows a good way to enhance this like figuring out if there is a refresh token is welcome to contribute to the library.

3. Configure Token (optional)

Create a .env file:

IGNITE_BEARER_TOKEN=your_token_here

Note: You can also just put this into the mcp env config

⚠️ Never commit your token to version control!

Configuration

Claude Desktop

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "ignite": {
      "command": "node",
      "args": ["/absolute/path/to/mcp-ignite-server/build/index.js"],
      "env": {
        "IGNITE_BEARER_TOKEN": "your_token_here"
      }
    }
  }
}

VS Code (Copilot)

Create or edit .vscode/settings.json in your workspace:

{
  "github.copilot.chat.codeGeneration.instructions": [
    {
      "text": "Use MCP tools when available"
    }
  ],
  "github.copilot.chat.mcp.enabled": true,
  "github.copilot.chat.mcp.servers": {
    "ignite": {
      "command": "node",
      "args": ["/absolute/path/to/mcp-ignite-server/build/index.js"],
      "env": {
        "IGNITE_BEARER_TOKEN": "your_token_here"
      }
    }
  }
}

Restart VS Code after adding the configuration.

MCP Tools Reference

Tool

Description

Key Parameters

get_all_sessions

Fetch all 1,033 sessions (cached)

refresh?: boolean

get_session_details

Get specific session info

sessionId: string

search_sessions

Find sessions by keyword

query: string, filterScheduled?, filterFavorites?

get_my_schedule

Your personal schedule

—

get_favorites

Your favorited sessions/labs

—

get_all_speakers

Fetch all 1,579 speakers (cached)

refresh?: boolean

search_speakers

Find speakers by keyword

query: string

Examples:

  • "Show me all AI sessions in my schedule"

  • "Find speakers from Microsoft working on Azure"

  • "Get details for session BRK123"

Caching & Data

Cache files stored in data/:

  • sessions-cache.json (~8MB, refreshes every 15 min)

  • speakers-cache.json (~2MB, refreshes every 60 min)

Benefits: instant responses, offline capability, reduced API load.

API Details

Uses official Microsoft Ignite API (https://api-v2.ignite.microsoft.com):

  • /api/session/all/en-US - All sessions

  • /api/schedule/sessions/en-US - Your schedule

  • /api/speaker/all/en-US - All speakers

  • /api/favorite/* - Your favorites

See API_RESEARCH.md for complete documentation.

Troubleshooting

Issue

Solution

"IGNITE_BEARER_TOKEN is not set"

Create .env file with your token

"API request failed: 401"

Token expired—get a fresh one

"No cached sessions available"

Run get_all_sessions first

Development

npm run build    # Compile TypeScript
npm run dev      # Watch mode

License

MIT

Security & Privacy

  • Keep your bearer token secure—never commit or share it

  • Tokens expire periodically; refresh as needed

  • Server is read-only; it won't modify your data

Disclaimer

Unofficial tool, not affiliated with Microsoft. Use responsibly and respect Microsoft's terms of service.

Available Tools

7 tools
get_all_sessionsA

Fetch all Microsoft Ignite sessions with caching. Cache expires after 15 minutes and will be refreshed on the next request. Use refresh=true to force immediate refresh.

Inputs: refresh.

get_all_speakersA

Fetch all Microsoft Ignite speakers with caching. Cache expires after 60 minutes and will be refreshed on the next request. Use refresh=true to force immediate refresh.

Inputs: refresh.

get_favoritesA

Get all sessions that you have marked as favorites

Inputs: no named parameters.

get_my_scheduleA

Get all sessions that you have added to your personal schedule

Inputs: no named parameters.

get_session_detailsA

Get detailed information about a specific Ignite session by its ID

Inputs: sessionId (required).

search_sessionsA

Search sessions by title, description, speaker, or tags

Inputs: query (required), filterFavorites, filterScheduled.

search_speakersA

Search speakers by name or company. Searches firstName, lastName, displayName, and company fields only. Use firstNameOnly or lastNameOnly for precise name matching.

Inputs: query (required), lastNameOnly, firstNameOnly.

Tool Schema Changelog

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

Loading tool schema changelog…

    TDQS

    A4/5.0

    Scored across 7 tools

    Disambiguation4/5

    Most tools target clearly different resources: sessions, speakers, favorites, and schedule. get_favorites and get_my_schedule are conceptually similar user-session lists, but their descriptions distinguish favorites from schedule.

    Naming Consistency5/5

    All tools follow a consistent verb_noun pattern using get_ or search_ prefixes, with resources and modifiers clear across the set. No casing or verb-style inconsistencies.

    Tool Count5/5

    Seven tools cover the conference content surface (sessions, speakers, user lists) without redundancy or bloat. The count is well-scoped for a specialized Ignite server.

    Completeness4/5

    Core discovery is covered: list/search sessions, get details, list/search speakers, and retrieve personal session collections. The main minor gap is the lack of mutation tools for favorites/schedule, but for a read-only conference data server the surface is functional.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      C
      quality
      C
      maintenance
      Exposes Microsoft Fabric operations as MCP tools, with 105 tools across 17 domains including lakehouses, warehouses, notebooks, pipelines, and real-time analytics, handling long-running operations and supporting multiple authentication modes.
      100
      MIT