Outlook Meetings Scheduler MCP Server

Outlook Meetings Scheduler MCP Server

site icon
2025.04.21 0
TypeScript会议安排日历管理日程管理
Outlook Meetings Scheduler MCP Server 是一个用于通过 Microsoft Graph API 在 Microsoft Outlook 中安排会议的 MCP 服务器。它允许用户创建日历事件,包括带有参与者的会议,并能与其他 MCP 服务器(如 GitHub MCP 服务器)无缝集成,以增强工作流程。
View on GitHub

Overview

基本能力

产品定位

Outlook Meetings Scheduler MCP Server 主要用于通过 Microsoft Graph API 在 Microsoft Outlook 中安排和管理会议。

核心功能

  • 创建日历事件
  • 创建带有参与者的会议
  • 查找人员的电子邮件地址
  • 获取、更新和删除日历事件
  • 列出日历事件并进行筛选

适用场景

  • 安排个人或团队会议
  • 与 GitHub MCP 服务器集成,创建问题并安排后续审查会议
  • 查找同事的电子邮件地址并安排会议

工具列表

  1. find-person:通过名称查找人员的电子邮件地址。
  2. create-event:创建日历事件。
  3. create-event-with-attendees:创建带有参与者的日历事件。
  4. get-event:通过 ID 获取日历事件的详细信息。
  5. list-events:列出日历事件并进行筛选。
  6. delete-event:删除日历事件。
  7. update-event:更新现有的日历事件。
  8. update-event-attendees:添加或移除日历事件的参与者。

常见问题解答

  • 如何与 GitHub MCP 服务器集成? 在配置文件中同时配置 GitHub 和 Outlook MCP 服务器的环境变量。
  • 如何查找同事的电子邮件地址? 使用 find-person 工具,输入同事的名称即可。

使用教程

使用依赖

  1. 注册一个应用程序在 Microsoft Azure Portal
  2. 创建一个客户端密钥。
  3. 授予必要的权限(Microsoft Graph API > 应用程序权限 > Calendars.ReadWrite, People.Read.All, User.ReadBasic.All)。
  4. 记录您的客户端 ID、客户端密钥和租户 ID。

安装教程

本地 Node.js

  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. 在 VS Code 的用户设置(JSON)文件中添加以下 JSON 块:
{
  "mcpServers": {
    "outlook-meetings-scheduler": {
      "command": "node",
      "args": [
        "/path/to/outlook-meetings-scheduler-mcp-server/build/index.js"
      ],
      "env": {
        "CLIENT_ID": "<YOUR_CLIENT_ID>",
        "CLIENT_SECRET": "<YOUR_CLIENT_SECRET>",
        "TENANT_ID": "<YOUR_TENANT_ID>",
        "USER_EMAIL": "<YOUR_EMAIL>"
      }
    }
  }
}

Docker

  1. 构建 Docker 镜像:
docker build -t mcp/outlook-meetings-scheduler .
  1. 在 VS Code 的用户设置(JSON)文件中添加以下 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": "<YOUR_EMAIL>",
                "CLIENT_ID": "<YOUR_CLIENT_ID>",
                "CLIENT_SECRET": "${input:client_secret}",
                "TENANT_ID": "<YOUR_TENANT_ID>"
            }
        }
    }
}

NPX

在 VS Code 的用户设置(JSON)文件中添加以下 JSON 块:

{
  "mcpServers": {
    "outlook-meetings-scheduler": {
      "command": "npx",
      "args": [
        "-y",
        "outlook-meetings-scheduler"
      ],
      "env": {
        "CLIENT_ID": "<YOUR_CLIENT_ID>",
        "CLIENT_SECRET": "<YOUR_CLIENT_SECRET>",
        "TENANT_ID": "<YOUR_TENANT_ID>",
        "USER_EMAIL": "<YOUR_EMAIL>"
      }
    }
  }
}

调试方式

  1. 确保所有环境变量已正确设置。
  2. 使用 list-events 工具列出日历事件,确认服务器正常运行。
  3. 使用 create-event 工具创建一个测试事件,确认事件能够成功创建。

示例场景

与 GitHub 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.

直接使用

查找同事的电子邮件

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.

安排与多个参与者的会议

Create a meeting called "Project Kickoff" for tomorrow at 2 PM. 
Add [email protected] and [email protected] as required attendees.
The agenda is:
1. Project overview
2. Timeline discussion
3. Role assignments
4. Next steps

许可证

该项目遵循 ISC 开源许可条款,请参阅 ISC 了解完整条款。