Token导航 LogoToken导航TokenDH.com
Outlook Meetings Scheduler MCP Server logo
办公协作HTTP官方级别未说明来源级核验

Outlook Meetings Scheduler MCP Server

MCP Server

基于Microsoft Graph API的Outlook日历事件管理服务,支持创建/修改会议、添加参会者及与GitHub等服务集成

工具数

8

提示词数

0

GitHub Stars

16

资源数

0
日程管理TypeScriptClaude工作流自动化Claude DesktopClaudeVS Code

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

anoopt

提供方

anoopt

最后核验

2026/5/17 21:00

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

](https://mseep.ai/app/anoopt-outlook-meetings-scheduler-mcp-server)

Outlook会议计划程序MCP服务器

MCP服务器,用于使用Microsoft Graph API在Microsoft Outlook中安排会议。

此MCP服务器允许您创建日历事件,创建与与会者的事件(包括查找他们的电子邮件地址)。 它与其他MCP服务器(如GitHub MCP服务器)无缝集成,以增强您的工作流程。

示例查询

  • 安排明天下午3点与Sarah会面。
  • 为明天下午2点创建一个名为“项目启动”的会议。根据需要添加梅根和约翰作为与会者。

使用GitHub MCP服务器

  • 在组织/仓库存储库中创建一个题为“修复用户仪表板中的分页错误”的问题,描述为“用户报告在页面之间导航时看到重复条目”。然后安排一个日历提醒,让我明天下午3点查看此问题。

演示

Demo

工具

  1. find-person

- 按姓名查找某人的电子邮件地址 - 输入: name (字符串) - 返回:具有姓名和电子邮件地址的匹配人员列表

  1. create-event

- 使用Microsoft Graph API创建日历事件 - 输入: - subject (string):日历事件的主题 - body (string):日历事件的内容/正文 - start (可选):ISO格式的日期时间(例如2025-04-20T12:00:00) - end (可选):ISO格式的日期时间(例如2025-04-20T13:00:00) - timeZone (可选):事件的时区(默认:“GMT标准时间”) - 返回:事件详细信息,包括URL和ID

  1. create-event-with-attendees

- 使用Microsoft Graph API为与会者创建日历事件 - 输入: - subject (string):日历事件的主题 - body (string):日历事件的内容/正文 - start (可选):ISO格式的日期时间(例如2025-04-20T12:00:00) - end (可选):ISO格式的日期时间(例如2025-04-20T13:00:00) - timeZone (可选):事件的时区(默认:“GMT标准时间”) - location (可选):活动地点 - attendees:{email、name(可选)、type(可选)}的数组 - 返回:事件详细信息,包括URL、ID和与会者列表

  1. get-event

- 按ID获取日历事件的详细信息 - 输入: - eventId (string):要检索的事件的ID - 返回:详细的活动信息,包括主题、时间、与会者和URL

  1. list-events

- 列出具有可选筛选功能的日历事件 - 输入: - subject (可选):按包含此文本的主题筛选事件 - startDate (可选):ISO格式的开始日期(例如2025-04-20T00:00:00),用于筛选以下事件 - endDate (可选):ISO格式的结束日期(例如2025-04-20T23:59:59),用于过滤事件,直到 - maxResults (可选):要返回的最大事件数 - 返回:包含基本信息和ID的日历事件列表

  1. delete-event

- 删除日历事件 - 输入: - eventId (string):要删除的事件的ID - 返回:事件删除确认

  1. update-event

- 更新现有日历事件 - 输入: - eventId (string):要更新的事件的ID - subject (可选):日历活动的新主题 - body (可选):日历事件的新内容/正文 - start (可选):ISO格式的新开始时间(例如2025-04-20T12:00:00) - end (可选):ISO格式的新结束时间(例如2025-04-20T13:00:00) - timeZone (可选):活动的新时区 - location (可选):活动的新地点 - attendees (可选):{email、name(可选)、type(可选)}的数组 - 返回:显示更改的更新事件详细信息

  1. update-event-attendees

- 在日历事件中添加或删除与会者 - 输入: - eventId (string):要更新的事件的ID - addAttendees (可选):要添加的与会者数组:{电子邮件、姓名(可选)、类型(可选)} - removeAttendees (可选):要从事件中删除的电子邮件地址数组 - 返回:更新的活动参与者信息

设置

身份验证模式

此MCP服务器支持三种身份验证模式:

1.互动(委托)

非常感谢。 \_关闭

最适合:用户模拟场景,访问用户特定数据

  • 提示用户以交互方式登录
  • 使用委派权限
  • 以登录用户身份进行身份验证

2.客户端凭据(仅限应用程序)

最适合:服务器到服务器场景、自动化流程

  • 使用Azure AD应用程序凭据
  • 需要应用程序权限
  • 无需用户交互即可工作

3.客户提供的令牌

最适合:自定义代币管理、预先获得的代币

  • 使用客户端提供的令牌
  • 需要从外部管理令牌刷新

Microsoft Graph API安装程序

用于交互式(委托)模式

  1. 微软Azure门户 (或使用现有应用程序)
  2. 添加重定向URI: http://localhost (移动和桌面应用平台)
  3. 启用公共客户端流:转到身份验证>高级设置>“允许公共客户端流”=
  4. 需要补助 委托权限:Microsoft Graph API>委派权限>日历。读写,人们。阅读,用户。阅读
  5. 注意您的客户端ID和租户ID(与自定义应用程序的交互模式不需要客户端密码)
注: 默认情况下,服务器使用内置的多租户应用程序,因此自定义应用程序设置是可选的。当需要身份验证时,设备代码和登录URL将直接出现在您的MCP客户端聊天界面中。

用于客户端凭据(仅应用程序)模式

  1. 微软Azure门户
  2. 创建客户端密钥
  3. 需要补助 应用程序权限:Microsoft Graph API>应用程序权限>日历。读写,人们。读。全部,用户。阅读基础。全部
  4. 为您的组织授予管理员许可
  5. 记下您的客户ID、客户密码和租户ID

使用VS代码

身份验证模式配置

MCP服务器通过以下方式支持不同的身份验证模式 AUTH_MODE 环境变量:

  • interactive (默认)-使用浏览器或设备代码流进行用户身份验证
  • client_credentials -仅使用客户端密钥的应用程序身份验证
  • client_provided_token -使用预先获得的令牌

向后兼容:如果 AUTH_MODE 如果未指定,服务器会自动检测模式:

  • ······的出现 CLIENT_SECRETclient_credentials 模式
  • ······的出现 ACCESS_TOKENclient_provided_token 模式
  • 都不在场→ interactive 模式(默认)

本地Node.js

您可以从本地构建直接使用Node.js运行MCP服务器:

  1. 克隆存储库并构建项目:
git clone https://github.com/anoopt/outlook-meetings-scheduler-mcp-server.git
cd outlook-meetings-scheduler-mcp-server
npm install
npm run build
  1. 对于手动安装,请将以下JSON块添加到VS Code中的用户设置(JSON)文件中。您可以按 Ctrl + Shift + P 键入首选项: Open User Settings (JSON).

您可以选择将其添加到名为的文件中 .vscode/mcp.json 在您的工作空间中。这将允许您与他人共享配置:

交互模式(默认-零配置):

{
  "mcpServers": {
    "outlook-meetings-scheduler": {
      "command": "node",
      "args": [
        "/path/to/outlook-meetings-scheduler-mcp-server/build/index.js"
      ]
    }
  }
}

自定义应用程序的交互模式:

{
  "mcpServers": {
    "outlook-meetings-scheduler": {
      "command": "node",
      "args": [
        "/path/to/outlook-meetings-scheduler-mcp-server/build/index.js"
      ],
      "env": {
        "AUTH_MODE": "interactive",
        "CLIENT_ID": "",
        "TENANT_ID": ""
      }
    }
  }
}

客户端凭据模式:

{
  "mcpServers": {
    "outlook-meetings-scheduler": {
      "command": "node",
      "args": [
        "/path/to/outlook-meetings-scheduler-mcp-server/build/index.js"
      ],
      "env": {
        "AUTH_MODE": "client_credentials",
        "CLIENT_ID": "",
        "CLIENT_SECRET": "",
        "TENANT_ID": "",
        "USER_EMAIL": ""
      }
    }
  }
}

客户端提供的令牌模式:

{
  "mcpServers": {
    "outlook-meetings-scheduler": {
      "command": "node",
      "args": [
        "/path/to/outlook-meetings-scheduler-mcp-server/build/index.js"
      ],
      "env": {
        "AUTH_MODE": "client_provided_token",
        "ACCESS_TOKEN": "",
        "TOKEN_EXPIRES_ON": "2025-10-03T12:00:00Z",
        "USER_EMAIL": ""
      }
    }
  }
}
注: - 使用内置的多租户Azure AD应用程序(适用于任何组织) - USER_EMAIL由登录用户自动确定 - 用户将看到一次性同意提示(无需管理员批准) - 无需配置-开箱即用

自定义应用程序的交互模式:

{
  "mcpServers": {
    "outlook-meetings-scheduler": {
      "command": "node",
      "args": [
        "/path/to/outlook-meetings-scheduler-mcp-server/build/index.js"
      ],
      "env": {
        "AUTH_MODE": "interactive",
        "CLIENT_ID": "",
        "TENANT_ID": ""
      }
    }
  }
}
如果您需要特定的品牌或租户限制,请使用自定义应用程序。

替换 /path/to/outlook-meetings-scheduler-mcp-server 带有克隆存储库的绝对路径。

码头工人

在本地使用Docker运行MCP服务器。使用以下命令构建Docker镜像:

docker build -t mcp/outlook-meetings-scheduler .

对于手动安装,请将以下JSON块添加到VS Code中的用户设置(JSON)文件中。您可以按 Ctrl + Shift + P 键入首选项: Open User Settings (JSON).

您可以选择将其添加到名为的文件中 .vscode/mcp.json 在您的工作空间中。这将允许您与他人共享配置。

{
     "inputs": [
      {
        "type": "promptString",
        "id": "client_secret",
        "description": "Enter the client secret",
        "password": true
      }
    ],
    "servers": {
        "outlook-meetings-scheduler": {
            "command": "docker",
            "args": [
                "run",
                "-i",
                "--rm",
                "-e",
                "CLIENT_ID",
                "-e",
                "CLIENT_SECRET",
                "-e",
                "TENANT_ID",
                "-e",
                "USER_EMAIL",
                "mcp/outlook-meetings-scheduler"
            ],
            "env": {
                "USER_EMAIL": "",
                "CLIENT_ID": "",
                "CLIENT_SECRET": "${input:client_secret}",
                "TENANT_ID": ""
            }
        }
    }
}

NPX

交互模式(默认-零配置):

{
  "mcpServers": {
    "outlook-meetings-scheduler": {
      "command": "npx",
      "args": [
        "-y",
        "outlook-meetings-scheduler"
      ]
    }
  }
}

自定义应用程序的交互模式:

{
  "mcpServers": {
    "outlook-meetings-scheduler": {
      "command": "npx",
      "args": [
        "-y",
        "outlook-meetings-scheduler"
      ],
      "env": {
        "AUTH_MODE": "interactive",
        "CLIENT_ID": "",
        "TENANT_ID": ""
      }
    }
  }
}

客户端凭据模式:

{
  "mcpServers": {
    "outlook-meetings-scheduler": {
      "command": "npx",
      "args": [
        "-y",
        "outlook-meetings-scheduler"
      ],
      "env": {
        "AUTH_MODE": "client_credentials",
        "CLIENT_ID": "",
        "CLIENT_SECRET": "",
        "TENANT_ID": "",
        "USER_EMAIL": ""
      }
    }
  }
}

客户端提供的令牌模式:

{
  "mcpServers": {
    "outlook-meetings-scheduler": {
      "command": "npx",
      "args": [
        "-y",
        "outlook-meetings-scheduler"
      ],
      "env": {
        "AUTH_MODE": "client_provided_token",
        "ACCESS_TOKEN": "",
        "TOKEN_EXPIRES_ON": "2025-10-03T12:00:00Z",
        "USER_EMAIL": ""
      }
    }
  }
}

使用Claude Desktop

码头工人

  1. 在本地使用Docker运行MCP服务器。使用以下命令构建Docker镜像:
docker build -t mcp/outlook-meetings-scheduler .
  1. 将以下内容添加到您的 claude_desktop_config.json:
{
  "mcpServers": {
    "outlook-meetings-scheduler": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "CLIENT_ID",
        "-e",
        "CLIENT_SECRET",
        "-e",
        "TENANT_ID",
        "-e",
        "USER_EMAIL",
        "mcp/outlook-meetings-scheduler"
      ],
      "env": {
        "CLIENT_ID": "",
        "CLIENT_SECRET": "",
        "TENANT_ID": "",
        "USER_EMAIL": ""
      }
    }
  }
}

NPX

交互模式(默认-零配置):

{
  "mcpServers": {
    "outlook-meetings-scheduler": {
      "command": "npx",
      "args": [
        "-y",
        "outlook-meetings-scheduler"
      ]
    }
  }
}

自定义应用程序的交互模式:

{
  "mcpServers": {
    "outlook-meetings-scheduler": {
      "command": "npx",
      "args": [
        "-y",
        "outlook-meetings-scheduler"
      ],
      "env": {
        "AUTH_MODE": "interactive",
        "CLIENT_ID": "",
        "TENANT_ID": ""
      }
    }
  }
}

客户端凭据模式:

{
  "mcpServers": {
    "outlook-meetings-scheduler": {
      "command": "npx",
      "args": [
        "-y",
        "outlook-meetings-scheduler"
      ],
      "env": {
        "AUTH_MODE": "client_credentials",
        "CLIENT_ID": "",
        "CLIENT_SECRET": "",
        "TENANT_ID": "",
        "USER_EMAIL": ""
      }
    }
  }
}

客户端提供的令牌模式:

{
  "mcpServers": {
    "outlook-meetings-scheduler": {
      "command": "npx",
      "args": [
        "-y",
        "outlook-meetings-scheduler"
      ],
      "env": {
        "AUTH_MODE": "client_provided_token",
        "ACCESS_TOKEN": "",
        "TOKEN_EXPIRES_ON": "2025-10-03T12:00:00Z",
        "USER_EMAIL": ""
      }
    }
  }
}

示例场景

与GitHub MCP服务器集成

您可以将此MCP服务器与GitHub MCP服务器等其他MCP服务器结合使用,以实现强大的工作流。

创建问题并安排后续审查

Create an issue in the organization/repo repository titled "Fix pagination bug in user dashboard" with the description "Users report seeing duplicate entries when navigating between pages." Then schedule a calendar reminder for me to review this issue tomorrow at 3 PM.

这将:

  1. 使用GitHub MCP服务器创建问题
  2. 使用Outlook会议计划程序MCP服务器为审阅创建日历事件

根据Pull请求安排代码审查会议

Find the open PR about the authentication feature in the organization/app-backend repository and schedule a code review meeting with the contributors for tomorrow morning.

这将:

  1. 使用GitHub MCP服务器查找拉取请求并识别贡献者
  2. 使用Outlook会议计划程序MCP服务器安排与这些团队成员的会议

多MCP设置配置

要同时使用GitHub和Outlook MCP服务器,请执行以下操作:

{
  "mcpServers": {
    "outlook-meetings-scheduler": {
      "command": "npx",
      "args": [
        "-y",
        "outlook-meetings-scheduler"
      ],
      "env": {
        "CLIENT_ID": "",
        "CLIENT_SECRET": "",
        "TENANT_ID": "",
        "USER_EMAIL": ""
      }
    },
    "github": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/github-mcp"
      ],
      "env": {
        "GITHUB_TOKEN": ""
      }
    }
  }
}

直接使用

查找同事的电子邮件

I need to schedule a meeting with John Smith. Can you find his email address?

创建一个简单的日历事件

Schedule a meeting titled "Weekly Team Sync" for next Monday at 10 AM with the following agenda:
- Project updates
- Resource allocation
- Questions and concerns

安排单人会议

Schedule a 1:1 meeting with Sarah for tomorrow at 3 PM.

这将找到Sarah的电子邮件地址并创建日历事件。 要查找Sarah的电子邮件地址,MCP服务器将使用 find-person 工具-使用Microsoft Graph API为 USER_EMAIL 或在组织中搜索该名称。

安排有多个与会者的会议

Create a meeting called "Project Kickoff" for tomorrow at 2 PM. 
Add sarah.jones@example.com and mike.thompson@example.com as required attendees.
The agenda is:
1. Project overview
2. Timeline discussion
3. Role assignments
4. Next steps

环境变量

交互模式(默认)

变量描述必填默认
AUTH_MODE身份验证模式interactive
CLIENT_IDAzure AD应用程序(客户端)ID内置多租户应用程序
TENANT_IDAzure AD租户IDcommon (多租户)
USER_EMAIL用户的电子邮件地址从登录用户中自动检测到
REDIRECT_URI自定义重定向URIhttp://localhost

客户端凭据模式

变量描述必填
AUTH_MODE身份验证模式
CLIENT_IDAzure AD应用程序(客户端)ID
CLIENT_SECRETAzure AD应用程序客户端密码
TENANT_IDAzure AD租户ID
USER_EMAIL要访问其日历的用户的电子邮件地址

客户端提供的令牌模式

变量描述必填默认
AUTH_MODE身份验证模式-
ACCESS_TOKEN预先获取的访问令牌-
USER_EMAIL用户的电子邮件地址-
TOKEN_EXPIRES_ON令牌到期日期(ISO格式)从开始时间算起1小时

如何获取访问令牌

您可以通过多种方法获得访问令牌:

1.Azure CLI(适用于Microsoft Graph-建议用于测试):

# Login to Azure
az login

# Get token specifically for Microsoft Graph with correct scopes
az account get-access-token --resource=https://graph.microsoft.com --query accessToken --output tsv
注: Azure CLI令牌具有广泛的权限,但可能不包括特定的日历范围(Calendars.ReadWrite)。对于生产使用,考虑以下具有明确范围配置的方法3或4。

2.PowerShell REST API(建议用于Windows):

# For client credentials flow (app-only) - most reliable method
$clientId = "your-client-id"
$clientSecret = "your-client-secret" 
$tenantId = "your-tenant-id"

$body = @{
    grant_type = "client_credentials"
    client_id = $clientId
    client_secret = $clientSecret
    scope = "https://graph.microsoft.com/.default"
}

$response = Invoke-RestMethod -Uri "https://login.microsoftonline.com/$tenantId/oauth2/v2.0/token" -Method Post -Body $body
$token = $response.access_token
Write-Host "Access Token: $token"

3.来自您自己的应用程序(最可靠):

// Using @azure/identity with specific scopes
import { ClientSecretCredential } from '@azure/identity';

const credential = new ClientSecretCredential(
  'your-tenant-id',
  'your-client-id', 
  'your-client-secret'
);

// Request token with specific Microsoft Graph scopes
const token = await credential.getToken([
  'https://graph.microsoft.com/Calendars.ReadWrite',
  'https://graph.microsoft.com/People.Read', 
  'https://graph.microsoft.com/User.Read'
]);

// Use token.token as your ACCESS_TOKEN
console.log(token.token);

4.使用OAuth2设备代码流(交互式):

# For personal Microsoft accounts or when you need user consent
curl -X POST \
  https://login.microsoftonline.com/common/oauth2/v2.0/devicecode \
  -H 'Content-Type: application/x-www-form-urlencoded' \
  -d 'client_id={your-client-id}&scope=https://graph.microsoft.com/Calendars.ReadWrite https://graph.microsoft.com/People.Read https://graph.microsoft.com/User.Read'

# Follow the device code instructions, then exchange for token
curl -X POST \
  https://login.microsoftonline.com/common/oauth2/v2.0/token \
  -H 'Content-Type: application/x-www-form-urlencoded' \
  -d 'grant_type=urn:ietf:params:oauth:grant-type:device_code&client_id={your-client-id}&device_code={device-code-from-step-1}'

5.客户端凭据流(仅限应用程序):

curl -X POST \
  https://login.microsoftonline.com/{tenant-id}/oauth2/v2.0/token \
  -H 'Content-Type: application/x-www-form-urlencoded' \
  -d 'grant_type=client_credentials&client_id={client-id}&client_secret={client-secret}&scope=https://graph.microsoft.com/.default'

重要提示: 确保您的Azure AD应用注册具有所需的 委派应用 权限:

  • 委派:日历。读写,人们。阅读,用户。阅读
  • 应用:日历。读写,人们。读。全部,用户。阅读基础。全部(需要管理员同意)

身份验证模式详细信息

客户端证书

  • 最适合: 自动化场景,服务器到服务器通信
  • 要求: CLIENT_ID, CLIENT_SECRET, TENANT_ID, USER_EMAIL
  • 权限: 应用程序权限(例如,Calendars.ReadWrite)
  • 注: 应用程序需要管理员同意

交互式(默认)

  • 最适合: 用户模拟场景、委托访问(最常见的用例)
  • 设置: 无需配置-开箱即用
  • 要求: 无(使用内置的多租户应用程序)
  • 可选: CLIENT_IDTENANT_ID 用于自定义应用程序
  • 权限: 委托权限(例如,Calendars.ReadWrite)
  • 身份验证流程:

- 首先尝试基于浏览器的交互式登录 - 如果浏览器身份验证失败,则返回设备代码流 - 设备代码和URL出现在MCP客户端聊天中 便于访问 - 系统将提示用户在浏览器中进行身份验证

  • 注: 使用内置的多租户应用程序(适用于任何组织)

客户端_提供_令牌

  • 最适合: 自定义令牌管理,与现有身份验证系统集成
  • 要求: ACCESS_TOKEN, USER_EMAIL
  • 可选: TOKEN_EXPIRES_ON (如果没有提供,则假设从开始时间起1小时有效)
  • 令牌来源: Microsoft Graph PowerShell、自定义应用程序、OAuth2流、Azure CLI(有限制)
  • 使用案例: 特定范围的测试、与现有身份验证流的集成、CI/CD管道、开发/调试
  • 注: 令牌刷新必须由外部处理

构建

# Install dependencies
npm install

# Build the project
npm run build

# Docker build
docker build -t mcp/outlook-meetings-scheduler .

许可证

此MCP服务器根据ISC许可证获得许可。有关更多详细信息,请参阅项目存储库中的LICENSE文件。

免责声明

此MCP服务器不隶属于Microsoft或Microsoft Graph API。使用风险自负。确保您在使用此工具时遵守组织的政策和指导方针。

目录标签

目录标签

日程管理TypeScriptClaude工作流自动化会议调度本地部署日历管理微软Graph集成团队协作自动化工作流

支持客户端

Claude DesktopClaudeVS Code

接入字段

传输方式(transport,传输协议)

HTTP

鉴权方式(authType,认证方式)

oauth

部署方式(deploymentType,部署类型)

remote-capable

工具数量(toolCount,工具数)

8

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

HTTPoauthremote-capable

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP