将Claude Desktop连接到MCP
将Claude Desktop连接到Casdoor的MCP服务器,以便Claude能够通过自然语言管理您的应用、用户和资源。
先决条件
- 一个正在运行的Casdoor实例(建议通过HTTPS访问,以用于生产环境)
- 已安装在您电脑上的Claude Desktop
- 对您的Casdoor实例具有管理员访问权限,以便创建应用
步骤1:在Casdoor中创建一个应用
为Claude Desktop的OAuth创建一个Casdoor应用:
-
登录您的Casdoor管理面板
-
导航至应用并点击添加
-
使用以下设置配置应用程序:
-
名称:
claude-desktop-mcp(或您偏好的名称) -
显示名称:
Claude Desktop MCP 客户端 -
组织:选择您的组织
-
重定向 URI:添加以下 OAuth 回调 URL:
http://127.0.0.1:*/callback
http://localhost:*/callback:::提示 通配符
*允许 Claude Desktop 使用任何可用端口进行 OAuth 回调。 ::
-
-
授权类型:启用
授权码,并可选启用刷新令牌 -
启用PKCE:勾选此选项以增强安全性
-
Token Format:
JWT(recommended) -
(可选)应用类型:设置为
Agent -
(可选)类别:为便于组织,设置为
MCP信息请参阅应用类别了解类别和类型选项。
:::
- 单击保存,并记下下一步所需的客户端 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
保存配置文件后:
- 彻底退出Claude Desktop(不要只关闭窗口)
- 重新启动Claude Desktop
Claude 将自动检测新的 MCP 服务器配置。
步骤 4:完成 OAuth 流程
Claude Desktop 第一次连接到您的 Casdoor MCP 服务器时:
- Claude Desktop 将自动打开您的默认网页浏览器
- 您将看到Casdoor登录页面(如果尚未登录)
- 登录后,您将看到一个同意屏幕,要求您授权Claude Desktop
- 同意屏幕会显示所请求的作用域(权限)
- 点击授权以授予访问权限
- 您的浏览器将重定向到
http://127.0.0.1:<0>/callback并显示成功消息 - 返回 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: