ALL WR, from your AI assistant
The ALL WR MCP server lets Claude, Grok, ChatGPT and Codex work with your data using your account. It is not a shared API key: each person signs in as themselves.
Each tool is a different OAuth client
Keycloak does not allow an assistant to register itself. Claude, Grok and ChatGPT/Codex cannot reuse another tool’s client_id: each one is pre-registered with its own redirect URI. Paste Claude’s recipe into Grok and login fails.
Endpoint
The server URL is the same for everyone. What changes is the client_id and how you tell your tool to use it.
https://www.allwr.io/mcp
How to connect each tool
All of them are public clients with PKCE and no secret. The consent screen at login.allwr.io names the tool that is asking.
| Tool | client_id | Where it goes |
|---|---|---|
| Claude Code | mcp-claude-code |
--client-id flag and --callback-port 29352 |
| Claude.ai / Desktop | mcp-claude-web |
Custom connector → Advanced settings |
| ChatGPT | mcp-chatgpt |
Connector → OAuth Client ID |
| Grok CLI | mcp-grok |
oauth_client_id in config.toml |
| Codex CLI | mcp-codex |
--oauth-client-id flag and mcp_oauth_callback_port 5555 |
| Gemini CLI | mcp-gemini |
oauth.clientId and redirectUri on port 29354 |
| Antigravity | mcp-antigravity |
oauth.clientId; callback https://antigravity.google/oauth-callback |
| Cursor | mcp-cursor |
auth block in mcp.json |
Claude Code
claude mcp add --transport http --client-id mcp-claude-code \
--callback-port 29352 allwr https://www.allwr.io/mcp
Claude.ai, Desktop, mobile and Cowork
Add a custom connector pointing at https://www.allwr.io/mcp. In advanced settings set client_id mcp-claude-web. The callback is already registered. If you press Connect without that client_id, claude.ai tries to self-register and fails with "Could not register with the sign-in service": nothing is broken, the client_id is missing.
ChatGPT
When adding the connector, use client_id mcp-chatgpt. ChatGPT shows its own callback; the realm already allows the https://chatgpt.com/connector/oauth/ prefix.
Grok CLI
Grok has no --client-id on grok mcp add. Put the client_id in config. The callback port is random on every login (no need to pin it). Then in the TUI open /mcps and authenticate (i).
[mcp_servers.allwr]
url = "https://www.allwr.io/mcp"
oauth_client_id = "mcp-grok"
Codex CLI
Codex appends an id to the callback path. The port must be 5555 (mcp_oauth_callback_port) to match the realm. Then run: codex mcp login allwr.
mcp_oauth_callback_port = 5555
[mcp_servers.allwr]
url = "https://www.allwr.io/mcp"
codex mcp add allwr --url https://www.allwr.io/mcp --oauth-client-id mcp-codex
codex mcp login allwr
Gemini CLI
Gemini CLI can discover OAuth on its own, but this realm does not allow dynamic registration: you must set the client_id. The callback uses /oauth/callback (not /callback) on port 29354. Then run: /mcp auth allwr.
{
"mcpServers": {
"allwr": {
"httpUrl": "https://www.allwr.io/mcp",
"oauth": {
"enabled": true,
"clientId": "mcp-gemini",
"redirectUri": "http://localhost:29354/oauth/callback"
}
}
}
}
Antigravity (IDE, CLI and web)
Antigravity is the successor to Gemini CLI. Use client_id mcp-antigravity and omit clientSecret (public client). The fixed callback is already registered. In the IDE: Customizations → Authenticate.
{
"mcpServers": {
"allwr": {
"serverUrl": "https://www.allwr.io/mcp",
"oauth": {
"clientId": "mcp-antigravity"
}
}
}
}
Cursor IDE
Add the server to your <code>mcp.json</code> (global <code>~/.cursor/mcp.json</code> or project-level <code>.cursor/mcp.json</code>) using the URL <code>https://www.allwr.io/mcp</code>. In the <code>auth</code> block, set <code>CLIENT_ID</code> to <code>mcp-cursor</code> and <code>scopes</code> to <code>["allwr:mcp"]</code>. Then, go to Cursor Settings → MCP and click <strong>Connect</strong>.
{
"mcpServers": {
"allwr": {
"url": "https://www.allwr.io/mcp",
"auth": {
"CLIENT_ID": "mcp-cursor",
"scopes": ["allwr:mcp"]
}
}
}
}
Who can sign in
The same account as https://login.allwr.io. You must have signed in through the ALL WR website at least once: the MCP never creates users, it only recognises existing ones.
What it can do
Consent asks for the allwr:mcp scope. On the remote endpoint, write tools are off. Tasks, movements and billing all run as your session: each with the access you already have in allwr.
Another tool
Register a public client in the allwr realm (configure-mcp.sh in the infra repo) with its redirect URI. The MCP server is not edited: it implements the spec, not each vendor.