A hosted MCP server for Claude, ChatGPT, Cursor, VS Code and any other MCP client — browser sign-in or an API key, the same rules as the REST API, on every plan.
okokumo runs an official, hosted Model Context Protocol server. Connect it to an AI assistant and you can ask which checks are down, whether you were alerted, what a check's uptime was this week — or have it create a check, pause one for a deploy, or narrate an incident on your status page.
It is a thin layer over the public REST API: every tool is a call to
a /v1 route, made as you — through a browser sign-in or an API key — with the same authentication,
organization scoping, role checks and plan limits. It can do nothing an API key cannot already do
over REST.
https://app.okokumo.com/mcp, MCP Streamable HTTPAuthorization: Bearer sk_…Claude, ChatGPT, Cursor, VS Code and Claude Code can connect with nothing but the URL
https://app.okokumo.com/mcp. There is no key to create, paste or keep out of git.
Only owners and admins can approve, the same rule as for creating an API key. The app is connected to the organization named on the consent screen, and to that one only.
Settings → Connectors → Add custom connector, with the URL https://app.okokumo.com/mcp.
In ChatGPT's connector settings, add a custom connector with the same URL.
claude mcp add --transport http okokumo https://app.okokumo.com/mcp
Then run /mcp in Claude Code, pick okokumo and sign in.
In ~/.cursor/mcp.json or .cursor/mcp.json:
{
"mcpServers": {
"okokumo": { "url": "https://app.okokumo.com/mcp" }
}
}
Cursor then offers to sign in from its MCP settings.
In .vscode/mcp.json:
{
"servers": {
"okokumo": { "type": "http", "url": "https://app.okokumo.com/mcp" }
}
}
VS Code asks you to sign in when it starts the server.
Tested end to end so far: Claude Code and the MCP Inspector. claude.ai, ChatGPT, Cursor and VS Code implement the same MCP authorization specification but have not yet been tried against okokumo live. If one of them fails, tell us; an API key (section 3) works in the meantime.
Account → Connected apps lists every app connected to your organization: its name, who connected it and when, and when it was last used. Every member can see the list; owners and admins can Revoke an app there. Revoking is immediate: the app is refused at its next request.
For scripts, CI, and clients without OAuth sign-in. API keys work exactly as before, alongside connected apps.
In the dashboard, Account → API keys (owners and admins). The key is shown once.
Replace sk_… with your key.
claude mcp add --transport http okokumo https://app.okokumo.com/mcp \
--header "Authorization: Bearer sk_…"
claude mcp get okokumo
For a project-wide .mcp.json (--scope project), put Bearer ${OKOKUMO_API_KEY} in the header
and export the variable in your shell, so the key never lands in the repository.
The custom connector in section 1 needs no key. To use a key instead, connect through the
mcp-remote bridge (needs Node.js) in claude_desktop_config.json:
{
"mcpServers": {
"okokumo": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://app.okokumo.com/mcp",
"--header", "Authorization:${OKOKUMO_AUTH}"],
"env": { "OKOKUMO_AUTH": "Bearer sk_…" }
}
}
}
The header value goes through env because some platforms split arguments on the space in
Bearer sk_…. Restart Claude Desktop after editing.
In ~/.cursor/mcp.json (all projects) or .cursor/mcp.json (one project):
{
"mcpServers": {
"okokumo": {
"url": "https://app.okokumo.com/mcp",
"headers": { "Authorization": "Bearer sk_…" }
}
}
}
Any MCP client that speaks Streamable HTTP and can send an Authorization header connects the
same way: the endpoint above, your key as a bearer token.
18 tools: 10 that read, 8 that write. Nothing deletes, and nothing touches API keys — deleting anything and managing keys stay in the dashboard.
What differs from calling REST yourself, on purpose:
grace_seconds: 600 is ten minutes. The tool descriptions say so,
because minutes are the classic model mistake here.ping_url the job has to
call./mcp counts against your organization's 120 requests per minute — the same
budget as REST, and the two add up. Tools that read before they write (updating, pausing or
resuming a check, updating an incident) cost two.401: create a new key and update the client's configuration. A
revoked app gets the same answer and has to be approved again.