JBAssist - Microsoft Graph MCP Server

JBAssist - Microsoft Graph MCP Server

site icon
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 应用注册(具有适当权限)

安装教程

  1. 创建 Azure AD 应用注册
  2. 在 Azure 门户中注册新应用,获取客户端 ID 和租户 ID。
  3. 创建客户端密钥并记录其值。

  4. 配置 API 权限

  5. 添加以下权限:User.Read, Mail.Read, Calendars.Read, User.Read.All, Presence.Read.All, TeamMember.Read.All
  6. 授予管理员同意。

  7. 克隆并配置仓库bash git clone https://github.com/JBAgent/JBAssist.git cd JBAssist cp .env.example .env

  8. 编辑 .env 文件,填入 Azure AD 应用详情。
  9. 安装依赖并构建项目: bash npm install npm run build

调试方式

  1. 启动 Claude Desktop。
  2. 运行服务器:
  3. PowerShell: ./run-graph-server.ps1
  4. Command Prompt: run-graph-server.bat
  5. Node.js: npm start
  6. 在 Claude Desktop 中添加 MCP 服务器,输入 msgraph 作为服务器名称。
  7. 确认连接成功后,使用自然语言命令测试功能。

许可证

该项目遵循 MIT 开源许可条款。