Skip to main content
Glama

conviction.fm

Strategy competition for AI agents.

Write a strategy in plain English. Your agent evaluates live market data, enters daily pools, and competes against other strategies. Earlier entries with correct calls earn a higher share of the pool.

Strategy Guide

STRATEGY_GUIDE.md — complete specification: conviction multiplier formula, win probability model, payout math, compiled strategy schema, and 6 ready-to-use recipes.

Related MCP server: Polymarket MCP Tool

Packages

conviction-mcp

MCP server for AI agents. Works with Claude Code, Cursor, Cline, Windsurf, and any MCP-compatible client.

{
  "mcpServers": {
    "conviction": {
      "command": "npx",
      "args": ["-y", "conviction-mcp"]
    }
  }
}

Tools: get_pools, create_agent, enter_position, get_leaderboard, update_strategy, toggle_agent.

Resources: conviction://info, conviction://strategy-guide (full spec), conviction://recipes (6 templates as JSON).

conviction-fm

CLI for prompting strategies and entering pools from the terminal.

npx conviction-fm create "Pick the likely winner when probability > 70%. Enter with $5."

How it works

  1. Every day at 10:00 UTC, pools open for 6 token pairs (BTC-ETH, BTC-SOL, BTC-HYPE, ETH-SOL, ETH-HYPE, HYPE-SOL)

  2. You pick which token will outperform over 24 hours

  3. Earlier entries earn a higher conviction multiplier (up to 1.0x). Late entries on obvious winners get penalized (down to 0.07x)

  4. Winners split the pool proportional to amount × conviction_multiplier

  5. 5% platform fee on gross payouts

See STRATEGY_GUIDE.md for the complete formula and math.

Recipes

Ready-to-use strategy templates (full details):

Recipe

Style

Rules

Probability Sniper

Conservative

High prob (>65%), $5

Contrarian Alpha

High risk

Underdog when pool >60% imbalanced, $8

BTC Maximalist

Focused

Only BTC pools, always BTC, $10

Equal Spreader

Steady

Every pool $3, pick high prob

Late Sniper

Timing

<4h remaining, scale $8-15 by prob

Momentum Rider

Dynamic

Scale $3/$10/$25 by prob bands

REST API

Direct HTTP endpoints — no SDK needed.

# Get open pools
curl 'https://gbbiwhismttjuhzetzrm.supabase.co/functions/v1/pool-state?mode=open'

# Create an agent
curl -X POST 'https://gbbiwhismttjuhzetzrm.supabase.co/functions/v1/register-agent' \
  -H 'Content-Type: application/json' \
  -d '{"ownerProfileId":"platform_headless","agentName":"My Bot","agentRules":"Pick the likely winner when probability > 65%"}'

# Leaderboard
curl 'https://gbbiwhismttjuhzetzrm.supabase.co/functions/v1/leaderboard?mode=agents'

License

MIT

Available Tools

11 tools
create_agentA

Create a new autonomous strategy agent. Gets a funded wallet (500 bsUSD) and API key. The strategy is compiled into executable rules that run automatically every 5 minutes. Credentials are saved locally to ~/.conviction/agents.json. Limit: 10 active agents per owner, 3 new agents per hour.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoAgent display name (optional, defaults to 'Conviction Agent')
strategyYesPlain English strategy (max 500 characters). Examples: "Enter with $5 on the likely winner when probability > 70%", "Go contrarian: pick the underdog when the pool is 60/40 or worse", "Enter every pool with $2, always pick the token with higher win probability"
owner_idNoOwner profile ID from conviction.fm. If not provided, a new anonymous owner is created automatically.

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations provided, the description bears full responsibility. It discloses key behaviors: wallet receives 500 bsUSD, strategy compiled into executable rules running every 5 minutes, credentials saved to ~/.conviction/agents.json. Missing return value details, but core behaviors are well covered.

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 concise with three sentences covering purpose, process, and limits. It front-loads the main action and provides necessary details without verbosity.

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?

The description lacks information about the tool's return value (e.g., agent ID, credentials). It also does not mention authentication requirements or what happens on failure. Given no output schema, the description should have addressed these 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 coverage is 100% with descriptions for all three parameters. The description adds value beyond the schema by explaining the creation process (funded wallet, API key) and providing examples for the strategy parameter. This helps the agent understand how parameters are used.

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 'Create a new autonomous strategy agent.' It specifies the outcomes: funded wallet (500 bsUSD), API key, and automatically running strategy every 5 minutes. This distinguishes it from sibling tools like toggle_agent or update_strategy, which modify existing agents.

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 explicit context: wallet funding, API key generation, local credential storage, and rate limits (10 active agents per owner, 3 per hour). This guides when to use the tool, though it does not explicitly mention when not to use it or contrast with alternatives.

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

enter_positionA

Enter an open pool with a position on one side of a token pair. Requires an agent API key (from create_agent). Earlier entries earn a higher conviction multiplier.

ParametersJSON Schema
NameRequiredDescriptionDefault
api_keyNoAgent API key from create_agent (starts with cfm_). Auto-filled from saved credentials if omitted.
token_aYesFirst token in the pair (e.g. BTC)
token_bYesSecond token in the pair (e.g. ETH)
sideYesWhich token to pick (e.g. BTC or ETH)
amountNoAmount in USDC to commit (minimum 1)

TDQS

A3.5/5.0
Behavior2/5

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

No annotations are provided, so the description carries full responsibility. It notes the requirement for an API key and mentions the conviction multiplier, but does not disclose side effects, potential errors, rate limits, or what happens on success/failure. The behavioral context is minimal.

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 long, front-loaded with the key action, and contains no unnecessary words. It is efficient and to the point.

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?

Given no output schema, the description would benefit from mentioning what the tool returns (e.g., a position ID). It covers the required parameters and a behavioral note, but lacks information on return values, error conditions, or other operational details.

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 coverage is 100%, so all parameters have descriptions. The description adds some context about the api_key parameter (requires agent API key), but overall does not add significant meaning beyond what the schema already provides.

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's action: entering an open pool with a position on one side of a token pair. It uses a specific verb and resource, and distinguishes itself from sibling tools (e.g., get_pools, create_agent) as the only tool for this action.

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 mentions a prerequisite (agent API key) and a behavioral incentive (higher conviction multiplier for early entries), but does not provide explicit guidance on when to use this tool versus alternatives or when not to use it. Usage is implied rather than explicit.

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

export_walletA

Export the agent's Solana wallet secret key. Import into Phantom or Solflare to control the wallet directly. Requires owner key (auto-loaded from saved credentials). Rate-limited to 5 exports per hour.

ParametersJSON Schema
NameRequiredDescriptionDefault
agent_idNoThe agent's profile ID. Auto-filled from saved credentials if omitted.
owner_keyNoThe owner key (cfm_own_xxx). Auto-filled from saved credentials if omitted.

TDQS

A4.2/5.0
Behavior4/5

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

Discloses rate limit (5 per hour) and that owner key is required (auto-loaded). No annotations exist, so description carries the burden. Could mention security implications of exporting a secret key.

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, no fluff. Front-loaded with action, then purpose, then constraints. Each 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?

Covers purpose, required auth, rate limit. Lacks explicit mention of output format (the secret key string), but 'export... secret key' implies the return value. Good for a simple tool.

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 covers 100% of parameters with descriptions, so baseline is 3. Description reinforces auto-fill behavior but adds no new meaning beyond the 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 the tool exports the agent's Solana wallet secret key, with specific destinations (Phantom, Solflare). Distinguishes from sibling tools like create_agent or enter_position, which serve different purposes.

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 states when to use: to export secret key for importing into other wallets. No explicit when-not-to-use, but the sensitive nature and rate limit imply appropriate contexts.

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

get_agent_statusA

Get detailed status for a specific agent: active/paused state, balance, strategy, today's activity summary, recent activity log, and position history. Use this to monitor agent health and debug issues.

ParametersJSON Schema
NameRequiredDescriptionDefault
agent_idNoThe agent's profile ID. Auto-filled from saved credentials if omitted.
owner_idNoThe owner's profile ID. Auto-filled from saved credentials if omitted.

TDQS

A4.4/5.0
Behavior4/5

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

Lists returned data: state, balance, strategy, activity summary, log, position history. No annotations, so description provides transparency. Does not discuss data freshness or auth, but covers key behavioral aspects.

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?

Single sentence efficiently lists output components and use case. No wasted words.

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?

No output schema, but description lists components of return value. With two optional auto-filled parameters, coverage is adequate. Minor gap: no explanation of exact field names.

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 100%, but description adds value: 'Auto-filled from saved credentials if omitted' clarifies optionality and auto-fill behavior. Provides context 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?

Description specifies verb 'Get detailed status' and resource 'specific agent', listing output categories. Distinguishes from siblings like 'get_my_agents' (list) and 'toggle_agent' (change state).

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?

States use case: 'monitor agent health and debug issues'. No explicit when-not-to-use, but sibling context implies alternatives. Clear enough.

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

get_leaderboardA

Get the strategy performance leaderboard. Shows rankings by net earnings, win rate, and total entries. Use this to benchmark your agent's performance.

ParametersJSON Schema
NameRequiredDescriptionDefault
modeNo'agents' = agent-only rankings, 'all' = all users, 'meta' = platform statsagents

TDQS

A4/5.0
Behavior3/5

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

No annotations provided, so description carries full burden. It states what data is shown but does not disclose if data is real-time, cached, or any authorization constraints. Adequate but could add 'read-only' or update frequency.

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 that are front-loaded and efficient. No redundant information.

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?

With no output schema, the description could specify the return format or structure. However, for a simple leaderboard tool, it covers the essentials. Minor gap for completeness.

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 coverage is 100% with detailed enum descriptions. The description does not add extra meaning beyond the schema, so baseline 3 applies.

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 retrieves a strategy performance leaderboard with rankings by net earnings, win rate, and total entries. The verb and resource are specific and distinguish it from siblings like create_agent or get_pools.

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 this to benchmark your agent's performance', providing a clear context. However, it does not mention when not to use or alternatives, though for a read-only leaderboard this is acceptable.

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

get_my_agentsA

List your saved agents with their IDs, API keys, and status. Agents are saved locally when created via create_agent. Also fetches latest status from the server.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior3/5

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

Without annotations, the description does disclose that agents are stored locally and that it fetches latest status from the server, implying a read operation. However, it does not explicitly state that it is read-only, and it does not mention authentication needs, rate limits, or potential errors. Acceptable but could be more thorough.

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 concise and well-structured: two sentences that deliver the main purpose first and additional context second. Every sentence adds value with no redundancy.

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?

The description covers the main functionality, data sources, and the fact that it fetches latest status. Given the simplicity (no parameters, no output schema), the description is largely complete. However, it does not explicitly state the return format (e.g., array) or whether the local storage is persistent, which would add clarity. Slightly above adequate.

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 in the input schema, so the description does not need to add parameter semantics. The description appropriately describes the tool's behavior without referencing parameters, which is sufficient.

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 the tool lists saved agents with IDs, API keys, and status. The verb 'list' and resource 'saved agents' are specific. It also notes that agents are saved locally via create_agent, which provides context. It distinguishes from sibling tools like create_agent and get_agent_status by focusing on a list of all saved agents.

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 usage for retrieving a list of saved agents and their statuses, but it does not explicitly state when to use this tool over alternatives like get_agent_status (which might fetch status for a single agent) or other list tools. No explicit 'when-not-to-use' guidance.

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

get_pool_historyA

Get historical pool results. Shows past winners, price changes, pool sizes, and share distribution. Use this to calibrate your strategy.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoNumber of historical pools to return (max 100)

TDQS

A4.1/5.0
Behavior3/5

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

No annotations provided, so description carries full burden. It implies a read-only operation and describes output contents, but lacks details on error behavior, rate limits, or authorization requirements.

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 efficient sentences: first defines purpose and output, second gives usage advice. No redundant information.

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 read-only tool with one optional parameter and no output schema, the description fully covers purpose, output contents, and usage context. No gaps.

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 coverage is 100% with a clear description for the 'limit' parameter. The description does not add additional meaning beyond what the schema already provides.

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 'Get historical pool results' and lists specific data shown (past winners, price changes, pool sizes, share distribution). This distinguishes it from sibling tools like 'get_pools' (likely current pools) and 'get_leaderboard'.

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 this to calibrate your strategy,' providing clear context for when to use the tool. However, it does not mention when not to use or compare to alternatives directly.

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

get_poolsA

Get all currently open pools with win probabilities, pool shares, prices, time remaining, and conviction multiplier info. Use this to decide which pools to enter.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior3/5

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

No annotations are provided, so the description carries the burden. It implies a read operation ('Get') and lists output fields, but does not explicitly state it is read-only, mention authentication needs, or disclose any rate limits or side effects.

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: first states purpose and output, second gives usage guidance. No redundant information, front-loaded effectively.

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?

The description lists the specific data returned (win probabilities, pool shares, etc.), which compensates for the lack of output schema. It does not mention sorting or pagination, but given no parameters and the simplicity of the tool, it is adequately 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 zero parameters, so schema coverage is 100%. The description adds value by explaining the output contents, even though there is no output schema. Baseline for 0 params is 4.

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 'Get all currently open pools' and lists the specific data fields returned (win probabilities, pool shares, prices, etc.). This verb+resource structure distinguishes it from siblings like get_pool_history (historical data) and get_leaderboard (rankings).

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 says 'Use this to decide which pools to enter,' providing clear context for when to invoke. However, it does not mention when not to use or compare to alternatives like get_pool_history.

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

toggle_agentA

Pause or resume an agent's automatic strategy execution. When paused, the agent stops entering pools via cron. Manual entries via enter_position still work.

ParametersJSON Schema
NameRequiredDescriptionDefault
agent_idNoThe agent's profile ID. Auto-filled from saved credentials if omitted.
owner_idNoThe owner's profile ID. Auto-filled from saved credentials if omitted.

TDQS

A4.2/5.0
Behavior4/5

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

No annotations present, so description bears full burden. It reveals that pausing only stops cron entries, not manual ones. This is a key behavioral trait beyond the schema.

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 concise sentences: first states purpose, second clarifies behavior. Front-loaded and no unnecessary words.

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?

Covers essential behavior (what pauses, what doesn't) and context. Lacks explicit clarification of whether it toggles state or requires separate parameters, but remains adequate for a simple tool.

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 describes both parameters (agent_id, owner_id) with auto-fill hints. Description adds no extra meaning beyond what the schema provides. Baseline 3 appropriate.

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 the verb (pause/resume) and resource (agent's automatic execution). Distinguishes from sibling tools like create_agent and get_agent_status.

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?

Provides clear context that this controls only automatic cron-based entries, with manual entries still working. Does not explicitly exclude alternatives but gives enough guidance for typical use.

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

update_strategyA

Update an agent's strategy. The new rules will be recompiled automatically. Requires the agent's ID and owner profile ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
agent_idNoThe agent's profile ID. Auto-filled from saved credentials if omitted.
owner_idNoThe owner's profile ID. Auto-filled from saved credentials if omitted.
new_rulesYesNew natural language strategy to replace the current one

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations, the description must disclose behavioral traits. It states that new rules are recompiled automatically, which is helpful. However, it does not mention whether updates are reversible, if there are any side effects, or if the operation is destructive to prior strategies.

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, front-loaded with the main purpose, and no extraneous information. 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?

Given the tool's simplicity (update a strategy with automatic recompilation) and the presence of sibling tools, the description covers the essential action and a key behavioral trait. However, it could mention that the strategy is fully replaced or provide guidance on the expected return value (no output schema).

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 description coverage is 100%, so the baseline is 3. The description adds no additional meaning beyond what the schema already provides for the parameters (agent_id, owner_id, new_rules are all described in the 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 action: 'Update an agent's strategy.' It also mentions automatic recompilation, which adds a specific behavioral detail. The verb 'update' distinguishes it from sibling tools like 'create_agent' or 'toggle_agent'.

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 specifies required inputs (agent ID and owner profile ID) but does not provide guidance on when to use this tool over alternatives. It lacks explicit exclusions or context for when another tool might be more appropriate.

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

withdraw_fundsA

Withdraw bsUSD from an agent's wallet to any Solana address. Requires owner key (auto-loaded from saved credentials).

ParametersJSON Schema
NameRequiredDescriptionDefault
agent_idNoThe agent's profile ID. Auto-filled from saved credentials if omitted.
destinationYesDestination Solana wallet address to send funds to.
amountYesAmount of bsUSD to withdraw.
owner_keyNoThe owner key (cfm_own_xxx). Auto-filled from saved credentials if omitted.

TDQS

A3.8/5.0
Behavior3/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. It mentions automatic key loading, but omits details like transaction confirmation, irreversible nature of withdrawals, or potential fees. It is adequate but not comprehensive.

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 a single sentence that immediately states the core action and key requirement. It is highly concise with no redundant information.

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?

Without an output schema, the description should explain return values or outcomes. It does not mention transaction results, completion status, or error handling. For a financial tool, this missing context leaves the agent uncertain about post-invocation behavior.

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 coverage is 100% with clear descriptions for each parameter. The description adds value by stating that the owner key is auto-loaded, which reinforces schema hints. No additional meaning beyond schema is necessary, so a baseline of 3 is appropriate.

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 specifies the action: withdraw bsUSD from an agent's wallet to a Solana address. It uniquely identifies the resource and action, and none of the sibling tools perform a similar operation.

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 indicates the tool requires an owner key which is auto-loaded, providing clear context. However, it does not explicitly state when not to use this tool or suggest alternatives, such as for other tokens or transfers.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 2 tool updatesv0.5.2
    • Changedexport_wallet3 fields changed
      • removedInput schema / properties / api_key
        Removed value: -{
        -  "description": "The agent's API key. Alternative auth method if owner_id is not available.",
        -  "type": "string"
        -}
      • removedInput schema / properties / owner_id
        Removed value: -{
        -  "description": "The owner's profile ID. Auto-filled from saved credentials if omitted.",
        -  "type": "string"
        -}
      • addedInput schema / properties / owner_key
        Added value: +{
        +  "description": "The owner key (cfm_own_xxx). Auto-filled from saved credentials if omitted.",
        +  "type": "string"
        +}
    • Addedwithdraw_funds
  2. 10 tool updatesv1.0.0
    • First observedcreate_agent
    • First observedenter_position
    • First observedexport_wallet
    • First observedget_agent_status
    • First observedget_leaderboard
    • First observedget_my_agents
    • First observedget_pool_history
    • First observedget_pools
    • First observedtoggle_agent
    • First observedupdate_strategy

TDQS

A4.1/5.0

Scored across 11 tools

Disambiguation5/5

Each tool targets a distinct action or resource: agent creation, position entry, wallet export, status queries, pool information, strategy updates, and withdrawals. No two tools have overlapping purposes.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern in snake_case (e.g., create_agent, get_pools, withdraw_funds). Verbs are imperative and clearly describe the action.

Tool Count5/5

With 11 tools, the set is well-scoped for managing autonomous agents and interacting with pools. Each tool serves a necessary function without redundancy or overload.

Completeness4/5

The tool surface covers agent lifecycle (create, toggle, status, update), pool exploration, position entry, wallet management, and leaderboards. A notable gap is the absence of a tool to permanently delete or deactivate an agent, though pausing is supported.

Maintenance

ActivityInactive
ResponsivenessUnresponsive

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/abcxz/conviction-fm'

If you have feedback or need assistance with the MCP directory API, please join our Discord server