
JBAssist - Microsoft Graph MCP Server

2025.03.10
0
JavaScriptMicrosoft Graph APIClaude DesktopMCP ServerMicrosoft 365交流协作日程管理
JBAssist 是一个基于 Windows 的 Model Context Protocol (MCP) 服务器实现,用于连接 Claude Desktop 和 Microsoft Graph API。它提供了多种工具来访问 Microsoft 365 服务的标准 API 和 Beta API 功能,包括用户信息、电子邮件、日历事件、团队协作等。
View on GitHub
Overview
基本能力
产品定位
JBAssist 是一个连接 Claude Desktop 和 Microsoft Graph API 的 MCP 服务器,旨在提供对 Microsoft 365 服务的便捷访问。
核心功能
- 标准 API 工具:
get-profile
:获取当前用户的个人资料信息get-emails
:检索用户收件箱中的最近邮件get-calendar-events
:获取指定天数的即将到来的日历事件-
search-users
:在组织中搜索用户 -
Beta API 工具(扩展用户功能):
get-enhanced-profile
:获取详细的用户资料信息,包括技能、兴趣、学校等get-direct-reports
:获取用户的直接下属信息get-manager
:获取用户的经理信息get-presence
:获取用户的在线状态信息get-teamwork
:获取用户的 Microsoft Teams 和团队协作活动advanced-user-search
:通过技能、部门、职位等高级筛选搜索用户
适用场景
- 获取和管理个人 Microsoft 365 数据(如邮件、日历)
- 组织内用户搜索和管理
- 团队协作和状态管理
工具列表
- 标准 API 工具:用于基本用户信息、邮件和日历管理。
- Beta API 工具:提供更详细的用户信息和高级搜索功能。
常见问题解答
- 认证错误:检查
.env
文件中的 Azure AD 应用凭证。 - 权限错误:确保 Azure AD 应用具有适当的权限。
- 连接错误:确保在 Claude Desktop 中允许 MCP 权限。
- 日志文件:查看
graph-server.log
获取详细错误信息。 - Beta API 错误:Beta API 端点可能会变更或不稳定。
使用教程
使用依赖
- Node.js 18 或更高版本
- Claude Desktop(支持 MCP)
- Windows 10 或 11
- Microsoft 365 账户(具有适当权限)
- Azure AD 应用注册(具有适当权限)
安装教程
- 创建 Azure AD 应用注册:
- 在 Azure 门户中注册新应用,获取客户端 ID 和租户 ID。
-
创建客户端密钥并记录其值。
-
配置 API 权限:
- 添加以下权限:
User.Read
,Mail.Read
,Calendars.Read
,User.Read.All
,Presence.Read.All
,TeamMember.Read.All
。 -
授予管理员同意。
-
克隆并配置仓库:
bash git clone https://github.com/JBAgent/JBAssist.git cd JBAssist cp .env.example .env
- 编辑
.env
文件,填入 Azure AD 应用详情。 - 安装依赖并构建项目:
bash npm install npm run build
调试方式
- 启动 Claude Desktop。
- 运行服务器:
- PowerShell:
./run-graph-server.ps1
- Command Prompt:
run-graph-server.bat
- Node.js:
npm start
- 在 Claude Desktop 中添加 MCP 服务器,输入
msgraph
作为服务器名称。 - 确认连接成功后,使用自然语言命令测试功能。