Teams 插件指南:通过 MCP 让 Cursor Agent 读写 Microsoft Teams 聊天与频道消息
【免费下载链接】pluginsCursor plugin specification and official plugins项目地址: https://gitcode.com/GitHub_Trending/plugins125/plugins
本指南围绕本仓库中官方 Teams 插件 展开,介绍如何将 Cursor 中的 AI Agent 通过远程 Model Context Protocol(MCP)服务器接入 Microsoft Teams,实现在已登录的微软账号内搜索聊天与频道消息、读取会话、发送消息以及添加表情回应。读完本文,你将掌握该插件的安装方式、MCP 配置细节、OAuth 2.0 认证与租户管理员授权的前提条件,并能基于仓库中的清单与配置源码理解其在 Cursor 插件市场中的分发机制。
插件概览:Cursor Agent 与 Microsoft Teams 之间的桥梁
Teams 插件是 Cursor 官方提供的 productivity(生产力)类插件之一。它通过 Cursor 托管的远程 MCP 服务器,把 Agent 连接到 Microsoft Teams,使 AI 助手能够直接操作你在微软账号中的 Teams 数据:
- 搜索聊天(chat)和频道(channel)消息;
- 读取会话内容;
- 发送消息;
- 在已登录的微软账号中为消息添加表情回应(react)。
该插件本身不携带任何本地 MCP 服务代码,而是以声明式的 MCP 配置指向 Cursor 提供的远程端点,这正是本仓库中大量第三方集成插件(如 Gmail、Google Drive 等)共用的模式。
安装插件
安装 Teams 插件有两种方式,按需任选其一:
方式一:通过 Cursor 插件市场安装
- 打开Cursor Settings → Plugins(设置 → 插件);
- 搜索Teams;
- 点击Install,随后在弹出的提示中完成 Microsoft 登录授权。
方式二:通过聊天命令快速添加
在 Cursor 聊天框中直接运行:
/add-plugin teams安装完成后,插件即可被 Agent 识别并用于后续的 Teams 交互。
MCP 配置:远程 HTTP 服务器
插件通过mcp.json声明其 MCP 服务器,完整配置如下(见 third_party/teams/mcp.json):
{ "mcpServers": { "teams": { "type": "http", "url": "https://api.cursor.com/rest-mcp/teams/mcp" } } }要点说明:
mcpServers是标准的 MCP 服务器声明对象,插件内部的键名teams即该服务器在 Agent 环境中的标识;type: "http"表示该服务器为远程 HTTP 传输的 MCP 端点,而非本地 stdio 进程,因此插件安装后无需在本地启动任何服务;url指向 Cursor 托管的 REST MCP 网关https://api.cursor.com/rest-mcp/teams/mcp,所有 Teams 能力(搜索、读取、发送、回应)均通过该端点透传到 Microsoft Graph API。
值得注意的是,这份mcp.json与 plugin.json 中的"mcpServers": "./mcp.json"字段相互配合:清单通过相对路径引用该文件,将 MCP 服务器配置注入插件。从仓库根目录的 插件清单结构说明 可以看到,mcp.json是每个插件目录的标准组成部分,与此并列的还有skills/、rules/、README.md与LICENSE等。
认证与授权前提
Teams 插件的认证体系与微软生态深度绑定,安装与使用前需确认以下前提:
- OAuth 2.0 认证(Entra ID):认证流程基于 OAuth 2.0 协议,针对微软的 Entra ID(Azure Active Directory)执行。当插件建立连接时,Cursor 会弹出 Microsoft 登录提示,引导用户完成授权;
- 必须使用工作或学校账号:该插件要求 Microsoftwork or school account(工作/学校账号),个人 Microsoft 账号不满足使用条件;
- 频道消息读取需要租户管理员同意:要读取频道(channel)消息,连接前必须由租户管理员(tenant admin)授予管理员同意(admin consent),否则插件无法连接并读取频道内容。
这一权限层级与 Microsoft Graph API 对 Teams 数据的访问模型一致:组织级资源(频道、频道消息)需要租户级授权,而用户自身的聊天(chat)数据仅需用户级 OAuth 授权即可访问。
插件清单:分发与版本约束
插件清单 third_party/teams/.cursor-plugin/plugin.json 定义了插件在 Cursor 插件市场中的元数据与分发约束:
| 字段 | 值 | 说明 |
|---|---|---|
name | teams | 插件唯一标识,需与市场清单中的名称一致 |
displayName | Teams | 市场中展示的名称 |
version | 1.0.0 | 语义化版本号 |
minClientVersions.cursor | 3.19.0 | 安装该插件所需的最低 Cursor 客户端版本 |
minClientVersions.sand | 0.30.0 | 对 sand(Grok Bot 的旧客户端标识)的最低版本要求 |
author.name | Cursor | 插件作者 |
license | MIT | SPDX 许可证标识 |
logo | assets/logo.svg | 插件图标路径(相对插件根目录) |
category | productivity | 市场分类 |
mcpServers | ./mcp.json | 指向插件的 MCP 服务器配置文件 |
其中minClientVersions的作用可在 schemas/plugin.schema.json 中看到更严格的定义:该字段按客户端标识(cursor、grokbot、sand)分别声明最低版本,甚至支持字面量"never"用于对某个客户端完全隐藏插件。这保证了 Teams 插件只会在满足版本要求的客户端中出现在市场列表里。
此外,仓库根目录的市场清单 .cursor-plugin/marketplace.json 中以source: "third_party/teams"登记了该插件,并给出了与清单一致的描述 "Search, read, and send Microsoft Teams chats and channel messages.";仓库自带的校验脚本 scripts/validate-plugins.mjs 会逐一验证每个插件的目录存在性、plugin.json是否符合 schema,以及市场清单中的name是否与插件清单的name一致——这些校验保证了 Teams 插件这类第三方集成项能够在市场中可靠地安装与分发。
插件 Logo 与品牌说明
插件使用微软官方的 Microsoft Teams 产品图标(来源于微软 Fluent 品牌图标 CDN),并将图标置于带留白的白色方块上,使其在 Cursor 界面中呈现清晰。仓库内的 Logo 文件位于 assets/logo.svg,插件清单通过"logo": "assets/logo.svg"字段引用。
相关参考
- 该插件依赖 Microsoft Graph 提供的 Teams API 能力(
teams-api-overview)以及 Microsoft Graph 整体数据模型(overview),文档中已给出相应官方参考链接,接入时可进一步查阅以了解底层 API 的能力边界与权限模型; - 如需了解 Teams 插件在整体插件市场中的定位,可参考 README.md 中的插件清单表,其中将 Teams 归类为 Cursor 官方 "Productivity" 分类,描述为 "Search, read, and send Microsoft Teams chats and channel messages.";
- 版本变更历史见 CHANGELOG.md:v1.0.0 为初始发布,包含官方 Teams 产品图标,并新增指向
https://api.cursor.com/rest-mcp/teams/mcp的teamsMCP 服务器。
许可证
Teams 插件遵循 MIT 许可证,完整条款见 LICENSE。
【免费下载链接】pluginsCursor plugin specification and official plugins项目地址: https://gitcode.com/GitHub_Trending/plugins125/plugins
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考