跳到主内容

将Claude Desktop连接到MCP

将Claude Desktop连接到Casdoor的MCP服务器,以便Claude能够通过自然语言管理您的应用、用户和资源。

先决条件

  • 一个正在运行的Casdoor实例(建议通过HTTPS访问,以用于生产环境)
  • 已安装在您电脑上的Claude Desktop
  • 对您的Casdoor实例具有管理员访问权限,以便创建应用

步骤1:在Casdoor中创建一个应用

为Claude Desktop的OAuth创建一个Casdoor应用:

  1. 登录您的Casdoor管理面板

  2. 导航至应用并点击添加

  3. 使用以下设置配置应用程序:

    • 名称claude-desktop-mcp(或您偏好的名称)

    • 显示名称: Claude Desktop MCP 客户端

    • 组织:选择您的组织

    • 重定向 URI:添加以下 OAuth 回调 URL:

      http://127.0.0.1:*/callback
      http://localhost:*/callback

      :::提示 通配符 * 允许 Claude Desktop 使用任何可用端口进行 OAuth 回调。 ::

  4. 授权类型:启用 授权码,并可选启用 刷新令牌

  5. 启用PKCE:勾选此选项以增强安全性

  6. Token Format: JWT (recommended)

  7. (可选)应用类型:设置为 Agent

  8. (可选)类别:为便于组织,设置为 MCP

    信息
    请参阅应用类别了解类别和类型选项。

:::

  1. 单击保存,并记下下一步所需的客户端 ID

步骤2:配置Claude桌面版

Claude Desktop 将 MCP 服务器配置存储在 JSON 文件中。 具体位置取决于您的操作系统:

  • macOS~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json

用文本编辑器打开此文件,并添加您的Casdoor MCP服务器配置:

{
"mcpServers": {
"casdoor": {
"command": "npx",
"args": [
"mcp-remote",
"https://your-casdoor.com/api/mcp"
]
}
}
}

替换以下占位符:

  • your-casdoor.com → 您的Casdoor实例域名
备注

mcp-remote软件包可将Claude Desktop(使用标准输入输出传输)桥接到基于HTTP的远程MCP服务器。 它会自动处理OAuth流程——Claude Desktop将打开您的浏览器以完成身份验证。

配置作用域

环境变量OAUTH_SCOPES控制着Claude拥有的权限。 常用范围包括:

  • read:application - 查看应用
  • write:application - 创建、更新、删除应用程序
  • read:user - 查看用户
  • write:user - 创建、更新、删除用户
  • openid profile email - 基本用户信息(OAuth所需)

有关可用作用域的完整列表,请参阅授权与作用域

步骤3:重启Claude Desktop

保存配置文件后:

  1. 彻底退出Claude Desktop(不要只关闭窗口)
  2. 重新启动Claude Desktop

Claude 将自动检测新的 MCP 服务器配置。

步骤 4:完成 OAuth 流程

Claude Desktop 第一次连接到您的 Casdoor MCP 服务器时:

  1. Claude Desktop 将自动打开您的默认网页浏览器
  2. 您将看到Casdoor登录页面(如果尚未登录)
  3. 登录后,您将看到一个同意屏幕,要求您授权Claude Desktop
  4. 同意屏幕会显示所请求的作用域(权限)
  5. 点击授权以授予访问权限
  6. 您的浏览器将重定向到 http://127.0.0.1:<0>/callback 并显示成功消息
  7. 返回 Claude Desktop - 连接现已建立
提示

OAuth 令牌由 MCP OAuth 辅助程序安全存储。 除非您撤销令牌或更改作用域,否则无需重新授权。

步骤5:验证连接

通过让Claude与Casdoor互动来测试连接:

**示例提示词,可尝试:

  • 列出Casdoor中的所有应用
  • “向我展示名为‘my-app’的应用程序的详细信息”
  • 在组织‘my-org’中创建一个名为‘test-app’的新应用程序”

Claude将使用MCP工具执行这些命令。 您应该会看到来自您的Casdoor实例的数据响应。

“列出所有应用”的预期输出:

I found the following applications in your Casdoor instance:

1. claude-desktop-mcp (Claude Desktop MCP Client)
2. app-built-in (Casdoor)
...

故障排除

问题:“无法连接到MCP服务器”

原因:MCP 服务器 URL 可能不正确或无法访问。

解决方案

  • 验证您claude_desktop_config.json中的URL是否正确
  • 确保您的Casdoor实例正在运行且可访问
  • 检查HTTPS/HTTP不匹配(生产环境使用HTTPS)

问题:OAuth期间出现“重定向URI不匹配”错误

原因:回调URL与Casdoor中配置的重定向URI不匹配。

解决方案

  • 在Casdoor中,请确保您的应用程序具有以下重定向URI:

    http://127.0.0.1:*/callback
    http://localhost:*/callback
  • 通配符*至关重要——它允许任意端口

问题:浏览器控制台中的“CORS 错误”

原因:跨源资源共享(CORS)限制。

解决方案

  • Casdoor的MCP端点应自动处理本地主机来源的CORS
  • 如果您使用的是自定义域名,请确保在Casdoor中正确配置了CORS

问题:“insufficient_scope”错误

原因:所请求的操作需要一个未被授予的作用域。

解决方案

  • 在您的claude_desktop_config.json中更新OAUTH_SCOPES,以包含所需的范围
  • 示例:如果您想创建或修改应用程序,请添加write:application
  • 重启Claude Desktop并重新授权,以获取具有更新作用域的新令牌

问题:OAuth令牌已过期

原因:访问令牌在一定时间后会过期。

解决方案

  • 如果您在步骤1中启用了刷新令牌授权类型,MCP OAuth助手将自动刷新过期的令牌
  • 否则,您需要通过重新启动Claude Desktop来重新授权

问题:生产环境中的HTTPS要求

原因:OAuth 最佳实践要求生产环境使用 HTTPS。

解决方案

  • 在生产环境中为您的 Casdoor 实例使用 HTTPS
  • 对于本地开发/测试,使用 localhost 的 HTTP 是可接受的
  • 配置SSL证书或使用Nginx等反向代理

安全注意事项

  • PKCE(代码交换证明密钥):在您的Casdoor应用中始终启用PKCE,以增强安全性
  • 作用域:遵循最小权限原则——仅授予Claude实际需要的作用域
  • 令牌存储:MCP OAuth助手会将令牌安全地存储在您系统的钥匙串中
  • HTTPS:对于生产环境的Casdoor实例,始终使用HTTPS以保护OAuth流程
  • 令牌撤销:您可以在Casdoor的管理面板中的‘令牌’下撤销访问令牌

下一步

现在,Claude Desktop已连接到Casdoor:

相关资源