MCP / STREAMABLE HTTP
Use GoClaw as a governed MCP Server.
The public MCP resource is https://goclawai.com/mcp, secured by Streamable HTTP, OAuth Authorization Code with S256 PKCE, workspace scopes, rate limits, and audit.
Start with protected resource metadata
Compatible clients should read Resource Metadata first and discover the authorization server from authorization_servers. Do not hard-code token endpoints or mint access tokens yourself.
curl -fsS https://goclawai.com/.well-known/oauth-protected-resource
curl -fsS https://goclawai.com/.well-known/oauth-authorization-serverConfigure a Streamable HTTP client
MCP clients use different configuration files, but the connection is the same: Streamable HTTP at /mcp with browser-based OAuth authorization enabled.
{
"mcpServers": {
"goclaw": {
"type": "streamable-http",
"url": "https://goclawai.com/mcp"
}
}
}The client must support OAuth discovery and PKCE. Legacy clients limited to static headers cannot securely connect to production GoClaw MCP.
Request only the scopes you need
Consent binds the grant to a user, OAuth client, and workspace. Tools and Resources are filtered by scope, so unauthorized capabilities are omitted from discovery.
catalog:read research:read skills:read
runs:read runs:create runs:cancel
artifacts:read templates:writeCurrent public Run tools
The production Tool Catalog currently exposes create, get, and cancel Run operations. Create and cancel calls require a stable idempotencyKey in MCP _meta.
goclaw_create_run runs:create R2
goclaw_get_run runs:read R0
goclaw_cancel_run runs:cancel R1OAuth scope never bypasses Approval
runs:create permits proposing a Run. When policy classifies it as high risk, the Tool returns approval.required with an Approval ID; a user must review its bounds in GoClaw.
Validate audience and refresh safely
Send access tokens only to https://goclawai.com/mcp. Refresh tokens rotate; replace them atomically and restart authorization on invalid_grant rather than retrying indefinitely.