MCP server setup
╭────────────────────────────╮
│ 🔌 Molar MCP │
│ One install · all products │
╰────────────────────────────╯
Molar exposes Cartographer, Guard, Clones, and Trace as MCP tools so coding agents can generate scenarios, run tests, drive clones, and read traces without a custom integration.
| Surface | URL | What it is |
|---|---|---|
| Connect page | https://mcp.molar.it | Human/agent install UI, deep links, manual JSON |
| Protocol endpoint | https://api.molar.it/mcp | Streamable HTTP MCP (put this in mcp.json) |
| OAuth issuer / resource | https://api.molar.it | Authorization server + RFC 8707 resource origin |
No account yet? Agent self-serve
Coding agents can register without a dashboard login:
- Agent self-serve signup —
POST /api/v1/agent-signupormolar agent signup - Human verifies with a 6-digit email code
- Connect via mcp.molar.it (or paste
https://api.molar.it/mcpinto your client)
Pre-verify tokens get mcp:read + mcp:run only. After verify, scopes expand to mcp:read, mcp:write, mcp:run, and mcp:trace:read on the Free tier. High-risk scopes (mcp:explore, mcp:act, mcp:approve, mcp:identity, mcp:clone:write, mcp:debug) require explicit OAuth consent or a higher plan.
Human engineers should still use app.molar.it for billing, GitHub App install, and team invites.
| Transport | Endpoint | Best for |
|---|---|---|
| Remote | https://api.molar.it/mcp | Cursor, Claude Desktop, Claude Code, Windsurf, Continue |
| Local stdio | molar mcp serve | Air-gapped, local Clones, custom surfaces |
Install in your coding tool
Visit mcp.molar.it — 25 clients with honest install paths (deeplink, copy command, or copy URL). Fake claude://mcp/install links are gone: Claude Desktop uses Settings → Connectors → Add custom connector with https://api.molar.it/mcp.
| Kind | Examples |
|---|---|
| One-click deeplink | Cursor, VS Code, VS Code Insiders |
| Copy command | Claude Code, Codex CLI, OpenCode |
| Copy URL / JSON | Claude Desktop, ChatGPT, Windsurf (serverUrl), Continue, Copilot Chat, Cline, Roo, Zed, JetBrains, Warp, … |
Manual JSON (most URL-transport clients):
{
"mcpServers": {
"molar": { "url": "https://api.molar.it/mcp" }
}
}
Windsurf uses serverUrl instead of url — use the Windsurf card on mcp.molar.it.
Cursor
Open mcp.molar.it → Cursor, or add a workspace server:
{
"mcpServers": {
"molar": { "url": "https://api.molar.it/mcp" }
}
}
Save as .cursor/mcp.json, then Settings → MCP → molar → Authenticate. Complete OAuth 2.1 + PKCE (consent lists scopes; resource is https://api.molar.it).
Claude Code
claude mcp add --transport http molar https://api.molar.it/mcp
Local stdio
molar mcp serve
Optional flags: --cloud-access, --surfaces=cartographer,clones,guards,trace, --transport=http, --port=4200.
Client config:
{
"mcpServers": {
"molar-local": {
"command": "molar",
"args": ["mcp", "serve"]
}
}
}
Use --cloud-access for cloud-backed tools (failures, incidents, debugger) using credentials from ~/.config/molar/config.toml.
OAuth scopes
Ten scopes are defined in the auth layer. The consent screen lists all requested scopes. Hosted clients that omit scope at DCR receive the full advertised ceiling; org role + consent still gate the grant.
| Scope | Allows |
|---|---|
mcp:read | List/get scenarios, runs, guard status, clone sessions |
mcp:write | Generate, compile, review Mender PRs, monitor/repair flows |
mcp:run | Execute Guard scenario runs |
mcp:clone:write | Spawn, seed, route, snapshot/restore, and stop cloud clones |
mcp:trace:read | Replay traces, read run trace resources |
mcp:debug | Debugger AI (molar_debug_run — billed per token) |
mcp:explore | Browse/map external sites (molar_explore_target, molar_map_site, …) |
mcp:act | State-changing actions on external sites (molar_run_task, molar_fill_form, …) |
mcp:approve | Request and redeem exact-action Attention approvals |
mcp:identity | Provision test identities and read OTP/messages |
Authorization server: https://api.molar.it. Protected resource indicator: https://api.molar.it (clients may also send a trailing slash or /mcp; the AS canonicalizes to the origin).
Tool catalog (sample)
| Tool | Scope | Description |
|---|---|---|
molar_generate_scenarios_from_url | mcp:write | Cartographer crawl |
molar_run_scenarios | mcp:run | Run scenarios by glob |
molar_replay_trace | mcp:trace:read | Trace replay |
molar_clone_spawn | mcp:clone:write | Start a cloud clone session |
molar_get_guard_status | mcp:read | Prod monitoring health |
molar_debug_run | mcp:debug | Debugger AI Q&A |
Full manifest: 82 tools across Cartographer (54), Guard (13), Clones (7), and Trace (8) — one MCP install covers all four surfaces. High-risk tools (molar_explore_target, molar_run_task, molar_provision_identity, …) require the matching high-risk scope via OAuth consent.
Resources & prompts
Resources: molar://scenarios/{slug}, molar://runs/{id}, molar://runs/{id}/trace, molar://traces/{id}, molar://incidents/{id}, molar://mender/prs/{id}, molar://flows/{id}, molar://pages/{url}, molar://context-index
Prompts: fix_failing_tests, investigate_incident, summarize_guard_24h, generate_scenarios_feature
Rate limits
100 requests per 60 seconds per access token on the hosted MCP server. Org usage is also metered as mcp_call — see Billing at app.molar.it.
Related
- Agent self-serve signup — no account? agent registers, human verifies
- OAuth & authentication
- Unified CLI
- Troubleshooting — MCP