OpenClaw er en MCP-klient. WorkOS eksponerer hele datamodellen sin gjennom en remote MCP-server, slik at OpenClaw kan lese og skrive direkte til workspacet ditt — sider, databaser, oppgaver, møter og deling.
Tilkobling
MCP-serveren ligger på https://workos.no/api/mcp. Den bruker Streamable HTTP (POST + JSON-RPC 2.0) og OAuth 2.1 med PKCE. Tilgangstoken varer én time, refresh-token tretti dager.
Viktig: serveren åpner ingen browser
OpenClaw er en CLI-klient. WorkOS-serveren kan ikke åpne en browser eller dukke opp et OAuth-vindu på maskinen din — det er klientens ansvar. OpenClaw må selv:
- Bygge autorisasjons-URL-en (med PKCE-challenge og state).
- Skrive URL-en ut til brukeren — i terminalen, som klikkbar tekst — og be brukeren åpne den manuelt.
- Lytte på en lokal port (f.eks.
http://127.0.0.1:53682/callback) for å fange opp?code=…&state=…når brukeren har godkjent. - Bytte koden mot et access-token og lagre tokenet i konfigurasjonen.
Hvis OpenClaw bare «venter på at en browser skal dukke opp» uten å skrive ut en URL, er det en bug i klienten. Den må generere lenken eksplisitt.
Pseudokode
1. POST https://workos.no/api/oauth/register
{
"client_name": "OpenClaw",
"redirect_uris": ["http://127.0.0.1:53682/callback"],
"scope": "read write"
}
-> { client_id } // store this. Re-use on every reconnect.
2. verifier = base64url(random_bytes(64))
challenge = base64url(sha256(verifier))
state = base64url(random_bytes(16))
3. start a one-shot HTTP listener on 127.0.0.1:53682
(must be running BEFORE you print the URL).
4. PRINT TO USER:
"Open this URL in your browser to authorize WorkOS:"
https://workos.no/oauth/authorize
?response_type=code
&client_id=<client_id>
&redirect_uri=http%3A%2F%2F127.0.0.1%3A53682%2Fcallback
&code_challenge=<challenge>
&code_challenge_method=S256
&scope=read+write
&state=<state>
5. wait for GET /callback?code=<...>&state=<...>
verify state matches, then shut the listener down.
6. POST https://workos.no/api/oauth/token (form-encoded)
grant_type=authorization_code
&code=<code>
&client_id=<client_id>
&redirect_uri=http://127.0.0.1:53682/callback
&code_verifier=<verifier>
-> { access_token, refresh_token, expires_in }
7. POST https://workos.no/api/mcp
Authorization: Bearer <access_token>
{ JSON-RPC 2.0 payload }Loopback-redirects (http://127.0.0.1:PORT/... og http://localhost:PORT/...) er eksplisitt tillatt under registrering — alle andre redirect_uri må være HTTPS.
Når tokenet er utløpt
Refresh ved å POSTe til /api/oauth/token med grant_type=refresh_token, forrige refresh-token og client_id. Hvis refresh feiler (revokert eller eldre enn 30 dager), gå tilbake til steg 3 i pseudokoden — registrer på nytt bare hvis client_id har gått tapt.
Vanlige feil
- OpenClaw spør brukeren om client_id: bug. Bruk Dynamic Client Registration (steg 1) — brukeren skal aldri se client_id.
- OpenClaw venter på browser: klienten må skrive ut autoriserings-URL-en, ikke vente på at en browser skal åpne seg.
- 401 etter ca. én time: tokenet utløp; refresh automatisk eller kjør hele flyten på nytt.
- Ny client_id ved hver tilkobling: registrer én gang, lagre
client_idogrefresh_tokeni brukers config.
Mer
Full agent-guide: /for-agenter (Markdown: /for-agenter.md). Discovery-metadata: /.well-known/oauth-authorization-server og /.well-known/oauth-protected-resource.