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

7160 Microsoft Graph MCP

MCP Server

microsoft-graph-mcp

为AI助手提供Microsoft 365集成的MCP服务器,支持访问Outlook、OneDrive、Calendar、Teams等服务并自动化工作流程。

工具数

37

提示词数

0

GitHub Stars

0

资源数

0
工作流自动化TypeScriptClaudeClaude DesktopClaudeCursor

安装说明

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

作者 / 组织

easynet-world

提供方

easynet-world

最后核验

2026/5/17 20:23

运行时

Node.js

快速接入

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

命令预览

npx microsoft-graph-mcp

详细介绍

微软图形mcp

🚀 Microsoft Graph MCP Server

用于AI助手的Microsoft 365集成 -将Cursor、Claude Desktop和其他MCP兼容工具直接连接到Microsoft Graph。访问Outlook、OneDrive、日历、团队,并使用AI自动化工作流程。

](https://www.npmjs.com/package/microsoft-graph-mcp) ![License: MIT](https://opensource.org/licenses/MIT) ](https://nodejs.org/) ![TypeScript](https://www.typescriptlang.org/) ![MCP](https://modelcontextprotocol.io/) ![Microsoft Graph](https://learn.microsoft.com/en-us/graph/overview) ![Powered by easy-mcp-server](https://github.com/easynet-world/7134-easy-mcp-server)

______________________________________________________________________

✅ 我们提供什么(这个项目)

可交付成果描述
支持AI的MCP服务器将Microsoft Graph功能作为AI助手的MCP工具公开
用于Microsoft Graph的REST网关本地HTTP API,带有位于的OpenAPI/Swagger /docs
预构建的Microsoft 365端点用户、邮件(发送/回复/转发)、日历(CRUD事件)、文件/OneDrive(列表/上传/删除)、团队(团队/频道)、组(成员)、联系人、任务、订阅(Webhook)、应用程序、目录、组织、人员
通过Azure AD进行身份验证应用程序注册流程使用 AZURE_CLIENT_ID, AZURE_CLIENT_SECRET, AZURE_TENANT_ID
生产就绪脚手架端口/配置管理、错误处理、健康检查、API信息、日志记录
经过测试的TypeScript实现使用Jest测试覆盖所有端点的类型安全代码
开发人员用户体验可复制粘贴 curl 例如,Swagger尝试一下,很容易在本地运行 npx
安全态势使用应用程序权限;服务器未保存任何数据

______________________________________________________________________

📊 Microsoft图形概述

Microsoft Graph跨Microsoft 365服务(团队、日历、文件、邮件、人员、任务等)连接用户、他们的活动和内容。此MCP服务器为AI助手提供了直接访问此统一数据层的权限。

______________________________________________________________________

🚀 快速开始

安装方法

方法命令最适合
npx(推荐)npx microsoft-graph-mcp快速测试,无需安装
npm全局npm install -g microsoft-graph-mcp频繁使用,全系统访问
npm本地npm install microsoft-graph-mcp项目特定集成
克隆和构建git clone && npm install && npm run build开发和定制

使用npx运行(推荐)

AZURE_CLIENT_ID=your-client-id \
AZURE_CLIENT_SECRET=your-client-secret \
AZURE_TENANT_ID=your-tenant-id \
npx microsoft-graph-mcp

就是这样! 服务器运行在:

服务URL备注
REST APIhttp://localhost:8887所有端点的基本URL
API文档(Swagger)http://localhost:8887/docs交互式文档
MCP服务器http://localhost:8888模型上下文协议服务器

使用.env文件运行

创建一个 .env 文件:

AZURE_CLIENT_ID=your-client-id
AZURE_CLIENT_SECRET=your-client-secret
AZURE_TENANT_ID=your-tenant-id

然后运行:

npx microsoft-graph-mcp

______________________________________________________________________

📋 Azure配置

配置步骤概述

步骤操作查找位置环境变量
1创建应用程序注册Azure门户 → Azure AD→ 应用程序注册-
2复制应用程序(客户端)ID应用程序注册→ 概述AZURE_CLIENT_ID
3复制目录(租户)ID应用程序注册→ 概述AZURE_TENANT_ID
4创建客户端密码应用程序注册→ 证书和秘密AZURE_CLIENT_SECRET
5添加API权限应用程序注册→ API权限-
6授予管理员同意API权限→ 授予管理员同意-

步骤1:创建Azure应用程序注册

  1. 首选 Azure门户
  2. 导航至 Azure Active Directory > 应用程序注册
  3. 点击 新注册
  4. 填写:

- 名字:Microsoft Graph MCP服务器 - 支持的帐户类型:仅此组织目录中的帐户(或多租户) - 点击 注册

步骤2:获取凭据

  1. 应用程序(客户端)ID → 将此复制为 AZURE_CLIENT_ID
  2. 目录(租户)ID → 将此复制为 AZURE_TENANT_ID
  3. 首选 证书和秘密新客户机密

- 复制 机密值 作为 AZURE_CLIENT_SECRET (只显示一次!)

步骤3:添加应用程序权限

  1. 首选 API权限添加权限微软图形应用程序权限
  1. 添加这些权限:
权限类型描述
User.Read.All应用程序读取所有用户
Mail.Read应用程序读取所有邮箱中的邮件
Mail.Send应用程序以任何用户身份发送邮件
Calendars.Read应用程序读取所有邮箱中的日历
Files.Read.All应用程序读取所有文件
Group.Read.All应用程序读取所有组
Contacts.Read应用程序读取联系人
Tasks.ReadWrite.All应用程序读写任务
Organization.Read.All应用程序读取组织信息
People.Read.All应用程序读取人员配置文件
Application.Read.All应用程序读取应用程序
Subscription.Read.All应用程序管理订阅
  1. ⚠️ 关键: 点击 授予\[您的组织\]管理员同意

______________________________________________________________________

💻 在Cursor/Claude桌面中使用

MCP客户端配置概述

客户端配置位置如何访问
光标光标设置设置→ 特性→ 模型上下文协议→ 编辑配置
克劳德台式机(Mac)文件系统~/Library/Application Support/Claude/claude_desktop_config.json
克劳德桌面(Windows)文件系统%APPDATA%\Claude\claude_desktop_config.json
克劳德桌面(Linux)文件系统~/.config/Claude/claude_desktop_config.json

配置步骤

对于光标

  1. 打开 光标设置特性模型上下文协议
  2. 点击 “编辑配置”
  3. 添加以下配置
  4. 保存并重新启动游标

适用于克劳德桌面

  1. 找到并打开配置文件(见上表)
  2. 添加以下配置
  3. 保存文件
  4. 重新启动克劳德桌面

配置JSON(所有客户端)

{
  "mcpServers": {
    "microsoft-graph-mcp": {
      "command": "npx",
      "args": ["-y", "microsoft-graph-mcp"],
      "env": {
        "AZURE_CLIENT_ID": "your-client-id",
        "AZURE_CLIENT_SECRET": "your-client-secret",
        "AZURE_TENANT_ID": "your-tenant-id"
      }
    }
  }
}

注: 替换 your-client-id, your-client-secret,以及 your-tenant-id 使用您的实际Azure凭据。

______________________________________________________________________

📡 使用REST API

服务器运行后,您可以通过REST端点完全访问Microsoft Graph。

🔍 交互式API文档

Swagger用户界面 (推荐-视觉界面):

http://localhost:8887/docs
  • 浏览所有端点
  • 直接在浏览器中尝试请求
  • 请参阅请求/响应模式

OpenAPI JSON:

http://localhost:8887/openapi.json
  • 导入Postman、Insomnia或任何与OpenAPI兼容的工具

📝 常见API示例

操作方法端点示例
列出用户得到/graph/userscurl "http://localhost:8887/graph/users?$top=10"
获取电子邮件得到/graph/mailcurl "http://localhost:8887/graph/mail?userId=user@domain.com&$top=10"
发送邮件职位/graph/mail请参阅下面的详细示例
获取日历得到/graph/calendarcurl "http://localhost:8887/graph/calendar?userId=user@domain.com&$top=10"
创建活动职位/graph/calendar/events请参阅下面的详细示例
列出文件得到/graph/filescurl "http://localhost:8887/graph/files?userId=user@domain.com&$top=20"
组建团队得到/graph/teamscurl http://localhost:8887/graph/teams

详细示例

发送电子邮件:

curl -X POST http://localhost:8887/graph/mail \
  -H "Content-Type: application/json" \
  -d '{
    "toRecipients": [{"emailAddress": {"address": "user@example.com"}}],
    "subject": "Hello from microsoft-graph-mcp!",
    "body": {"contentType": "text", "content": "This is a test message"}
  }'

创建日历事件:

curl -X POST http://localhost:8887/graph/calendar/events \
  -H "Content-Type: application/json" \
  -d '{
    "subject": "Team Meeting",
    "start": {"dateTime": "2024-01-15T10:00:00", "timeZone": "UTC"},
    "end": {"dateTime": "2024-01-15T11:00:00", "timeZone": "UTC"},
    "userId": "user@domain.com"
  }'

______________________________________________________________________

📚 所有可用端点

用户(6个端点)

方法路径描述
得到/graph/users获取用户列表(支持过滤、分页)
得到/graph/users/:userId按ID获取特定用户
职位/graph/users创建新用户
补丁/graph/users/:userId更新用户
删除/graph/users/:userId删除用户
得到/graph/users/:userId/photo获取用户照片

邮件(7个端点)

方法路径描述
得到/graph/mail?userId=user@domain.com获取电子邮件(支持过滤)
得到/graph/mail/:messageId?userId=user@domain.com获取特定消息
职位/graph/mail发送电子邮件
职位/graph/mail/:messageId/reply?userId=user@domain.com回复消息
职位/graph/mail/:messageId/forward?userId=user@domain.com转发消息
删除/graph/mail/:messageId?userId=user@domain.com删除邮件
得到/graph/mail/folders?userId=user@domain.com获取邮件文件夹

日历(5个端点)

方法路径描述
得到/graph/calendar?userId=user@domain.com获取日历事件(支持过滤)
得到/graph/calendars?userId=user@domain.com获取用户日历
职位/graph/calendar/events创建日历事件(正文中包含userId)
补丁/graph/calendar/events/:eventId?userId=user@domain.com更新日历事件
删除/graph/calendar/events/:eventId?userId=user@domain.com删除日历事件

文件/OneDrive(4个端点)

方法路径描述
得到/graph/files?userId=user@domain.com从OneDrive获取文件和文件夹
得到/graph/drives?userId=user@domain.com获取驱动器(OneDrive和SharePoint)
职位/graph/files/upload将文件上传到OneDrive(正文中包含用户ID)
删除/graph/files/:itemId?userId=user@domain.com删除文件或文件夹

组(3个端点)

方法路径描述
得到/graph/groups获取组列表
职位/graph/groups创建新组
得到/graph/groups/:groupId/members获取组成员

团队(2个端点)

方法路径描述
得到/graph/teams获取团队列表
得到/graph/teams/:teamId/channels获取团队频道

联系人(2个端点)

方法路径描述
得到/graph/contacts?userId=user@domain.com获取联系人
职位/graph/contacts创建联系人(在正文中包含userId)

任务(2个端点)

方法路径描述
得到/graph/tasks?userId=user@domain.com获取任务/待办事项
职位/graph/tasks创建任务(在正文中包含userId)

附加服务

方法路径描述
得到/graph/applications获取应用程序
得到/graph/directory获取目录对象
得到/graph/organization获取组织信息
得到/graph/people?userId=user@domain.com获取人员(同事和联系人)
得到/graph/subscriptions获取webhook订阅
职位/graph/subscriptions创建webhook订阅

系统

方法路径描述
得到/health健康检查
得到/api-infoAPI信息
得到/openapi.jsonOpenAPI规范
得到/docsSwagger用户界面文档

所有端点都会自动作为MCP工具公开,供AI代理使用。

______________________________________________________________________

⚙️ 高级配置

环境变量

变量必填默认描述
AZURE_CLIENT_ID-Azure AD应用程序(客户端)ID
AZURE_CLIENT_SECRET-Azure AD客户端机密(值)
AZURE_TENANT_ID-Azure AD目录(租户)ID
AZURE_SCOPE没有https://graph.microsoft.com/.defaultMicrosoft图形范围
EASY_MCP_SERVER_PORT没有8887REST API端口
EASY_MCP_SERVER_MCP_PORT没有8888MCP服务器端口
EASY_MCP_SERVER_LOG_LEVEL没有info日志记录级别

______________________________________________________________________

🎯 用例

按用户类型

用户类型用例查询/操作示例
AI助手用户电子邮件管理“从Outlook获取我的最新电子邮件”
日历安排“为明天下午2点创建日历活动”
文件管理“显示OneDrive中的文件”
团队协作“列出组织中的所有Microsoft团队”
沟通“发送电子邮件至john@example.com关于项目更新”
联系人查找“我有哪些联系人?”
开发者自定义集成构建Microsoft 365工作流自动化
API测试通过Swagger UI测试Microsoft Graph端点
应用程序开发创建自定义M365应用程序
服务集成将M365与第三方服务连接起来
IT管理员用户管理通过REST API列出和管理用户
审核和监控跟踪电子邮件、日历和文件活动
资源调配自动创建用户和组
报告生成M365服务的使用情况报告

按界面

接口最适合接入点
MCP(人工智能代理)自然语言查询、人工智能工作流Cursor、Claude Desktop、MCP兼容工具
REST API程序化访问、自动化脚本http://localhost:8887/graph/\*
Swagger用户界面视觉探索、测试、文档编制http://localhost:8887/docs

______________________________________________________________________

🔧 故障排除

问题可能原因解决方案
服务器无法启动端口已在使用中检查端口8887/8888是否未在使用中: lsof -i :8887
无效凭据验证Azure凭据是否正确 .env
错误的Node.js版本确保安装了Node.js>=22.0.0: node --version
身份验证错误无效凭据验证 AZURE_CLIENT_ID, AZURE_CLIENT_SECRET,以及 AZURE_TENANT_ID 是正确的
已过期的客户端密码在Azure门户中创建新的客户端密码
缺少管理员同意在Azure门户中单击“授予管理员同意”→ API权限
权限类型错误确保权限为“应用程序权限”(未委派)
“权限不足”缺少权限验证是否在Azure门户中添加了所有必需的权限
未授予管理员同意在Azure门户中授予管理员同意→ API权限
委派与应用程序检查权限是否为应用程序权限(非委派)
MCP不工作配置未加载添加MCP配置后重新启动Cursor/Claude
服务器未运行检查服务器是否正在运行: curl http://localhost:8887/health
环境变量错误验证MCP配置中的环境变量是否正确
MCP连接失败检查游标/克劳德日志中的MCP错误
API调用失败身份验证问题测试身份验证: curl http://localhost:8887/graph/users/me
找不到端点检查Swagger UI:http://localhost:8887/docs
缺少权限验证Azure应用程序是否具有所需的权限
服务器错误查看服务器日志以了解详细的错误消息
速率限制请求太多实现指数退避,降低请求频率
超时错误慢速网络/API增加超时设置,检查网络连接

______________________________________________________________________

📖 了解更多

文档和资源

资源描述链接
Microsoft Graph APIMicrosoft Graph官方文档和API参考资料learn.microsoft.com/graph
模型上下文协议MCP规范和实施指南模型上下文协议.io
Azure应用程序注册创建和配置Azure AD应用程序的指南learn.microsoft.com/zure
图形API权限Microsoft Graph权限的完整列表learn.microsoft.com/权限
简易mcp服务器定制框架文档

______________________________________________________________________

📦 包信息

资源链接
npm包微软图形mcp
GitHub存储库7160微软图形微控制器
问题追踪器
许可证麻省理工学院
支持info@easynet.world

______________________________________________________________________

🆘 需要帮助?

快速诊断检查表

步骤检查命令/操作
1Swagger用户界面打开http://localhost:8887/docs
2服务器运行状况curl http://localhost:8887/health
3认证curl http://localhost:8887/graph/users/me
4Azure配置回顾 Azure配置 章节
5故障排除检查 故障排除 上表
6企业支持联系人:info@easynet.world

______________________________________________________________________

🛠️ 发展

此MCP服务器是使用 简易mcp服务器 框架。

发展资料

主题描述链接
自定义端点如何创建自定义API端点简易mcp服务器文档
项目结构架构和代码组织简易mcp服务器文档
测试与调试测试设置和调试提示简易mcp服务器文档
贡献捐款准则简易mcp服务器文档
TypeScript类型定义和编译请参见 tsconfig.jsonlib/ 目录

地方发展设置

步骤命令目的
  1. 克隆 | git clone https://github.com/easynet-world/7160-microsoft-graph-mcp.git |获取源代码
  2. 安装 | npm install |安装依赖项
  3. 配置 |复制 .env.example.env |设置环境变量
  4. 构建 | npm run build |编译TypeScript
  5. 测试 | npm test |运行测试套件
  6. 开始 | npm start |启动开发服务器

______________________________________________________________________

由...驱动 简易mcp服务器 框架

目录标签

目录标签

工作流自动化TypeScriptClaudeMicrosoft365集成本地部署AI助手工具RESTAPI网关企业协作

支持客户端

Claude DesktopClaudeCursor

接入字段

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

stdio

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

none

运行时(runtime,运行环境)

Node.js

来源包(packageName,安装包名)

microsoft-graph-mcp

工具数量(toolCount,工具数)

37

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdionone部署方式未说明

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

安装前确认

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

来源信息

继续浏览同类 MCP