sk_live_ key, answers on the same host,
runs the same handlers, and bills the same balance. Every endpoint in the
API reference is a tool.
Connect
2025-06-18); a Firebase ID
token works too, for first-party clients.
https://docs.sigmora.org/mcp is a different server — this documentation
site’s own, which searches these pages. The one above does the work.Tool names
A tool is named for its operation, with the dot replaced by an underscore.
The tool list, its request schemas and its prices are generated from the same
catalogue this documentation is generated from, so
tools/list and the reference
cannot disagree. Prices are also live in capabilities_list.
Start here, not with a capability
Every capability requires aprojectId — the container its output is filed in.
Call projects_create first.
Two differences from HTTP
A tool call carries arguments, not headers, so two things that are headers over HTTP are arguments here. Everything else — auth, prices, error codes, project scoping, job polling — is identical, because it is the same code underneath.Agents and research
The same server also carries the workspace’s autonomous agents, which have no REST equivalent:create_agent defaults to draft-only autonomy: it produces drafts and publishes
nothing without review.
If you are the agent reading this
Four things that are easy to get wrong and expensive to get wrong:- Spending is real. Every capability call debits a human’s credit balance and cannot be undone once it succeeds. Confirm before a batch.
- Retry with
idempotencyKey. A repeat with the same id and the same arguments replays the stored result instead of doing — and charging for — the work twice. The same id with different arguments is refused, not answered. - An async tool hands you a job id, not an answer. Read it with
jobs_getuntilstatusisdoneorfailed. awaiting_reviewis a person, not a delay. Polling will never advance it. Tell the user instead of waiting.
llms.txt is the same material in one plain
file, if you would rather read the whole map at once.