使用说明
项目简介
本项目实现了一个 MCP (Model Context Protocol) 服务器,旨在为 LLM (大型语言模型) 客户端提供向 Microsoft Teams 发送通知消息的功能。通过注册和调用 'send-notification' 工具,LLM 应用可以方便地集成 Teams 通知,实现更丰富的交互体验。
主要功能点
- 发送 Teams 通知: 提供 'send-notification' 工具,允许 LLM 应用向指定的 Microsoft Teams 用户发送消息通知。
- Markdown 消息格式: 支持使用 Markdown 格式编写通知消息,提供更丰富的消息呈现效果。
- Azure AD 认证: 使用 Azure AD 认证安全地与 Microsoft Teams Bot 通信,保障安全性。
安装步骤
- 确保已安装 Python 和 uv (或 pip)。推荐使用 uv 进行包管理,可以使用 'curl -fsSL https://astral.sh/uv/install.sh | sh' 安装 uv。
- 克隆或下载此仓库代码到本地。
- 进入项目根目录,运行 'uv sync' (或 'pip install -r requirements.txt') 安装项目依赖。
- 构建发布包(可选):运行 'uv build' (或 'python -m build')。
服务器配置
MCP 客户端需要配置以下 JSON 以连接到此 MCP 服务器。请根据实际的项目路径和 Teams Bot 配置进行修改。
{ "servers": { "MicrosoftTeams": { // 服务器名称,可以自定义 "command": "uv", // 启动服务器的命令,这里使用 uv "args": [ // 命令参数 "--directory", // 指定工作目录 "<path/to/the/project>/microsoft-teams-mcp", // 替换为项目在您本地的实际路径 "run", // 运行命令 "microsoft-teams-mcp" // 运行的模块或脚本名称,对应 'src/microsoft_teams_mcp/__init__.py' 中的 'main' 函数 ], "env": { // 环境变量配置 "BOT_ENDPOINT": "<endpoint or dev tunnel URL of Teams bot>/api/notification", // 替换为您的 Teams Bot 端点 URL,例如 ngrok 或本地开发隧道的 URL "MICROSOFT_APP_ID": "<microsoft-entra-client-id>", // 替换为您的 Azure AD 应用程序 (客户端) ID "MICROSOFT_APP_PASSWORD": "<microsoft-entra-client-secret>", // 替换为您的 Azure AD 应用程序 (客户端) 密钥 "MICROSOFT_APP_TENANT_ID": "<microsoft-entra-tenant-id>", // 替换为您的 Azure AD 租户 ID "EMAIL": "<your-email-in-teams>" // 替换为接收 Teams 通知的用户的邮箱地址 } } } }
注意:
- '<path/to/the/project>/microsoft-teams-mcp' 需要替换为 MCP 服务器代码在您本地文件系统中的实际路径。
- 环境变量中的占位符 '<...>' 需要替换为您的 Microsoft Teams Bot 和 Azure AD 相关的实际配置信息。
- 如果您不使用 'uv',可以将 'command' 修改为 'python',并调整 'args' 适应 'python -m microsoft_teams_mcp.server' 或直接运行 'src/microsoft_teams_mcp/server.py'。
基本使用方法
- 确保已配置好 MCP 客户端,并将上述服务器配置添加到客户端配置中。
- 启动 MCP 客户端,客户端会自动连接到此 MCP 服务器。
- 在 LLM 应用或客户端中,可以通过调用 'send-notification' 工具来发送 Teams 通知。调用工具时,需要提供 'message' (通知消息内容) 和 'project' (项目名称) 作为参数。
信息
分类
通信与社交