O

Outlook会议安排器MCP服务器

@anoopt/outlook-meetings-scheduler-mcp-server
0 Stars 104 次浏览 anoopt 更新于 2026-08-23

允许通过 Microsoft Graph API 在 Microsoft Outlook 中安排会议,具有创建日历事件和通过查找电子邮件地址添加与会者等功能。

MCP 服务配置

复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用

{
  "mcpServers": {
    "github": {
      "args": [
        "-y",
        "@modelcontextprotocol/github-mcp"
      ],
      "command": "npx",
      "env": {
        "GITHUB_TOKEN": "\u003cYOUR_GITHUB_TOKEN\u003e"
      }
    },
    "outlook-meetings-scheduler": {
      "args": [
        "-y",
        "outlook-meetings-scheduler"
      ],
      "command": "npx",
      "env": {
        "CLIENT_ID": "\u003cYOUR_CLIENT_ID\u003e",
        "CLIENT_SECRET": "\u003cYOUR_CLIENT_SECRET\u003e",
        "TENANT_ID": "\u003cYOUR_TENANT_ID\u003e",
        "USER_EMAIL": "\u003cYOUR_EMAIL\u003e"
      }
    }
  }
}

该服务需要配置环境变量:CLIENT_ID、CLIENT_SECRET、TENANT_ID、USER_EMAIL

服务介绍

Outlook 会议调度 MCP 服务器

使用 Microsoft Graph API 在 Microsoft Outlook 中调度会议的 MCP 服务器。

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

示例查询

  • 为明天下午3点与 Sarah 安排一个会议。
  • 为明天下午2点创建一个名为 "Project Kickoff" 的会议。将 Megan 和 John 添加为必需的参与者。

与 GitHub MCP 服务器结合使用

  • 在 organization/repo 仓库中创建一个标题为 "Fix pagination bug in user dashboard" 的问题,描述为 "用户报告在页面之间导航时看到重复条目。" 然后为我安排一个日历提醒,让我明天下午3点审查这个问题。

工具

# Outlook 会议调度 MCP 服务器

使用 Microsoft Graph API 在 Microsoft Outlook 中调度会议的 MCP 服务器。

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

## 示例查询

- 为明天下午3点与 Sarah 安排一个会议。
- 为明天下午2点创建一个名为 "Project Kickoff" 的会议。将 Megan 和 John 添加为必需的参与者。

### 与 GitHub MCP 服务器结合使用
- 在 organization/repo 仓库中创建一个标题为 "Fix pagination bug in user dashboard" 的问题,描述为 "用户报告在页面之间导航时看到重复条目。" 然后为我安排一个日历提醒,让我明天下午3点审查这个问题。

## 工具

请注意,原文档中的“工具”部分没有具体内容,因此翻译中也保留了这一状态。如果有更多关于工具的具体信息,请提供以便进一步翻译。

  1. find-person

    • Find a person's email address by their name
    • Input: name (string)
    • Returns: List of matching people with names and email addresses
  2. create-event

    • Create a calendar event using Microsoft Graph API
    • Inputs:
      • subject (string): Subject of the calendar event
      • body (string): Content/body of the calendar event
      • start (optional): ISO format datetime (e.g., 2025-04-20T12:00:00)
      • end (optional): ISO format datetime (e.g., 2025-04-20T13:00:00)
      • timeZone (optional): Time zone for the event (default: "GMT Standard Time")
    • Returns: Event details including URL and ID
  3. create-event-with-attendees

    • Create a calendar event with attendees using Microsoft Graph API
    • Inputs:
      • subject (string): Subject of the calendar event
      • body (string): Content/body of the calendar event
      • start (optional): ISO format datetime (e.g., 2025-04-20T12:00:00)
      • end (optional): ISO format datetime (e.g., 2025-04-20T13:00:00)
      • timeZone (optional): Time zone for the event (default: "GMT Standard Time")
      • location (optional): Location of the event
      • attendees: Array of { email, name (optional), type (optional) }
    • Returns: Event details including URL, ID, and attendees list
  4. get-event

    • Get details of a calendar event by its ID
    • Input:
      • eventId (string): ID of the event to retrieve
    • Returns: Detailed event information including subject, time, attendees, and URL
  5. list-events

    • List calendar events with optional filtering
    • Inputs:
      • subject (optional): Filter events by subject containing this text
      • startDate (optional): Start date in ISO format (e.g., 2025-04-20T00:00:00) to filter events from
      • endDate (optional): End date in ISO format (e.g., 2025-04-20T23:59:59) to filter events until
      • maxResults (optional): Maximum number of events to return
    • Returns: List of calendar events with basic information and IDs
  6. delete-event

    • Delete a calendar event
    • Input:
      • eventId (string): ID of the event to delete
    • Returns: Confirmation of event deletion
  7. update-event

    • Update an existing calendar event
    • Inputs:
      • eventId (string): ID of the event to update
      • subject (optional): New subject for the calendar event
      • body (optional): New content/body for the calendar event
      • start (optional): New start time in ISO format (e.g., 2025-04-20T12:00:00)
      • end (optional): New end time in ISO format (e.g., 2025-04-20T13:00:00)
      • timeZone (optional): New time zone for the event
      • location (optional): New location for the event
      • attendees (optional): Array of { email, name (optional), type (optional) }
    • Returns: Updated event details showing changes
  8. update-event-attendees

    • Add or remove attendees from a calendar event
    • Inputs:
      • eventId (string): ID of the event to update
      • addAttendees (optional): Array of attendees to add: { email, name (optional), type (optional) }
      • removeAttendees (optional): Array of email addresses to remove from the event
    • Returns: Updated event attendee information

设置

Microsoft Graph API 设置

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

使用 VS Code

本地 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 并键入 Preferences: Open User Settings (JSON) 来完成此操作。

或者,您可以将其添加到工作区中的 .vscode/mcp.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>"
      }
    }
  }
}

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

Docker

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

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

对于手动安装,将以下 JSON 块添加到 VS Code 中的用户设置(JSON)文件中。您可以通过按下 Ctrl + Shift + P 并键入 Preferences: 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": "<YOUR_EMAIL>",
                "CLIENT_ID": "<YOUR_CLIENT_ID>",
                "CLIENT_SECRET": "${input:client_secret}",
                "TENANT_ID": "<YOUR_TENANT_ID>"
            }
        }
    }
}

NPX

{
  "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>"
      }
    }
  }
}

使用 Claude Desktop

Docker

  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": "<YOUR_CLIENT_ID>",
        "CLIENT_SECRET": "<YOUR_CLIENT_SECRET>",
        "TENANT_ID": "<YOUR_TENANT_ID>",
        "USER_EMAIL": "<YOUR_EMAIL>"
      }
    }
  }
}

NPX

{
  "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>"
      }
    }
  }
}

示例场景

与 GitHub MCP 服务器集成

您可以将此 MCP 服务器与其他 MCP 服务器(如 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.

这将:

  1. 使用 GitHub MCP 服务器创建问题。
  2. 使用 Outlook 会议调度 MCP 服务器为审查创建日历事件。

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

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": "<YOUR_CLIENT_ID>",
        "CLIENT_SECRET": "<YOUR_CLIENT_SECRET>",
        "TENANT_ID": "<YOUR_TENANT_ID>",
        "USER_EMAIL": "<YOUR_EMAIL>"
      }
    },
    "github": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/github-mcp"
      ],
      "env": {
        "GITHUB_TOKEN": "<YOUR_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

构建

# 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无关。使用风险自负。请确保在使用此工具时遵守您组织的政策和指南。