For coding agents & their humans
Mantrana speaks MCP.
Give your coding agent a reviewed plan grounded in your brief and evidence. Mantrana runs as a remote MCP server — connect Claude Code, OpenCode or Cursor in your terminal, or Lovable, v0, Replit and Bolt inside your app builder — and file a spec directly from the agent's tool loop.
1 · Create an API key
Sign in at the workbench, open the account menu
(top right) → Developer & credits, and issue a
key. Keys look like mk_…, are shown
once, can be revoked any time, and are the only
credential the MCP server accepts:
Authorization: Bearer mk_…
Label each key for where you use it — lovable,
replit, cursor —
so you can revoke one app's access without touching the others.
2 · Connect your client
Terminal agents
Claude Code
claude mcp add --transport http mantrana \ https://mantrana.co/mcp \ --header "Authorization: Bearer mk_YOUR_KEY"
OpenCode / Zode (config file)
{
"mcpServers": {
"mantrana": {
"type": "http",
"url": "https://mantrana.co/mcp",
"headers": {
"Authorization": "Bearer mk_YOUR_KEY"
}
}
}
}
Cursor
Settings → MCP → Add new global MCP server, then use the
same JSON as above (Cursor's
~/.cursor/mcp.json follows the
mcpServers shape).
Windsurf
Add a remote server in
~/.codeium/windsurf/mcp_config.json
(or the MCPs panel in Cascade):
{
"mcpServers": {
"mantrana": {
"serverUrl": "https://mantrana.co/mcp",
"headers": { "Authorization": "Bearer mk_YOUR_KEY" }
}
}
}
Codex / ChatGPT desktop
~/.codex/config.toml, keeping the key in
an environment variable instead of the file:
[mcp_servers.mantrana] url = "https://mantrana.co/mcp" bearer_token_env_var = "MANTRANA_API_KEY"
App builders — Lovable, v0, Replit, Bolt
App builders connect from their own servers, so there is nothing to install: paste the server URL below, pick Bearer / API-key authentication, and paste your key.
Lovable
Open Connectors in your workspace → + (top right) → MCP server. Name it Mantrana, paste the server URL, choose Bearer token authentication, and paste your key. Available on every plan, including free.
https://mantrana.co/mcp
v0
In the prompt form, open the + menu → MCPs → add a custom MCP server with the URL and Bearer token authentication. Tools default to ask-for-approval, and MCP calls queue instead of timing out — fine for 2–8 minute deliberations.
https://mantrana.co/mcp
Replit
At replit.com/integrations, click + Add MCP server: name it Mantrana, use the server URL below, and under Advanced settings add the header value as your key. Test & save verifies the connection on the spot.
https://mantrana.co/mcp header name: Authorization header value: Bearer mk_YOUR_KEY
Bolt.new
Click + in the chatbox → Connectors → Manage connectors → add a custom connector: the URL, transport type HTTP, authentication API key. If the connection test rejects your key, Bolt is sending a header this server does not expect — use any other client on this page for now.
https://mantrana.co/mcp
Any MCP client (streamable HTTP)
# endpoint + auth header
POST https://mantrana.co/mcp
Authorization: Bearer mk_YOUR_KEY
Content-Type: application/json
Accept: application/json, text/event-stream
3 · The tools
| Tool | What it does |
|---|---|
mantrana_specify | Submit a brief and evidence for intake; receive clarification requests or create a four-juror planning run. |
mantrana_wait_for_run | Wait up to 25 seconds by default (45 maximum); return progress, the completed plan with quality metadata, or the open questions when the council pauses for requester input. |
mantrana_answer | Answer every open question of a paused run as [{id, answer}]; the deliberation requeues and resumes from its checkpoint. Answers are remembered per account. |
mantrana_get_run | Status, queue position, and the safe public error for a run. |
mantrana_get_specification | The filed specification, quality report, economics, and public share URL of a completed run. |
mantrana_list_runs | Your archived runs, newest first. |
mantrana_cancel_run | Cancel a not-yet-started run; credit-funded runs refund instantly. |
mantrana_account | Credit balance, shared USD wallet, pricing, queue snapshot. |
mantrana_example | A free cached specimen so agents can learn the output shape. |
Evidence, clarification, and delivery
For repository work, collect relevant source excerpts, current behavior, constraints, and verification commands before calling. Mantrana evaluates the evidence you supply; it has no filesystem or shell access.
{
"rough_idea": "Add optional case-insensitive matching to our search CLI.",
"tier": "mvp",
"client_request_id": "search-ignore-case-1",
"planning_context": {
"task_type": "existing_repository",
"success_criteria": ["Default behavior and exit codes stay compatible"],
"constraints": ["Standard library only"],
"current_state": "A single-file Python CLI",
"evidence": [{"id": "search", "source": "search.py:20", "content": "if query in line: print(line)"}],
"answers": []
}
}
task_type accepts auto, new_product, existing_repository, or research. Context is optional and limited to 48 KiB of serialized UTF-8 JSON; oversized input is rejected without truncation. Evidence IDs must be unique letters, digits, underscores, or hyphens (1–64 characters).
A status: needs_input response includes the request ID and at most three combined questions or evidence requests. Gather the excerpts or ask the user, append {"question": "…", "answer": "…"} records to answers, and resubmit the full context with that same client_request_id. Clarification creates no run, debits no credits. Intake errors are retryable and uncharged.
Submit the user's intent as-is. Record only constraints and success criteria the user actually stated as constraints / success_criteria; carry your own recommendations in current_state or an answers note labeled as a recommendation. For an open-ended brief — brainstorming, exploring, improving — confirm any scope narrowing with the user before submitting it as a constraint; intake may return needs_input to check exactly that. When a needs_input question is a preference, ask the user rather than answering on their behalf; settle factual questions from the repository yourself.
A paid run can also pause mid-deliberation with status: awaiting_answers — after the first review round, a clarification step asks up to three materially plan-changing questions. This is distinct from intake clarification: the run is already charged and underway, it holds no queue slot while paused, and it is not cancellable. mantrana_wait_for_run returns the questions immediately; relay them to the user and submit every answer through mantrana_answer in one call. A run left unanswered auto-continues after 72 hours with its questions recorded as explicit unresolved decisions. Answered questions are saved once to the account's remembered answers and are not re-asked for future briefs — the user can review and remove stored answers in the workbench's Developer & credits panel.
MVP collects four independent reviews. Full-Stack adds Architect and Red Team cross-review. Enterprise adds Product and Operations follow-up. Every tier synthesizes the complete record, then checks the plan against evidence and constraints. At most one correction and repeat audit are allowed.
Inspect quality.status: passed means no blocking issue remained in the review; draft means Draft — review required. Surface the report's unresolved issues before implementing a draft. Its warning stays in copied, downloaded, and shared Markdown. Both statuses count as delivered and use normal billing. Provider failures fail the run and follow normal refund rules. Historical outputs have quality: null.
4 · Billing through the API
Get $10 in signup credits once per account, including existing accounts when they sign in. One USD balance funds both website and MCP runs, at the displayed dollar price for the selected tier.
- Top up credits in the workbench (Account → Developer & credits): fixed $5, $10, $25, or $50 packs, or custom amounts from $5. Credits never expire. The existing checkout settles in INR at ₹90 per $1 of credits; the exact charge is shown before you pay.
mantrana_specifydebits the tier price from your shared balance. Choose any tier; there is no free-run ladder.- A failed or queue-cancelled run refunds its credits to your balance automatically.
Good to know
- Keys are full-account scope; scoped keys are planned. Revoke and reissue if a key leaks — revocation is instant.
- Runs created through the API are archived to your account (not session-bound), so agents can fetch a spec days later with
mantrana_get_specification. - One host runs the deliberations: at most 3 concurrent and 20 queued. Wait estimates come back with every queued run.
- Pass
client_request_idtomantrana_specifyfor idempotent retries.