# CTRL MCP server

Visual DeFi workflow automation on Base + Ethereum mainnet.

## Links
- Registry page: https://www.getdrio.com/mcp/io-github-ctrlabs-ctrl-mcp
- Repository: https://github.com/CTRLabs/ctrl-mcp
- Website: https://ctrl.build

## Install
- Endpoint: https://www.ctrl.build/api/mcp
- Auth: Not captured

## Setup notes
- Remote endpoint: https://www.ctrl.build/api/mcp

## Tools
- ctrl_get_vault_status - Read the user's CTRL vault address, ETH + WETH balance, and active rules. Call this BEFORE ctrl_activate so you can tell the user how much they need to fund. Endpoint: https://www.ctrl.build/api/mcp
- ctrl_get_block_catalog - Return the live catalog of every CTRL workflow block with id, label, description, and config-field schemas. Call this before ctrl_create_workflow when unsure of a block's config shape. Pass `chain` to filter to blocks that are compatible with the target chain (Base = launchpads + Aerodrome + UniV4; Ethereum = no launchpads, V3 only). Default is "base". Endpoint: https://www.ctrl.build/api/mcp
- ctrl_create_workflow - Create a CTRL workflow draft. ONE trigger + an ordered chain of up to 20 actions/conditions/utilities. Returns { workflowId, activateUrl }. Pass `targetChain` to pick which chain the workflow runs on — "base" (default, launchpads + Aerodrome + UniV4) or "ethereum" (UniV3 only, no launchpads, no clanker/zora). CRITICAL: call ctrl_get_block_catalog FIRST (with the same `chain` value) to discover field names — every key in trigger.config and chain[].config must exactly match catalog fields[].key. Populate EVERY field the user expressed intent for. For pool.created (Token Launch, Base-only) set launchpad (e.g. ["bankr"]), keywordIncludes ("ai,agent,claw"), keywordMatchMode "any", keywordCategories (["ai_agents"]), safetyEnabled true, safetyRejectHoneypot true, safetyMinScore 50. For cypher.swap set tokenIn ("ETH"), tokenOut ("{{trigger.tokenAddress}}"), tokenOutMode "dynamic", amount (ETH units, e.g. 0.005 — ASK USER if not specified), slippage (15 for snipes), and autoSell* if user wants an exit (autoSellEnabled true, autoSellMode "multiple", autoSellMultiplier 2, autoSellPercent 100, autoSellReceiveToken "USDC"). For notify.telegram set message with {{token}}/{{amount}}/{{txHash}} placeholders. Interview the user for missing critical fields (amount, exit strategy, keywords) — do not silently default. Endpoint: https://www.ctrl.build/api/mcp
- ctrl_activate - Return an EIP-5792 transactions[] batch the user signs ONCE to deploy their vault + register spending rules. After signing, the keeper runs the workflow autonomously per the on-chain caps. Endpoint: https://www.ctrl.build/api/mcp
- ctrl_fire_manual - Manually fire a workflow once. Keeper picks up within ~5s. Use to test a workflow without waiting for its natural trigger. Endpoint: https://www.ctrl.build/api/mcp
- ctrl_get_execution_logs - Read recent workflow executions: trigger, status, BaseScan tx hash, gas, timing. Without workflowId returns the user's most recent across all workflows. Endpoint: https://www.ctrl.build/api/mcp

## Resources
Not captured

## Prompts
Not captured

## Metadata
- Owner: io.github.CTRLabs
- Version: 1.0.1
- Runtime: Streamable Http
- Transports: HTTP
- License: Not captured
- Language: Not captured
- Stars: Not captured
- Updated: Jun 4, 2026
- Source: https://registry.modelcontextprotocol.io
