Install
Add this to your client's MCP configuration (Claude Desktop: claude_desktop_config.json; Cursor: .cursor/mcp.json; VS Code and others use the same "mcpServers" shape).
claude mcp add --transport http ctrl 'https://www.ctrl.build/api/mcp'
{
"mcpServers": {
"ctrl": {
"type": "http",
"url": "https://www.ctrl.build/api/mcp"
}
}
}
Documentation
From the project's README on GitHub, refreshed weekly. Links open on GitHub.
Contents
ctrl-mcp
the mcp for on-chain automation. sign once, agent does the rest, forever.
ctrl is workflow automation for on-chain actions on base. you compose trigger → action → condition graphs in plain english, sign one batch to deploy a vault + spending caps, and a keeper runs your workflow under those caps forever.
this is the mcp surface. agents talk to it. users sign in their wallet.
$ claude mcp add ctrl https://ctrl.build/api/mcp
or paste into your client's mcp config:
{
"mcpServers": {
"ctrl": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://ctrl.build/api/mcp",
"--header", "Authorization:Bearer ${CTRL_API_KEY}"],
"env": { "CTRL_API_KEY": "sk_ctrl_..." }
}
}
}
mint a key at ctrl.build/settings/api-keys.
prompt your agent. that's it.
what your agent gets
seven tools. that's it.
| tool | what it does |
|---|---|
ctrl_get_vault_status | read user's vault address, balance, active rules |
ctrl_get_block_catalog | live list of every block + field schema |
ctrl_create_workflow | assemble + save a workflow draft from a prompt |
ctrl_activate | encode the eip-5792 batch the user signs to deploy |
ctrl_withdraw | encode the batch to pull funds out of the vault back to the user's wallet (eth, weth, or any erc-20) |
ctrl_fire_manual | fire a workflow once for testing — no waiting |
ctrl_get_execution_logs | basescan tx hashes, gas, status — keeper history |
24 blocks under the hood
triggers — time.interval, trigger.manual, price.above/below/change, pool.created (clanker / flaunch / zora / bankr), watch.whale, event.transfer, event.balance, trending.token
actions — cypher.swap, read.balance, notify.telegram, notify.discord, util.webhook
conditions — cond.price, cond.balance, cond.allowed_weekdays, cond.time_window
utilities — util.delay, util.note, util.log, util.stop, util.snapshot
the agent calls ctrl_get_block_catalog first to see the live shape. every block id maps 1:1 to keeper execution.
example prompts
drop these into your agent and watch:
- "dca $50 eth into usdc every monday at 14:00 utc"
- "snipe new flaunch launches with
miladyin the name, 0.005 eth each, auto-sell at 2x" - "watch wallet 0x6cc5...c01b. when they buy anything over $10k, copy with 0.01 eth"
- "sell 50% of my pepe if price drops 20% in an hour"
- "every monday noon, check moonwell usdc apy. if lower than morpho by 1%, move 80%"
security
vault-direct model. agent never holds keys.
- on-chain caps: every rule signs immutable
maxPerSwap+maxPerDay. enforced by the vault contract. - kill switches:
pauseVault()halts everything;revokeRule(id)kills one workflow. both 1-tx, user-callable. - safety primitives:
pool.createdruns goplus honeypot + tax + score checks before any swap. - keeper bounded: the keeper fleet can only call methods the vault permits. compromised keeper costs at most one tick's per-swap cap.
verified contracts on base:
- v13 vault factory — 0x5Df25e79efd7f9dc86841b404b3EA6F4b7951DBB
- vault implementation — 0xc98137a6df7fb91ab91b568bf923490a278aa702
- timelock beacon — 0x5760A6D62743860F27843fA314E22166dBEF7d73
ecosystem
works with any mcp client. tested with:
- claude code ·
~/.claude.json - claude desktop ·
~/Library/Application Support/Claude/claude_desktop_config.json - cursor ·
~/.cursor/mcp.json - hermes (nousresearch/hermes-agent)
- aeon (aaronjmars/aeon)
- app · ctrl.build
- docs · ctrl.build/docs
- mcp hub · ctrl.build/mcp
- sibling repo · ctrl-skill
mit
Frequently asked questions
What is CTRL?
Visual DeFi workflow automation on Base + Ethereum mainnet.
How do I install CTRL?
It runs as a remote server. In Claude Code: claude mcp add --transport http ctrl 'https://www.ctrl.build/api/mcp'. For other clients, paste the JSON configuration from this page into their MCP settings.
Does CTRL need an API key?
Its registry entry lists no required key or secret. Some features may still need an account with the service it connects to.
Is CTRL open source?
Yes. Its code is on GitHub under the MIT license.
Who maintains CTRL?
It is published by CTRLabs. AI.tn lists it but does not maintain or endorse it.
From the official MCP Registry. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.