mcpField
C
CTRL

CTRL

Remote
ctrl.buildFinance1Updated 20w ago

About CTRL

CTRL is an MCP server for automating on-chain workflows on Base. Agents assemble trigger, action, and condition graphs, while users sign deployment batches and set vault spending caps; agents do not hold keys.

Key features

  1. 01Create workflow drafts from prompts
  2. 02Catalog of workflow blocks and schemas
  3. 03Encode signed activation and withdrawal batches
  4. 04Test workflows manually
  5. 05View execution logs
  6. 06Vault spending caps and kill switches

Use cases

  1. 01Scheduling recurring token swaps
  2. 02Responding to token prices or launches
  3. 03Copying transactions from watched wallets
  4. 04Moving funds based on yield comparisons

MCP support

CTRL exposes seven tools to MCP clients for reading vault state, creating and activating workflows, withdrawing funds, testing runs, and viewing logs. It connects over the remote MCP endpoint at ctrl.build/api/mcp.

Configuration

Remote servers need no local install. Pick your client, then copy the config or install in one click.

Endpointhttps://www.ctrl.build/api/mcp
Copy install command
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

Run commands in a terminal; paste JSON into the client’s MCP config and restart. Servers that need sign-in will prompt on first connect.

Tools

Details

From the project README

ctrl/mcp

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.

example prompt — bankr snipe workflow

what your agent gets

seven tools. that's it.

toolwhat it does
ctrl_get_vault_statusread user's vault address, balance, active rules
ctrl_get_block_cataloglive list of every block + field schema
ctrl_create_workflowassemble + save a workflow draft from a prompt
ctrl_activateencode the eip-5792 batch the user signs to deploy
ctrl_withdrawencode the batch to pull funds out of the vault back to the user's wallet (eth, weth, or any erc-20)
ctrl_fire_manualfire a workflow once for testing — no waiting
ctrl_get_execution_logsbasescan 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 milady in 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.created runs 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:

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)

mit

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.