
Rokha MCP server
Which MCP servers are Rokha's own, from the official registry and from asking its own domain, whether they answer, and what they offer. A program checked each of these, nobody copied them from a product page.
read 2026-10-23
- Registry nameai.rokha/rokhaverified in the MCP registry
The registry name sits under rokha.ai. The registry only lets a publisher use that namespace after proving control of the domain through DNS or HTTP.
- Stateanswerschecked 2026-10-23
- Tools291
- Server calls itselfrokha-protocols
- Server version0.1.0
- Protocol version2025-11-25
On 2026-10-23 the server answered initialize and tools/list without a sign-in. First answer in 38 ms.
- Whether its tools do the product's job has not been judged yet.
- Checked on 3 of the 7 days it takes to judge reliability.
Once connected
- send_agent_message, create_task, create_harness, update_harness, delete_harness change data without a sign-in: anyone with the address can call them.
- Its definitions take about 72036 tokens of context: enable only the tools a task needs.
- Parameters are untyped or undescribed in 102 of 291 tools: check arguments before calling.
Said by rules from the measurements above. The likely first call is a model's pick from the tool list; read its description before relying on it.
- INITE MCP scoreafter a weeka score needs 7 daily checks: 3 so far
- Use1 GitHub stars
- Answeredmeasuring3 of the 7 daily checks it takes to print a share
- Median first answer108 ms
- Space in an agent's context≈ 72,036 tokensthe definitions of all its tools (291), which an agent carries on every turn
- Tool definitionsA · 94 of 100
- Typed results0 of 291 toolsdeclared outputSchema: results come typed, read once
- Parameters without a type: in 1 of 291
- Parameters without a description: in 102 of 291
What an agent can do with it
- can do · Build and test agents in a sandbox with traces
- not sure · Publish MCP servers that other agents can call
- not sure · Sell agents and keep 80% of each sale
Each of the product's use cases, put to Jev against this server's tool list: can an agent do it with these tools?
Worth a look
- Tools that change data, on a server that answers without a sign-in: send_agent_message, create_task, create_harness, update_harness, delete_harness
A program checks the server once a day: initialize and tools/list, no model. Tokens are the definitions' length at about four characters a token. The grade averages six checks of every tool's name, description, schema and annotations; it says how well the tools are described, not whether they work. The score weighs what was measured and nothing else: answering (25%), doing the product's job (25%), definitions (20%), context (10%), use (10%) and how readily a client connects (10%). A part that was not measured is left out, and a hidden instruction caps the score at 40. The state of vendors' MCP servers: method and numbers →
send_agent_messageSend a message to a Rokha agent (default 'rokha-agent') and get its reply. With a logged-in identity (Authorization: Bearer <JWT>) the agent acts AS you — it can run your rigs (rig_run), read your saved keys/OAuth grants, and spend your…
create_taskCreate a new task in the Rokha task system
get_task_statusGet the status of a task by ID
list_harnessesList all harnesses for a wallet address. Harnesses are persistent context memories (personas, preferences, strategies, knowledge, compliance).
get_harnessGet a specific harness by ID
create_harnessCreate a new harness (persistent context memory) for a wallet. Also creates RIG STEPS (harness_type 'skill'/'instruction'): content is the step's JSON config — {skill?, instruction, endpoint?, tool?, params?, expects?, produces?…
update_harnessUpdate an existing harness's content or metadata. For a rig-step harness, content is the FULL config object — keep `skill` intact and set `instruction`/`endpoint`/`tool`/`params`/`model`/`model_policy` (see create_harness for the…
delete_harnessDelete an harness by ID
search_harnessesSearch harnesses by query string within a wallet
llm_set_modelSet the preferred LLM model for an agent. Search by name or keyword (e.g., 'opus', 'claude-sonnet', 'gpt-4o', 'deepseek', 'llama'). Any model available on OpenRouter can be used.
llm_get_modelGet the current preferred LLM model for an agent.
registry_searchSearch EVERY major skill/MCP registry at once (clawhub, Glama, the official MCP registry, Smithery, skills.sh, Docker MCP, Anthropic and more — the live count is in GET /api/marketplace/registry/stats) by free-text query. Returns name…
registry_get_skillFetch everything an agent needs to adopt a Registry skill: the full SKILL.md (agentskills.io standard — frontmatter name/description + body), its classification (prompt-shaped vs scripted vs mcp), and required binaries. To install: save…
rig_searchList YOUR saved rigs, newest first, optionally narrowed by `query` (matches the name/summary). This is how an agent RECOVERS: rig_author returns an id, but an agent that runs across sessions will not still be holding it, and without this…
rig_getRead ONE of your rigs in full — its steps, wiring, guards and stage. Use it before editing so a change is made against what is actually saved rather than against what you remember authoring, and after a run to check the rig is shaped the…
trace_searchList your Traces — the durable record of what a run DID, newest first. This is the other half of rig_run: a run reports that it started, and the trace is where the answer lands. Without it an agent can run a rig and never learn whether it…
rig_runRUN a rig, for real, right now. Without this an outside agent could AUTHOR a rig, schedule it and hang a webhook on it — but never run one on demand, and so never test the thing it just built. Name the rig by `rig_id` (one you own or…
rig_publishPUBLISH a rig you saved (rig_author) as a registry listing in ONE call (free accounts publish 5 rigs; the Studio lifts the cap — at the cap it answers 402 publish_cap with used/cap; publish_allowance shows yours) — the server reads the…
rig_stage_setAttach a DESIGNED DASHBOARD to a rig you own — a stored, self-contained HTML template rendered after EVERY run with that run's data injected. Without this an outside agent could author a rig but never give it a face, so its runs left a…
skill_authorAuthor a standard agentskills.io Agent Skill and get back its SKILL.md. A strong skill has: a `name` in kebab-case (lowercase letters, numbers, single hyphens, ≤64 chars); a `description` stating WHAT it does AND WHEN to use it, third…
harness_authorConfigure a Harness — a skill (or instruction) wired to run — and get back its config. A harness wraps ONE unit of work via `kind`: 'skill' (a registry skill, configured to run) or 'instruction' (a pure agent step, no external tool). Set…
schedule_createSchedule a SAVED rig to run on a recurring cadence — from every minute up to weekly (those three presets only). Every fire is owner-scoped and draws on the owner's daily run budget (a spent budget skips the fire, recorded as…
schedule_listList your rig schedules: cadence, enabled state, next/last run time, run count, and last status (ok | partial — some steps failed | error | skipped_budget). Requires a logged-in identity.
schedule_deleteDelete one of your rig schedules by its schedule id (from schedule_list). The rig itself is untouched. Requires a logged-in identity.
schedule_pausePause or resume one of your rig schedules. Paused schedules keep their place but never fire until resumed. Requires a logged-in identity.
hook_createCreate a WEBHOOK TRIGGER for a SAVED rig: returns a secret hook URL; any outside system POSTing that URL fires the rig immediately (no polling), with the POST body threaded in as the rig's run input. Every fire draws on the owner's daily…
hook_listList your webhook triggers: the secret hook URL, bound rig, enabled state, fire count, and last fire verdict (ok | partial | error | skipped_budget). Requires a logged-in identity.
hook_deleteDelete one of your webhook triggers by its hook id (from hook_list). This REVOKES the secret URL — outside systems still posting it get 404. The rig itself is untouched. Requires a logged-in identity.
list_saved_keysList your saved keys & secrets (Profile → API KEYS) — each with its provider, its ALIAS (the name a harness attaches it by via secret_refs), and a MASKED preview. NEVER returns a value. Covers pasted API keys, custom secrets, and…
gateway_registerRegister an external MCP server behind your Rokha GATEWAY — one endpoint that aggregates all your servers with credentials injected server-side. Any MCP client pointed at the gateway URL (with your Rokha token) then sees this server's…
gateway_listList the servers registered behind your Rokha gateway (slug, URL, authenticating alias) plus the single gateway_url an MCP client connects to. Requires login.
auth_resolveThe AUTH LADDER: classify any MCP server URL — 'open' (no credential), 'key' (paste a token into the vault once), 'tier1' (one-click account-wide Connect for a known provider), or 'oauth_spec' (the MCP auth spec — connect directly…
auth_connectionsList your OAuth connections (each names its vault alias, e.g. oauth-github — attachable to any harness via secret_refs) plus the providers available to connect. Requires a logged-in identity.
auth_connectStart an OAuth Connect and get the consent URL to open in a browser. Pass provider (github|google|x|atlassian|microsoft|slack|notion|gitlab|discord|reddit|linear — account-wide, reused everywhere) OR server_url (any MCP server; Rokha runs…
hook_pausePause or resume one of your webhook triggers. A paused hook keeps its URL but every post to it is refused until resumed. Requires a logged-in identity.
rig_node_addAdd ONE block (graph node) to a canvas rig — the granular edit for 'add a step that …'. Appends and auto-wires an edge from the current last block (default), from `after` (a node id/label/position), or unwired with after='none' (a new…
rig_node_removeRemove ONE block (graph node) from a canvas rig — 'delete step 2' / 'drop the summarize block'. Identify the block by node id, label, bound-skill name, or 1-based position. The chain HEALS: every upstream re-wires to every downstream, so…
rig_node_updateConfigure ONE block (graph node) of a canvas rig in place — 'change step 2's instruction', 'point that block at a live endpoint', 'pin Sonnet on the judge step'. Identify the block by id/label/skill/position; pass only the fields to…
rig_edgeWire or unwire ONE edge between two EXISTING blocks of a canvas rig — 'connect the fetch step to the judge', 'route the critique back to revise when it says REVISE', 'disconnect A from B'. Identify both ends by node id, label, skill name…
rig_stage_getRead a rig's stage configuration back — the template HTML, data_source and title, plus whether it currently validates (a broken stage names what to fix). Use before editing an existing stage so changes are never guess-and-overwrite.
rig_authorAuthor a multi-node Rig as a GRAPH the runtime executes for real — the agent-side mirror of the Rig Builder canvas. USE WHEN the user wants a multi-step flow with branching, fan-in, or a loop ('draft → critique → revise until good')…
trace_getREAD one trace in full (input, result, status, timing) by `id`, or a whole run by `run_id` (status, steps with their trace ids, output, every trace). Signed in (Authorization: Bearer <token>): your own traces. No token: a PUBLIC rig's run…
sandbox_execRun a REAL command in the user's active session sandbox (isolated cloud shell + live MCP). kind='bash' (`command`) | 'mcp' (`endpoint`, `action` list|call, `tool`, `arguments`) | 'agent' (`instruction`). Needs `wallet_address`; anon…
sandbox_startStart the user's session sandbox (isolated cloud shell — the safe place to test untrusted tools; sandbox_exec runs work inside it). SPENDS the daily run allowance: 1 run, or 3 with `browser: true` (a chromium-capable sandbox) — confirm…
sandbox_statusThe user's session-sandbox state (starting | active | ending | ended | none) plus the 20 newest work items (id, kind, status, result). Check this before sandbox_exec, and to report what ran.
sandbox_stopStop the user's session sandbox gracefully (state → 'ending'; queued work drains). Frees nothing to re-spend — the day's allowance was spent at start — but a stopped sandbox is good hygiene when the work is done.
sandbox_keepaliveToggle KEEP-ALIVE on the user's session sandbox — the chat twin of the ◉ keep-alive control in the SANDBOX pane. `on: true` holds the sandbox up across idle periods (so it doesn't wind down between uses) until turned off or the daily…
signal_feedTHE WINDSOCK — Rokha's own social-trading signal board, read live from the platform's store (never from memory). One trend score per Solana token from pump.fun launches + graduations (PumpPortal), DexScreener paid boosts + 1h volume/txns…
fuel_priceThe live $ROKHA price in USD — the quote a $ROKHA checkout or balance top-up converts at: the LOWER of a Jupiter sell quote and DexScreener, and never above the 15-minute low. Refuses (never guesses) when either source is silent or they…
fuel_menuWhat a balance (prepaid credit for Rokha's models, formerly the fuel tank) can buy besides inference: each item's id, label, USD price and the burn tier it needs. A spend costs the item's price; Rokha's fee on it burns only when $ROKHA…
fuel_statusThe caller's own balances (prepaid credit for Rokha's models; formerly fuel tanks): deposit wallet, spendable balance (USD, and $ROKHA when it funded it), owner-funded vs donated, burned and housed totals, burn tier, and whether the…
fuel_spendSpend a balance on one menu item (fuel_menu lists them). The OWNER's turn only — an agent's own turn is refused. Draws the item's USD price from the balance (Rokha's fee part burns only when $ROKHA funded it) and applies the effect; if…
registry_publishPublish (or update) YOUR listing in the Rokha Registry so anyone — human or agent — can find and use it. Requires a logged-in identity (Authorization: Bearer <JWT>); the listing is owned by the verified caller and the display author is…
auth_wallet_challengeStep 1 of registering (or logging in) a user with a wallet keypair — no browser needed. Returns a challenge message to sign with the wallet's private key. Works for Solana (base58 Ed25519 address) and EVM (0x address). Follow with…
auth_wallet_verifyStep 2: submit the signed challenge. On success returns session_token — a JWT to send as `Authorization: Bearer <token>` on every subsequent MCP/API request, unlocking the owner-scoped tools (page_claim, create_harness, rig_author…
page_directoryAll CLAIMED public builder pages (/@handle) with aggregate stats over each builder's published listings. Public, no auth.
page_leaderboardThe ranked Top Builders board (same data as the landing page): weighted adoption score per builder — all-time rig runs (heaviest), tool runs & shipped creations, plus last-7-day actions & page views. Public, no auth.
page_getA builder's public page by handle (what /@handle renders): profile, links, badge, public creations, 30-day activity heartbeat, view counts, rig sub-pages. Counts as a page view (agents are genuine visitors). Public, no auth.
carry_briefHISTORY — the Tailwind retired 2026-10-09 22:00 UTC (its last round paid in full) and posting about members pays nothing. Kept for the record: the live Rokha Network members with their own copy, links, images and X handles, and the post…
seeds_explainHISTORY (the Tailwind retired 2026-10-09 22:00 UTC; posts after it score 0 — see board_get / GET /api/board/justify/{handle} for what pays now). WHY A POST SCORED WHAT IT SCORED — the honest, checkable breakdown for one post. Pass post_id…
The first 60 of 291, as the server listed them.
How to connect
Add the server to your MCP client config. Claude Desktop, Cursor and most other clients read this shape:
{
"mcpServers": {
"rokha": {
"type": "http",
"url": "https://rokha.ai/mcp/jsonrpc"
}
}
}Add it
Claude Code, in a terminal
claude mcp add --transport http rokha https://rokha.ai/mcp/jsonrpcclaude.ai, ChatGPT and other clients: add https://rokha.ai/mcp/jsonrpc as a custom connector in the settings.
OpenAPI spec
279 paths, read 2026-10-23. Open the spec ↗
Each line is something a program found when it went looking: the registry entry, the server's own answer, a spec that parses. A missing line means we did not find it, not that it does not exist.
Cookies
Before we count this visit
Analytics and ad measurement tell us which pages and which of our ads do their job: Google Analytics and Google Ads, the Meta pixel, Yandex Metrica, and one first-party id of our own. Nothing is stored until you answer, and declining changes nothing about the site.