Connect
- Claude Code
- Codex
- Any MCP client
/mcp in Claude Code, pick reason, and sign in.Sign in with OAuth
Any client that follows the MCP authorization spec works without setup. This is what it does:- It sends a request to
https://mcp.reasonmachines.com/mcpwith no token. The reply is401with aWWW-Authenticateheader that names the resource metadata. - It reads
https://mcp.reasonmachines.com/.well-known/oauth-protected-resource/mcpto find the authorization server. - It reads
/.well-known/oauth-authorization-serveron that server and registers itself at theregistration_endpoint. Clients are public: no client secret. - It runs the authorization code flow with PKCE (
S256) andresource=https://mcp.reasonmachines.com/mcp. You sign in and choose one workspace. - It sends the access token as
Authorization: Bearer <token>. Access tokens last one hour. The client renews them with its refresh token.
Sign in with an API key
Use a key when no browser is available, such as in CI.- Create a key at reasonmachines.com/customize?tab=api (Settings > API).
- Send it as
Authorization: Bearer <key>on every request to the MCP URL.
Scopes
A connection can do only what its scopes allow. Scopes are the same for OAuth and API keys, for examplerun, sessions:read, repos:read, and org:read.
- OAuth: the sign-in screen shows what the client asked for. A client that asks for nothing gets every scope except
ssh:write. - API key: you choose the scopes when you create the key.
- The full list is
scopes_supportedin the resource metadata. - Call
getSelfto see the scopes your connection holds.
Tools
Each tool is one HTTP API operation. The tool name is the operation ID in the API reference, such asgetSelf, listProjects, listSessions, createSession, getSession, listSessionMessages, and sendSessionMessage.
- You see only the tools your scopes allow.
- The workspace is set by your connection. Tools take no
orgId. - Path and query values are top-level arguments. A request body goes in
body. tools/listreturns 30 tools per page. FollownextCursor.- Start with
getSelf,listProjects, orlistSessions. createSessionstarts work that runs after the call returns. PollgetSessionuntilstatusis no longerrunning, then checkoutcome.- Results are capped at 2 MiB. Ask for a smaller page if you hit the cap.
- File uploads are base64 and capped at 1 MiB. Use the HTTP API for larger files.
If it does not connect
401withmissing_bearer: this is the normal first reply. Your client has not signed in yet. Run its sign-in step.405onGET: the server answersPOSTonly. It has no event stream.410withmcp_transport_retired: you are using the old/mcp/araaddress. Use the URL above.- The server is not at
reasonmachines.com/mcporapi.reasonmachines.com/v3/mcp. Usehttps://mcp.reasonmachines.com/mcp.

