MCP / STREAMABLE HTTP

把 GoClaw 作为受治理的 MCP Server。

公网 MCP Resource 为 https://goclawai.com/mcp,使用 Streamable HTTP、OAuth Authorization Code + S256 PKCE、Workspace Scope、限流与审计。

01 / DISCOVER

从受保护资源元数据开始

兼容客户端应先读取 Resource Metadata,再根据其中的 authorization_servers 发现授权服务。不要硬编码 Token Endpoint 或自行拼接 Access Token。

curl -fsS https://goclawai.com/.well-known/oauth-protected-resource
curl -fsS https://goclawai.com/.well-known/oauth-authorization-server
02 / CLIENT

配置 Streamable HTTP 客户端

不同 MCP 客户端的配置文件名不同,但连接参数相同:类型为 Streamable HTTP,Resource URL 为 /mcp,并启用 OAuth 浏览器授权。

通用配置示意
{
  "mcpServers": {
    "goclaw": {
      "type": "streamable-http",
      "url": "https://goclawai.com/mcp"
    }
  }
}

客户端必须支持 OAuth 发现和 PKCE。仅支持静态 Header 的旧客户端不能安全连接生产 GoClaw MCP。

03 / SCOPES

只申请任务需要的 Scope

授权页把 Grant 绑定到用户、OAuth Client 和 Workspace。Tools 与 Resources 会按 Scope 过滤,未授权能力不会出现在列表中。

catalog:read  research:read  skills:read
runs:read     runs:create    runs:cancel
artifacts:read templates:write
04 / TOOLS

当前公开 Run Tools

生产 Tool Catalog 当前提供创建、查询和取消 Run。创建与取消需要客户端在 MCP _meta 中发送稳定 idempotencyKey。

goclaw_create_run  runs:create  R2
goclaw_get_run     runs:read    R0
goclaw_cancel_run  runs:cancel  R1
05 / APPROVAL

OAuth Scope 不会绕过 Approval

runs:create 只允许提出 Run。Policy 判定为高风险时,Tool 返回 approval.required 与 Approval ID;用户必须在 GoClaw 中核对限制并决策。

06 / TOKENS

校验 Audience 并安全刷新

Access Token 仅发送给 https://goclawai.com/mcp。Refresh Token 会轮换;客户端必须原子替换旧值,遇到 invalid_grant 时重新授权,而不是无限重试。