跳到主内容

MCP服务器概览

Casdoor 在 /api/mcp 上公开了一个模型上下文协议 (MCP) 服务器。 客户端(例如人工智能助手或自动化工具)可通过JSON-RPC 2.0调用该接口,以管理应用、用户及其他资源,而无需直接使用Casdoor的REST API。

MCP是什么?

MCP 是一种用于发现和调用服务器提供的工具的 JSON-RPC 2.0 协议。 Casdoor的MCP服务器提供工具,以便客户端能够以标准方式管理Casdoor资源。

开始使用

MCP 端点位于 /api/mcp,并接受带有 JSON-RPC 2.0 载荷的 POST 请求。 在进行工具调用之前,客户端必须完成初始化握手:

POST /api/mcp
{
"jsonrpc": "2.0",
"id": 1,
"method": "initialize",
"params": {
"protocolVersion": "2024-11-05",
"capabilities": {},
"clientInfo": {
"name": "my-client",
"version": "1.0.0"
}
}
}

服务器会响应其功能:

{
"jsonrpc": "2.0",
"id": 1,
"result": {
"protocolVersion": "2024-11-05",
"capabilities": {
"tools": {
"listChanged": true
}
},
"serverInfo": {
"name": "Casdoor MCP Server",
"version": "1.0.0"
}
}
}

注册外部 MCP 服务器

Casdoor 也可以作为 MCP 客户端,并连接到外部 MCP 服务器。 请在 Casdoor 侧栏中导航至服务器以注册外部服务器:

字段描述
名称此服务器条目的唯一标识符
显示名称用户可读标签,显示在UI中
URL外部MCP服务器的端点
应用与此服务器关联的Casdoor应用(用于身份验证上下文)
令牌用于与外部服务器进行身份验证的Bearer令牌
工具从服务器获取的工具列表;每个工具可单独允许或阻止

If the external server trusts Casdoor as its OAuth provider, you don't have to paste a token by hand. Once you've selected an Application, click the Get access token button next to the Token field: Casdoor issues an OAuth access token for the currently signed-in user against that application and fills it into the field automatically. The button is disabled until an application is chosen, since the token is minted in that application's auth context. You can still enter a token manually if the server uses credentials issued elsewhere.

当您保存配置时,Casdoor会自动从远程服务器获取工具列表并将其存储。 使用服务器编辑页面上的同步按钮,可随时刷新工具列表,而无需重新保存完整配置。 同步操作会保留已存在的任何工具的“允许”设置;在同步过程中发现的新工具默认启用。 使用“同步”旁边的清除按钮,可移除服务器上所有已存储的工具,而无需获取新工具——这在您希望在重新同步或停用服务器之前重置工具列表时非常有用。

初始化完成后,发送通知以表明客户端已就绪:

POST /api/mcp
{
"jsonrpc": "2.0",
"method": "notifications/initialized"
}

MCP商店

MCP商店页面(可通过侧栏中的服务器 → 商店访问)显示了一份精选的公共MCP服务器列表,这些服务器来自在线注册表。 您可以按名称或标签浏览,然后单击添加以创建一个本地服务器记录,该记录已预先填充了服务器的URL和元数据。 添加后,请根据需要在服务器编辑页面上配置身份验证令牌和工具权限。

扫描内网MCP服务器

如果您在内部网络中运行MCP服务器,请使用服务器列表页面上的扫描按钮自动发现它们。

单击扫描会打开一个对话框,您可以在其中指定:

字段默认描述
CIDR / IP一个或多个要扫描的CIDR范围或单个IP(例如 192.168.1.0/24)。 必填。 每次扫描最多1024个主机。
方案httphttphttps
端口3000, 8080, 80在每台主机上要探测的端口
路径/, /mcp, /sse, /mcp/sse要在每个主机/端口组合上尝试的 URL 路径

Casdoor会同时探测所有主机/端口/路径组合(默认每个探测超时1.2秒,最多支持32个并发连接)。 任何响应有效MCP initialize握手中的端点都会列在结果中。 从那里,您可以选择已发现的服务器,并一键将其添加到您的服务器列表中。