Skip to main content
Glama

Server Details

Visual DeFi workflow automation on Base + Ethereum mainnet.

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL
Repository
CTRLabs/ctrl-mcp
GitHub Stars
1
Server Listing
CTRL MCP

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsA

Average 4/5 across 6 of 6 tools scored. Lowest: 3.2/5.

Server CoherenceA
Disambiguation5/5

Each tool targets a distinct operation: vault activation, workflow creation, manual firing, catalog retrieval, log reading, and vault status. No two tools have overlapping responsibilities.

Naming Consistency5/5

All tools follow a consistent 'ctrl_verb' pattern (e.g., ctrl_activate, ctrl_create_workflow), making it easy to infer functionality from the name.

Tool Count5/5

6 tools cover the essential operations for a workflow automation server without being excessive or sparse. The scope is well-defined.

Completeness4/5

The set covers core workflows (create, activate, trigger, monitor) but lacks explicit update/delete for workflows or vaults. This is a minor gap that can be worked around.

Available Tools

7 tools
ctrl_activateBInspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
depositEthNo0
expiryDaysNo
workflowIdYes
maxPerDayEthNo0.1
maxPerSwapEthNo0.01
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must disclose behavioral traits fully. It mentions that the user signs once and the keeper runs autonomously, but lacks details on side effects, authorization, gas costs, or reversibility of the operation. The description is too sparse for a mutation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences and efficiently conveys the core purpose and key behavioral note (keeper autonomy). No unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the absence of annotations, no output schema, and 5 undocumented parameters, the description falls short. It explains the return type and one-time signing but omits parameter meaning, error handling, and contextual usage scenarios.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, meaning the schema provides no explanations for any of the 5 parameters. The description does not mention or explain any of the parameters (e.g., depositEth, expiryDays, workflowId), leaving the agent with no semantic guidance beyond parameter names.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool 'returns an EIP-5792 transactions[] batch' for deploying a vault and registering spending rules, which is a specific verb+resource. It differentiates from sibling tools like ctrl_create_workflow or ctrl_fire_manual by focusing on the activation/signing step.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies that the tool is used after creating a workflow (before keeper autonomy) but does not explicitly state when to use it vs alternatives like ctrl_create_workflow or ctrl_fire_manual. No exclusions or prerequisites are given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ctrl_create_workflowAInspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
chainYes
triggerYes
descriptionNo
targetChainNoChain to run the workflow on. Default: "base". "ethereum" disables launchpad-only blocks (pool.created/clanker/zora/bankr/flaunch) and UniV4/Aerodrome routing.
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. Discloses creation behavior (draft, not activation), required prior discovery call, side-effect of creating a resource, and return structure. Also explains configuration requirements and constraints like max 20 items.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Well-structured with clear sections and front-loaded purpose, but quite long (multiple paragraphs). Could potentially be slightly more concise while retaining essential details. Still efficient for the complexity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, description covers return values. Also explains dependencies (ctrl_get_block_catalog), constraints (max 20, required fields), and edge cases (different chains, missing fields). Complete for an agent to use correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is low (20%), but description extensively explains parameters: targetChain enum values, chain and trigger config passthrough, and specifics for block types (e.g., for cypher.swap: amount, slippage, autoSell*). Adds significant meaning beyond schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states it creates a CTRL workflow draft, specifies one trigger plus chain of up to 20 actions/conditions/utilities, and mentions return value { workflowId, activateUrl }. Differentiates from siblings like ctrl_activate (activation) and ctrl_get_block_catalog (discovery).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit when-to-use: call ctrl_get_block_catalog FIRST, use targetChain to select chain, gives detailed instructions for specific block types (pool.created, cypher.swap, notify.telegram), and advises to interview user for missing critical fields. Implicitly tells when not to use (e.g., not for activation).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ctrl_fire_manualAInspect

Manually fire a workflow once. Keeper picks up within ~5s. Use to test a workflow without waiting for its natural trigger.

ParametersJSON Schema
NameRequiredDescriptionDefault
workflowIdYes
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Adds timing detail ('Keeper picks up within ~5s') and implies one-time action. No annotations exist, so description carries burden. Lacks details on idempotency or side effects but provides useful behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, no wasted words, front-loaded with the core action. Every sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Adequate for a simple one-parameter tool with no output schema. Provides purpose, usage guidance, and a timing guarantee. Missing parameter explanation slightly reduces completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The single parameter workflowId has 0% schema description coverage, and the description does not explain its purpose or format beyond the schema. The description should compensate for the missing schema descriptions but does not.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states 'Manually fire a workflow once' with a specific verb and resource. Distinguishes from sibling tools like ctrl_activate and ctrl_create_workflow by focusing on manual firing for testing.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says 'Use to test a workflow without waiting for its natural trigger,' providing clear context for when to use. Does not list when not to use or alternatives, but context is sufficient.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ctrl_get_block_catalogAInspect

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".

ParametersJSON Schema
NameRequiredDescriptionDefault
chainNoOptional. Filter the catalog to blocks compatible with this chain. Default: "base".
categoryNoOptional. Filter to a single block bucket.
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the burden. It discloses the tool returns a live catalog with specific fields and filtering capabilities. It does not mention any side effects, rate limits, or authentication needs, but for a read-only lookup tool this is adequate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences convey the purpose, usage, and parameter details with no redundancy. The most critical information (what it returns and when to call) is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with two optional parameters and no output schema, the description covers return content, filtering, and usage context. It sufficiently prepares the agent to invoke the tool effectively.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, baseline at 3. The description adds value by explaining the chain parameter's effect in detail (which blocks are included per chain) and noting the default. For category, it adds minimal extra meaning beyond the schema. Overall, it provides useful additional context.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool returns a live catalog of CTRL workflow blocks with specific fields (id, label, description, config-field schemas). It distinguishes from sibling tools like ctrl_create_workflow by specifying it should be called when unsure of a block's config shape.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly advises calling this tool before ctrl_create_workflow when the config shape is unknown, providing clear usage context. It also explains how to filter by chain and the default value, but does not mention when not to use it or alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ctrl_get_execution_logsAInspect

Read recent workflow executions: trigger, status, BaseScan tx hash, gas, timing. Without workflowId returns the user's most recent across all workflows.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
workflowIdNo
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. It discloses basic behavior (read operation, returns recent executions, default behavior without workflowId) but lacks details on rate limits, authentication, or side effects. For a read tool, this is insufficiently transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, purpose front-loaded, no wasted words. Efficiently conveys the core functionality and key behavioral nuance.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema and simple tool with 2 params, description covers purpose, return fields, and a key behavioral detail. Missing explanation of limit's effect and potential pagination, but overall nearly complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema has 2 parameters with 0% description coverage. Description adds meaning by explaining workflowId's optionality and fallback behavior, but does not elaborate on the limit parameter beyond its default value. Provides partial compensation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states 'Read recent workflow executions' and lists specific fields (trigger, status, BaseScan tx hash, gas, timing). It also explains behavior without workflowId, making it distinct from sibling tools like ctrl_create_workflow or ctrl_fire_manual.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Description implies usage for reading execution logs but does not explicitly state when to use this tool vs alternatives like ctrl_get_block_catalog or ctrl_get_vault_status. No exclusions or when-not-to-use guidance provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ctrl_get_vault_statusAInspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description indicates a read-only operation and lists what is read, which is sufficient for a simple read. However, since no annotations are provided, the description could be more transparent about return format or error cases, but it covers the essential behavioral trait.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loaded with purpose, and contains no unnecessary words. Every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema or annotations, the description provides the core purpose and usage hint. It lacks details on return structure or error handling, but for a zero-parameter, read-only tool, it is largely complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There are no parameters (0 params, baseline 4). The description adds meaning by detailing what the output includes, which is valuable beyond the empty schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool reads the user's CTRL vault address, ETH + WETH balance, and active rules. It uses a specific verb 'Read' and identifies the resource, and the mention of its predecessor role ('before ctrl_activate') distinguishes it from siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly states to call this before ctrl_activate and explains why (to tell user funding needs). This provides clear context, though it doesn't include when not to use it or alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ctrl_withdrawAInspect

Return an EIP-5792 batch the user signs to withdraw funds from their CTRL vault back to their wallet. The agent never signs. token defaults to ETH; pass WETH or a 0x token address for other assets; omit amount to withdraw the full balance.

ParametersJSON Schema
NameRequiredDescriptionDefault
tokenNo'ETH' (default), 'WETH', or a 0x token address.
amountNoDecimal amount, e.g. '0.05'. Omit for full balance.
walletYesVault owner address (0x…).
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden. It mentions 'agent never signs' and 'return an EIP-5792 batch', but does not explain that the user must sign to execute the transfer, potential side effects, or required permissions. This is adequate but not rich.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with no wasted words. First sentence states purpose and a behavioral trait, second covers parameter defaults. Each sentence contributes meaning.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, description should clarify return value format. It explains what the tool does and parameter defaults, but omits details about the batch content or error scenarios. Acceptable for a simple tool but leaves gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema has 100% parameter coverage with descriptions, so baseline is 3. The description adds value by stating token defaults to ETH and advising to omit amount for full balance, going beyond schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool returns a batch to withdraw funds from CTRL vault to wallet, using specific verb 'withdraw' and resources (CTRL vault, wallet). It distinguishes from siblings like ctrl_create_workflow and ctrl_activate by focusing on fund movement.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides defaults for token (ETH) and amount (full balance if omitted), and clarifies agent involvement ('agent never signs'). It lacks explicit when-not-to-use or comparison to siblings, but the context of sibling names (e.g., ctrl_activate) implies this is for withdrawals only.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Servers

View all MCP Servers

Try in Browser

Your Connectors

Sign in to create a connector for this server.