返回市场
会议调度器mcp服务器

会议调度器mcp服务器

作者:anoopt13 星标更新:2025-10-04

项目介绍

MseeP.ai 安全评估徽章

Microsoft Outlook 会议调度 MCP 服务器

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

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

<a href="https://glama.ai/mcp/servers/@anoopt/outlook-meetings-scheduler-mcp-server"> <img width="380" height="200" src="https://gips3.baidu.com/it/u=3611983996,2647732500&fm=3081&app=3081&f=PNG?w=760&h=400" alt="Outlook 会议调度器 MCP 服务器" /> </a>

示例查询

  • 明天下午三点与 Sarah 预约会议。
  • 创建名为“项目启动”的会议,时间定在明天下午两点。添加 Megan 和 John 作为必需参会者。

与 GitHub MCP 服务器结合使用

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

演示

演示

工具

  1. find-person

    • 根据姓名查找人员的电子邮件地址
    • 输入:name(字符串)
    • 返回:匹配人员的姓名和电子邮件地址列表
  2. create-event

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

    • 使用 Microsoft Graph API 创建带有参与者的日历事件
    • 输入:
      • subject(字符串):日历事件的主题
      • body(字符串):日历事件的内容/正文
      • start(可选):ISO 格式日期时间(例如,2025-04-20T12:00:00)
      • end(可选):ISO 格式日期时间(例如,2025-04-20T13:00:00)
      • timeZone(可选):事件的时间区域(默认:“GMT Standard Time”)
      • location(可选):事件地点
      • attendees:包含 { email, name(可选),type(可选)} 的数组
    • 返回:事件详细信息,包括 URL、ID 和参与者列表
  4. get-event

    • 根据其 ID 获取日历事件的详细信息
    • 输入:
      • eventId(字符串):要检索的事件 ID
    • 返回:详细的事件信息,包括主题、时间、参与者和 URL
  5. list-events

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

    • 删除日历事件
    • 输入:
      • eventId(字符串):要删除的事件 ID
    • 返回:确认事件已删除
  7. update-event

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

    • 向日历事件添加或移除参与者
    • 输入:
      • eventId(字符串):要更新的事件 ID
      • addAttendees(可选):要添加的参与者数组:{ email, name(可选),type(可选)}
      • removeAttendees(可选):要从事件中移除的电子邮件地址数组
    • 返回:更新的事件参与者信息

设置

认证模式

此 MCP 服务器支持三种认证模式:

1. 交互式(委托)

感谢 Lokka

最佳用途:模拟用户场景,访问特定用户的资料

  • 提示用户进行交互式登录
  • 使用委托权限
  • 作为已登录用户进行身份验证

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

最佳用途:服务器到服务器场景,自动化过程

  • 使用 Azure AD 应用程序凭据
  • 需要应用程序权限
  • 不需要用户互动

3. 客户端提供的令牌

最佳用途:自定义令牌管理,预获取的令牌

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

Microsoft Graph API 设置

对于交互式(委托)模式

  1. Microsoft Azure 门户 注册一个应用程序(或使用现有的应用程序)
  2. 添加重定向 URI:http://localhost(移动和桌面应用程序平台)
  3. 启用公共客户端流:转到身份验证 > 高级设置 > “允许公共客户端流” =
  4. 授予必要的委托权限:Microsoft Graph API > 委托权限 > Calendars.ReadWrite, People.Read, User.Read
  5. 记录您的客户端 ID 和租户 ID(对于使用自定义应用程序的交互模式,不需要客户端密钥)

注意:服务器默认使用内置的多租户应用程序,因此自定义应用程序设置是可选的。当需要身份验证时,设备代码和登录 URL 将直接出现在您的 MCP 客户端聊天界面中。

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

  1. Microsoft Azure 门户 注册一个应用程序
  2. 创建客户端密钥
  3. 授予必要的应用程序权限:Microsoft Graph API > 应用程序权限 > Calendars.ReadWrite, People.Read.All, User.ReadBasic.All
  4. 为您的组织授予管理员同意
  5. 记录您的客户端 ID、客户端密钥和租户 ID

与 VS Code 结合使用

认证模式配置

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 并键入“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"
      ]
    }
  }
}

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

{
  "mcpServers": {
    "outlook-meetings-scheduler": {
      "command": "node",
      "args": [
        "/path/to/outlook-meetings-scheduler-mcp-server/build/index.js"
      ],
      "env": {
        "AUTH_MODE": "interactive",
        "CLIENT_ID": "<YOUR_CLIENT_ID>",
        "TENANT_ID": "<YOUR_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": "<YOUR_CLIENT_ID>",
        "CLIENT_SECRET": "<YOUR_CLIENT_SECRET>",
        "TENANT_ID": "<YOUR_TENANT_ID>",
        "USER_EMAIL": "<YOUR_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": "<YOUR_ACCESS_TOKEN>",
        "TOKEN_EXPIRES_ON": "2025-10-03T12:00:00Z",
        "USER_EMAIL": "<YOUR_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": "<YOUR_CLIENT_ID>",
        你的租户ID
      }
    }
  }
}

如果需要特定的品牌或租户限制,请使用自定义应用程序。

/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": "输入客户端密钥",
        "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"
      ]
    }
  }
}

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

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

客户端凭据模式:

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

客户端提供的令牌模式:

{
  "mcpServers": {
    "outlook-meetings-scheduler": {
      "command": "npx",
      "args": [
        "-y",
        "outlook-meetings-scheduler"
      ],
      "env": {
        "AUTH_MODE": "client_provided_token",
        "ACCESS_TOKEN": "<YOUR_ACCESS_TOKEN>",
        "TOKEN_EXPIRES_ON": "2025-10-03T12:00:00Z",
        "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"
      ]
    }
  }
}

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

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

客户端凭据模式:

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