Token导航 LogoToken导航TokenDH.com
Test1 MCP logo
开发工具HTTP官方级别未说明来源级核验

Test1 MCP

MCP Server

Claude integration with MCP server for Microsoft Graph API

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
数据访问JavaScriptClaudeClaude

安装说明

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

作者 / 组织

JBAgent

提供方

JBAgent

最后核验

2026/5/18 02:17

快速接入

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

详细介绍

Claude与MCP的Microsoft Graph API集成

该存储库提供了一个完整的解决方案,用于将Claude与模型上下文协议(MCP)服务器集成以访问Microsoft Graph API。

分步实施指南

第一阶段:设置MCP服务器

  1. 克隆此存储库
   git clone https://github.com/JBAgent/Test1.git
   cd Test1
  1. 安装MCP服务器的依赖项
   cd mcp-server
   npm install
  1. 配置环境变量
   cp .env.example .env
   # Edit .env with your Azure AD credentials
  1. 启动MCP服务器
   npm start
  1. 测试MCP服务器
   # Using the provided test client
   node test-client.js

   # Or using curl
   curl -X POST http://localhost:3000/api/graph \
     -H "Content-Type: application/json" \
     -H "X-User-ID: default-user" \
     -d '{"endpoint": "/users", "method": "GET", "queryParams": {"$top": 5}, "allData": false}'

第二阶段:建立克劳德整合

  1. 安装Claude应用程序的依赖项
   cd ../claude-app
   npm install
  1. 配置环境变量
   cp .env.example .env
   # Edit .env with your Anthropic API key and MCP server URL
  1. 启动Claude应用程序
   npm start
  1. 测试Claude集成
   curl -X POST http://localhost:4000/api/chat \
     -H "Content-Type: application/json" \
     -d '{"messages": [{"role": "user", "content": "How many users are in our organization?"}]}'

阶段3:定制集成

  1. 添加更多Graph API函数

- 编辑 claude-mcp-integration.js 添加专门功能 - 更新中的函数定义 claude-app.js

  1. 自定义系统提示

- 在中编辑系统提示 claude-app.js 调整克劳德的行为 - 添加特定于域的上下文以获得更好的响应

  1. 实现缓存(可选)

- 添加Redis以缓存通用Graph API响应 - 在进行API调用之前更新MCP服务器以检查缓存

  1. 添加监控和日志记录

- 为所有Graph API请求实现日志记录 - 为MCP服务器和Claude应用程序设置监控

项目结构

Test1/
├── mcp-server/               # MCP Server for Microsoft Graph API
│   ├── server.js             # Main server implementation
│   ├── test-client.js        # Test client for verification
│   ├── package.json          # Dependencies
│   ├── Dockerfile            # Container configuration
│   └── .env.example          # Example environment variables
│
├── claude-app/               # Claude Application
│   ├── claude-app.js         # Main application server
│   ├── claude-mcp-integration.js  # Integration module
│   ├── package.json          # Dependencies
│   └── .env.example          # Example environment variables
│
└── docs/                     # Documentation
    └── integration-guide.md  # Detailed integration guide

环境变量

MCP服务器(.env)

AZURE_TENANT_ID=your-tenant-id
AZURE_CLIENT_ID=your-client-id
AZURE_CLIENT_SECRET=your-client-secret
PORT=3000
NODE_ENV=development         # Set to 'production' in production

克劳德应用程序(.env)

ANTHROPIC_API_KEY=your-anthropic-api-key
MCP_SERVER_URL=http://localhost:3000
MCP_USER_ID=default-user
PORT=4000

API终点

MCP服务器

  • POST/api/图形

- 向Microsoft Graph API发出请求 - 需要 X-User-ID 身份验证标头 - 正文包含Graph API请求选项

克劳德应用程序

  • POST/api/聊天

- 使用Graph API功能向Claude发送消息 - 正文包含消息数组和可选的系统提示

  • POST/api/分析组织

- 组织分析的专用端点 - 简化询问有关组织的问题

图形API请求选项

向MCP服务器发出请求时,可以包括以下选项:

{
  "endpoint": "/users",          // Required: Graph API endpoint
  "method": "GET",               // Optional: HTTP method (default: GET)
  "version": "beta",             // Optional: API version (default: beta)
  "queryParams": {},             // Optional: Query parameters
  "body": {},                    // Optional: Request body for POST/PUT/PATCH
  "allData": false               // Optional: Auto-pagination (default: false)
}

关于一致性级别的重要说明

经过测试,我们发现 consistencyLevel 在许多Graph API配置中通常不支持参数。我们已将其从所有默认请求中删除,以确保最大的兼容性。

如果需要在特定环境中使用此参数(对于某些高级目录查询场景),可以手动将其添加到queryParams中:

{
  "endpoint": "/users",
  "method": "GET",
  "queryParams": {
    "$top": 5,
    "consistencyLevel": "eventual"
  }
}

但是,我们建议在使用此参数之前仔细测试,因为它可能会在许多环境中导致错误。

JSON格式要求

向MCP服务器发出请求时,请确保JSON格式正确:

  1. 对键和字符串值使用双引号:
   {"endpoint": "/users", "method": "GET"}
  1. 不要不正确地嵌套JSON字符串:
   {"queryParams": {"$filter": "displayName eq 'John'"}}
  1. 使用正确的JSON类型:
   {"allData": true, "count": 10}

获取Microsoft Azure凭据

要获取您的AZURE_CLIENT_ID和AZURE_CLEENT_CRET:

  1. 登录到 Azure门户
  2. 导航到Azure Active Directory>应用程序注册
  3. 创建新注册或使用现有注册
  4. 复制应用程序(客户端)ID-这是您的AZURE_client_ID
  5. 转到证书和机密>新客户端机密
  6. 创建一个新的密钥并复制该值-这是您的AZURE_CLIENT_secret
  7. 在API权限下,添加Microsoft Graph权限

安全考虑

  1. 认证

- MCP服务器对Graph API使用Azure AD身份验证 - Claude应用程序应实现正确的身份验证

  1. 授权

- MCP服务器根据用户上下文强制执行权限 - 对敏感操作实施基于角色的访问控制

  1. 数据保护

- 注意与Claude共享的数据 - 实施数据保留策略

  1. 审计日志

- 记录所有Graph API合规请求 - 监控异常访问模式

故障排除

  1. MCP服务器连接问题

- 验证Azure AD凭据 - 检查网络连接 - 使用提供的test-client.js验证连接

  1. JSON解析错误

- 确保请求使用带双引号的有效JSON - 不要发送单引号字符串或不正确转义的字符 - 查看test-client.js中的请求格式以获取示例

  1. 图形API错误

- “无法识别的查询参数:consistencyLevel”-此错误表示Graph API配置不支持此参数。我们已将其从所有示例和默认行为中删除。 - 检查Azure AD中的权限-确保您的应用程序具有授予的正确范围 - 验证请求格式和参数 - 寻找限速问题

  1. Claude API错误

- 验证Anthropic API密钥 - 确保请求格式正确

贡献

欢迎投稿!请随时提交拉取请求。

目录标签

目录标签

数据访问JavaScriptClaudedeveloper-toolsAI集成本地部署微软GraphAPI企业自动化自然语言处理

支持客户端

Claude

接入字段

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

HTTP

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

none

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

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

0

权限和风险

HTTPnone部署方式未说明

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

安装前确认

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

仍需确认:installCommand

来源信息

继续浏览同类 MCP