ms-calendar-mcp
io.github.0xka13b · Updated
Microsoft Calendar (Outlook Calendar) MCP server for managing events via Microsoft Graph.
At a glance
ms-calendar-mcp is an MCP server in the Dev Tools & Git category. It runs locally over stdio via `npx -y ms-calendar-mcp`, and declares no required credentials. It scores B (70/100) on the MCP Skills Hub health score as of Oct 28, 2026.
One-click install
Opens your editor and pre-fills the config. Your editor will ask before adding it.
How to install ms-calendar-mcp in your AI client
Setup for Claude Code, Claude Desktop, Cursor, Codex, Windsurf, Cline and VS Code — copy-paste ready.
How to install ms-calendar-mcp in Claude CodeAnthropic's agentic CLI
Add the server
bashclaude mcp add ms-calendar-mcp -- npx -y ms-calendar-mcpVerify it's connected
bashclaude mcp listSharing it with your team?
Add `--scope project` to write it to .mcp.json in the repository root, which you can commit (with the secrets left as environment variables).
Use it in a session
Ask Claude to use the tools this server exposes. It discovers them automatically.
How to install ms-calendar-mcp in Claude DesktopDesktop app (MCP config)
Open your MCP config
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json · Windows: %APPDATA%\Claude\claude_desktop_config.json
Add this server
json{ "mcpServers": { "ms-calendar-mcp": { "command": "npx", "args": [ "-y", "ms-calendar-mcp" ] } } }Restart Claude Desktop
The tools appear under the 🔌 menu once the app reloads.
How to install ms-calendar-mcp in CursorAI-first code editor
Create / edit .cursor/mcp.json in your project
json{ "mcpServers": { "ms-calendar-mcp": { "command": "npx", "args": [ "-y", "ms-calendar-mcp" ] } } }Enable it
Cursor Settings → MCP → toggle the server on. Tools become available to the Composer/Agent.
How to install ms-calendar-mcp in Codex CLIOpenAI coding agent
Add to ~/.codex/config.toml
toml[mcp_servers.ms-calendar-mcp] command = "npx" args = ["-y", "ms-calendar-mcp"]Run Codex
Codex loads MCP servers from config.toml on startup and exposes their tools to the agent.
How to install ms-calendar-mcp in WindsurfCodeium's agentic IDE
Edit ~/.codeium/windsurf/mcp_config.json
json{ "mcpServers": { "ms-calendar-mcp": { "command": "npx", "args": [ "-y", "ms-calendar-mcp" ] } } }Reload
Windsurf → Cascade → refresh MCP servers. Cascade can now call the tools.
How to install ms-calendar-mcp in ClineVS Code autonomous agent
Open Cline → MCP Servers → Configure
Adds to cline_mcp_settings.json.
Add the server
json{ "mcpServers": { "ms-calendar-mcp": { "command": "npx", "args": [ "-y", "ms-calendar-mcp" ] } } }
How to install ms-calendar-mcp in VS CodeCopilot / MCP support
Create .vscode/mcp.json
json{ "servers": { "ms-calendar-mcp": { "type": "stdio", "command": "npx", "args": [ "-y", "ms-calendar-mcp" ] } } }Start it
VS Code shows a ▶ Start action above the server entry. Agent mode (Copilot Chat) can then use the tools.
What does ms-calendar-mcp need from you?
Configuration only — Declares config values but no credentials.
MICROSOFT_CLIENT_IDoptionalEnvironment variableEntra ID application (client) ID for the public client app used to sign in. Run `npx -y ms-calendar-mcp login` once to cache a refresh token.
Pass secrets through your shell environment rather than committing them into a config file.
What tools does ms-calendar-mcp expose?
This server runs as a local package. We only query remote servers for their tool list — asking this one would mean executing it, so its tools are listed in the documentation below.
What the code can do
Read from the published package source — never executed. Parsed 1 of 1 source file.
This server can run other programs on your machine, read and write files and make network requests.
How it was published
- No provenance attestation — there is nothing linking this published artifact to a specific source commit.
- 1 npm maintainer — a single point of compromise · last published by ko1ebayev.
Maintainer of this package and think something here is wrong? Tell us and we'll correct it.
Before you install
Signals gathered from the source repo and package registry — not a safety verdict.
What it can reach
- Runs code on your machine — Executes as a local process with your user's permissions, including filesystem access.
- Downloads at launch — The package is fetched from its registry each run unless you pin a version.
- Last commit 4 months ago — Actively maintained.
- 0 GitHub stars — Very little community usage so far.
Client compatibility
Health score
B · 70Maintenance, adoption, transparency and packaging — not a safety audit. How this is calculated
- Maintenance30%84%
Last commit 142 days ago.
- Adoption20%0%
0 stars.
- Transparency20%75%
3/4: ✓ public source repo, ✓ declared license, ✓ documentation, ✗ discoverable tool list.
- Provenance15%100%
Package and registry entry point at the same repository.
- Packaging15%100%
Publishes a pinned version (1.0.1).
Documentation
Full README
Microsoft MCP
<b>Model Context Protocol servers for Microsoft 365.</b> Calendar · Contacts · OneDrive · Outlook · SharePoint — on the official <code>@modelcontextprotocol/sdk</code>, over stdio or Streamable HTTP.
Each server speaks the real MCP protocol and runs over either transport:
- stdio — for local MCP clients that launch the server as a subprocess (Claude Desktop, IDEs, the MCP Inspector).
- Streamable HTTP — for remote/hosted use, with the Microsoft Graph access token supplied per request via
Authorization: Bearer.
Servers
| | Server | npm package (and binary) | Tools | | :-: | ----------- | ------------------------- | ----: | | | Calendar | ms-calendar-mcp | 9 | | | Contacts | ms-contacts-mcp | 7 | | | OneDrive | ms-onedrive-mcp | 9 | | | Outlook | microsoft-outlook-mcp | 14 | | | SharePoint | ms-sharepoint-mcp | 23 |
All tools are thin wrappers over the Microsoft Graph v1.0 API.
Layout
microsoft-mcp/
├── apps/ # one MCP server per Microsoft 365 product
│ ├── calendar/
│ ├── contacts/
│ ├── onedrive/
│ ├── outlook/
│ └── sharepoint/
│ └── src/
│ ├── tools.ts # declarative tool definitions (schema + handler)
│ └── index.ts # run({ name, version }, tools)
└── packages/ # shared building blocks
├── core/ # MCP server bootstrap + dual transport (stdio / HTTP)
├── graph/ # Microsoft Graph HTTP client
├── validation/ # id / path / query sanitizers
└── logger/ # structured JSON logging (stderr-only — stdio-safe)A server is just a list of tools handed to run():
// apps/calendar/src/index.ts
import { run } from "@microsoft-mcp/core";
import { tools } from "./tools.js";
void run({ name: "microsoft-calendar", version: "1.0.0", title: "Microsoft Calendar" }, tools);// a single tool
defineTool({
name: "get_event",
description: "Get a single calendar event by ID.",
inputSchema: { event_id: z.string().describe("Event ID") },
confirmationPolicy: "never",
handler: ({ graph }, { event_id }) => {
validateId(event_id, "event_id");
return graph.request("GET", `/me/events/${event_id}`);
},
});confirmationPolicy ("always" for mutating/destructive tools, "never" for read-only) is surfaced to clients as MCP readOnlyHint / destructiveHint annotations.
Excerpt — the full document is on GitHub.
Alternatives to ms-calendar-mcp
- Minerva MCP — Microsoft 365 & AzureA · 82Microsoft 365 & Azure admin: Graph, ARM, and the PowerShell cmdlets Graph does not expose.
- Google Calendar MCPB · 79MCP server for the Google Calendar API: events, recurrence, invitations, availability, calendars.
- Agent-Native CalendarA · 88Agent-Native Google Calendar - manage events, sync, and public booking
- iCloud Calendar (CalDAV)B · 73iCloud Calendar over CalDAV: list, create, update, move and delete events. Optional read-only mode.
Maintain ms-calendar-mcp? Add a badge to your README
Shows its health grade, and links readers to install steps for every client.
[](https://mcp-skills-hub.vercel.app/mcps/io-github-0xka13b-ms-calendar-mcp)Catalog data refreshed . Something wrong? Report it.