使用说明
项目简介
MCP Teams Server 是一个基于 Model Context Protocol (MCP) 构建的后端服务器,旨在将 Microsoft Teams 的功能以标准化的方式提供给大型语言模型(LLM)客户端。通过此服务器,LLM 应用可以方便地访问 Teams 中的消息、线程和成员信息,实现与 Teams 的深度集成,扩展 LLM 的应用场景。
主要功能点
- 启动话题 (Start thread): 在指定的 Teams 频道中创建新的话题,可以设置话题标题和内容,并支持提及团队成员。
- 更新话题 (Update thread): 向已存在的话题添加新的回复消息,同样支持提及团队成员。
- 读取话题回复 (Read thread replies): 获取指定话题下的所有回复消息,方便 LLM 理解上下文对话。
- 列出团队成员 (List team members): 检索指定 Teams 团队中的所有成员列表,用于用户识别和权限管理。
- 读取频道消息 (Read channel messages): 读取指定 Teams 频道中的所有消息(包括话题和回复),为 LLM 提供全面的频道上下文信息。
安装步骤
-
克隆仓库:
git clone https://github.com/InditexTech/mcp-teams-server cd mcp-teams-server -
创建虚拟环境并安装依赖:
uv venv uv sync --frozen --all-extras --dev(uv 是一个更快的 Python 包安装和虚拟环境管理工具,如果未安装,请先安装 uv,参考 uv GitHub 仓库)
服务器配置
MCP 客户端需要配置以下 JSON 格式的服务器信息以连接到 MCP Teams Server。
{ "server name": "teams-server", "command": "uv", "args": [ "run", "mcp-teams-server" ], "notes": "请确保已在运行 MCP 客户端的环境中安装 uv,并且 mcp-teams-server 仓库已克隆到客户端可访问的目录。" }
参数说明:
- 'server name': 自定义的服务名称,用于在 MCP 客户端中标识此服务器,例如 "teams-server"。
- 'command': 运行 MCP Teams Server 的命令,这里使用 'uv run mcp-teams-server' 启动服务器。
- 'args': 传递给 'command' 的参数,这里为空列表,因为服务器的运行参数主要通过环境变量配置。
- 'notes': 配置的备注信息,方便用户理解配置用途。
环境变量配置: MCP Teams Server 依赖以下环境变量进行 Microsoft Teams 的身份验证和连接配置。您需要根据您的 Microsoft Azure 和 Teams 环境进行配置,具体配置步骤请参考仓库中的 'doc/MS-Teams-setup.md' 文档。
| 环境变量名 | 描述 | |--------------------------|------------------------------------------| | 'TEAMS_APP_ID' | MS Entra ID 应用程序 (客户端) ID | | 'TEAMS_APP_PASSWORD' | 客户端密钥 (Client secret) | | 'TEAMS_APP_TYPE' | 应用类型,'SingleTenant' 或 'MultiTenant' | | 'TEAMS_APP_TENANT_ID' | 租户 UUID,当 'TEAMS_APP_TYPE' 为 'SingleTenant' 时需要 | | 'TEAM_ID' | MS Teams 团队 (Group) ID | | 'TEAMS_CHANNEL_ID' | MS Teams 频道 ID (URL encoded) |
您可以通过在 shell 中设置环境变量,或者创建 '.env' 文件并将环境变量写入其中。仓库中提供了 'sample.env' 文件作为模板。
基本使用方法
- 确保已正确配置上述环境变量。
- 启动 MCP Teams Server:在仓库根目录下运行 'uv run mcp-teams-server' 命令。
- 在 MCP 客户端中配置上述服务器信息,并连接到 MCP Teams Server。
- 通过 MCP 客户端调用 MCP Teams Server 提供的工具 (Tools),例如 'start_thread'、'update_thread' 等,与 Microsoft Teams 进行交互。具体工具的使用方法请参考 MCP 客户端的文档和 MCP Teams Server 的工具定义。
信息
分类
通信与社交