Token导航 LogoToken导航TokenDH.com
AI m365 MCP logo
AI代理stdio官方级别未说明来源级核验

AI m365 MCP

MCP Server

一个基于Python的MCP客户端,用于通过标准化协议接口程序化管理Microsoft Teams资源。

工具数

16

提示词数

0

GitHub Stars

0

资源数

0
工作流自动化PythonToken认证

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

drewelewis

提供方

drewelewis

最后核验

2026/5/17 20:22

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

pip install -r requirements.txt

详细介绍

Microsoft 365 MCP集成

一个基于Python的MCP(模型上下文协议)客户端,用于与微软的M365 MCP服务器交互。此存储库演示了如何利用Microsoft的Teams MCP服务器通过标准化协议接口以编程方式管理Microsoft Teams资源。

目的

此存储库用作 学习和测试环境 对于想要:

  1. 了解MCP架构:了解如何构建连接到Microsoft托管MCP服务器的MCP客户端
  2. 探索M365集成:无需从头开始构建,即可发现Microsoft Teams MCP服务器的功能
  3. 原型团队自动化:使用MCP工具快速测试和验证团队自动化场景
  4. 桥接AI和团队:创建可以通过标准化协议与Microsoft Teams交互的AI驱动应用程序

什么是MCP?

模型上下文协议(MCP) 是一个开放标准,使人工智能应用程序能够安全地连接到数据源和工具。微软已经为其M365服务实施了MCP服务器,允许开发人员通过一致的协议与Teams、Outlook和其他M365服务进行交互。

使用MCP的主要好处:

  • 标准化接口:与不同服务交互的一致方式
  • AI就绪:专为与人工智能助手和代理集成而设计
  • 工具发现:自动发现可用操作及其模式
  • 安全:内置身份验证和授权模式

此存储库的功能

这是一个 MCP客户端应用程序 (不是服务器):

  • ✅ 连接到Microsoft托管的Teams MCP服务器
  • ✅ 使用Microsoft Graph API令牌进行身份验证
  • ✅ 提供测试脚本以探索可用的MCP工具
  • ✅ 演示Teams自动化的实际使用模式
  • ✅ 包括用于令牌管理和设置验证的辅助实用程序

它没有做什么:

  • ❌ 实现自定义MCP服务器
  • ❌ 替换Microsoft Graph API(它使用Graph API进行身份验证)
  • ❌ 要求您托管任何基础架构

你能做什么

  • 聊天管理:创建、阅读、更新和删除团队聊天记录
  • 消息操作:发送、检索、编辑和删除邮件
  • 渠道管理:创建和管理团队频道
  • 团队运营:列出并检索团队信息
  • 会员管理:添加和管理团队/渠道成员

存储库结构

ai_m365_mcp/
├── test_teams_mcp.py          # Main test script for Teams MCP tools
├── get_token.py               # Helper to obtain Microsoft Graph tokens
├── verify_setup.py            # Setup verification script
├── requirements.txt           # Python dependencies
├── .env                       # Environment configuration (not committed)
├── setup_teams_mcp.bat        # Windows setup automation
└── README.md                  # This file

用例

此MCP客户端非常适合:

  • AI代理开发:构建需要与Microsoft Teams交互的AI助手
  • 工作流程自动化:为团队管理创建自动化工作流程
  • 集成测试:在生产部署之前验证集成模式
  • 学习MCP:了解如何使用MCP协议和微软的实现
  • 快速原型制作:快速测试团队自动化想法,无需复杂的设置

快速开始

  1. 安装依赖项:
   pip install -r requirements.txt
  1. 配置环境变量:

更新 .env 使用您的凭据文件:

   # Microsoft Teams MCP Server Configuration
   TEAMS_ACCESS_TOKEN=your_access_token_here

   # Optional: Azure AD App Configuration (for automated token refresh)
   # AZURE_TENANT_ID=your-tenant-id-here
   # AZURE_CLIENT_ID=your-client-id-here
   # AZURE_CLIENT_SECRET=your-client-secret-here
  1. 获取访问令牌:

选项1-使用Azure CLI(推荐):

   python get_token.py

此脚本将自动获取令牌并将其保存到 .env

选项2-通过Azure CLI手动:

   az login
   az account get-access-token --resource https://graph.microsoft.com --query accessToken -o tsv

复制令牌并将其添加到 .env 文件: TEAMS_ACCESS_TOKEN=

  1. 测试MCP客户端:
   python test_teams_mcp.py

这将连接到Microsoft的Teams MCP服务器并演示可用的工具。

  1. 验证您的设置 (可选):
   python verify_setup.py

______________________________________________________________________

安装指南

先决条件

  1. Azure AD应用程序注册 (仅用于生产或应用程序访问)

聊天操作

  • mcp_graph_chat_listChats -列出所有聊天记录
  • mcp_graph_chat_getChat -获取特定聊天详细信息
  • mcp_graph_chat_createChat -创建新聊天
  • mcp_graph_chat_postMessage -向聊天室发送消息
  • mcp_graph_chat_listChatMessages -列出聊天中的消息
  • mcp_graph_chat_updateChat -更新聊天属性
  • mcp_graph_chat_deleteChat -删除聊天
  • mcp_graph_chat_listChatMembers -列出聊天成员
  • mcp_graph_chat_addChatMember -添加成员聊天

团队和渠道运营

  • mcp_graph_teams_listTeams -列出用户加入的团队
  • mcp_graph_teams_getTeam -获取团队详细信息
  • mcp_graph_teams_listChannels -列出团队中的频道
  • mcp_graph_teams_getChannel -获取频道详细信息
  • mcp_graph_teams_createChannel -创建新频道
  • mcp_graph_teams_postChannelMessage -将消息发布到频道
  • mcp_graph_teams_listChannelMessages -列出频道中的消息
  • mcp_graph_teams_replyToChannelMessage -回复频道消息
  • mcp_graph_teams_listChannelMembers -列出频道成员
  • mcp_graph_teams_addChannelMember -将成员添加到频道

______________________________________________________________________

使用示例

列出所有团队

result = await session.call_tool(
    "mcp_graph_teams_listTeams",
    arguments={"user-id": "me"}
)

将消息发布到频道

result = await session.call_tool(
    "mcp_graph_teams_postChannelMessage",
    arguments={
        "team-id": "your-team-id",
        "channel-id": "your-channel-id",
        "body": {"content": "Hello from MCP!"}
    }
)

列出最近的聊天记录

result = await session.call_tool(
    "mcp_graph_chat_listChats",
    arguments={"$top": 10, "$orderby": "lastMessagePreview/createdDateTime desc"}
)

创建新频道

result = await session.call_tool(
    "mcp_graph_teams_createChannel",
    arguments={
        "team-id": "your-team-id",
        "displayName": "Project Updates",
        "description": "Channel for project status updates",
        "membershipType": "standard"
    }
)

______________________________________________________________________

  • Team.ReadBasic.All -阅读基本团队信息
  • Channel.ReadBasic.All -读取基本频道信息
  • ChannelMessage.Read.All -读取频道消息
  • ChannelMessage.Send -发送频道消息
  • TeamMember.Read.All -阅读团队成员
  1. 在Azure AD中配置API权限

- 在您的应用程序注册中,转到 API权限 - 点击 添加权限 > Microsoft Graph > 委派权限 - 添加上面列出的权限 - 点击 授予管理员同意 (需要管理员权限)

获取访问令牌

开发/测试(最简单):

使用Azure CLI:

az login
python get_token.py

脚本将自动将令牌保存到 .env

用于制作(仅限应用程序访问):

  1. 在Azure门户中,转到 证书和秘密
  2. 创建新的客户端密钥
  3. 将这些添加到 .env:
   AZURE_TENANT_ID=your_tenant_id
   AZURE_CLIENT_ID=your_client_id
   AZURE_CLIENT_SECRET=your_client_secret

______________________________________________________________________

可用工具

聊天工具

  • mcp_graph_chat_listChats -列出所有聊天记录
  • mcp_graph_chat_getChat -获取特定聊天
  • mcp_graph_chat_createChat -创建新聊天
  • mcp_graph_chat_postMessage -发送消息聊天

权限错误(403禁止): 确保您的Azure AD应用程序具有所需的Microsoft Graph权限:

  • 聊天。阅读、聊天。读写
  • 团队。阅读基础。全部,频道。阅读基础。全部
  • 频道消息。读。全部,频道消息。发送

未找到资源(404):

  • 验证团队id和频道id是否正确
  • 使用 listTeamslistChannels 查找有效ID
  • 确保用户有权访问指定的资源

______________________________________________________________________

参考文献

需求

  • Python 3.8+
  • 具有Microsoft Graph权限的Azure AD应用程序注册
  • Microsoft Graph API的有效访问令牌

环境配置

该项目使用 .env 配置文件。关键设置包括:

团队MCP服务器:

  • TEAMS_ACCESS_TOKEN -Microsoft Graph API访问令牌(必需)
  • AZURE_TENANT_ID -您的Azure AD租户ID(可选,用于自动身份验证)
  • AZURE_CLIENT_ID -您的Azure AD应用程序客户端ID(可选)
  • AZURE_CLIENT_SECRET -您的Azure AD应用程序密钥(可选)

数据库(可选,用于其他功能):

  • DATABASE_URL -PostgreSQL连接字符串
  • DB_FORCE_ROLLBACK -强制回滚事务(真/假)

OpenAI/Azure OpenAI(可选,用于AI功能):

  • OPENAI_API_BASE -Azure OpenAI端点
  • OPENAI_API_KEY -Azure OpenAI API密钥
  • OPENAI_API_VERSION -API版本
  • OPENAI_API_MODEL_DEPLOYMENT_NAME -模型部署名称

安全

⚠️ 永远不要将访问令牌提交给版本控制!

  • .env 文件已添加到 .gitignore
  • 访问令牌通常在1小时后过期
  • 使用刷新令牌 python get_token.py
  • 对于生产,使用Azure AD应用程序凭据进行自动令牌刷新

故障排除

令牌已过期(401未经授权):

python get_token.py

找不到Azure CLI: 从以下位置安装:https://docs.microsoft.com/cli/azure/install-azure-cli

权限错误(403禁止): 确保您的Azure AD应用程序具有所需的Microsoft Graph权限:

  • 聊天。阅读、聊天。读写
  • 团队。阅读基础。全部,频道。阅读基础。全部
  • 频道消息。读。全部,频道消息。发送

目录标签

目录标签

工作流自动化PythonToken认证Teams自动化本地部署MCP协议AI集成微软365

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

token

工具数量(toolCount,工具数)

16

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiotoken部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP