微软365集成协议服务器

Agent 365 MCP是一个用于将Microsoft 365服务(如SharePoint、Word、Teams、Outlook等)与AI编码助手集成的协议服务器,提供80多种工具支持。

  • by rapyuta-robotics
  • JavaScript
  • 本地部署
  • 3 星标
  • 更新于
在 GitHub 查看 rapyuta-robotics/agent365-mcp

使用说明

代理365 MCP

MCP(模型上下文协议)服务器,用于Microsoft 365与AI编码助手的集成。

直接从任何兼容MCP的客户端访问SharePoint、Word、Teams、Outlook、日历、Excel和M365 Copilot。

支持的客户

  • 克劳德代码 (人工CLI)
  • 克劳德桌面版 (Anthropic应用程序)
  • VS Code 使用GitHub Copilot
  • GitHub Copilot 支持MCP
  • 光标
  • 任何兼容MCP的AI助手

特性

  • SharePoint和OneDrive:读/写文件、搜索、共享
  • 字:阅读文档、添加注释、创建新文档
  • 团队:阅读聊天记录、频道、发布消息
  • Outlook邮件:阅读/发送电子邮件
  • 日历:管理事件
  • Excel:读/写电子表格
  • M365副驾驶:搜索和聊天
  • 用户档案:组织结构图、经理信息

80多种工具可供选择。出于安全考虑,对危险操作(删除/移除)进行了过滤。

先决条件

  1. Microsoft 365许可证副本 分配给您的帐户
  2. 组织设置 (每个组织一次):
    • 创建Entra ID应用程序注册
    • 授予代理365权限的管理员同意
    • 用户可以从entra.microsoft.com(或IT管理员,如果他们没有访问权限)获取租户ID和客户端ID

快速开始

选项1:零配置(如果IT提供环境变量)

只需添加到MCP配置中-首次使用时会自动进行身份验证:

{
  "mcpServers": {
    "agent365": {
      "command": "npx",
      "args": ["-y", "github:rapyuta-robotics/agent365-mcp", "serve"],
      "env": {
        "AGENT365_TENANT_ID": "your-tenant-id",
        "AGENT365_CLIENT_ID": "your-client-id"
      }
    }
  }
}

首次使用时,您的浏览器会自动打开以进行Microsoft登录。就是这样!

选项2:交互式设置

运行安装向导,为您配置所有内容:

npx github:rapyuta-robotics/agent365-mcp setup

这将:

  1. 提示输入您的租户ID和客户端ID(如果您没有访问权限,请从entra.microsoft.com或IT管理员处获取)
  2. 在浏览器中打开Microsoft登录
  3. 自动配置克劳德代码和/或VS代码
  4. 存储约90天会话的刷新令牌

就是这样! 重新启动编码助手,工具就可用了。


手动安装

如果您更喜欢手动设置:

1.身份验证

从entra.microsoft.com获取您的值:

  • 租户ID:Entra主页
  • 客户端ID:主页>应用程序注册>代理365 MCP

如果您没有Entra访问权限,请咨询您的IT管理员。

export AGENT365_TENANT_ID="your-tenant-id"
export AGENT365_CLIENT_ID="your-client-id"
npx github:rapyuta-robotics/agent365-mcp auth

2.配置您的MCP客户端

克劳德代码(~/.claude.json)

{
  "mcpServers": {
    "agent365": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "github:rapyuta-robotics/agent365-mcp", "serve"],
      "env": {
        "AGENT365_TENANT_ID": "your-tenant-id",
        "AGENT365_CLIENT_ID": "your-client-id"
      }
    }
  }
}

VS Code

快捷方式: Ctrl+Shift+P (或 Cmd+Shift+P 在Mac上)→ MCP: Open User Configuration 直接编辑MCP配置文件。

将此添加到您的MCP用户配置中(~/.vscode/mcp.json):

{
  "servers": {
    "agent365": {
      "command": "npx",
      "args": ["-y", "github:rapyuta-robotics/agent365-mcp", "serve"],
      "env": {
        "AGENT365_TENANT_ID": "your-tenant-id",
        "AGENT365_CLIENT_ID": "your-client-id"
      }
    }
  }
}

备选方案-添加MCP服务器UI:

  1. Ctrl+Shift+P → MCP: Add Server
  2. 选择: Command (stdio)
  3. 命令: npx
  4. Args: -y github:rapyuta-robotics/agent365-mcp serve
  5. 姓名: agent365
  6. 范围: User Settings 或 Workspace
  7. 然后编辑配置以添加 env 以上章节

克劳德桌面版

配置文件位置:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • 视窗: %APPDATA%\Claude\claude_desktop_config.json

或者:打开克劳德桌面→ 设置→ 开发者→ 编辑配置

{
  "mcpServers": {
    "agent365": {
      "command": "npx",
      "args": ["-y", "github:rapyuta-robotics/agent365-mcp", "serve"],
      "env": {
        "AGENT365_TENANT_ID": "your-tenant-id",
        "AGENT365_CLIENT_ID": "your-client-id"
      }
    }
  }
}

保存后, 完全退出并重新启动Claude Desktop 加载新配置。

GitHub副本/游标

在编辑器的设置中使用类似的MCP配置。有关确切位置,请参阅编辑的MCP文档。

  1. 重新启动编辑器 -工具将可用。

检查状态

npx github:rapyuta-robotics/agent365-mcp status

重新验证(令牌过期时)

npx github:rapyuta-robotics/agent365-mcp auth

IT管理员设置

看 管理员.md 有关详细的设置说明。

快速开始

  1. 创建服务主体 (一次性)
curl -O https://raw.githubusercontent.com/microsoft/Agent365-devTools/main/scripts/cli/Auth/New-Agent365ToolsServicePrincipalProdPublic.ps1
pwsh ./New-Agent365ToolsServicePrincipalProdPublic.ps1
  1. 创建应用程序注册
az ad app create --display-name "Agent 365 MCP" --sign-in-audience "AzureADMyOrg"
az ad app update --id <app-id> --is-fallback-public-client true
az ad app update --id <app-id> --public-client-redirect-uris "http://localhost"
az ad sp create --id <app-id>
  1. 添加权限和授予同意

看 管理员.md 用于完成权限设置和管理员同意命令。

  1. 分发给用户

为用户提供:

  • 租户ID: az account show --query tenantId -o tsv
  • 客户端ID:步骤2中的应用程序ID

可用工具

前缀 服务 工具
sharepoint_* SharePoint/OneDrive 文件操作、搜索、共享
word_* Word 阅读文档、评论、创建
teams_* 团队 聊天、频道、消息
mail_* Outlook 电子邮件阅读/发送/回复
calendar_* 日历 活动、日程安排
me_* 个人资料 用户/组织信息
excel_* Excel 电子表格操作
copilot_* M365副驾驶 搜索、聊天

安全

  • 每个用户都使用自己的M365帐户进行身份验证
  • 访问权限仅限于用户在M365中可以访问的内容
  • 默认情况下,危险操作(删除、移除)被阻止
  • 令牌存储在本地 ~/.agent365-mcp/
  • 令牌在1小时后过期,下次使用时自动刷新

配置

自定义行为的可选环境变量:

变量 默认值 描述
AGENT365_TENANT_ID (必需) Azure租户ID
AGENT365_CLIENT_ID (必填) 应用注册客户端ID
AGENT365_TOKEN_PATH ~/.agent365-mcp/tokens.json 自定义令牌存储路径
AGENT365_MAX_RESPONSE_SIZE 50000 截断前的最大字符数
AGENT365_TIMEOUT 60000 请求超时(毫秒)
AGENT365_LARGE_FILE_DIR (无) 保存大型响应的目录
AGENT365_LARGE_FILE_THRESHOLD 100000 文件保存的大小阈值
AGENT365_ALLOW_DANGEROUS false 启用危险工具(删除/移除)
AGENT365_DISABLED_SERVERS (无) 要禁用的逗号分隔服务器

大响应处理

默认情况下,超过50KB的响应将被截断。为了更好地处理大数据:

{
  "env": {
    "AGENT365_LARGE_FILE_DIR": "/tmp/agent365-responses"
  }
}

设置后,超过100KB的响应将保存到文件中,而不是截断。代理接收文件路径,并可以使用读取工具访问内容。

禁用服务器

如果您没有Copilot许可证或想禁用特定服务:

{
  "env": {
    "AGENT365_DISABLED_SERVERS": "copilot,excel"
  }
}

代理还会自动检测许可证错误,并优雅地禁用受影响的服务器。

完整配置示例

{
  "mcpServers": {
    "agent365": {
      "command": "npx",
      "args": ["-y", "github:rapyuta-robotics/agent365-mcp", "serve"],
      "env": {
        "AGENT365_TENANT_ID": "your-tenant-id",
        "AGENT365_CLIENT_ID": "your-client-id",
        "AGENT365_MAX_RESPONSE_SIZE": "100000",
        "AGENT365_TIMEOUT": "120000",
        "AGENT365_LARGE_FILE_DIR": "/tmp/agent365",
        "AGENT365_DISABLED_SERVERS": "copilot"
      }
    }
  }
}

故障排除

“作用域不存在”错误

您的令牌没有所需的权限。重新验证:

npx github:rapyuta-robotics/agent365-mcp auth

“无有效令牌”错误

令牌已过期或未通过身份验证。运行:

npx github:rapyuta-robotics/agent365-mcp auth

工具未加载

  1. 检查状态: npx github:rapyuta-robotics/agent365-mcp status
  2. 验证复制副本许可证是否已分配给您的帐户
  3. 确认配置中的租户ID(Entra主页)和客户端ID(主页>应用程序注册>代理365 MCP),或者如果您没有访问权限,请要求IT管理员验证管理员同意

响应错误大/内容截断

一些M365查询返回非常大的响应。代理会自动处理此问题:

  1. 使用更具体的查询(日期范围、过滤器、分页)
  2. 集 AGENT365_LARGE_FILE_DIR 保存对文件的大响应
  3. 增加 AGENT365_MAX_RESPONSE_SIZE 用于更大的截断限制
  4. 使用M365副驾驶搜索,而不是列出所有项目

请求超时

长时间运行的查询可能会超时。增加超时时间 AGENT365_TIMEOUT (以毫秒为单位)。

文档

  • 管理员.md -包含详细Azure CLI命令的IT管理员设置指南
  • 建筑.md -技术架构、数据流和系统设计
  • 代理商.md -具有工具选择模式的AI代理集成指南

许可证

麻省理工学院