Skip to main content

MCP server for the Microsoft Events API

Project description

Microsoft Events MCP Server

Python 3.10+ MCP License: MIT Tests Coverage FastMCP

An MCP server that exposes the Microsoft Events API as tools for AI assistants. Search, filter, and analyze Microsoft events (conferences, workshops, webinars) directly from Claude, Cursor, or any MCP-compatible client.


Features

  • Search Events — Full-text search with filters by topic, product, region, format, and audience
  • Event Details — Retrieve complete event information by ID
  • Filter Discovery — List all available filter categories and values with event counts
  • Event Statistics — Aggregated stats by country, city, format, topic, and more
  • Multi-Locale — Supports de-de, en-us, and other Microsoft API locales
  • In-Memory Cache — Events are indexed on first fetch for fast subsequent lookups

MCP Tools

Tool Description
search_events Search events with optional filters and free-text query
get_event_details Get full details for a specific event by ID
list_filters List all available filter categories with counts
get_event_stats Get aggregated statistics about events

Quick Start

Install via uvx (recommended)

No cloning or pip needed — just add this to your Claude Desktop MCP config (~/Library/Application Support/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "microsoft-events": {
      "command": "uvx",
      "args": ["msevent-mcp"]
    }
  }
}

Or add it to Claude Code:

claude mcp add microsoft-events uvx msevent-mcp

uvx is included with uv. It runs the server in an isolated environment and keeps it up to date automatically.

Install from source (development)

git clone https://github.com/trsdn/msevent-mcp.git
cd msevent-mcp
pip install -r requirements.txt
python mcp_server.py

For source installs, use the full path in your MCP config:

{
  "mcpServers": {
    "microsoft-events": {
      "command": "python3",
      "args": ["/path/to/msevent-mcp/mcp_server.py"]
    }
  }
}

Usage Examples

Search for AI events in Germany

search_events(filters="topic:ai,region:europe", locale="de-de")

Get all available filters

list_filters(locale="en-us")

Get event statistics

get_event_stats(filters="format:digital")

Tests

Run the unit tests (no network required):

pip install pytest pytest-cov
python3 -m pytest test_mcp_server.py -v -m "not live"

Run with coverage report:

python3 -m pytest test_mcp_server.py -m "not live" --cov=mcp_server --cov-report=term-missing

Run live API tests (requires network):

python3 -m pytest test_mcp_server.py -v -m "live"

Test Coverage

Name            Stmts   Miss  Cover
---------------------------------------------
mcp_server.py      95      1    99%

Architecture

mcp_server.py          # MCP server with 4 tools
test_mcp_server.py     # 43 unit tests + 4 live API tests
requirements.txt       # Dependencies (fastmcp)
pytest.ini             # Test configuration

The server uses urllib.request for HTTP calls (no additional dependencies beyond FastMCP) and maintains an in-memory event cache for the lifetime of the process.

API Reference

The server communicates with the Microsoft Events API via POST requests. No API key is required.

Filter Categories

Category Example Values
topic ai, security, cloud, data
product azure, m365, dynamics
region europe, north-america, asia
format digital, in-person, hybrid
audience developer, it-pro, business

Built with FastMCP and the Model Context Protocol.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

msevent_mcp-0.1.0.tar.gz (11.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

msevent_mcp-0.1.0-py3-none-any.whl (7.8 kB view details)

Uploaded Python 3

File details

Details for the file msevent_mcp-0.1.0.tar.gz.

File metadata

  • Download URL: msevent_mcp-0.1.0.tar.gz
  • Upload date:
  • Size: 11.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.0 {"installer":{"name":"uv","version":"0.10.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for msevent_mcp-0.1.0.tar.gz
Algorithm Hash digest
SHA256 a1f3d9e0c3898a7cac89d0ee5b1ff9cff6633457a57681e78bc23681d3e39c31
MD5 d2d5741eb6cd200faaf5d3ca58fbf2b6
BLAKE2b-256 2d5b9f4398b66ecc618fbdfcc87e762c5465eaab8b87e75ac631c409fd85b9dd

See more details on using hashes here.

File details

Details for the file msevent_mcp-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: msevent_mcp-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 7.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.0 {"installer":{"name":"uv","version":"0.10.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for msevent_mcp-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d3a90fc78a96533f4b3381a408bacee1c569f57a64be46a5eb16d0e0d0b5a175
MD5 1fb71087e8b7ff4307fd571cd811ee00
BLAKE2b-256 55744b84c409a689bbf4357c0413f92ddaf510ca99bdf2a5e8163ce4d2884ff5

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page