原型 · 预览版:收录官方注册中心里的全部服务器,每 30 分钟同步一次。评价和账户功能将在后续阶段推出。
PopNx MCP为使用 AI 的人准备的 MCP 服务器 · 用大白话讲清楚

Microsoft 365 Calendar

作者:mindstone版本 0.2.0i★ –i在你的电脑上运行
注册名称io.github.mindstone/mcp-server-microsoft-calendar

安装

概览

作者提供的说明(英文原文)

Microsoft 365 Outlook calendar via Graph: list, get, create, update, respond, free/busy.

PopNx MCP 的三大支柱

这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。

它能帮你做什么

我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。

  • 连接方式: 在你的电脑上运行
  • 传输方式: stdio
  • 分类: 文档、表格与办公
  • 你需要填写:MS_CLIENT_ID, MS_CONFIG_DIR

安装

选择你使用的 AI 应用,然后复制设置。

安装之前

  • 基础检查:1 项中通过 1 项
  • 在你的电脑上运行,拥有你的用户账户的权限(文件、网络、应用)。
  • 需要你自己填写: MS_CLIENT_ID, MS_CONFIG_DIR, MS_ACCOUNT_EMAIL, MS_MCP_PACKAGE_ID, MICROSOFT_REQUEST_TIMEOUT_MS

你需要

  • npm已安装 Node.js(用于 npx 命令)

你用的是哪个应用?

在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。

打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json

{
  "mcpServers": {
    "microsoft-calendar": {
      "command": "npx",
      "args": [
        "-y",
        "@mindstone/mcp-server-microsoft-calendar"
      ],
      "env": {
        "MS_CLIENT_ID": "your-value",
        "MS_CONFIG_DIR": "your-value",
        "MS_ACCOUNT_EMAIL": "your-value",
        "MS_MCP_PACKAGE_ID": "your-value",
        "MICROSOFT_REQUEST_TIMEOUT_MS": "your-value"
      }
    }
  }
}

在终端中运行这条命令

claude mcp add microsoft-calendar --env MS_CLIENT_ID=your-value --env MS_CONFIG_DIR=your-value --env MS_ACCOUNT_EMAIL=your-value --env MS_MCP_PACKAGE_ID=your-value --env MICROSOFT_REQUEST_TIMEOUT_MS=your-value -- npx -y @mindstone/mcp-server-microsoft-calendar

运行前请先填写空着的值。

在 Cursor 中打开

或者自己复制设置

粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json

{
  "mcpServers": {
    "microsoft-calendar": {
      "command": "npx",
      "args": [
        "-y",
        "@mindstone/mcp-server-microsoft-calendar"
      ],
      "env": {
        "MS_CLIENT_ID": "your-value",
        "MS_CONFIG_DIR": "your-value",
        "MS_ACCOUNT_EMAIL": "your-value",
        "MS_MCP_PACKAGE_ID": "your-value",
        "MICROSOFT_REQUEST_TIMEOUT_MS": "your-value"
      }
    }
  }
}

浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。

在 VS Code 中打开

或者自己复制设置

粘贴到项目中的 .vscode/mcp.json

{
  "servers": {
    "microsoft-calendar": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@mindstone/mcp-server-microsoft-calendar"
      ],
      "env": {
        "MS_CLIENT_ID": "your-value",
        "MS_CONFIG_DIR": "your-value",
        "MS_ACCOUNT_EMAIL": "your-value",
        "MS_MCP_PACKAGE_ID": "your-value",
        "MICROSOFT_REQUEST_TIMEOUT_MS": "your-value"
      }
    }
  }
}

浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。

这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。

你的选择通过 Cookie 保存在这台设备上,无需账户。

需要你填写的值

  • MS_CLIENT_ID 必填 env
    Microsoft Entra (Azure AD) application client ID
  • MS_CONFIG_DIR 必填 env
    Path to the per-user Microsoft config directory (credentials/, accounts.json)
  • MS_ACCOUNT_EMAIL env
    Account email when running in multi-account per-instance mode (falls back to the first account in accounts.json)
  • MS_MCP_PACKAGE_ID env
    Logical package ID surfaced in error responses
  • MICROSOFT_REQUEST_TIMEOUT_MS env
    Override the upstream Microsoft Graph request timeout in milliseconds (max 300000 = 5 min)

这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。

它能做什么

它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。

基础检查i

我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月7日

  • ✓ 通过

    作者与仓库一致

    注册名称已通过 GitHub 账户 mindstone 验证,该账户拥有此仓库

  • … 尚未检查

    仍在维护

    我们还没有从 GitHub 读取这个仓库

  • … 尚未检查

    有许可证

    我们还没有从 GitHub 读取这个仓库

  • – 不适用

    端点有响应

    它在你的电脑上运行,没有互联网端点

  • – 不适用

    使用 OAuth 登录

    在你的电脑上运行,改用本地设置

  • … 尚未检查

    工具描述中没有隐藏指令

    它在你的电脑上运行;我们只能读取互联网端点的工具列表

与“文档、表格与办公”中的其他服务器比较i

  • 星标数多于此分类中其他 2197 个服务器的 0%
  • 发布到注册中心的时间比此分类中其他 2197 个服务器的 24% 更新
  • 基础检查结果等于或优于此分类中其他 2197 个服务器的 100%

与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。

常见问题

Microsoft 365 Calendar 安全吗?

它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。

它需要哪些密钥或代码?

你需要填写:MS_CLIENT_ID, MS_CONFIG_DIR

它在我的电脑上运行还是在云端?

它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。

它还在维护吗?

GitHub 仓库最后更新于–,最新版本(0.2.0)于3个月前进入注册中心。

哪些应用可以使用它?

支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 Node.js。

有什么可以替代它?

同一分类中有:Agent-Native Calendar, Excel MCP Server, MCP Server for Excel

替代选择

同一分类中其他作者的服务器,按星标数排序。

如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i

Agent-Native Calendar

作者:BuilderIO

Agent-Native Google Calendar - manage events, sync, and public booking

在云端运行★ 7,620MIT2个月前更新
安装

Excel MCP Server

作者:haris-musa

Create and edit Excel files with AI: charts, PivotTables, formulas. No Excel needed.

在你的电脑上运行★ 4,276MIT6天前更新
安装

MCP Server for Excel

作者:sbroenne

Excel automation for AI - Sheets, Power Query, DAX, VBA, Tables, Ranges and more. Windows only.

在你的电脑上运行★ 847MIT4天前更新
安装

作者的 README

打开 README

按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。

@mindstone/mcp-server-microsoft-calendar

Microsoft 365 Outlook Calendar MCP server — list, get, create, update, delete, cancel, and respond to events, check free/busy, find meeting times, and list calendars via the Microsoft Graph API.

*Cohort-style Microsoft 365 calendar MCP. Reuses the OAuth surface owned by @mindstone/mcp-server-microsoft-mail so the host signs in once and gets calendar plus mail plus files plus Teams plus SharePoint from the same credentials.*

Status

  • Version: 0.2.0 · npm
  • Auth: OAuth (host-orchestrated, shared with mcp-server-microsoft-mail) (MS_CLIENT_ID)
  • Tools: 10 (events, calendars, free-busy, scheduling)
  • Surface: cloud-api
  • Machine-readable: STATUS.json
  • Shared library: @mindstone/mcp-server-microsoft-shared

Why this exists

When we ported this in May 2026, Microsoft's own Graph MCP lineup did not yet ship a stand-alone Outlook Calendar server, and the community options at the time treated calendar as its own login surface — every connector ran a separate OAuth dance and stored its own copy of the refresh token. We pulled the bundled connector out of MindstoneRebel as a 1:1 port so that the same five-connector Microsoft 365 cohort (mail, calendar, files, teams, SharePoint) shares a single set of credentials, a single shared-library package for token persistence and request timeouts, and the structured auth_required envelope the host already knows how to recover from. Calendar reuses @mindstone/mcp-server-microsoft-mail's authenticate_microsoft_account tool rather than declaring its own.

Example interaction

"What's on my calendar this afternoon, and find a 30-minute slot tomorrow when both Alice and I are free."

Tools the host calls:

  1. list_events — date range covering the rest of today.
  2. find_meeting_times — suggests slots tomorrow when both Alice and the user are free.

Response (trimmed):

{

"today": [ { "id": "AA...=", "subject": "Q3 review", "start": "2026-05-19T15:00:00Z", "end": "2026-05-19T16:00:00Z" } ], "tomorrow_suggestions": [ { "start": "2026-05-20T10:00:00", "end": "2026-05-20T10:30:00" }, { "start": "2026-05-20T14:30:00", "end": "2026-05-20T15:00:00" } ] }

Requirements

  • Node.js 20+
  • npm
  • A host application that performs the Microsoft OAuth flow and writes per-account token files into ${MS_CONFIG_DIR}/credentials/${sanitised-email}.token.json and an ${MS_CONFIG_DIR}/accounts.json index. This server reads those files; it does not initiate OAuth itself.

One-click install

After clicking the button, your host will prompt you to fill: MS_CLIENT_ID, MS_CONFIG_DIR, MS_MCP_PACKAGE_ID, MICROSOFT_REQUEST_TIMEOUT_MS.

Manual config for Claude Desktop / Claude Code / Goose / Continue.dev (Microsoft 365 Calendar)

{

"mcpServers": { "Microsoft 365 Calendar": { "command": "npx", "args": [ "-y", "@mindstone/mcp-server-microsoft-calendar" ], "env": { "MS_CLIENT_ID": "", "MS_CONFIG_DIR": "", "MS_MCP_PACKAGE_ID": "Microsoft365Calendar", "MICROSOFT_REQUEST_TIMEOUT_MS": "60000" } } } }

Quick Start

Install & build
cd <path-to-repo>/connectors/microsoft-calendar

npm install npm run build

npx (once published)
npx -y @mindstone/mcp-server-microsoft-calendar
Local
node dist/index.js

Configuration

This server runs alongside a host application that owns the Microsoft 365 OAuth flow. The host writes credentials to disk; this server reads them.

Required environment variables
NameDescription
MS_CLIENT_IDMicrosoft Entra (Azure AD) application client ID.
MS_CONFIG_DIRPath to the per-user Microsoft config directory (credentials/, accounts.json).
Optional environment variables
NameDescriptionDefault
MS_ACCOUNT_EMAILAccount email when running in multi-account per-instance mode.First account in accounts.json.
MS_MCP_PACKAGE_IDLogical package ID surfaced in error responses.Microsoft365Calendar
MICROSOFT_REQUEST_TIMEOUT_MSOverride the upstream Microsoft Graph request timeout (max 300000 ms).60000
MICROSOFT_DISABLE_REFRESHSet to 1 to disable token refresh on this surface. Tools fail closed with the structured auth_required response so the host can drive reauth. Cloud surfaces set this to 1.unset

Host configuration examples

Claude Desktop / Cursor
{

"mcpServers": { "Microsoft365Calendar": { "command": "npx", "args": ["-y", "@mindstone/mcp-server-microsoft-calendar"], "env": { "MS_CLIENT_ID": "your-entra-application-client-id", "MS_CONFIG_DIR": "/absolute/path/to/microsoft-config" } } } }

Sign in via @mindstone/mcp-server-microsoft-mail's authenticate_microsoft_account first; the calendar tools then reuse the credentials it writes to ${MS_CONFIG_DIR}/.

Local development (no npm publish needed)
{

"mcpServers": { "Microsoft365Calendar": { "command": "node", "args": [" /connectors/microsoft-calendar/dist/index.js"], "env": { "MS_CLIENT_ID": "your-entra-application-client-id", "MS_CONFIG_DIR": "/absolute/path/to/microsoft-config" } } } }

Tools (10)

ToolDescription
list_eventsList calendar events within a date range (JSON with per-attendee RSVP status, or agenda-style text). Reports truncated: true when Graph has more pages — narrow the range or raise top (max 100).
get_eventGet detailed information about a specific calendar event (optionally including attachment metadata; attachmentsTruncated flags further pages).
create_eventCreate a new calendar event (with optional Teams meeting and recurrence).
update_eventUpdate an existing calendar event (including adding/removing attendees and recurrence).
delete_eventDelete a calendar event.
cancel_eventCancel a meeting as organizer with an optional message to attendees.
respond_to_eventAccept, decline, or tentatively accept an event invitation.
get_free_busyCheck availability/free-busy status for users.
find_meeting_timesSuggest slots when all given attendees are free. Slots are only suggested when availability for every requested attendee was resolved; otherwise the unresolved attendees are listed in unresolvableAttendees.
list_calendarsList all calendars the user has access to.

Security notes

  • No authentication tool of its own; sign-in is delegated to @mindstone/mcp-server-microsoft-mail so the cohort has a single OAuth surface.
  • Token files are written by the host with mode 0600; this server reads them via the cohort-shared library, which fails closed on malformed files.
  • MICROSOFT_DISABLE_REFRESH=1 is the default on cloud surfaces so the desktop session remains the sole refresh-token authority.
  • Per-tool Graph calls run under a composed caller + cohort timeout signal.
  • All Graph-sourced text is returned inside envelopes; structural-looking fields (IDs, URLs, enum-like values, timestamps) pass through raw only when they match their documented closed format and are enveloped otherwise. Vendor error messages are enveloped before they reach the model.
  • Tool inputs are validated fail-closed (email addresses, ISO date-times, bounded numerics, strict recurrence objects) before any Graph request is made.
  • Event/calendar IDs interpolated into Graph request paths are validated fail-closed (rejecting ?, #, %, \, whitespace, and ./.. segments) before any network request and URL-encoded at the interpolation site, so a crafted ID cannot reroute the authenticated request.
  • Graph pagination is never silently dropped: list endpoints report truncated / attachmentsTruncated instead of following vendor-supplied continuation URLs.

Licence

FSL-1.1-MIT — Functional Source License, Version 1.1, with MIT future licence. Free for non-competing use; relicenses to MIT on the converter date in LICENSE.

问 PopNx