微软图形MCP
A. 模型上下文协议(MCP) 将人工智能助手连接到Microsoft Graph API的服务器。搜索团队消息、管理聊天、发送消息,并通过Claude和其他人工智能助手中的自然语言与您的Microsoft 365环境进行交互。
🚀 快速开始
配置
克劳德代码
使用Claude Code CLI添加服务器:
claude mcp add -s user \
microsoft-graph \
npx mcp-microsoft-graph@latest \
-e "MS_GRAPH_CLIENT_ID=your_client_id" \
-e "MS_GRAPH_TENANT_ID=your_tenant_id"手动配置(任何MCP客户端)
或者,将此配置添加到MCP客户端的配置文件中:
{
"mcpServers": {
"microsoft-graph": {
"command": "npx",
"args": ["mcp-microsoft-graph@latest"],
"type": "stdio",
"env": {
"MS_GRAPH_CLIENT_ID": "your_client_id",
"MS_GRAPH_TENANT_ID": "your_tenant_id"
}
}
}
}获取您的Azure AD凭据
为了得到你的 CLIENT_ID 和 TENANT_ID:
- 首选 Azure门户 → Azure Active Directory → 应用程序注册
- 点击 新注册
- 为其命名(例如,“MCP Microsoft Graph”)
- 集 支持的帐户类型 转为“单一租户”
- 点击 注册
- 复制 应用程序(客户端)ID -这是你的
MS_GRAPH_CLIENT_ID - 复制 目录(租户)ID -这是你的
MS_GRAPH_TENANT_ID
必需的权限
在Azure AD应用程序中配置这些权限:
- 首选 API权限 → 添加权限 → Microsoft Graph → 委托权限
- 添加这些权限:
- User.Read -读取用户资料 - User.ReadBasic.All -阅读所有用户的基本资料 - Chat.ReadBasic -读取基本聊天属性 - Chat.ReadWrite -读写聊天 - ChatMessage.Read -阅读聊天信息 - ChatMessage.Send -发送聊天信息
- 点击 授予管理员同意 (如果您有管理员权限)
验证
运行一次身份验证命令以登录:
npm run auth这将打开一个浏览器窗口,让您使用Microsoft帐户登录。
✨ 特性
- 💬 团队聊天管理 -搜索、创建和管理团队聊天
- 📨 消息操作 -发送消息、搜索对话、获取聊天记录
- 👥 用户发现 -搜索用户并获取个人资料信息
- 🔍 强大的搜索功能 -使用KQL语法搜索所有Teams消息
- 🎯 聪明的提及 -@在消息中提及用户
- 🔒 OAuth身份验证 -安全的Azure AD身份验证流程
- 🎨 丰富的格式 -消息中的Markdown支持
🛠️ 可用工具
服务器提供 8个MCP工具 对于Microsoft Graph操作:
用户管理
get_current_user-获取您自己的个人资料信息search_users-按姓名或电子邮件搜索用户get_user-获取特定用户的详细信息
聊天操作
search_chats-按主题或成员名称搜索聊天记录create_chat-创建新的1:1或群聊
消息操作
get_chat_messages-从特定聊天中检索消息send_chat_message-使用Markdown和提及发送消息search_messages-使用KQL搜索所有团队消息
💡 查询示例
- *“搜索与John Smith的聊天记录”*
- *“显示工程聊天中的最新消息”*
- *“向开发团队聊天室发送消息,说明部署已完成”*
- *“搜索所有提及第四季度路线图的团队消息”*
- *与Alice、Bob和Carol创建关于新项目的群聊*
- *“查找上周的所有紧急消息”*
- *“获取我的用户配置文件信息”*
🏗️ 发展
来源
# Clone and setup
git clone https://github.com/evrimalacan/mcp-microsoft-graph.git
cd mcp-microsoft-graph
npm install
# Set up credentials
cp .env.example .env.local
# Edit .env.local with your CLIENT_ID and TENANT_ID
# Build
npm run build
# Authenticate
npm run auth
# Development mode
npm run dev
# Run tests
npm test添加新工具
- 在以下相应的域文件夹中创建新的工具文件
src/tools/ - 从域中导出
index.ts - 在中注册
src/tools/index.ts
有关示例和模式,请参阅现有工具。
🐛 故障排除
常见问题
“身份验证失败”
- 跑
npm run auth再次进行身份验证 - 验证您的CLIENT_ID和TENANT_ID是否正确
- 检查您的Azure AD应用程序是否具有所需的权限
“禁止访问”
- 确保您的Azure AD应用程序已授予必要的权限
- 检查是否需要管理员同意并已授予
- 验证您是否使用正确的帐户登录
“令牌已过期”
- 跑
npm run auth刷新您的身份验证 - 检查令牌文件路径是否可访问
“未找到聊天室”
- 验证聊天ID是否正确
- 确保您有权访问聊天室
- 检查聊天是否仍然存在
📚 文档
- Microsoft图形资源管理器 -交互式API测试
- Microsoft图形文档 -API官方参考
- 模型上下文协议 -MCP规范
🤝 贡献
- 分叉存储库
- 创建功能分支(
git checkout -b feature/amazing-feature) - 为您的更改添加测试
- 提交您的更改(
git commit -m 'Add amazing feature') - 推到分支(
git push origin feature/amazing-feature) - 打开拉取请求
📄 许可证
MIT许可证-请参阅 许可证 文件以获取详细信息。
🌟 支持
- 🐛 错误报告:
- 💡 功能请求:
______________________________________________________________________
专为Microsoft Teams与AI助手的无缝集成而构建
