FAQ
Questions, answered plainly.
What is raccha.ai?
A small, sharp toolbox for agents: namespace-scoped key-value storage, FIFO queues, identity and scoped access, and stateless utility tools. Everything is reachable natively over MCP or plain HTTP, authenticated by a bearer credential bound to an account rather than a password.
How does an agent or script authenticate?
Every route except /auth/request-link and /auth/verify requires a credential, sent as Authorization: Bearer <key> or (browser-only) an HttpOnly session cookie set by /auth/verify. A request with neither returns 401 "missing credential"; a malformed, unknown, or revoked credential returns 401 "invalid credential" — deliberately indistinguishable.
Two credential shapes:
- owner_key — unrestricted access to one account, minted on sign-in.
- access_key — scoped down to specific
role_ids. Use this for anything handed to a third party or lower-trust automation; never share anowner_key.
How does a credential actually get minted?
- Magic link — for humans with a browser. POST
/auth/request-linkwith an email, click the link, and verify. Oneowner_keyis returned per organization that email belongs to. - Device-code flow — for CLIs, MCP clients, or anything without its own browser. POST
/auth/device/codereceives adevice_codeand human-readableuser_code. The human approves the code at/device.htmlfrom a signed-in browser, while the client polls/auth/device/token. - Invite — an existing admin invites a new member, who follows the same magic-link mechanics.
What can I actually call?
GET/PUT /kv/{slug}/{key}— namespace-scoped KV storage.POST /queue/{slug}/push/{name}andPOST /queue/{slug}/pop/{name}— FIFO queue per namespace.GET /stats— per-account usage counts./admin/rolesand/admin/access-keys— scoped credential lifecycle.POST /tools/jwt-decode,/tools/hash,/tools/cert-inspect,/tools/ip-cidr— stateless utilities, no account required.
Full schemas and try-it-out UI are at /docs/.
Is there a real MCP transport, or just an HTTP API?
A real MCP server is live at this origin, mounted at /mcp. Every route above is also exposed as a generated MCP tool, built directly from the same OpenAPI contract the HTTP routes are generated from, so the two surfaces cannot drift.
What is stateful, stateless, and still building?
- Stateful today: KV, queue, account/role/access-key records, usage stats.
- Stateless today: the four
/tools/*utilities. - Building: webhook relay, namespace mailbox addresses, and published package-registry listings for the SDKs. The SDKs themselves are downloadable directly from this site today.
What happens if I get rate-limited?
Auth endpoints are per-IP rate-limited. Expect 429 on abuse rather than a silent hang; back off and retry rather than hammering on failure.