CTRL

io.github.CTRLabsPublished by GitHub account CTRLabsv1.0.1Updated Oct 24, 2026

Visual DeFi workflow automation on Base + Ethereum mainnet.

VerifiedStreamable HTTPWeb executableProductivity & WorkflowFinance

Overview

AI-generated overview

CTRL is a remote MCP server that lets an assistant build and run on-chain DeFi automation workflows on Base and Ethereum mainnet.

What you can do
Read vault status, balance and active rules, and list the live block catalog with field schemas for triggers, actions, conditions and utilities (price, pool launches, whale watching, swaps, notifications, webhooks). Draft and save workflows from plain-English prompts. Encode the EIP-5792 batch a user signs to deploy a vault and activate rules. Encode withdrawal batches for ETH, WETH or any ERC-20 back to the user's wallet. Fire a workflow once manually for testing and read keeper execution logs with transaction hashes, gas and status.
When to use it
Useful when you want an assistant to turn plain-English trading or monitoring ideas into recurring on-chain workflows on Base, such as scheduled DCA, price-triggered sells, new-pool sniping or wallet-copying, and to inspect vault state and execution history.
Requirements
A remote endpoint at ctrl.build, reachable over streamable HTTP; the README's client config uses npx mcp-remote with an Authorization bearer header and a CTRL_API_KEY environment variable, with keys minted in the service's settings. A crypto wallet to sign the deployment and withdrawal batches, and funds on Base or Ethereum mainnet.
Before you install
The service moves real funds: workflows execute swaps and withdrawals from a vault, and activation requires signing an on-chain batch. It asks for an API key (CTRL_API_KEY) and wallet signing. Caps (maxPerSwap, maxPerDay) and kill switches limit exposure but do not remove market risk. Workflows can send notifications or call webhooks to third parties. Review every batch before signing.

Installation

In SourceWeft

  1. Open CTRL in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.github.CTRLabs%2Fctrl-mcp/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "ctrl": {
      "type": "http",
      "url": "https://www.ctrl.build/api/mcp"
    }
  }
}

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.

bash
$ claude mcp add ctrl https://ctrl.build/api/mcp

or paste into your client's mcp config:

json
{  "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

Source: README.md at commit bb02678

Tools

0
SourceWeft has not read this server's tools yet.

Version history

1
  1. v1.0.1LatestSep 16, 2026

Score

85% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts