Ratchet
Your agent asks before it acts, so the same real-world action is attempted at most once.
Connect it
Settings → Connectors → Add custom connector
URL: https://ratchetgate.com/mcpSettings → Apps & Connectors → Advanced → Developer mode
Create connector with URL: https://ratchetgate.com/mcp{
"mcpServers": {
"ratchet": {
"url": "https://ratchetgate.com/mcp"
}
}
}claude mcp add --transport http ratchet https://ratchetgate.com/mcp{
"servers": {
"ratchet": {
"type": "http",
"url": "https://ratchetgate.com/mcp"
}
}
}{
"mcpServers": {
"ratchet": {
"command": "npx",
"args": [
"-y",
"ratchet-mcp@0.3.0"
],
"env": {
"RATCHET_API_KEY": "<value>"
}
}
}
}claude mcp add ratchet -- npx -y ratchet-mcp@0.3.015 tools, verified live
ratchet_get_circuitread-onlyCall this when a begin returned "approval_required" or "denied" and the reason mentions a circuit breaker. A breaker opens when an effect type is being performed far more often than its configured hourly ceiling — usually because something is looping. What to do with the answer: - If a breaker is open, STOP creating effects of that type. Retrying will not help and each attempt is recorded. - rese
ratchet_begin_effectCall this IMMEDIATELY BEFORE performing any side effect that touches the outside world (sending a message, charging a card, creating a resource, writing to someone else's system). Returns a decision you MUST obey. If the response carries budget_warning, a spend ceiling exists but nothing was counted toward it — surface that to the operator rather than ignoring it. If it carries integration_warning
ratchet_report_effectCall this IMMEDIATELY AFTER performing an action that ratchet_begin_effect authorised. Pass the lease_token you were given. Report "succeeded" with a result — future duplicate callers replay that result instead of repeating the action. Report "failed" ONLY when you are certain the action did NOT reach the outside world (for example, a validation error before the request was sent). That permits a c
ratchet_extend_leaseCall this periodically during a long action you were authorised to perform, before the lease expires. It tells Ratchet you are alive and extends your hold. Use it when work turns out to take longer than the lease you asked for — a slow vendor, a large export, a retrying upload. Without it, the lease expires while you are still working, the effect is recorded as having an UNKNOWN outcome, and your
ratchet_get_effectread-onlyLook up the recorded state of an action WITHOUT reserving a lease and without consuming your plan allowance. Use it to answer "did I already do this?" — for example when resuming after a crash, or when a user asks whether something went through. To actually perform work, use ratchet_begin_effect instead; this tool never grants permission.
ratchet_resolve_effectUse ONLY after you have checked the third-party system and now know what really happened to an effect that was left "indeterminate". Record "succeeded" if the action did occur, "failed" if it did not, or "cancelled" to abandon it. Include how you verified it in `evidence`. Never guess: resolving incorrectly is exactly the duplicate or lost action this service exists to prevent.
ratchet_get_runread-onlyRecall the work already gated under a run id, before doing anything that might repeat it. Call this FIRST when resuming a task — after a restart, a handoff, or when your context has been compacted and you are no longer certain what you did. It returns what succeeded with the recorded results, what is still in flight, what failed, and — separately, because it is the only category that can hurt you
ratchet_list_effectsread-onlyReview recent effects for this workspace, optionally filtered by state or run. Use it to find unresolved work — filter by state "indeterminate" to see every action whose outcome is unknown and still needs verification.
ratchet_get_policyread-onlyShows how this workspace has configured a given effect type: whether it is allowed, how long a lease lasts, the attempt ceiling, spend limits, the approval threshold above which an action waits for a human, and — most importantly — what happens when an attempt ends indeterminate. Check this before designing a retry strategy.
ratchet_unwind_groupCall this when a multi-step workflow fails partway and the steps that already succeeded must be undone — a booking made but not paid for, a resource created but not configured. Returns the exact compensations to perform, in the order to perform them, which is the REVERSE of the order they succeeded in. Undoing forwards can strand a step that depended on an earlier one. Ratchet does NOT perform the
ratchet_get_groupread-onlyShows every step in a multi-step unit of work: what succeeded, what can still be undone, what has already been undone, what is irreversible, and what has an unknown outcome. Use it to answer "where did this workflow actually get to?" after a crash, without changing anything.
ratchet_get_usageread-onlyReturns the current plan, remaining included effects for the month, prepaid credit balance, and today's declared external spend against each budget ceiling. Use it to warn a user before a long run exhausts an allowance or a budget.
ratchet_list_receiptsread-onlyReturns a signed receipt for every decision made about one effect, refusals included. Each signature is over the exact bytes in `body` and verifies offline against the Ed25519 key published at /.well-known/ratchet-receipt-key — you do not have to trust this server to check them. Use this when a human asks you to PROVE an action was or was not authorised, rather than asserting it.
ratchet_reconcile_effectsread-onlyGiven the idempotency keys for actions a vendor says actually happened, returns which ones went through Ratchet and which it has never seen. The unseen ones are code paths that acted WITHOUT asking, so a retry there can act twice — a bug the operator almost certainly does not know about. Send references only; never send credentials.
ratchet_get_prevented_lossread-onlyCounts duplicate actions refused in the last 30 days and what they would have cost. Only counts refusals where a cost was declared on the effect, so it under-reports rather than flatters. IMPORTANT: pass estimated_cost_micros on ratchet_begin_effect or this reads zero — the number is only as good as what callers declare. This is money not spent at your vendors, never money paid to Ratchet.
Alternatives in AI & Agents
Compare →LSLumify Sports IntelligenceA
Schedules, scores, odds, splits & explainable AI bet confidence — 8+ sports, free instant key.
QTQase Test ManagementB
Official MCP server for Qase — manage test cases, runs, suites, defects via AI tools.
Startup Valuation MCP ServerB
Startup valuation for AI agents: 14 tools, 80+ pre-revenue formulas.
SMSmartBear MCPB
MCP server for AI access to SmartBear tools, including BugSnag, Reflect, Swagger, PactFlow, QTM4J.
AGAgentDataB
Free company data for AI agents: profiles, tech stacks, contact details and people. No sign-in.
AuscaB
Pay-per-call APIs and MCP services for agents, no accounts or keys, with verifiable receipts.