Skip to main content
Glama

Server Details

Build, backtest, and deploy crypto trading strategies via MCP with 7-stage validation.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
91.5% over 56 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
Repository
CacheCarti/dmoera-mcp
GitHub Stars
8
Server Listing
dMoERA MCP Server

TDQS

B3.2/5.0

Scored across 74 tools

Disambiguation2/5

The set has many overlapping retrieval and roster-management tools: get_fund/get_public_fund_page/get_fund_analytics/get_fund_performance/get_fund_live_pnl, list_bots/list_marketplace_bots/get_marketplace_bots/list_open_source_bots, and add/remove/update/swap/set_fund_lineup all target similar fund-roster concerns. Descriptions help, but an agent can easily misselect among several near-duplicate read/list operations.

Naming Consistency4/5

Nearly all tools use snake_case with verb_noun, and tag_team_* is consistent. However, retrieval verbs are mixed (get_marketplace_bots vs list_marketplace_bots, read_feed/read_wire vs list_*), which is a minor deviation from a single predictable convention.

Tool Count1/5

74 tools is far beyond a well-scoped MCP surface and exceeds the 50-tool extreme threshold. The domain is broad, but the sheer number makes tool selection and maintenance unwieldy.

Completeness4/5

The surface covers fund lifecycle, roster/formation management, copy trading, social feed, strategy validation, and Tag Team competitions comprehensively. Minor gaps exist (e.g., no update/delete for strategies, no general feed post), but core workflows are covered.

Available Tools

74 tools
activate_fundAInspect

Activate Manager Mode for a fund — starts the personal router.

This deploys capital across the fund's roster bots according to their
weights and the fund's risk caps. The main platform router is paused
while Manager Mode is active.

Args:
    fund_id: The fund's ID.
    rationale: REQUIRED — why the fund is going live. Published on the
        fund's public manager's log.

Returns success or error.
NameRequiredDescriptionDefault
fund_idYes
rationaleYes

Output Schema

NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior4/5

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

With no annotations at all, the description carries the full burden and does real work: it discloses that capital gets deployed per roster weights and risk caps, that the main platform router is paused while active, and that the rationale is published publicly on the manager's log. Missing are permissions/prerequisites (fund must exist and be inactive) and reversibility, which is why it stops short of 5.

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?

Front-loaded with the action, then the behavioral consequence, then a compact Args block. Every sentence earns its place; only the trailing 'Returns success or error' is low-value filler.

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?

An output schema exists, so return values needn't be spelled out, and both parameters plus the key side effects are covered. The remaining gap is preconditions — that the fund must exist and currently be inactive, and what happens if activation fails.

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 description coverage is 0%, so the description must compensate, and it does: fund_id is identified as the fund's ID and rationale is marked REQUIRED with the consequential detail that it is published on the fund's public manager's log — information found nowhere in the schema. It leaves the integer/identifier format to the schema, which is acceptable.

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

Purpose4/5

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

States a specific verb and resource (activate Manager Mode for a fund) and immediately explains the mechanism: it starts the personal router and deploys capital across the fund's roster bots. That distinguishes it in practice from deactivate_fund and run_ai_manager, though no sibling is named explicitly.

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 'going live' framing and the note that the main platform router is paused imply when to use it, but there is no explicit when-to-use/when-not guidance and no named alternative (deactivate_fund, run_ai_manager) for the agent to route against.

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

add_bot_to_fundAInspect

Add a bot to a fund's roster.

Personal funds can only contain the authenticated user's OWN bots.
Use list_my_bots to see eligible strategies.

Args:
    fund_id: The fund's ID.
    bot_id: The bot to add (e.g. "momentum_eth_v3").
    bot_domain: The bot's domain (e.g. "eth_usdc", "btc_usdc").
    weight: Initial allocation weight in percent (default 20.0).
    rationale: Why you're adding it — published in the fund's manager log.

Returns the updated roster entry.
NameRequiredDescriptionDefault
bot_idYes
weightNo
fund_idYes
rationaleNo
bot_domainYes

Output Schema

NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does well: it discloses the ownership eligibility rule, that the rationale text is published publicly in the manager log (a real, non-obvious side effect), and that the call returns the updated roster entry. It omits duplicate-handling, roster size limits, and manager-permission requirements.

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?

Front-loaded statement of effect, then the eligibility constraint, then parameters. The Args block is justified because the schema has zero descriptions, though the docstring formatting is slightly verbose for a five-field tool.

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?

An output schema exists, so return values need only light treatment and the description handles it in one line. For a mutation with no annotations, the key risks — eligibility, public log exposure, initial weight semantics — are all covered; failure modes and permission requirements are the missing pieces.

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 coverage is 0%, so the description must compensate and does: all five parameters are explained with units (weight in percent, default 20.0), concrete examples ("momentum_eth_v3", "eth_usdc"), and a purpose for rationale. An agent can populate every field without opening the schema.

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

Purpose4/5

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

States a specific verb and resource: "Add a bot to a fund's roster." This clearly separates it from remove_bot_from_fund and swap_bot_in_fund by semantics, and the personal-fund eligibility line narrows scope further. It stops short of naming the sibling it should be preferred over, so not a 5.

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?

"Use list_my_bots to see eligible strategies" gives an explicit prerequisite step, and the personal-funds restriction tells the agent when this call is even valid. No guidance on add vs. swap_bot_in_fund or set_fund_lineup for replacing a bot, which is the remaining gap.

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

adjust_fund_copyBInspect

Change the slider on an active copy — resizes mirrored positions.

Args:
    fund_id: The fund you're copying.
    allocation_pct: New % of your paper portfolio (1-100).
NameRequiredDescriptionDefault
fund_idYes
allocation_pctYes

Output Schema

NameRequiredDescription
resultYes

TDQS

B3.4/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 the full behavioral burden. It discloses the core effect ('resizes mirrored positions') and allocation range, but does not state permissions, reversibility, what happens to existing positions during resizing, or whether the change is immediate.

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 front-loaded and concise: a single purpose sentence followed by two short argument descriptions. No sentence is wasteful.

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?

An output schema exists, so return values need not be explained. However, for a mutation tool with no annotations, the description is only partially complete: it covers parameters and the resizing effect but omits permissions, state safety, and explicit usage boundaries.

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 description coverage is 0%, so the description must compensate, and it does: fund_id is explained as 'The fund you're copying' and allocation_pct as the new percentage of the paper portfolio with a 1-100 range. It covers both parameters meaningfully, though fund_id format remains implied by the schema type.

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

Purpose4/5

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

The description states a specific verb and resource ('Change the slider on an active copy') and adds a concrete effect ('resizes mirrored positions'), which distinguishes it from start/stop copy tools. It does not explicitly name a sibling alternative, but the purpose is clear.

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?

'on an active copy' implies the copy must already exist and is not being started or stopped, giving some usage context. However, there is no explicit guidance on when to use this versus start_fund_copy, stop_fund_copy, or get_fund_copy_state.

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

close_fundAInspect

Permanently close a hedge fund. Returns all capital to the wallet.

This is irreversible. The fund's performance record is preserved for
reporting and copy-trader settlement.

Args:
    fund_id: The fund's ID.
    rationale: Why the fund is closing — published in the public history.

Returns success or error.
NameRequiredDescriptionDefault
fund_idYes
rationaleNo

Output Schema

NameRequiredDescription
resultYes

TDQS

A4.1/5.0
Behavior5/5

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

With no annotations, the description carries the full burden and does so well: it discloses irreversibility, the capital-return side effect, that the performance record survives for reporting/copy-trader settlement, and that the rationale is published publicly. That last point is a non-obvious, decision-relevant disclosure an agent would otherwise miss.

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?

Front-loaded with the action, then the irreversibility warning, then per-argument notes — every sentence earns its place except 'Returns success or error', which is filler given an output schema exists.

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 destruction, side effects, and post-close data retention, which is enough for correct invocation; the output schema means returns needn't be explained. The remaining gap is not routing the agent to deactivate_fund as the reversible alternative.

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 0%, so the description must compensate. It adds real meaning for 'rationale' (publicly published) but 'fund_id: The fund's ID' is tautological, leaving the identifier's expected format/source unexplained.

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

Purpose4/5

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

States a specific verb and resource ('Permanently close a hedge fund') plus the key outcome ('returns all capital to the wallet'). It doesn't name deactivate_fund, the obvious sibling alternative, so the contrast is only implied by 'permanently'.

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?

'Permanently' and 'irreversible' effectively signal when this applies versus a reversible pause like deactivate_fund, giving clear context. There is no explicit when-not clause or named alternative, which keeps it short of a 5.

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

create_formationAInspect

Save a formation on the fund's bench.

Args:
    fund_id: Your fund.
    name: Formation name, e.g. "Iran Oil Shock".
    roster: [{"bot_id": "dir_long_btc", "weight_pct": 60}, ...]. Weights
        under 100 total leave the rest in cash. Empty list = all cash.
        Shares may not add up to more than 100.
    emoji: Optional emoji.
    description: When you'd play it.
    leverage: 1-20x for this formation (applied to new positions).
    sizing: "weights" = size by your weights (default),
            "router" = the router's Kelly sizing (skips bots without history).
    template_key: Start from a template instead (see list_formation_templates).
    from_current: Snapshot the live roster + settings instead.
    rationale: REQUIRED — why this config exists. Published on the fund's
        public manager's log.
NameRequiredDescriptionDefault
nameNo
emojiNo
rosterNo
sizingNoweights
fund_idYes
leverageNo
rationaleNo
descriptionNo
from_currentNo
template_keyNo

Output Schema

NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior3/5

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

With no annotations, the description carries the full burden and does add real substance: weights summing under 100 leave the remainder in cash, an empty roster means all cash, weights may not exceed 100, leverage applies to new positions, and router sizing skips bots without history. It does not state permissions, whether the formation becomes active, cost, or behavior on name collision. It also labels rationale as REQUIRED even though the schema marks only fund_id required, an inconsistency an agent could trip on.

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?

Front-loaded with the action, then a compact Args block where nearly every line carries a non-obvious constraint. The docstring formatting is slightly verbose but no sentence is filler; the "rationale: REQUIRED" capitalization is the only place it wastes emphasis on something the schema contradicts.

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?

For a 10-parameter mutation tool with no annotations, the description covers creation semantics, mode selection, and roster constraints, and an output schema exists so return values need not be explained. Remaining gaps are lifecycle (does the formation go live?) and failure conditions, which matter for a write tool.

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 0% across 10 parameters, so the description must compensate fully and does: every parameter is explained with format or range, including the roster object shape with an inline example, the leverage 1-20x bound, and the two accepted sizing values ("weights" default, "router" Kelly sizing). This is more information than the schema provides by a wide margin.

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

Purpose4/5

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

"Save a formation on the fund's bench" gives a specific verb and resource, and "bench" implies a saved-but-not-live configuration, which distinguishes it from switch_formation. It never explicitly contrasts itself with update_formation or create_fund, so the sibling differentiation is implied rather than stated.

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 parameter notes double as mode selection guidance: use template_key to start from a template (pointing to list_formation_templates) or from_current to snapshot the live roster. It lacks an explicit statement of when to call this versus update_formation or switch_formation, but the routing cues are clear enough to act on.

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

create_fundAInspect

Create a new hedge fund for the authenticated user.

The fund starts inactive — call activate_fund to start Manager Mode.
Initial capital is taken from the user's wallet_cash at creation time.

Args:
    fund_name: Display name for the fund.
    router_preset: Risk profile — one of "prudent", "standard",
                  "opportunistic", "unrestricted".
    aggression_mode: "weights" (default — the fund follows your weights
                    exactly; leftover % stays in cash) or "router"
                    (opt-in Kelly sizing; needs bots with a trade history).
    philosophy: Optional text describing the fund's investment thesis
               (max 2000 chars).
    fund_type: "standard" (default, what the UI creates — platform bots +
               your own validated bots + directional blocks),
               "personal" (your own bots + live/open-sourced platform
               bots + directional blocks), or "open_source"
               (open-sourced bots only). Check each bot's fieldable_in
               in list_marketplace_bots before adding.

Returns the created fund object.
NameRequiredDescriptionDefault
fund_nameNoMy Hedge Fund
fund_typeNostandard
philosophyNo
router_presetNostandard
aggression_modeNoweights

Output Schema

NameRequiredDescription
resultYes

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does disclose key behavior: the created entity starts inactive, initial capital is debited from the user's wallet_cash at creation time (a real financial side effect), and it returns the created fund object. It does not mention permission requirements, failure modes (insufficient wallet_cash), or reversibility, which keeps it short of a 5.

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?

Front-loaded with the core action and the activate_fund follow-up before the Args block, which is justified given the zero schema coverage. A few lines are near-redundant ("Display name for the fund"), but overall it is tight for a five-parameter creation tool.

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?

An output schema exists, so "Returns the created fund object" suffices for return values, and the lifecycle plus funding behavior are covered. The only real gap is what to do when wallet_cash is insufficient or when the user already has a fund, which an agent would have to discover by trial.

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 0%, so the description must compensate and it does: all five parameters are explained with defaults and enumerated values (router_preset's four risk profiles, aggression_mode's weights vs. router with the Kelly-sizing precondition, fund_type's three variants and their bot composition). This adds meaning well beyond the bare schema titles.

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?

Opens with a specific verb and resource ("Create a new hedge fund") plus the scope ("for the authenticated user"), which separates it cleanly from activate_fund, get_fund, list_funds and the other fund siblings. An agent can identify the operation without opening the schema.

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 the post-creation lifecycle step ("fund starts inactive — call activate_fund to start Manager Mode") and points at list_marketplace_bots for the fieldable_in check when picking open-source bots. It lacks any when-not-to-use condition (e.g. one fund per user, or existing funds), but the surrounding context is clear.

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

deactivate_fundCInspect

Deactivate Manager Mode — returns to the main platform router.

Closes all roster bot positions and returns capital to the wallet.

Args:
    fund_id: The fund's ID.
    rationale: REQUIRED — why the fund is pausing. Published on the
        fund's public manager's log.

Returns success or error.
NameRequiredDescriptionDefault
fund_idYes
rationaleYes

Output Schema

NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

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

No annotations, so the description carries the full behavioral burden. It does disclose the destructive effect (all positions closed, capital returned) and the success/error return, which is genuinely useful, but it says nothing about authorization requirements, reversibility, or what happens to active copies/followers of the fund during deactivation.

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?

Front-loaded with the primary action and its consequence, then a compact Args block. The 'returns to the main platform router' clause is somewhat opaque jargon but costs only one clause.

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?

Output schema exists, so the brief 'Returns success or error' is sufficient. Still, for a destructive lifecycle tool in a cluster of activate/close/deactivate siblings, the missing differentiation from close_fund and the absent reversibility note leave real 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 description coverage is 0%, so the description must compensate. It does well for rationale — marking it REQUIRED and warning that it is published publicly on the manager's log, which shapes wording choices — but fund_id is only restated tautologically as 'The fund's ID' with no format or sourcing hint.

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

Purpose4/5

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

States a specific verb and resource ('Deactivate Manager Mode') and adds concrete consequences: closes all roster bot positions and returns capital to the wallet. However, it never distinguishes itself from the sibling close_fund, which sounds like it could do the same or more.

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

Usage Guidelines2/5

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

No guidance on when to choose this over close_fund, nor any statement that activate_fund is the inverse for reactivating. The reader must infer the relationship from sibling names alone, and the fund_id line offers no scenario context.

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

delete_formationAInspect

Delete a formation from the bench (not the one on the field). rationale is REQUIRED — why you're deleting it. Published on the manager's log.

NameRequiredDescriptionDefault
fund_idYes
rationaleYes
formation_idYes

Output Schema

NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior3/5

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

With no annotations, the description does real work: it discloses that rationale is mandatory and that it is published on the manager's log, an externally visible side effect an agent wouldn't otherwise know. It omits whether deletion is reversible, what happens to bots assigned to that formation, and any permission 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 short sentences, no waste, with the scoping constraint front-loaded and the critical REQUIRED constraint on rationale given next. Every clause earns its place.

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?

Output schema exists, so return values needn't be described. But for a destructive tool with zero annotations, the description should state reversibility and side effects on dependent entities; it covers only the rationale requirement and the log publication.

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 0% — fund_id and formation_id carry only titles in the schema, and the description adds nothing about them. It does fully explain the rationale parameter (required, its purpose, and its published destination), which partially compensates but leaves two identifiers undocumented.

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

Purpose4/5

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

States a specific verb (delete) and resource (formation) plus a scoping qualifier, 'from the bench (not the one on the field)', which separates it from switch_formation and update_formation without naming them. An agent can identify the operation, though the sibling names themselves aren't cited.

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 parenthetical 'not the one on the field' implies a when-not condition (don't delete the active formation), but it stops short of naming the alternative action (switch_formation first, then delete) or stating prerequisites.

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

delete_replyAInspect

Delete a reply — your own, or any reply under YOUR fund's posts (manager moderation).

Args:
    reply_id: The reply id from get_replies.
NameRequiredDescriptionDefault
reply_idYes

Output Schema

NameRequiredDescription
resultYes

TDQS

A3.9/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 full burden. It usefully discloses the authorization scope (own replies or manager moderation under your fund's posts), but does not mention irreversibility, confirmation requirements, or what happens to associated data after deletion.

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 short, front-loaded with the core action and scope, and the Args block is minimal but sufficient. Every sentence earns its place.

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?

The tool is a destructive mutation with no annotations. The description covers ownership and moderation scope and names the ID source, but does not warn about irreversibility or confirm the effect of deletion. An output schema exists, so return values need not be explained.

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 0%, so the description must compensate for the single parameter. It adds valuable provenance by saying the reply_id comes from get_replies, but does not describe expected format, type, or validation beyond that.

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?

States a specific verb and resource ('Delete a reply') and immediately distinguishes the permission scope: your own reply or any reply under your fund's posts. This is clear enough to distinguish it from siblings like get_replies and reply_to_post.

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?

Explains the ownership/moderation condition for when deletion is allowed and points to get_replies as the source of reply_id. It does not name explicit alternatives or when-not-to-use cases, but the usage context is clear.

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

estimate_swap_costAInspect

Estimate the friction cost (in bps) of swapping a bot in a fund.

Use this before calling swap_bot_in_fund to understand the cost of
winding down the old bot's positions and opening new ones.

Args:
    fund_id: The fund's ID.
    old_bot_id: The bot being considered for removal.
    new_bot_id: The replacement bot.
    new_bot_domain: The replacement bot's domain.

Returns the estimated friction in bps of fund AUM.
NameRequiredDescriptionDefault
fund_idYes
new_bot_idYes
old_bot_idYes
new_bot_domainYes

Output Schema

NameRequiredDescription
resultYes

TDQS

A4.6/5.0
Behavior4/5

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

With no annotations available, the description carries the full behavioral burden. It discloses that this is an estimation step, explains what the cost represents (winding down old positions and opening new ones), and specifies the return unit: estimated friction in bps of fund AUM. It does not explicitly state that no mutation occurs, but the 'estimate' framing and the 'before calling swap_bot_in_fund' context make this adequately clear.

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 compact and well-organized: a one-sentence summary, a usage directive, an Args list, and a return explanation. No extra fluff or repetition of schema types is included, and every sentence serves a purpose.

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?

For a tool with four simple and required parameters, the description covers its main purpose, when to use it, what the result means, and the return unit. Minor gaps remain, such as not explaining where to find valid new_bot_domain values or any prerequisites (e.g., whether the fund must be active), but the core invocation context is sufficiently clear.

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 description coverage is 0%, so the Args section is essential. It adds meaning for three of the four parameters: old_bot_id is 'the bot being considered for removal', new_bot_id is 'the replacement bot', and new_bot_domain is 'the replacement bot's doman'. Only fund_id ('The fund's ID') merely restates the schema title, but the other parameters are meaningfully clarified.

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 opens with a specific verb and resource: 'Estimate the friction cost (in bps) of swapping a bot in a fund.' It clearly distinguishes this estimation tool from the actual mutation tool, swap_bot_in_fund, by naming the operation and its purpose.

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?

The description explicitly says 'Use this before calling swap_bot_in_fund' and explains why it should be used: to understand the cost of winding down the old bot's positions and opening new ones. This is a clear when-to-use directive tied to a specific sibling tool.

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

follow_fundAInspect

Follow a fund — its posts surface in your 'following' feed tab. You can't follow your own fund.

Args:
    fund_id: The fund to follow.
    follow: true=follow, false=unfollow, omit=toggle.
NameRequiredDescriptionDefault
followNo
fund_idYes

Output Schema

NameRequiredDescription
resultYes

TDQS

A4.1/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does disclose the key traits: the user-visible effect on the following feed, a hard restriction (cannot follow own fund), and that omitting follow toggles existing state. It does not cover error behavior when the constraint is violated or idempotency, keeping it below 5.

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?

Purpose and restriction are front-loaded in two short sentences, then parameters in a compact Args block. Every line conveys information an agent needs; nothing is padded.

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?

An output schema exists so return values needn't be explained, and both parameters plus the self-follow restriction are covered. It is slightly incomplete on what happens on a rejected self-follow or whether unfollowing removes past feed items, but nothing essential to invoking it correctly is missing.

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 coverage is 0% and the schema only shows follow as a nullable boolean with default null, so the description supplies crucial meaning: true=follow, false=unfollow, omit=toggle. That non-obvious tri-state behavior is not inferable from the schema and materially changes how an agent calls the tool.

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

Purpose4/5

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

States a specific verb and resource ('Follow a fund') plus the observable effect ('its posts surface in your following feed tab'), which is more than the bare name. It does not name a sibling (e.g. get_follow_state) to disambiguate against, so it stops short of a 5.

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?

It gives a real usage constraint ('You can't follow your own fund') and explains the follow flag's toggle behavior, which is genuinely helpful context. However, there is no explicit guidance on when to call this versus get_follow_state or read_feed, so routing is implied rather than stated.

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

generate_fund_report_cardAInspect

Generate a new report card for a fund (immutable once saved).

Args:
    fund_id: The fund's ID.

Returns the generated report card with grades and analysis.
NameRequiredDescriptionDefault
fund_idYes

Output Schema

NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden of disclosing behavior. It clearly states 'immutable once saved', which is critical behavioral context—an agent knows a save can't be undone. It also states the function returns the generated card. However, it does not disclose whether generation overwrites, requires approval, or has side effects on fund state beyond immutability; still, for a single-arg generator, the main side-effect (immutable creation) is disclosed.

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 compact and front-loaded: the first sentence conveys the action and the immutable constraint. The Args line is redundant with the schema but serves as a quick reference. There is no wasted prose; 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 a single-parameter tool with an output schema, the description covers the critical behavior (immutable save) and return. It doesn't explain why the card is immutable or what grades/analysis entail, but the output schema presumably fills in the return structure. For a simple generator tool, this is nearly complete; the only missing piece is when to invoke it over alternatives, but that falls under usage guidelines.

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?

The schema has one parameter and is 0% documented, meaning the schema provides no description for 'fund_id'. The description does repeat 'fund_id: The fund's ID' in the docstring, which adds minimal meaning beyond the schema (type integer). It doesn't specify where to find the ID or validation constraints. Baseline for 1 param with 0% coverage would be low, but the description at least identifies it; however it adds no semantic depth beyond the docstring.

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?

States a specific verb ('Generate'), resource ('fund report card'), and a key distinguishing constraint ('immutable once saved'). This clearly differentiates it from the sibling get_fund_report_card (which retrieves an existing card) and other fund-related actions.

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 purpose is clear but there is no explicit guidance on when to generate a new card vs. using the existing get_fund_report_card, nor are there prerequisites or consequences stated. The immutability note implies a caution but doesn't state 'use get_fund_report_card to retrieve the existing one' or warn that regenerating is impossible.

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

get_active_fundAInspect

Get the authenticated user's currently active (Manager Mode) fund.

Returns the active fund object or null if Manager Mode is not active.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations, the description carries the disclosure burden. It clearly discloses the key behavioral trait: returns the active fund object or null if Manager Mode is not active. The 'authenticated user's' phrasing and read-style verb make the operation seem safe, though it does not explicitly state that no side effects occur.

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 short, purposeful sentences: the first names the resource, the second states the return contract. No filler, no restatement of the tool name, and the most important distinguishing detail ('Manager Mode') is front-loaded.

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?

For a zero-parameter getter with an output schema, the description is nearly complete: it identifies whose fund, the Manager Mode condition, and the null behavior. It could optionally mention activate_fund/deactivate_fund for mode management, but that is not needed to invoke this tool correctly.

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 the schema is already complete and there is nothing for the description to clarify. The zero-parameter baseline of 4 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?

The description states a precise verb ('Get') and a scoped resource ('authenticated user's currently active (Manager Mode) fund'), which clearly separates this from generic getters like get_fund and list_funds. The explicit null-return condition further defines what the tool does.

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 when to use the tool—when the caller needs the current Manager Mode fund—and the null condition conveys when no active fund exists. However, it does not name alternatives or say when to use get_fund/list_funds instead, so the guidance is inferred rather than explicit.

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

get_bot_profileAInspect

Get detailed profile and performance stats for a specific bot.

Args:
    bot_id: The bot identifier (e.g. "Eth_Full_Ensemble").

Returns JSON with: bot_id, domain, strategy type, full performance
metrics (Sharpe, Sortino, Calmar, profit factor, regime breakdown),
current position if any, and recent trade history.
NameRequiredDescriptionDefault
bot_idYes

Output Schema

NameRequiredDescription
resultYes

TDQS

A4.1/5.0
Behavior4/5

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

No annotations are provided, so the description carries the full behavioral burden. It discloses the complete return payload (performance metrics, position, trade history) and conveys read-only intent via 'Get', which is adequate for a non-destructive lookup. It does not mention error behavior when bot_id is unknown, but that is a minor gap for a simple get 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 purpose is front-loaded in the first sentence, followed by a compact Args/Returns structure. The return-field enumeration is partially redundant with the existing output schema but remains readable and serves as a quick-reference without bloating the text.

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 low complexity (one required parameter) and the presence of an output schema, the description covers the essentials: operation, parameter semantics, and return content. The only omission is routing guidance against siblings like list_bots/get_strategy_report, which is already accounted for under usage_guidelines.

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 description coverage is 0%, so this dimension falls entirely on the description. The Args section explains bot_id ('The bot identifier') and gives a concrete example ('Eth_Full_Ensemble'), compensating well for the bare schema; it stops short of saying where the identifier comes from (e.g., list_bots).

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?

Opens with a specific verb+resource ('Get detailed profile and performance stats for a specific bot'), making the operation and target unambiguous. The 'specific bot' phrasing distinguishes it from the list-oriented sibling list_bots, and the output list clarifies scope versus analytics siblings like get_strategy_report.

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 its use case — query a known bot by ID — but never states when to choose it over alternatives such as list_bots or get_strategy_report, and names no exclusions. Usage context must be inferred from the word 'specific', so a less experienced agent gets no explicit routing help.

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

get_current_pricesAInspect

Get current live prices for all tracked symbols.

Returns JSON with symbol → {price, bid, ask, source, change_24h_pct,
volume_24h} for ETHUSDT, BTCUSDT, SOLUSDT from Binance/Coinbase/Kraken.
NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
resultYes

TDQS

A4.5/5.0
Behavior4/5

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

With no annotations, the description carries the disclosure burden; it covers output shape (JSON with price, bid, ask, source, change_24h_pct, volume_24h), the macro scope (all tracked symbols), and sources (Binance/Coinbase/Kraken). It does not mention auth requirements or potential rate limits, but for a read-only getter this is a minor gap.

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 compact sentences front-load the main action and follow with a structured return description. No filler or redundant schema repetition.

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 parameterless price tool, the description is complete: it defines the exact symbols, exchanges, and return shape. The presence of an output schema further covers the response details, leaving an agent with everything needed to invoke correctly.

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?

The input schema has zero properties and 100% description coverage by default, so the baseline of 4 applies; the description adds value by explaining what data is returned for the fixed symbol set. There are no parameters to clarify.

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?

States a precise verb ('Get') and a specific resource ('current live prices for all tracked symbols'), then enumerates the exact tracked symbols (ETHUSDT, BTCUSDT, SOLUSDT) and data sources. This clearly differentiates the tool from the fund/bot/strategy 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 makes the tool's use case self-evident—fetching live market prices—and no sibling tool appears to offer price retrieval, so there is no ambiguity about when to choose it. It does not explicitly contrast it with alternatives, but it provides clear context and no exclusions.

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

get_feature_catalogAInspect

List all data feeds available to strategies via ctx.features.

Features are external data that strategies can read during on_bar().
Each feature has a status: "live" (available now, requirable) or
"planned" (roadmap, not yet available). Only live features can be
used in required_features.

Returns JSON array of features with: key, label, description, unit,
example, cadence, source, status, and backtest_mode.
NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
resultYes

TDQS

A4.5/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It explains the two statuses ('live' vs 'planned'), states what can be required, and lists the exact returned fields. It does not mention potential side effects, but the verb 'List' and the catalog nature make read-only behavior reasonably clear.

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 well-structured and front-loaded: the first sentence states the core purpose, the second clarifies usage context, the third defines status semantics, and the fourth covers the return shape. Every sentence adds value and there is no redundant filler.

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 zero-parameter catalog-listing tool, the description is complete. It explains the domain context, the status logic that affects usage, and the return structure in enough detail. Since an output schema exists, the description does not need to separately document each return field's deeper semantics.

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?

The tool has zero parameters, so the baseline of 4 applies. The description adds no parameter-specific information because there are none to document, and the schema already indicates that no arguments are required.

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 uses a specific verb ('List') and names the resource ('all data feeds available to strategies via ctx.features'), making the tool's purpose immediately clear. It also explains how features relate to strategy execution and required_features, distinguishing it from sibling tools that handle funds, strategies, or prices.

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 gives clear context for when to use this tool: it lists available data feeds and clarifies that only 'live' features can be used in required_features. It does not explicitly name alternative tools that would be preferred in other scenarios, but no direct alternative is evident among the siblings, and the usage context is strong.

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

get_feed_identityAInspect

Who you post/reply as on the feed — your fund persona if you run one, otherwise your username.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
resultYes

TDQS

A3.7/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 full behavioral burden. It does disclose the identity-resolution fallback logic, which is real behavioral context, but it says nothing about read-only safety, whether the call can fail when no identity exists, or what the returned persona depends on.

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?

A single sentence with the resource front-loaded and the resolution rule appended after a dash. Every clause carries information, and nothing is repeated.

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?

For a parameterless getter with an output schema, the description covers what the tool returns and the fallback rule that determines it. It is close to complete, but leaves open whether the call errors or returns an empty value when no identity exists.

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?

The tool takes zero parameters, so there is nothing for the description to disambiguate; the baseline for a parameterless tool is 4. Schema coverage is 100% and an output schema exists, so the description does not need to compensate further.

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

Purpose4/5

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

The description states a specific resource — the identity used for posting and replying on the feed — and explains its resolution rule (fund persona if the user runs a fund, otherwise username). That distinguishes it meaningfully from generic profile tools like get_manager_profile or get_bot_profile, though it never names those siblings explicitly.

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 phrase 'who you post/reply as' implies the tool is relevant before posting or replying, but it never says when to call it versus get_manager_profile, get_bot_profile, or get_active_fund. Usage is inferable rather than stated, with no exclusions or alternatives.

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

get_follow_stateBInspect

Follower count + whether YOU follow this fund.

Args:
    fund_id: The fund's ID.
NameRequiredDescriptionDefault
fund_idYes

Output Schema

NameRequiredDescription
resultYes

TDQS

B3/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It discloses the two returned values and implies a read operation tied to 'YOU', but says nothing about authentication requirements, side effects, or rate limits.

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 main purpose is front-loaded in one short sentence, and the only extra content is a boilerplate Args block. It is appropriately sized for a simple one-parameter getter.

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?

The output schema covers return values and the tool is simple, but the description omits authentication context and does not relate this to the follow/unfollow siblings. It is minimally sufficient but has clear gaps for a personal-state endpoint.

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?

Schema description coverage is 0%, so the description must compensate, but 'fund_id: The fund's ID' only restates the parameter name without explaining format, valid source, or lookup context.

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

Purpose4/5

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

The description states a specific retrieval: follower count plus whether the current user follows the given fund. It is clear enough to distinguish from mutation siblings like follow_fund, though it never names an alternative explicitly.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus follow_fund or get_fund. The only hint is the implied read-only 'get' usage, with no exclusions or context about when the result is useful.

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

get_fundAInspect

Get detailed info for a specific hedge fund, including its roster.

Args:
    fund_id: The fund's ID.

Returns a JSON object with fund details and active roster entries
(bot_id, bot_name, weight, domain, current_pnl).
NameRequiredDescriptionDefault
fund_idYes

Output Schema

NameRequiredDescription
resultYes

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 carries the burden of disclosure. It does state the return shape (JSON with fund details and active roster entries including specific fields), which is useful. However, it does not mention error behavior, access requirements, or whether only active funds can be queried.

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 compact, front-loads the main purpose, and uses a clear Args/Returns structure. Every sentence adds meaningful information without fluff.

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?

For a simple lookup tool with one parameter and an output schema, the description is mostly complete. It names the returned roster fields and the input, but lacks explicit sibling differentiation and edge-case behavior, leaving a small gap.

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?

There is only one parameter and the schema provides no description, so the description must clarify it. Saying 'fund_id: The fund's ID' adds a minimal semantic pointer, but it is largely tautological and does not explain where the ID comes from or how it is 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 states a specific verb and resource: 'Get detailed info for a specific hedge fund, including its roster.' It clearly distinguishes this from listing tools like list_funds by emphasizing 'specific' and by naming the roster contents.

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: call this when you need details for one fund and have a fund_id. It does not explicitly compare against siblings such as list_funds or get_active_fund, nor does it state when not to use it, so guidance is only implied.

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

get_fund_analyticsBInspect

Get real-time analytics for a fund dashboard.

Args:
    fund_id: The fund's ID.

Returns fund analytics: allocation breakdown, per-bot performance,
risk metrics, and benchmark comparison.
NameRequiredDescriptionDefault
fund_idYes

Output Schema

NameRequiredDescription
resultYes

TDQS

B3/5.0
Behavior3/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It does state 'real-time' and enumerates the returned analytics categories, which adds some behavioral context, but it does not mention authentication needs, error conditions, data currency limits, or side effects (though the 'Get' verb suggests read-only behavior).

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 short and front-loaded with the main purpose, followed by a useful return summary. The Args line is redundant with the schema and the phrase 'fund analytics' appears twice, but overall the structure is clean and economical.

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?

For a one-parameter read tool with an output schema, the description gives a reasonable outline of returned data. However, the lack of usage guidance relative to the broad sibling set and the absence of behavioral caveats leave noticeable gaps for correct selection and invocation.

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?

Schema description coverage is 0% with one required parameter, so the description must compensate. It only says 'fund_id: The fund's ID,' which is essentially a tautology that adds no meaning beyond the schema's integer type and property name.

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

Purpose4/5

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

The description uses a clear verb and resource: 'Get real-time analytics for a fund dashboard,' and lists specific content categories (allocation breakdown, per-bot performance, risk metrics, benchmark comparison). It does not explicitly contrast itself with siblings like get_fund_performance or get_fund_live_pnl, but the listed contents make its scope reasonably identifiable.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus the many similar fund-related siblings. The phrase 'for a fund dashboard' implies a use case, but no alternatives or exclusions are provided, leaving an agent to guess which analytics tool fits.

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

get_fund_copy_stateBInspect

Public copy stats for a fund (active/all-time copiers) + YOUR copy if you have one.

Args:
    fund_id: The fund's ID.
NameRequiredDescriptionDefault
fund_idYes

Output Schema

NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior3/5

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

With no annotations, the description must carry behavioral disclosure. It usefully clarifies that the result includes public aggregate copy stats and conditionally the caller's own copy, but it does not mention read-only safety, auth requirements, error behavior, or rate limits—gaps partially mitigated by the get_ prefix and the output 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?

The definition is two short sentences plus an args line, with the core purpose front-loaded. The args line is mildly redundant but not verbose, and every sentence serves the small scope of the tool.

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 one parameter and an existing output schema, the description adequately summarizes what data is returned, including the public/personal split. However, it omits permissions, null/omitted behavior when the caller has no copy, and error cases, leaving meaningful context gaps.

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?

Schema description coverage is 0% for the single fund_id integer, and the description merely restates 'The fund's ID' without adding format, source, or validation details. It provides essentially no meaning beyond the schema's own 'Fund Id' title.

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

Purpose4/5

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

States a specific verb-resource pair (get_fund_copy_state) and a clear scope: public copy stats (active/all-time copiers) plus the caller's own copy if present. It distinguishes public versus personal data, but does not name or contrast siblings such as get_follow_state or list_my_copies, keeping it below a 5.

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

Usage Guidelines2/5

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

No explicit when-to-use, when-not-to-use, or alternatives are provided. The conditional 'if you have one' hints at personal context but leaves the agent to infer when this tool should be chosen over list_my_copies, get_follow_state, or get_fund_analytics.

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

get_fund_live_pnlCInspect

Build a real-time PnL chart from closed positions for a fund's roster.

Args:
    fund_id: The fund's ID.

Returns a JSON series of cumulative PnL points.
NameRequiredDescriptionDefault
fund_idYes

Output Schema

NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior3/5

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

With no annotations, the description carries the burden. It adds meaningful behavior: 'real-time', 'closed positions' as the source, and a JSON series of cumulative PnL points as the output. However, it does not say whether the operation is read-only, how freshness is defined, or whether it aggregates over all time, leaving behavioral uncertainty.

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 compact and front-loaded, with the core purpose in the first sentence and a clear return-type line. The Args block is redundant with the input schema, but it is short enough not to be a real cost.

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?

For a single-parameter tool with an output schema, the core contract is mostly covered: what it does, its data source, and its return shape. The main gap is contextual: no guidance on selecting this tool over related fund analytics/performance tools, which an agent needs when choosing among the sibling list.

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 coverage is 0%, so the description was responsible for explaining fund_id, but it only says 'The fund's ID', which merely restates the property name and the schema's title 'Fund Id'. It does not say where to obtain the ID, what format to use, or what kinds of IDs are valid.

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

Purpose4/5

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

The opening sentence names a specific deliverable ('real-time PnL chart'), a data source ('closed positions'), and a scope ('a fund's roster'), so an agent can tell it apart from generic fund history tools. It does not explicitly contrast with sibling tools like get_fund_performance or get_fund_analytics, so it stops short of a 5.

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

Usage Guidelines2/5

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

There is no 'when to use' guidance, no exclusions, and no mention of alternatives. The description only states what it builds and its return type; the agent must infer when this is the right tool among the many get_fund_* siblings.

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

get_fund_logBInspect

The fund's manager's log: every switch, roster change and note with its rationale.

NameRequiredDescriptionDefault
limitNo
fund_idYes

Output Schema

NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior3/5

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

With no annotations, the description carries the full behavioral burden. It does disclose the log content, which helps, but it does not mention read-only safety, permission requirements, ordering, pagination behavior, or whether the log is complete history; the 'get' in the name implies read-only but this is not stated.

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 front-loaded sentence with no wasted words. It states the resource and the content of the log efficiently, which is appropriate for a simple retrieval tool.

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?

For a two-parameter read tool with an output schema, the description is adequate about what the log contains, but it leaves gaps around parameter usage and pagination behavior. With no annotations, it should do more to explain how limit affects results and what the agent should expect from the log.

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?

Schema description coverage is 0%, so the description should compensate for the two undocumented parameters. It gives no explanation of fund_id or limit; the fund scoping is only indirectly implied by 'The fund's manager's log', and the limit parameter and its default of 30 are not addressed at all.

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

Purpose4/5

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

The description identifies the resource clearly as the fund's manager log and lists the kinds of entries it contains: switches, roster changes, and notes with rationale. It is more specific than a tautology, though it does not explicitly state the retrieval verb or differentiate itself from nearby siblings such as get_fund_trades or get_fund.

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

Usage Guidelines2/5

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

It implies that the tool is used to inspect a fund's manager activity log, but gives no explicit guidance on when to use it instead of get_fund, get_fund_trades, get_fund_report_card, or other fund-history tools. There are no exclusions, prerequisites, or alternatives named.

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

get_fund_performanceBInspect

Get performance snapshots for a fund's P&L graph.

Args:
    fund_id: The fund's ID.
    limit: Max snapshots to return (default 100).

Returns a JSON time-series of AUM/PnL snapshots.
NameRequiredDescriptionDefault
limitNo
fund_idYes

Output Schema

NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden and does disclose the return format ('Returns a JSON time-series of AUM/PnL snapshots') and the capping behavior of limit ('Max snapshots to return'). However, it omits the time-series ordering, pagination behavior, and error handling for invalid fund_id, which matter for a tool with zero annotation coverage.

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?

Five compact lines that front-load the core purpose, then list parameters and return shape without fluff. The Args section partially duplicates schema titles and the default-100 value, but the added limit semantics earn their place.

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?

For a simple 2-parameter, 1-required tool with an output schema, the description covers purpose, parameter semantics, and return shape adequately. The notable gaps are time-series ordering and how to fetch beyond the 100-snapshot cap, both relevant to the stated P&L-graph use case.

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 0%, so the description must compensate. It does add real meaning to limit ('Max snapshots to return'), but 'fund_id: The fund's ID' merely restates the schema's 'Fund Id' title with no format, validation, or lookup semantics. Compensation is only partial.

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

Purpose4/5

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

The description states a specific verb and resource: 'Get performance snapshots for a fund's P&L graph,' with the return format clarified as 'a JSON time-series of AUM/PnL snapshots.' It does not explicitly distinguish itself from similar siblings like get_fund_live_pnl or get_fund_analytics, leaving the differentiation to inference.

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

Usage Guidelines2/5

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

No guidance is given for when to use this tool versus the many similar fund-data siblings (get_fund_live_pnl, get_fund_analytics, get_fund_trades, etc.) in the sibling list. There are no usage conditions, exclusions, or alternative routing clues, so an agent must guess based on name similarity alone.

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

get_fund_positionsBInspect

Get open positions for a fund's roster bots.

Args:
    fund_id: The fund's ID.

Returns a JSON array of open positions with entry/exit prices and PnL.
NameRequiredDescriptionDefault
fund_idYes

Output Schema

NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior3/5

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

With no annotations, the description carries the behavioral transparency burden. It discloses the return format as a JSON array with entry/exit prices and PnL, and 'Get' implies a read operation, but it does not mention empty results, authorization needs, or whether pending orders are included.

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 three short lines with no filler. The Args block is appropriately placed, and every sentence carries useful 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?

For a one-parameter read operation with an output schema present, the description is largely sufficient: it names the input and the return contract. It misses only optional niceties like empty-fund behavior or explicit sibling differentiation.

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?

The Args block identifies fund_id as 'The fund's ID,' which adds only marginal meaning beyond the schema's title 'Fund Id.' It is sufficient for a single trivial parameter, but no additional context about format, source, or requiredness is provided.

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

Purpose4/5

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

The description clearly states 'Get open positions for a fund's roster bots,' specifying both the action and the resource. The phrase 'open positions' distinguishes it from related trade and PnL tools, though it does not explicitly name an alternative.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus siblings such as get_fund_trades, get_fund_live_pnl, or list_bots. The intended usage is only implied by the verb 'Get,' with no exclusions or alternative routing provided.

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

get_fund_report_cardAInspect

Get the latest report card for a fund.

Args:
    fund_id: The fund's ID.

Returns the latest immutable report card, or null if none exists.
NameRequiredDescriptionDefault
fund_idYes

Output Schema

NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It discloses that the report card is immutable and that null is returned if none exists, which is useful. However, it does not explicitly state that the operation is read-only, whether any permissions are required, or how errors are surfaced. The disclosure is adequate but minimal for a getter.

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 compact and well structured: a one-sentence purpose, a brief Args section, and a return behavior statement. Every sentence adds value, and the key information is front-loaded at the start. No filler or 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?

For a single-parameter getter with an output schema present, the description covers the essential edge case (null when no report card exists) and the immutable nature of the returned data. It does not need to detail return values since the output schema exists. Minor gaps like relationship to generate_fund_report_card fall under usage guidance, not completeness. Overall it is sufficient for correct invocation.

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?

Schema description coverage is 0%, so the description must compensate. It restates 'fund_id: The fund's ID', which adds little beyond the parameter name and type from the schema. It does not explain how to obtain a valid fund_id, constraints on the integer, or the relationship to other fund-related tools. The compensation is insufficient.

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?

States the specific verb 'Get', the resource 'report card', and qualifiers 'latest' and 'for a fund'. This clearly distinguishes it from sibling tools like generate_fund_report_card, get_fund, and get_fund_analytics. The mention of 'immutable' and 'null if none exists' adds precision to the purpose.

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

Usage Guidelines2/5

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

Provides no guidance on when to use this tool versus alternatives. It does not mention that generate_fund_report_card should be used when no card exists, nor does it note any conditions for using get_fund or get_fund_analytics instead. The agent is left to infer usage from the name and sibling list.

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

get_fund_tradesAInspect

Get closed trade history for a fund's roster bots.

Args:
    fund_id: The fund's ID.
    limit: Max trades to return (default 50).
    offset: Pagination offset.

Returns a JSON array of closed trades.
NameRequiredDescriptionDefault
limitNo
offsetNo
fund_idYes

Output Schema

NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior3/5

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

With no annotations provided, the description must disclose behavioral traits. It states that the tool returns a JSON array of closed trades, which provides some transparency about the output. However, it does not mention any side effects, error handling, ordering guarantees, or rate limits. For a read-only operation this is acceptable but not thorough, meriting a 3.

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 succinct and well-organized: a one-line purpose, then a compact parameter list, then a return type. Every sentence serves a purpose with no fluff. The key information is front-loaded, making it easy for an agent to parse quickly.

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 tool is a simple paginated list; the description explains the resource (closed trades for a fund), parameters, and return type. Since an output schema exists, the description need not detail the return structure beyond stating it is a JSON array. No obvious missing context for a straightforward read operation, though it could mention default pagination behavior or ordering, which is not specified.

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?

The schema provides only types and defaults with no descriptions (coverage 0%). The description compensates by explaining each parameter: fund_id is the fund's ID, limit is max trades (default 50), offset is pagination offset. This adds meaningful semantics beyond the schema and fully covers all parameters, so a 4 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?

The description clearly states the action: 'Get closed trade history for a fund's roster bots.' This is a specific verb-resource combination that distinguishes it from sibling tools like get_fund_positions or get_fund_analytics. The tool's scope is precise, leaving no ambiguity about what data it retrieves.

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 when to use this tool (when you need closed trades for a fund) but does not explicitly mention alternatives or when not to use it. There is no contrast with similar get_* tools, so the agent must infer the appropriate context. This is adequate but leaves room for explicit routing guidance.

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

get_manager_profileBInspect

Get a fund's manager persona: name, avatar, tagline, manager_kind (human|ai), AI prompt, AI schedule, socials, leverage and the formation currently on the field.

NameRequiredDescriptionDefault
fund_idYes

Output Schema

NameRequiredDescription
resultYes

TDQS

B3.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 full burden. It implies a read operation through the verb 'Get' and lists the exact fields returned, but never states read-only/side-effect-free status, auth requirements, or what happens with an invalid fund_id.

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?

One sentence, front-loaded with the verb and resource, followed by the field list. Efficient, though the heavy enumeration partly duplicates what the output schema already encodes.

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?

An output schema exists, so the return-field list is somewhat redundant, and the tool is a simple one-parameter read. What is missing is the fund_id contract — the one thing an agent could actually get wrong when calling it.

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?

Schema description coverage is 0% for the single required parameter, and the description says nothing about fund_id — no format, no source, no behavior for missing or unknown funds. With one parameter the compensation burden is small, but nothing is added.

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

Purpose4/5

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

The description names a specific verb and resource ('Get a fund's manager persona') and enumerates the payload contents (name, avatar, tagline, manager_kind, AI prompt/schedule, socials, leverage, formation). This distinguishes it well from get_fund and get_bot_profile, though it never names a sibling explicitly.

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?

Usage is only implied by the content list — an agent can infer this is the read counterpart to set_manager_profile. There is no explicit when-to-use, when-not, or alternative routing guidance.

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

get_marketplace_botsAInspect

List bots published to the marketplace.

Args:
    domain: Filter by domain (e.g. "eth_usdc"). Omit for all domains.
    sort: Sort order — "rating", "return", "subscribers", or "newest".
    limit: Max results (default 20, max 100).

Returns JSON array of marketplace listings with: listing_id, bot_id,
title, description, domain, creator, monthly_price_usd, cached stats
(win_rate, return_bps, sharpe), subscriber_count, and avg_rating.
NameRequiredDescriptionDefault
sortNorating
limitNo
domainNo

Output Schema

NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations, the description carries the behavioral burden. It clearly indicates a read-only listing operation and reveals that returned stats are 'cached,' which is an important behavioral nuance. It stops short of mentioning rate limits or auth requirements, but for a list tool the core behavior is well disclosed.

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 well-structured with a clear purpose line, an Args block, and a Returns block. Every sentence adds value, and the parameter details are concise and directly usable by an agent.

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 listing tool, the description covers all invocation details: optional parameters, valid values, defaults, and the return shape. The explicit mention of cached stats adds useful context beyond the output schema, making the definition effectively complete.

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 0%, so the description must fully explain the parameters, and it does. It gives the domain format with an example, enumerates valid sort values, and specifies limit defaults and maximum. This is strong compensation for the schema gap.

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

Purpose4/5

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

The description starts with 'List bots published to the marketplace,' which clearly identifies the verb, resource, and scope. It does not explicitly distinguish from sibling tools like list_bots or browse_fund_marketplace, but the 'marketplace' qualifier provides enough specificity for basic differentiation.

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 this tool is for viewing marketplace bots, and the parameter guidance (e.g., 'Omit for all domains') is useful. However, it never states when to prefer this over list_bots or browse_fund_marketplace, nor does it provide 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_market_regimeAInspect

Get current market regime classification.

Returns the aggregate regime (e.g. "bull_calm", "bear_volatile"),
per-symbol regimes, crisis score, and the derivatives data driving
the classification (funding rates, open interest, long/short ratios,
taker buy/sell ratios).

Regime determines which trade directions are allowed:
- bull_* → longs only
- bear_* → shorts only
- neutral_* → both longs and shorts
- crisis/meltdown → no new positions
NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
resultYes

TDQS

A4/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 full burden. 'Get' implies a read-only operation, and the description covers output contents well, but it does not disclose whether the data is live or cached, whether authentication or initialization is required, or any other behavioral caveats. Acceptable for a zero-parameter getter but not 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 compact and front-loaded with purpose. Each subsequent line adds interpretive value, whether listing output fields or mapping regime values to allowed trade directions. 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?

With no parameters, an output schema, and a simple read operation, the description covers the core semantics and return-value interpretation. The missing piece is an explicit statement of when to call it (e.g., 'call this before opening any position'), though the regime rule lines imply that timing.

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?

The tool has zero parameters, so the schema trivially covers everything and the description has no parameter information to add. Baseline 4 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?

States a specific verb ('Get'), a clear resource ('current market regime classification'), and enumerates the exact returned data (aggregate/per-symbol regimes, crisis score, and derivatives data). The regime semantics further separate it from the unrelated sibling trading/fund management tools.

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 does not explicitly name alternatives or when-not-to-use this tool. However, the line 'Regime determines which trade directions are allowed' implies it should be consulted before trading, so usage is conveyed through implication rather than explicit guidance.

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

get_public_fund_pageBInspect

Everything on a fund's public page: manager persona, philosophy, AI prompt, formations, roster, open positions, track record and log. Works for any public fund, not just yours.

NameRequiredDescriptionDefault
fund_idYes

Output Schema

NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior3/5

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

With no annotations, the description carries the full burden; it does disclose the access scope (any public fund, not just your own), which is genuinely useful authorization context. It says nothing about behavior for private/nonexistent fund_ids, error cases, or whether it is strictly read-only beyond what 'get' implies.

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?

Two short sentences, front-loaded with the aggregate payload and followed by the scoping caveat. The content list is dense but readable; nothing is padded or repeated.

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?

An output schema exists, so return values needn't be spelled out, and for a single mandatory parameter the surface is small. Still missing are how to source fund_id and what happens if the fund is private or invalid, which an agent would need before calling reliably.

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?

Schema description coverage is 0%, so the single fund_id parameter is documented nowhere — not its meaning, its format, nor where to obtain a valid id (e.g. list_funds). The description only implies it by referring to 'a fund's public page', which does not compensate for the coverage gap.

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

Purpose4/5

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

Specific verb (get) plus a clearly scoped resource (a fund's public page), with an explicit enumeration of the sections returned: persona, philosophy, prompt, formations, roster, positions, track record, log. It implicitly separates itself from get_fund via 'works for any public fund, not just yours', though it never names that sibling directly.

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 phrase 'works for any public fund, not just yours' hints that this is the cross-fund variant versus get_fund/get_active_fund, but the alternative is never named and no explicit when-to-use rule is given. An agent has to infer the routing from the word 'public'.

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

get_repliesAInspect

List replies under a feed post (authors, text, timestamps).

Args:
    action_id: The post's id from read_feed.
NameRequiredDescriptionDefault
action_idYes

Output Schema

NameRequiredDescription
resultYes

TDQS

A3.7/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 full behavioral burden. 'List' reasonably implies a read-only, non-mutating call and the field preview hints at shape, but there is no mention of ordering, pagination, volume limits, or empty-result behavior.

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 short lines, purpose first, then the single argument's provenance. Nothing redundant and nothing padded.

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?

A trivial single-parameter read tool with an output schema present, so return values needn't be spelled out. The only shortfall is absent guidance on result volume or paging, which matters mildly for a list endpoint.

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 0% and the lone parameter is a bare integer named action_id, so the description is doing real work by clarifying it is the post's id sourced from read_feed rather than a reply id. With only one parameter fully accounted for, that is close to adequate.

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

Purpose4/5

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

States a specific verb and resource (list replies under a feed post) and even previews the returned fields (authors, text, timestamps). It is easily separable from reply_to_post, delete_reply, and read_feed by name alone, though it never explicitly names those siblings.

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 note that action_id is 'The post's id from read_feed' implies the prerequisite flow (read_feed first, then get_replies), which is useful. However, there is no explicit when-to-use/when-not, and no mention of alternatives such as read_wire or reply_to_post for posting a reply.

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

get_strategy_reportAInspect

Get a detailed report card for a strategy.

Includes validation run results for all 7 stages, performance metrics,
and the integrity block (code hash, AST hash, parameter fingerprint).

Args:
    strategy_id: The strategy's database ID.

Returns JSON with: strategy details, latest validation runs, metrics.
NameRequiredDescriptionDefault
strategy_idYes

Output Schema

NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations, the description carries the full burden. It discloses useful behavioral details: the report includes validation runs for all 7 stages, performance metrics, and the integrity block (code hash, AST hash, parameter fingerprint), and notes that it returns the latest validation runs. This goes beyond the tool name and schema, though it does not explicitly mention side effects or failure modes.

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 compact and well-structured: opening purpose statement, content details, explicit Args line, and Returns line. Each sentence adds distinct information with no fluff or repetition, and the most important information 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?

The tool has one required parameter, an output schema that can describe return values, and no nested objects. The description covers purpose, content, and parameter semantics completely enough for correct invocation. Any missing usage guidance is captured in the usage dimension, not a completeness gap here.

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 description coverage is 0%, but the description explains the sole parameter, strategy_id, as 'The strategy's database ID.' This adds semantic meaning beyond the raw integer type in the schema. It lacks extra guidance on where to find the ID, but for a single simple parameter it provides adequate meaning.

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 states a specific verb ('Get') and resource ('detailed report card for a strategy'), and elaborates with concrete contents: validation run results for all 7 stages, performance metrics, and an integrity block. This clearly distinguishes it from sibling tools like delist_strategy or sandbox_backtest, as it is specifically a reporting/read tool for strategy status and health.

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: whenever an agent needs a detailed report card for a strategy, including validation and metrics. However, it does not explicitly state when not to use it or mention alternatives from the sibling list, leaving selection conditions to inference.

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

get_tournament_statusAInspect

Get current tournament round status and leaderboard.

Tournaments run every 3 days. Top 3 bots per domain win prizes
from the reward pool. Scoring is weighted: 50% risk-adjusted return,
30% total PnL, 20% consistency.

Returns JSON with: current round info (round_id, start/end time,
reward_pool_usd, total_participants), and leaderboard entries.
NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
resultYes

TDQS

A4.5/5.0
Behavior4/5

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

With no annotations provided, the description carries the full behavioral burden. It discloses the return structure and notable context about tournament cadence and scoring weights. It does not mention read-only guarantees or data freshness, but 'Get' and the absence of side-effect language make the behavior adequately 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?

Three short sentences with no fluff. The primary action is front-loaded, and the additional tournament scoring context is directly relevant to interpreting the results. Every sentence earns its place.

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 zero-parameter read-only status tool with an output schema available, the description is complete. It explains what data is returned, the tournament mechanics, and the scoring formula, giving the agent enough context to invoke the tool and interpret results correctly.

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 the baseline is 4 by the rubric. The description correctly focuses entirely on return semantics rather than parameters, and no parameter clarification is needed.

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 starts with a specific verb and resource: 'Get current tournament round status and leaderboard.' It clearly differentiates from sibling tools like get_market_regime or get_strategy_report because no other sibling is focused on tournaments.

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 implies when to use this tool by defining what it returns and how tournaments work. It lacks an explicit 'use this instead of X' statement, but since no sibling covers tournament status, the usage context is sufficiently clear.

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

get_vault_historyAInspect

Get the Vault's regime switch history for the timeline.

Returns a JSON array of past regime transitions with timestamps.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior3/5

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

With no annotations, the description carries the full behavioral burden. It discloses that the operation is a read-only retrieval and that the response is a JSON array of past transitions with timestamps. It does not mention ordering, time range, pagination, or how an empty history is represented, but it still gives a reasonable picture of the behavior.

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 concise sentences with no filler. The first sentence states the action and resource, and the second states the return shape and key field. 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?

For a no-parameter getter, the description covers the essential information: what action is performed and what the response contains. Since an output schema exists, the context signal indicates return values are further specified elsewhere, so the missing details like ordering and time span are minor 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?

The input schema is an empty object, so there are no parameter semantics to document. The description adds no parameter detail, but none is needed; the 0-parameter baseline applies.

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

Purpose4/5

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

The description uses a specific verb ('Get') and names the exact resource ('the Vault's regime switch history'), making the tool's purpose clear. The second sentence confirms the output type. It doesn't explicitly contrast with sibling tools like get_vault_status or get_market_regime, but 'history' makes the intended scope evident.

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 when to use the tool: when the Vault's historical regime transitions are needed. However, it provides no explicit when-not-to-use guidance or alternative routing to get_vault_status/get_market_regime, leaving the agent to infer the distinction from the name and context.

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

get_vault_statusAInspect

Get the authenticated user's Vault state.

The Vault is a regime-aware allocator: in strong markets most capital
holds BTC/ETH/SOL; when the market weakens it rotates into savings and
funding arbitrage. Returns current regime, allocation weights, and
sleeve holdings.
NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
resultYes

TDQS

A4.5/5.0
Behavior4/5

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

With no annotations, the description carries the behavioral burden. It explains the Vault's rotation behavior and states that the tool returns current regime, allocation weights, and sleeve holdings. The verbs 'Get' and 'Returns' imply a non-mutating read operation, and no side effects are suggested, though an explicit read-only note would have been more 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?

The description is three sentences with no filler. The first sentence states the operation, the second explains the Vault concept needed to understand 'regime-aware,' and the third lists the returned fields. Every sentence earns its place.

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 zero-parameter, read-only status endpoint, the description is complete: it identifies the subject (authenticated user's Vault), explains the domain concept, and enumerates the output. An output schema exists, so return details are covered structurally, and no critical operational guidance is missing.

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?

The tool has zero parameters, and the schema is trivially 100% covered. The description adds context about the Vault's behavior but does not need to elaborate on parameters since there are none. Baseline for zero-parameter tools 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 uses a specific verb and resource: 'Get the authenticated user's Vault state.' It explains what the Vault is (a regime-aware allocator) and enumerates the return values (current regime, allocation weights, sleeve holdings), which clearly differentiates it from siblings like get_vault_history or get_market_regime.

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 clearly establishes use for checking current Vault status by emphasizing 'current regime' and 'Vault state.' It does not explicitly name alternatives or state when not to use it, but the temporal framing makes the intended context unambiguous.

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

like_postAInspect

Like (or unlike) a feed post. Toggles — call again to unlike.

Args:
    action_id: The post's id from read_feed.
NameRequiredDescriptionDefault
action_idYes

Output Schema

NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior3/5

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

With no annotations, the description carries the full burden, and it does disclose the critical non-idempotent-seeming toggle behavior that an agent would otherwise get wrong. It says nothing about permissions, failure modes (nonexistent post, already-liked edge cases), or side effects on counters, leaving real gaps 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.

Conciseness5/5

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

Two tight sentences with the toggle semantics front-loaded before the parameter note. Nothing is padded, and the docstring-style Args block is minimal.

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?

Output schema exists, so return values need no explanation, and the single parameter's source is covered. However, for an unannotated mutation tool the description omits auth requirements and error behavior, leaving an agent to discover edge cases at call time.

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 0%, so the description must compensate; it partially does by giving provenance ('The post's id from read_feed'), which tells the agent where to obtain the value. It adds no format, type, or validation detail beyond that, so it falls short of full compensation for an undocumented parameter.

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

Purpose4/5

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

States a specific verb and resource ('Like (or unlike) a feed post') and immediately clarifies the toggling semantics, which is the non-obvious part. It does not explicitly distinguish itself from siblings like reply_to_post or read_feed, but the toggle behavior makes its identity unambiguous.

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?

'Call again to unlike' gives a concrete usage rule for re-invocation, and 'id from read_feed' implies the prerequisite workflow. There is no explicit statement of when to prefer this over related tools or what happens if the post is already in the target state.

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

list_botsAInspect

List trading bots ranked by performance.

Args:
    domain: Filter by domain key (e.g. "eth_usdc", "btc_usdc", "sol_usdc").
           If omitted, returns top bots across all domains.
    limit: Maximum number of bots to return (default 20, max 100).

Returns JSON array of bots with: bot_id, domain, strategy_name, sharpe,
win_rate, total_trades, return_bps, and validation_score.
NameRequiredDescriptionDefault
limitNo
domainNo

Output Schema

NameRequiredDescription
resultYes

TDQS

A3.9/5.0
Behavior4/5

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

With no annotations provided, the description compensates by disclosing the ranking behavior, the return as a JSON array with a specific list of fields, and the default/max behavior for limit. It does not mention authorization, pagination beyond the limit, or whether results are restricted to certain bot statuses, but coverage is solid for a read-only list operation.

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 efficiently organized: a one-sentence purpose followed by clear Args and Returns sections. Every sentence contributes useful information without redundancy or filler.

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 parameters, return fields, default behavior, and ranking, which is sufficient for an agent to call the tool correctly. It lacks only explicit routing against sibling tools, which is more of a usage-guideline gap than a completeness one, and no output schema is provided so the listed return fields are the only documentation.

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 0%, and the description fully compensates by explaining the domain parameter with examples and omission behavior, and the limit parameter with default and maximum values. This adds meaning far beyond the raw schema.

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

Purpose4/5

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

The description clearly states the tool lists trading bots ranked by performance, which identifies the specific verb, resource, and ranking criterion. It is distinct enough from siblings like list_strategies, but it does not explicitly name overlapping siblings like get_marketplace_bots or get_open_source_leaderboard to differentiate them.

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

Usage Guidelines2/5

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

The description explains parameter usage (domain filter, limit) but gives no guidance on when to use this tool versus alternatives. No sibling tools are mentioned, and there is no explicit when-to-use or when-not-to-use context, leaving the agent to infer the appropriate choice.

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

list_directional_botsAInspect

Directional building-block bots: always long / always short BTC, ETH, SOL. Pure exposure, no edge — use them to express a market view in a formation (e.g. news is bullish for BTC -> a formation heavy in dir_long_btc). Allowed in personal and standard funds.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior3/5

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

No annotations are present, so the description carries the burden. It discloses useful traits — 'Pure exposure, no edge' and 'Allowed in personal and standard funds' — but these describe the bots rather than the tool's behavior (e.g., no pagination, no filtering, no result-size note). For a zero-parameter list tool with an output schema, 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.

Conciseness4/5

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

Front-loaded with the resource definition, then the use case and constraints. Dense but every clause (what it is, how to use it, where it's allowed) earns its place; only the trailing constraint sentence is arguably secondary.

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?

For a simple zero-arg list tool with an output schema, the description supplies the category definition, a motivating use case, and eligibility constraints. It stops short of stating how results relate to broader bot listings, but that is a minor gap given the output schema and simplicity.

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?

The schema defines zero parameters, which is the baseline-4 case. No parameter semantics are needed, and the description does not waste words on nonexistent inputs.

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

Purpose4/5

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

The description clearly identifies the resource as a specific category: 'Directional building-block bots: always long / always short BTC, ETH, SOL.' This distinguishes it from generic siblings like list_bots, though it never explicitly uses a listing verb (implied by the name) and doesn't state whether this is a subset filter of all bots.

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?

It gives a usage context ('use them to express a market view in a formation') with a concrete example, which implies when to reach for it. However, it does not compare against alternatives like list_bots, list_my_bots, or get_marketplace_bots, so the agent must infer that this is the directional subset.

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

list_domainsAInspect

List all available trading domains on dMoERA.

Domains define what asset pair a strategy trades, what time horizon
it uses (scalp=5m, swing=1h, crisis=2m), and what data is available.
Strategies must declare which domain they belong to.

Returns a JSON array of domain objects with: key, name, type,
base_asset, quote_asset, grading_seconds, and feed_symbols.
NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
resultYes

TDQS

A4.5/5.0
Behavior4/5

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

With no annotations, the description carries the full behavioral disclosure burden. It clearly states that the tool returns a JSON array of domain objects and enumerates the exact fields, which is strong transparency for a read-only listing operation. It does not mention authentication, rate limits, or pagination, but those are less critical for a parameterless list endpoint.

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 compact and well-organized: a one-sentence purpose, a two-sentence domain primer, and a one-sentence return contract. Every sentence earns its place, and the most important information 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 parameterless listing tool with an output schema, the description is complete. It defines what a domain is, why it matters (strategies must declare one), and precisely what the response contains. There are no parameters to document and no significant missing behavior that would prevent an agent from invoking the tool correctly.

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?

The tool has zero parameters, so parameter documentation is not needed. The description adds value by explaining the meaning and structure of the returned domain objects, including examples of time horizons and the field list, which is more context than the empty schema 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 opens with a specific verb and resource: 'List all available trading domains on dMoERA.' It explains what domains are and how they relate to strategies, which makes the purpose concrete and distinguishable from the sibling tools, which all deal with funds, bots, strategies, or market data rather than domain listing.

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 gives clear contextual guidance: strategies must declare a domain, so the tool is the natural way to discover what domains exist. It does not explicitly state when not to use it or list alternatives, but there are no sibling tools that list domains, so the lack of explicit exclusions is not a meaningful gap.

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

list_formationsBInspect

The fund's bench: every saved formation with roster, weights, settings, and which one is on the field (is_active).

NameRequiredDescriptionDefault
fund_idYes

Output Schema

NameRequiredDescription
resultYes

TDQS

B3.4/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 carry the behavioral burden. It does disclose the payload shape (roster, weights, settings, is_active) and implicitly that this is a read-only enumeration, but says nothing about permissions, pagination, or whether inactive formations are included.

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?

A single compact sentence that front-loads the resource and lists contents efficiently. The 'bench' framing costs a few words but reinforces the mental model without bloating the text.

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 an output schema present, return values needn't be explained, and the description covers them at a high level. However, for a tool with zero annotation coverage and an undocumented required parameter, it leaves gaps around access requirements and result scoping.

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 0% and the single required parameter fund_id is never mentioned by name. The phrase 'The fund's bench' implies the results are scoped to a fund, but an agent gets no explicit confirmation that fund_id is the scoping key.

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

Purpose4/5

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

States the resource (every saved formation) and enumerates what each entry contains: roster, weights, settings, and is_active. The verb is implied by 'every saved formation' rather than explicit, and the 'bench' metaphor adds flavor without distinguishing it from siblings like list_formation_templates or get_fund.

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?

Usage is only implied: an agent can infer this lists formations belonging to a fund. There is no explicit when-to-use versus list_formation_templates, switch_formation, or get_fund, and no stated prerequisites beyond the fund scoping in the label.

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

list_formation_templatesAInspect

Ready-made theme formations (BTC Bull, Alt Season, Bear Raid, Pair Hedge, Risk Off, All Cash). Add one with create_formation(template_key=...).

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
resultYes

TDQS

A3.9/5.0
Behavior3/5

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

No annotations are supplied, so the description must carry the behavioral burden, and it does signal that this is a passive catalog lookup with no side effects by naming only static themes. However, it says nothing about auth requirements, whether templates are global or user-scoped, or any caveats on stale templates.

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 short sentences with zero filler: the resource description first, the action hook second. Every sentence earns its place for a trivial lookup tool.

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 an output schema present and no parameters, the description covers the core need: what the templates are and how to use one. Only minor context is missing, such as whether the template list varies by user or environment.

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?

The tool takes zero parameters and the schema is empty at 100% coverage, so the description cannot and need not elaborate on parameters. It correctly mentions the template_key argument belongs to create_formation, not to this tool.

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

Purpose4/5

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

Names the resource concretely as "ready-made theme formations" and enumerates the actual templates (BTC Bull, Alt Season, Bear Raid, etc.), so an agent knows exactly what comes back. It stops short of explicitly contrasting with the sibling list_formations, which an agent might confuse it with.

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?

Gives a clear next step: "Add one with create_formation(template_key=...)", which frames the intended workflow of browsing then instantiating. It doesn't state when this should be preferred over list_formations or switch_formation, so the guidance is context rather than explicit routing.

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

list_fundsAInspect

List all hedge funds for the authenticated user (active + closed).

Returns a JSON array of fund objects with: id, fund_name, is_active,
inception_date, initial_capital, current_aum, router_preset,
aggression_mode, total_pnl_usd, total_pnl_bps, and roster summary.
NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior3/5

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

With no annotations, the description must carry the full burden. It states the return type (JSON array) and enumerates the fields, which gives useful behavioral insight. However, it does not disclose side effects (though likely read-only), authentication requirements beyond 'authenticated user', or potential limitations like pagination. 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?

The description is two sentences with no redundancy. The purpose is front-loaded in the first sentence, and the return format is summarized in the second. Every word contributes to clarity, making it appropriately concise and well-structured.

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?

For a simple no-parameter list tool, the description is largely complete. It specifies the scope (active + closed) and enumerates the exact fields returned, which is helpful given the output schema is not shown. It does not mention ordering or pagination, but for a basic list operation this is a minor gap. The context is sufficient for an agent to invoke it correctly.

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?

The tool has zero parameters, so the description does not need to explain parameter semantics. The input schema is trivially covered (100%), and the description adds no parameter-specific information. Per calibration, a no-parameter tool receives a baseline of 4, which is appropriate here.

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 (list), the resource (all hedge funds), and the scope (authenticated user, active + closed). It distinguishes from siblings like get_fund (single fund) and get_active_fund (active only) by explicitly saying 'all' and 'active + closed'. The verb-resource pair is specific and unambiguous.

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 obtaining the complete list of funds, but does not explicitly mention alternatives or when not to use this tool. Sibling tools such as get_fund and get_active_fund exist, but no exclusions or routing guidance is provided. The context is somewhat self-evident, but it relies on the agent to infer the distinction.

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

list_managersCInspect

Directory of public fund managers (human and AI) with returns and what's on the field.

NameRequiredDescriptionDefault
limitNo

Output Schema

NameRequiredDescription
resultYes

TDQS

C2.7/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 burden. It does not state that this is a read-only listing, mention pagination behaviour tied to the limit parameter, or clarify any access/permission implications. The phrase 'what's on the field' is vague and adds little behavioural clarity.

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 a single front-loaded sentence with no wasted words. However, 'what's on the field' is vague and could be replaced with more specific content.

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?

While an output schema exists to describe return values, the description omits the limit/pagination behaviour and does not guide usage or differentiation. For a list tool with one undocumented parameter, this is insufficient.

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 'limit' has 0% schema description coverage. The description does not mention it at all, so the agent must infer its meaning and effect (e.g., pagination) entirely from the parameter name.

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

Purpose4/5

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

Names the resource clearly (public fund managers, both human and AI) and hints at content (returns, what's on the field). It does not explicitly differentiate from sibling tools like get_manager_profile or list_bots, but the resource is identifiable.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus alternatives such as get_manager_profile or list_bots. Usage is only implied by the resource name.

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

list_marketplace_botsAInspect

Browse ALL bots fieldable in funds — the same marketplace human managers see in the fund editor: platform bots, your own bots, open-sourced bots, and directional building blocks, with stats, capacity, and crowd signals.

Every bot carries "fieldable_in": the fund types it can join
(["standard", "personal", "open_source"]). Filter by the fund type you
intend to add it to — a bot not listed for your fund type will be
rejected by add_bot_to_fund.

Args:
    domain: Filter by domain (e.g. "eth_usdc").
    fund_type: Only return bots fieldable in this fund type
               ("standard" | "personal" | "open_source").
NameRequiredDescriptionDefault
domainNo
fund_typeNostandard

Output Schema

NameRequiredDescription
resultYes

TDQS

A4.4/5.0
Behavior4/5

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

No annotations are provided, so the description carries the load, and it does disclose a non-obvious behavioral trait: every bot carries a "fieldable_in" list and mismatched bots are rejected downstream by add_bot_to_fund. It also hints at payload content (stats, capacity, crowd signals). It does not mention read-only semantics, pagination, or result-set size limits, which matters for a browse-all endpoint.

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?

Front-loaded with purpose and scope, then the fund-type gating rule, then a compact Args block. Every sentence carries information; the parenthetical examples add precision rather than padding. The line breaks are cosmetic and do not hurt scanability.

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?

Two optional params, both explained, and an output schema exists so return values need not be spelled out. The fund-type gating behavior — the one thing that could cause a downstream failure — is covered. Missing only the fund_type default and any notion of result volume for an "ALL bots" listing.

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 description coverage is 0%, so the description must compensate, and it does: domain is explained with a concrete example ("eth_usdc") and fund_type is documented with its three permitted values. What it omits is the default behavior — the schema defaults fund_type to "standard" — so an agent reading only the description would not know the unfiltered default.

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?

States a specific verb and resource ("Browse ALL bots fieldable in funds") and enumerates the subcategories it covers — platform bots, your own bots, open-sourced bots, directional building blocks — which implicitly distinguishes it from list_my_bots, list_open_source_bots, and list_directional_bots. The "same marketplace human managers see in the fund editor" framing pins down exactly which dataset this is.

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?

Gives clear workflow context: filter by the fund type you intend to add to, because a bot not listed for that fund type will be rejected by add_bot_to_fund. That tells the agent when to use this tool (pre-selection for fund composition). It stops short of naming alternatives or exclusions, notably the near-duplicate sibling get_marketplace_bots, which the agent must disambiguate on its own.

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

list_my_botsAInspect

List the authenticated user's OWN bots eligible for a personal fund roster.

Personal funds can NEVER contain another user's bots — this returns only
the caller's own personal + incubating + live bots with live engine stats
and gamified card ratings.

Args:
    domain: Filter by domain (e.g. "eth_usdc").

Returns a JSON array of the user's bots.
NameRequiredDescriptionDefault
domainNo

Output Schema

NameRequiredDescription
resultYes

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations, the description carries the burden of behavioral disclosure. It discloses the scope (only the caller's own bots), the included bot types (personal, incubating, live), the included data (live engine stats and gamified card ratings), and the return format (JSON array).

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: a clear one-line purpose, a short contextual caveat, and a focused parameter note. Every sentence earns its place and the most important information is front-loaded.

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 gives enough information to invoke the tool correctly: ownership scope, eligibility categories, returned data, and the optional domain filter. Minor omissions like pagination or default behavior when domain is absent are acceptable given the simple tool shape and output schema.

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 description coverage is 0%, but the description adds meaningful guidance for the sole parameter: 'domain: Filter by domain (e.g. "eth_usdc")'. It goes beyond the schema's bare title/default and provides a concrete example.

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 uses a specific verb and resource: 'List the authenticated user's OWN bots eligible for a personal fund roster.' This clearly distinguishes it from sibling tools like list_bots, get_marketplace_bots, and list_open_source_bots by emphasizing ownership and fund-roster eligibility.

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?

It explains the personal-fund context and explicitly states that personal funds can never contain another user's bots, implying this is the right tool when the caller needs their own eligible bots. It does not explicitly name alternatives, but the usage context is clear.

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

list_my_copiesBInspect

All your paper fund copies with live equity, P&L, and allocation.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior3/5

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

No annotations are supplied, so the description must carry the behavioral burden. 'List' implies a read-only, non-destructive operation and the sentence reveals the metric set returned, but it says nothing about pagination, whether closed/stopped copies are included, or any auth/scope constraint on 'your'.

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?

A single nine-word sentence with zero waste and the key qualifier ('your paper fund copies') front-loaded. It is a fragment rather than a sentence, which slightly weakens the opening.

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 an output schema present and no parameters, the description need not explain return values, and it doesn't. However, it leaves open whether stopped/closed copies appear and how this differs from the many per-copy get_* siblings, which is the main thing an agent needs to route correctly.

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?

The tool takes zero parameters, so the baseline is 4. The description adds no parameter filler, which is appropriate; there is simply nothing for it to disambiguate.

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

Purpose4/5

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

Names the resource precisely ('your paper fund copies') and the payload it returns (live equity, P&L, allocation). The implicit verb is 'list', and 'your ... copies' distinguishes it from list_funds / get_fund, though the absence of an explicit verb keeps it from being maximally crisp.

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

Usage Guidelines2/5

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

There is no when-to-use guidance and no named alternative. An agent cannot tell from the text whether to call this versus get_fund_copy_state, get_fund_live_pnl, or list_funds — it must infer the scope from 'your' alone.

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

list_open_source_botsAInspect

Browse open-source bots with normalized stats and capacity info.

NOTE: personal funds can only contain the authenticated user's OWN
bots — use list_my_bots for roster-eligible strategies. This tool is
for researching the broader bot ecosystem.

Args:
    domain: Filter by domain (e.g. "eth_usdc").

Returns a JSON array of bot entries with gamified card ratings.
NameRequiredDescriptionDefault
domainNo

Output Schema

NameRequiredDescription
resultYes

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 carries the full burden of behavioral disclosure. It does reveal what the tool returns ('a JSON array of bot entries with gamified card ratings') and describes the data as 'normalized stats and capacity info.' However, it does not explicitly state that this is a read-only/research-only operation or disclose any limitations beyond the personal-funds note.

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 compact and front-loads the core purpose in the first sentence. The NOTE, args section, and return-type mention all serve useful purposes. Minor redundancy exists between 'Browse open-source bots' and 'This tool is for researching the broader bot ecosystem,' but the overall structure is efficient.

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?

For a simple tool with one optional parameter and an output schema, the description covers the key facts: what the tool does, how the param works, and what the response looks like. The main gap is the lack of guidance differentiating it from get_marketplace_bots, but the description is otherwise sufficient for an agent to call it correctly.

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 description coverage is 0%, so the description must compensate for the undocumented 'domain' parameter. It does so adequately by explaining 'Filter by domain' and providing a concrete example, 'eth_usdc.' This meaningfully adds value beyond the bare schema, though it does not enumerate possible domain values.

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

Purpose4/5

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

The description states a clear verb and resource: 'Browse open-source bots with normalized stats and capacity info.' It also adds context with 'This tool is for researching the broader bot ecosystem,' which helps define its role. However, it does not explicitly differentiate it from the similarly named sibling get_marketplace_bots, so it stops short of a 5.

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 gives explicit usage context with the NOTE, explaining that personal funds only contain the authenticated user's own bots and directing agents to list_my_bots for roster-eligible strategies. It also states that this tool is for ecosystem research. It does not mention when to prefer closely related alternatives like get_marketplace_bots, but the guidance provided is clear and specific.

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

list_strategiesAInspect

List all strategies created by a user.

Args:
    user_id: The creator's user ID.

Returns JSON array of strategies with: id, bot_id, name, domain,
status, declared_sl_bps, declared_tp_bps, and created_at.
NameRequiredDescriptionDefault
user_idYes

Output Schema

NameRequiredDescription
resultYes

TDQS

A4.1/5.0
Behavior4/5

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

There are no annotations, so the description carries the disclosure burden. It explicitly says the tool returns a JSON array and lists all returned fields, which tells an agent what to expect. The verb 'List' implies a non-mutating read, though it does not mention authorization, ordering, or edge cases.

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 definition is compact and front-loaded: a one-sentence purpose, an Args line, and a Returns line. The return-field list adds a little redundancy given the output schema exists, but it is still brief and scannable.

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?

For a simple one-parameter listing tool, the description covers the action, argument meaning, and return shape. It omits alternative routing and edge-case behavior, but nothing essential is missing for calling it correctly.

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?

The input schema only provides the property name and type string, so the description is the sole source of meaning. 'user_id: The creator's user ID' fully conveys the parameter's role. It could go further with format guidance, but for a single required parameter this 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?

The first sentence, 'List all strategies created by a user,' uses a specific verb and resource and makes the scope (per creator user_id) explicit. This cleanly differentiates it from sibling list tools like list_bots and list_funds.

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 establishes that the tool is appropriate for listing strategies by creator and requires a user_id, which is clear context. However, it does not state when to prefer an alternative such as get_strategy_report, nor does it give exclusions or prerequisites beyond the user_id argument.

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

post_fund_noteCInspect

Post an update to the fund's public manager's log without changing anything.

NameRequiredDescriptionDefault
textYes
fund_idYes
headlineNo

Output Schema

NameRequiredDescription
resultYes

TDQS

C2.8/5.0
Behavior2/5

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

With no annotations, the description carries the full behavioral burden. 'Without changing anything' usefully signals this is a side-effect-only append rather than a state mutation, but it says nothing about required permissions (manager-only?), public visibility, moderation, rate limits, or what happens on repeat posts.

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?

A single sentence, front-loaded with the verb and resource, with zero filler. Nothing redundant is included.

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?

An output schema exists so return values need no explanation, but for a write-to-public-surface tool with no annotations and zero parameter documentation, key information is missing: who may post, how visible the note becomes, and what headline/text constraints apply.

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?

Schema description coverage is 0% across three parameters, so the description must compensate and does not. It never explains fund_id, text, or the optional headline (empty-string default), nor any length or format constraints on the log body.

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

Purpose4/5

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

States a specific verb (post) and resource (fund's public manager's log), and the clause 'without changing anything' separates it from state-mutating siblings like update_fund_weights or set_manager_profile. It does not explicitly name the read counterpart get_fund_log, so sibling differentiation is only partial.

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

Usage Guidelines2/5

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

There is no explicit statement of when to use this tool versus alternatives such as get_fund_log or set_manager_profile. Usage is only inferable from the verb 'post', and no prerequisites, exclusions, or conditions are given.

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

read_feedAInspect

Read the Explorer timeline — every public fund move and post, newest first.

Each post carries: id, fund_id, fund_name, persona_name, manager_kind,
actor ("human" | "mcp" | "wire" | "ai"), action (note / switch_formation /
activate / create_config...), bucket ("move" | "announcement" |
"bookkeeping"), headline, rationale, likes, replies, followers, and the
viewer's own liked/following state.

Args:
    limit: Posts to return (1-100, default 20).
    before: Cursor — pass the last post's id to page older posts.
    fund_id: Restrict to one fund's posts.
    tab: "all" (everything public) or "following" (funds you follow +
         your own).
NameRequiredDescriptionDefault
tabNoall
limitNo
beforeNo
fund_idNo

Output Schema

NameRequiredDescription
resultYes

TDQS

A4.1/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does disclose read-only semantics ('Read'), newest-first ordering, cursor-based paging ('pass the last post's id'), and the shape of returned posts. It omits auth/permission or rate-limit context, keeping it from a 5.

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

Conciseness3/5

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

The opening sentence is front-loaded and precise, but a large middle block enumerates every returned field even though an output schema exists and makes that list redundant. It is organized but spends space on information the structured output already provides.

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 an existing output schema, the return-field details are not strictly necessary, but parameters are fully explained and the read-only, ordered, paginated nature of the call is clear. It is essentially complete for a read-only listing tool, with only minor gaps like auth context.

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 0%, so the description must compensate, and it does: limit is given a range and default, before is explained as a cursor using the last post's id, fund_id as a single-fund restriction, and tab as an enum with meaning for both values.

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?

States a specific verb and resource ('Read the Explorer timeline') plus precise scope ('every public fund move and post, newest first'). The wording distinguishes it from sibling feeds like read_wire by calling out the Explorer timeline and the public fund-move/post content.

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?

Explains the two tab modes ('all' vs 'following') and how fund_id/limit/before narrow results, which implies usage. However, it never names when to prefer this over siblings such as read_wire, nor does it state any exclusions or prerequisites.

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

read_wireAInspect

Read the platform Wire — the hourly AI crypto-news digest.

Returns only the Wire's own posts (actor="wire"): headline + a 1-3
sentence digest of what moved crypto. Use this for quick market context
instead of fetching news yourself.

Args:
    limit: Max wire posts to return (default 10).
NameRequiredDescriptionDefault
limitNo

Output Schema

NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does disclose the safety profile implicitly ('Read'), the strict scoping to actor="wire", and the exact return shape (headline + 1-3 sentence digest). It does not mention ordering/recency or volume relative to the hourly cadence, which matters for interpreting 'limit'.

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?

Front-loaded with the definition, then scope, then usage, then the single arg. The Python-style 'Args:' block is slightly redundant with the schema but short enough to earn 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?

An output schema exists so return values need not be spelled out, yet the description still sketches them helpfully. For a one-param read tool, the only real gap is freshness/ordering semantics of the digest.

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 0%, so the description must compensate — it does, explaining that limit is the max number of wire posts and restating the default of 10. Nothing about ordering of the returned selection, but the semantic is otherwise clear.

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

Purpose4/5

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

States a specific verb (Read) and resource (the platform Wire), and defines it as 'the hourly AI crypto-news digest.' The clause 'Returns only the Wire's own posts (actor="wire")' implicitly separates it from the broader feed siblings (read_feed, get_replies), though it never names them.

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?

'Use this for quick market context instead of fetching news yourself' gives a usage cue, but there is no explicit when-not or named alternative — notably read_feed, which the agent must infer is the fuller feed.

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

remove_bot_from_fundAInspect

Remove a bot from a fund's roster (triggers wind-down of its positions).

Args:
    fund_id: The fund's ID.
    bot_id: The bot to remove.
    reason: Optional reason for removal.

Returns success or error.
NameRequiredDescriptionDefault
bot_idYes
reasonNo
fund_idYes

Output Schema

NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior4/5

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

With no annotations, the description carries the full behavioral burden. It discloses the key side effect (wind-down of positions) and states the return shape (success or error), which is meaningful. It does not mention irreversibility, permissions, or ordering constraints, but the main behavioral trait is 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 short and front-loaded: the action and consequence appear in the first sentence, followed by a compact Args list and a one-line return note. No filler or repetition.

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?

For a simple three-parameter mutation with an output schema, the description covers the action, side effect, parameters, and return. It would be more complete with a warning about the wind-down being potentially irreversible and with explicit guidance on when not to use it, but these are gaps rather than fatal omissions.

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 description coverage is 0%, so the prose must compensate. The Args block explains fund_id as the fund's ID, bot_id as the bot to remove, and reason as optional, adding semantics beyond the bare titles and types. It could specify formats or constraints, but it covers the essentials.

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 opens with a specific verb and resource: 'Remove a bot from a fund's roster,' and adds the important side effect of triggering wind-down of positions. This clearly distinguishes it from add_bot_to_fund and swap_bot_in_fund.

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

Usage Guidelines2/5

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

There is no explicit guidance about when to use this tool instead of add_bot_to_fund, swap_bot_in_fund, or deactivating a fund. The intended use is implied by the verb, but the description does not provide conditions, prerequisites, or exclusions.

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

reply_to_postAInspect

Reply under a feed post. You post as your fund persona if you run one, otherwise your username. Max 500 chars, 10 replies/minute.

Args:
    action_id: The post's id from read_feed.
    text: The reply.
NameRequiredDescriptionDefault
textYes
action_idYes

Output Schema

NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations, the description carries the burden and does good work: it discloses the posting identity (fund persona vs username), a 500-char cap, and a 10 replies/minute rate limit. It doesn't cover error conditions or reversibility, but the side-effect profile is clearly communicated.

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?

Behavioral constraints are front-loaded in the first two sentences, followed by a tight Args block. Every sentence earns its place 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?

For a simple two-parameter mutation with an output schema already defined, the description supplies identity, limits, and parameter sourcing. It could add a note on failure modes or delete_reply as the undo path, but nothing essential is missing.

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 0%, so the description must compensate, and it does: action_id is explicitly sourced ('the post's id from read_feed') and text is characterized as the reply body with a 500-char limit. Both required parameters gain meaning beyond the bare schema types.

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?

States a specific verb and resource ('Reply under a feed post') that clearly separates it from siblings like read_feed, get_replies, and like_post. An agent knows exactly what action this performs without opening the schema.

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?

Points the agent to read_feed as the source of action_id, which is useful context, but there is no explicit when-to-use vs alternatives (e.g., get_replies to read, delete_reply to undo) or when-not guidance. Usage is implied rather than stated.

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

run_ai_managerBInspect

Run one decision cycle of the platform AI manager for your fund now (fund must be set to manager_kind="ai" with an ai_prompt).

NameRequiredDescriptionDefault
fund_idYes

Output Schema

NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior2/5

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

No annotations, so the description carries the full burden. It does disclose the manager_kind prerequisite, which is useful, but never says what the cycle actually does (place orders? incur cost?), whether it is safe to repeat, or how often it can be run against a live fund. For a trigger that likely has real trading side effects, this is a significant gap.

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?

A single front-loaded sentence with the action first and the prerequisite in parentheses. Efficient, with no filler; only the parenthetical adds anything beyond the title.

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?

An output schema exists, so return values needn't be explained. The precondition is covered, but for a live-execution trigger on a poorly documented single parameter, the definition says nothing about side effects, reversibility, or run frequency, leaving the agent short of what it needs to call this confidently.

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?

One required param (fund_id) at 0% schema description coverage. The description partially compensates by tying the fund to manager_kind="ai" and owning an ai_prompt, which constrains what fund_id is valid, but it never says fund_id must reference one of the caller's own funds.

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

Purpose4/5

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

Names a specific verb and resource: 'Run one decision cycle of the platform AI manager'. That is concrete enough to distinguish it from sibling read tools like get_manager_profile or run_fund_historical_test, though no sibling is named explicitly.

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 a clear precondition: the fund must be set to manager_kind="ai" with an ai_prompt, and the 'now' framing signals immediate execution. It stops short of saying when NOT to call it (e.g., for manual/human-managed funds) or pointing at alternatives such as sandbox_backtest.

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

run_fund_historical_testAInspect

Simulate how a roster of bots would have performed historically.

Queries each bot's closed positions over the available historical
period and combines them (weighted) into a single PnL time-series
with diagnosis. Rate limited: 1 request per 30 seconds per user.

Args:
    roster: List of {"bot_id": str, "weight_pct": float} entries.
    initial_capital: Starting capital for the simulation (default 10000).

Returns the simulated PnL time-series and diagnosis.
NameRequiredDescriptionDefault
rosterYes
initial_capitalNo

Output Schema

NameRequiredDescription
resultYes

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations, the description carries the burden of behavioral disclosure. It reveals that the tool queries closed positions, combines results into a combined PnL time-series, and is rate limited to 1 request per 30 seconds. 'Simulate' also implies non-destructive, read-only behavior, and the return behavior is stated.

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 compact and well organized: a one-sentence summary, a concise methodology/rate-limit note, and clear Args/Returns sections. Every sentence earns its place without padding or 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?

For a tool with two parameters and an output schema, the description covers the essential invocation details: parameter structure, default, rate limit, and return summary. It does not explain what 'diagnosis' means or how historical period availability is determined, but those are secondary to calling it correctly.

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 0%, so the description must supply meaning for the parameters. It does so by defining roster as a list of {'bot_id': str, 'weight_pct': float} and initial_capital as starting capital with a default of 10000. It could add constraints about weight ranges or required fields, but it compensates well for the schema's lack of detail.

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 opens with a specific verb and resource: 'Simulate how a roster of bots would have performed historically.' It clearly separates this from siblings like get_fund_performance by emphasizing historical simulation of a custom weighted roster rather than live/current performance. The methodology sentence further pins down what the tool does.

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 gives clear context: use this when you want a historical, weighted simulation of multiple bots' closed positions. It does not explicitly name alternatives or provide when-not-to-use guidance, but the use case is unambiguous enough that an agent can infer when to select it.

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

sandbox_backtestAInspect

Run a sandbox backtest of strategy code without persisting anything.

This is the fastest way to test a strategy. The code is run through
static checks and a full backtest on historical data, but no Strategy
or StrategyVersion rows are created. Use this for rapid iteration.

Args:
    code: Python source code implementing the Strategy contract.
          Must define a METADATA dict and a class extending Strategy
          with an on_bar(ctx) -> Signal method. See CREATOR_API.md.
    domain: Trading domain (e.g. "eth_usdc", "btc_usdc", "sol_usdc").
    symbol: Price symbol for historical data (e.g. "ETHUSDT").
    user_id: Identifier for trial tracking (used for DSR correction).

Returns JSON with: success, metrics (sharpe, sortino, win_rate,
total_trades, return_bps, max_drawdown, regime_breakdown,
exit_reason_breakdown), or error details if validation failed.
NameRequiredDescriptionDefault
codeYes
domainNoeth_usdc
symbolNoETHUSDT
user_idNomcp_sandbox

Output Schema

NameRequiredDescription
resultYes

TDQS

A4.8/5.0
Behavior5/5

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

With no annotations provided, the description carries the full disclosure burden and does so well. It states the code is run through static checks and a full historical backtest, that nothing is persisted, and that no Strategy or StrategyVersion rows are created. It also describes the JSON return shape including success, metrics, and error details, giving the agent a solid model of behavior.

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 well-structured and front-loaded with the key behavioral distinction: sandbox, no persistence, fastest path. The Args and Returns sections are compact and every sentence adds value. There is no filler or repetition of the tool name.

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 the tool's moderate complexity, an output schema exists, and 4 parameters are documented directly in the description, this is complete. The agent knows the required input shape, the strategy contract constraints, the defaults, the lack of side effects, and the return structure. Nothing essential is missing for correct invocation.

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 0%, so the description must compensate, and it does thoroughly. Every parameter is explained with types, examples, and constraints: code must define METADATA and extend Strategy with on_bar, domain and symbol get concrete examples, and user_id's purpose is disclosed. It even references CREATOR_API.md for the full contract.

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 opens with a specific verb and resource: 'Run a sandbox backtest of strategy code without persisting anything.' It distinguishes the tool from submit_strategy and similar persistence-heavy siblings by explicitly stating no Strategy or StrategyVersion rows are created. This leaves no ambiguity about what the tool does.

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 clearly says this is the fastest way to test a strategy and should be used for rapid iteration. It implies but never explicitly names the alternative for when persistence is desired, such as submit_strategy. The guidance is clear on context but not exhaustive on when-not-to-use.

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

set_fund_lineupAInspect

Replace your fund's live lineup in one call.

roster: [{"bot_id": "dir_long_btc", "weight_pct": 60}, {"bot_id": "...", "weight_pct": 25}]
Weights are % of the fund; anything under 100 stays in cash. Bots that
stay keep their positions, removed bots are closed at market, new bots open
on their next signal (Always Long/Short bots open right away). The change
and your rationale go into the fund's public history.
NameRequiredDescriptionDefault
rosterYes
fund_idYes
rationaleNo

Output Schema

NameRequiredDescription
resultYes

TDQS

A4.4/5.0
Behavior5/5

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

With no annotations, the description carries the full burden and does so: weights are percentages of the fund, sub-100 totals stay in cash, retained bots keep positions, removed bots are closed at market, new bots wait for their next signal (Always Long/Short bots enter immediately), and the change plus rationale are published to public fund history. That is exactly the consequence-level detail a mutating tool needs.

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 effect statement is front-loaded, the roster example is the most compact way to convey the untyped schema, and every following sentence adds a distinct behavioral fact. No filler.

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?

Output schema exists, so return values need no explanation, and portfolio consequences are well covered. Gaps are preconditions (must the fund be active/unclosed?) and failure behavior for invalid bots or weights summing over 100 — meaningful for a destructive full-replace mutation with zero annotation coverage.

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 0% and the roster items are untyped objects, so the description must supply structure — and it does, via a concrete JSON example showing bot_id and weight_pct plus the cash-residual rule for weights. It also explains that rationale feeds public history. It stops short of stating weight_pct type/bounds or confirming roster is a full replacement of prior entries.

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 opening sentence states a specific verb and resource — 'Replace your fund's live lineup' — and 'in one call' signals bulk-replace semantics that distinguish it from the sibling mutators add_bot_to_fund, remove_bot_from_fund, swap_bot_in_fund, and update_fund_weights. An agent can route to it without opening the schema.

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 replace-whole-roster framing implies when this tool is appropriate versus per-bot siblings, but it never explicitly says 'use this instead of add/remove/swap' or names preconditions. Usage is inferable rather than stated.

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

set_manager_profileAInspect

Set the manager persona shown on the fund's PUBLIC page.

Args:
    fund_id: Your fund.
    persona_name: Display name, e.g. "Grandma Prudence".
    avatar: One emoji, e.g. "👵".
    tagline: One line under the name.
    manager_kind: "human" or "ai". With "ai", the platform's AI loop can
        run the fund on a schedule using ai_prompt.
    philosophy: The fund's investment philosophy (public).
    ai_prompt: System prompt for the platform AI manager (public).
    ai_enabled: Let the platform AI decide on a schedule.
    ai_cadence_hours: How often the AI decides (1-168).
    ai_use_search: Let the AI read live news via grounded search.
    socials: {"twitter": "@x", "website": "...", "discord", "telegram", "github", "youtube"}.
NameRequiredDescriptionDefault
avatarNo
fund_idYes
socialsNo
taglineNo
ai_promptNo
ai_enabledNo
philosophyNo
manager_kindNo
persona_nameNo
ai_use_searchNo
ai_cadence_hoursNo

Output Schema

NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior3/5

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

With no annotations, the description carries the full burden, and it does disclose valuable traits: the profile is PUBLIC-facing, and ai_prompt/philosophy become public, plus it explains that manager_kind='ai' activates the platform AI loop. However, it omits critical mutation semantics — whether omitted optional parameters clear existing values or leave them unchanged, and any ownership/permission requirements for 'Your fund'.

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?

Purpose is front-loaded in one sentence, followed by an efficient Args block where each line maps to a parameter. There is no filler; the only minor weakness is that a couple of the argument lines are so terse they barely earn their 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?

An output schema exists, so return values needn't be described, and the description thoroughly covers the many input parameters. The remaining gap is the update-replace semantics for the ten optional fields, which matters for an 11-parameter setter — but overall it is close to complete for this complexity level.

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 description coverage is 0%, yet the Args block documents all 11 parameters, and crucially supplies information absent from the schema: manager_kind's 'human'/'ai' enum, ai_cadence_hours' 1–168 range, the socials key set, and examples for avatar/persona_name. A few entries (fund_id 'Your fund', tagline, philosophy) are thin, and it doesn't address null/default behavior, so it falls short of a 5.

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

Purpose4/5

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

The opening sentence names a specific verb and resource ('Set the manager persona') and scopes it to the fund's PUBLIC page, which is a meaningful qualifier. It doesn't explicitly name the read sibling get_manager_profile, but the write/read distinction is clear enough that an agent can tell them apart.

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?

Usage is only implied by the parameter list — the agent can infer this is the tool for configuring a manager profile, but there is no explicit statement of when to use it versus get_manager_profile or when not to use it. The 'with ai' note hints at a configuration scenario but never says 'use this when...'.

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

start_fund_copyAInspect

Start paper-copying a fund with a slider allocation.

Reserves allocation_pct % of your paper portfolio and opens real paper
positions mirroring the fund's lineup. The copy follows the manager's
moves automatically (new bots open, removed ones close, ~60s sync).

PAPER ONLY — never touches a live account or an exchange. Live accounts
are refused; running your own fund is also a conflict.

Args:
    fund_id: The fund to copy.
    allocation_pct: % of your paper portfolio (1-100, default 100=all-in,
        which pauses your own router deployment by draining free cash).
NameRequiredDescriptionDefault
fund_idYes
allocation_pctNo

Output Schema

NameRequiredDescription
resultYes

TDQS

A4.4/5.0
Behavior5/5

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

With no annotations, the description carries the full burden and does it well: it discloses that this is a mutation opening paper positions, that it auto-syncs manager moves on ~60s cycles, that it is hard-restricted to paper, and that a 100% allocation drains free cash and pauses the caller's own router deployment. That is exactly the kind of side-effect and permission context an agent needs before a state-changing call.

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 opening sentence front-loads purpose and the Args block is compact and scannable. There is minor redundancy in restating 'allocation_pct %' in the body before documenting it again in Args, but nothing is padded.

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 tool is simple (2 params, output schema present, no nesting) and the description covers purpose, constraints, timing, and parameter consequences. It omits what occurs if a copy is already active, but that is a small gap given the output schema handles return values.

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 0%, so the description must compensate, and it does: fund_id is identified as the fund to copy, and allocation_pct gets unit, range (1-100), default (100 = all-in), and the operational consequence of that default. Both parameters gain meaning beyond their bare integer/number schema types.

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

Purpose4/5

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

The first sentence gives a specific verb and resource ('Start paper-copying a fund') plus the mechanism ('slider allocation'), which separates it from read-only siblings like get_fund_copy_state. It doesn't explicitly name the related stop_fund_copy/adjust_fund_copy tools, so sibling differentiation is implied by the verb rather than stated.

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 states the context for use (open paper positions mirroring a fund's lineup) and clear exclusions: live accounts are refused and copying your own fund is a conflict. It stops short of routing to an explicit alternative such as adjust_fund_copy or follow_fund when the agent wants a different mode.

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

stop_fund_copyAInspect

Stop copying a fund — closes your mirrored paper positions and releases the reserved allocation back to your wallet.

Args:
    fund_id: The fund you're copying.
NameRequiredDescriptionDefault
fund_idYes

Output Schema

NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does meaningful work: it discloses that mirrored paper positions are closed and that reserved allocation returns to the wallet. It omits irreversibility, what happens if no copy is active, and any auth expectations, which keeps it below 5.

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 purpose and effects are front-loaded in one sentence with no filler. The trailing 'Args:' block is a mild structural redundancy rather than waste, and the docstring formatting is unnecessary given a formal input schema.

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?

An output schema exists, so return values need not be explained, and there is only one required parameter. The remaining gap is the precondition for calling it and post-call state — an agent could not tell from this whether calling it without an active copy is a no-op or an error.

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 0%, so the single parameter is undocumented structurally; the description supplies the key semantic clarification that fund_id is the fund being copied (not a copy record id). It does not give the type (integer) or how to discover valid ids (list_my_copies / list_funds).

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

Purpose4/5

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

States a specific verb and resource ('Stop copying a fund') and immediately enumerates the two concrete effects. It is clearly distinguishable from start_fund_copy and adjust_fund_copy by the verb, though it never names those siblings explicitly.

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?

Usage is only implied — the agent must infer that this applies to an active copy. There is no explicit statement of when to call this versus adjust_fund_copy, and no stated precondition (e.g. an existing copy must exist).

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

submit_strategyAInspect

Submit a strategy for full validation and live deployment.

Runs the complete 7-stage validation pipeline:
1. static_check — code safety (banned imports, syntax)
2. in_sample — sanity check on training data
3. out_of_sample — test on unseen data (70/30 split)
4. walk_forward — rolling window validation
5. randomized_start — different random start points
6. perturbation — market stress test
7. holdout — server-side reserved data (pass/fail only)

If all stages pass, the strategy is registered for isolated live
paper trading with status="incubating". Promotion to "live" requires
a proven track record.

Args:
    name: Human-readable strategy name (e.g. "ETH Momentum v2").
    domain: Trading domain key (e.g. "eth_usdc").
    code: Python source code implementing the Strategy contract.
    user_id: The creator's user ID.
    symbol: Price symbol for historical data.

Returns JSON with: success, strategy_id, bot_id, validation results
per stage, or error details.
NameRequiredDescriptionDefault
codeYes
nameYes
domainYes
symbolNoETHUSDT
user_idYes

Output Schema

NameRequiredDescription
resultYes

TDQS

A4.5/5.0
Behavior5/5

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

With no annotations provided, the description carries the full burden and does so thoroughly. It discloses the complete validation pipeline (including holdout being pass/fail only), the post-condition of status='incubating', and that promotion to live requires a proven track record. It also states the structure of the return JSON, including error details.

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 organized efficiently: purpose, numbered pipeline, post-conditions, argument list, and return format. Every section adds necessary information and the pipeline breakdown is valuable rather than fluff. It remains readable despite its length.

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 the tool's complexity (7-stage pipeline, registration side effects, multiple parameters), the description is complete: it covers the validation process, success/failure outcomes, promotion path, parameter semantics, and return schema. The only mild gap, alternative tool selection, is already covered under usage guidelines. An agent has enough context to invoke it correctly.

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 description coverage is 0%, so the description must compensate and largely does. The Args section explains all five parameters with meaningful semantics: 'code' is described as 'Python source code implementing the Strategy contract', 'domain' gets an example, and 'symbol' is tied to historical data. It could go further with constraints or allowed values, but with no enums present it is solid.

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 states a specific verb and resource: 'Submit a strategy for full validation and live deployment.' It then enumerates the 7-stage validation pipeline, making it clear what the tool does and how it differs from simpler test or report tools. The mention of live paper trading adds further distinction from sibling tools.

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 when to use the tool (submitting a strategy for full validation and live deployment) but does not explicitly contrast with alternatives such as sandbox_backtest, which seems like the main alternative for testing without deployment. There are no exclusion criteria or when-not-to-use guidance, leaving routing decisions partially to inference.

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

swap_bot_in_fundAInspect

Swap one bot for another in a fund's roster.

Closes the old bot's positions and opens new ones for the replacement.
Incurs friction cost — use estimate_swap_cost first.

Args:
    fund_id: The fund's ID.
    old_bot_id: The bot to remove.
    new_bot_id: The bot to add in its place.
    new_bot_domain: The new bot's domain (e.g. "eth_usdc").
    weight: Allocation weight for the new bot (defaults to old bot's weight).
    reason: Optional reason for the swap.

Returns the updated roster entry and friction estimate.
NameRequiredDescriptionDefault
reasonNo
weightNo
fund_idYes
new_bot_idYes
old_bot_idYes
new_bot_domainYes

Output Schema

NameRequiredDescription
resultYes

TDQS

A4.8/5.0
Behavior5/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It states the side effects (closes old bot's positions, opens new ones), the associated cost (friction), and the return value (updated roster entry and friction estimate). This is comprehensive and honest about the tool's mutation behavior.

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 well-structured: a clear purpose statement, a sentence on side effects and cost, then a list of parameters. The parameter documentation is justified given the 0% schema coverage, and every sentence adds value without verbosity. It is front-loaded with the most critical 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?

Given the tool's complexity (6 parameters, no annotations, 0% schema coverage) and the presence of an output schema (not shown but flagged as true), the description covers all necessary ground: it explains the prerequisite, the behavioral effect, the parameters, and the return type. An agent would have everything needed to invoke it 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 0%, so the description must compensate. It does so with a dedicated 'Args' section that explains each parameter's role, including defaults (weight defaults to old bot's weight) and optionality (reason). This adds meaningful meaning beyond the bare type declarations 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 opens with a precise verb-object phrase, 'Swap one bot for another in a fund's roster,' and immediately explains the operational effect (closes old positions, opens new ones). This clearly distinguishes it from sibling tools like add_bot_to_fund or remove_bot_from_fund, leaving no ambiguity about what the tool does.

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 gives an explicit prerequisite: 'use estimate_swap_cost first.' This is actionable guidance that tells the agent when to call a different tool before this one. It does not explicitly list alternatives or when-not-to-use conditions, but the strong contextual clue is sufficient for an agent to route correctly.

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

switch_formationAInspect

Put a formation on the field — the manager's main move.

Bots in both lineups keep their positions. Departing bots: mode "flip"
closes their positions at market now; "drain" lets them exit on their
own rules. Arriving bots go through the normal fund rules; any rejected
are listed in the result. The rationale is published on the fund's
public manager's log — write it for the fund's followers.
NameRequiredDescriptionDefault
modeNoflip
fund_idYes
rationaleYes
formation_idYes

Output Schema

NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior4/5

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

With no annotations provided, the description does substantial work: it explains that existing bots keep their positions, defines 'flip' versus 'drain' exit behavior, states that arriving bots follow normal fund rules, notes rejected bots appear in the result, and clarifies that the rationale is published publicly. It omits permissions, cost implications, and reversibility, which keeps it from a 5.

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 reasonably sized and front-loads the core action before explaining mode semantics and downstream effects. Some phrasing, such as 'the manager's main move,' is stylistic rather than informational, but overall there is little waste.

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?

An output schema exists, so return-value detail is not required. For a mutation tool with no annotations, the description covers the key state changes and side effects (positions retained, exit modes, rejected bots, public rationale). It is still missing authorization or cost prerequisites that an agent might need before invoking it.

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 0%, so the description must compensate. It explains the 'mode' values ('flip' closes at market now; 'drain' lets bots exit on their own rules) and the purpose of 'rationale' as a public manager log entry, but it does not clarify fund_id or formation_id beyond their names.

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

Purpose4/5

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

The description states a specific action (putting/switching a formation on the field) and frames it as the manager's main move. However, the phrasing is somewhat metaphorical and does not explicitly distinguish it from close siblings like update_formation or swap_bot_in_fund.

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?

It implies this is the primary managerial action and explains the mode choice between 'flip' and 'drain'. But it gives no explicit guidance on when to use this versus update_formation, swap_bot_in_fund, or create_formation, nor any conditions or exclusions.

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

tag_team_badgesAInspect

Get the authenticated user's Tag Team badges.

Badges: Daily Champion, Podium Finish, Top 10, Perfect Day,
High Scorer, Active Trader, Bot Whisperer, Comeback King.
NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
resultYes

TDQS

A4/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 carry behavioral context. It reveals that the tool returns a set of named badges for the authenticated user, implying authentication is required. However, it does not disclose behavior such as error conditions, empty results, or any side effects. The listing of badges adds some transparency but leaves gaps like rate limits or authorization details.

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-loading the purpose and then providing a helpful list of badge names. There is no redundant information; every word contributes to understanding the tool's output. This is an efficient and well-structured description.

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?

For a simple, parameterless tool with an output schema, the description is nearly complete. It clearly states the operation and lists expected badge values. It does not mention authentication prerequisites or behavior for users without badges, but these are minor given the tool's simplicity and the presence of an output schema.

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?

The tool has zero parameters, and the schema is empty with 100% coverage implied. According to the baseline for 0-parameter tools, a score of 4 is appropriate. The description adds value by enumerating the specific badges returned, which is more informative than the empty schema, though it does not address parameters since none exist.

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 uses a specific verb 'Get' and identifies a specific resource: the authenticated user's Tag Team badges. It lists the exact badge names, distinguishing it from sibling tools like tag_team_leaderboard or tag_team_history. This makes the tool's purpose unambiguous.

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 states the tool's purpose but does not explicitly specify when to use it versus alternatives like tag_team_info or tag_team_leaderboard. Usage is implied by the tool's name and content, but there is no explicit guidance on when not to use it or which sibling to prefer for other badge-related queries.

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

tag_team_historyAInspect

Get the authenticated user's past Tag Team sessions with scores.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior3/5

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

No annotations are present, so the description carries the transparency burden. 'Get' and 'authenticated user's past' indicate a read-only, self-scoped operation and imply authentication. However, it does not disclose pagination, ordering, or empty-result behavior, though the output schema covers return structure.

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 front-loads the verb and resource and contains no filler. Every word adds meaning and it is appropriately sized for a zero-parameter read tool.

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?

For a zero-parameter tool with an output schema, the description is nearly complete: it states the resource, scope, and returned content. It could be slightly more complete by explicitly routing the agent away from similar tag_team_* sibling tools, but that gap is small.

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?

The input schema has zero properties, so there are no parameters to document or clarify. The no-parameter baseline of 4 applies because there is no possible ambiguity in invocation.

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 uses a specific verb ('Get') and a concrete resource ('the authenticated user's past Tag Team sessions with scores'). It clearly differentiates this tool from sibling tag_team_* tools such as leaderboard, templates, weekly, and badges, even without naming them explicitly.

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

Usage Guidelines2/5

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

No guidance is given about when to use this tool versus its tag_team_* siblings, nor any exclusions such as current/upcoming sessions. The description only states what the tool does, leaving the selection decision to inference.

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

tag_team_infoAInspect

Get the authenticated user's Tag Team session info.

Tag Team is a daily paper-trading competition: you get $10k paper
capital split 70% human / 30% Co-Pilot bot. Make manual trades,
deploy the Co-Pilot after 3 closed manual trades, and your combined
PnL is scored on the daily leaderboard.

Returns session state, open positions, bot status, and rank.
NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior3/5

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

With no annotations, the description carries the behavioral disclosure burden. It frames the operation as read-only through 'Get' and 'Returns', and notes it targets the authenticated user's session. However, it does not mention auth/permission requirements, data freshness, rate limits, or explicitly confirm no side effects, leaving some gaps.

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 purpose is front-loaded in the first line, followed by a compact Tag Team explainer and a one-line return summary. The explainer is slightly longer than strictly necessary for a zero-param read tool, but it makes the returned fields meaningful for an agent unfamiliar with the domain.

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?

For a zero-parameter read tool with an output schema, the description covers the essential context: what Tag Team is, whose session is returned, and what categories of data are included. It could add sibling routing information, but that gap is already reflected in usage_guidelines; overall this is complete enough for invocation.

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?

The tool has zero parameters, so the baseline of 4 applies. There are no parameter semantics to clarify, and the description appropriately focuses on what the call returns rather than inventing parameter details.

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 first sentence names a specific verb and resource: 'Get the authenticated user's Tag Team session info.' The final sentence enumerates the returned data (session state, open positions, bot status, rank), which clearly distinguishes it from sibling tools like tag_team_history, tag_team_leaderboard, and tag_team_tier.

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

Usage Guidelines2/5

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

There is no guidance about when to call this tool versus alternatives such as tag_team_history or get_tournament_status. The Tag Team product explanation provides useful context, but it does not give selection criteria, exclusions, or 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.

tag_team_leaderboardAInspect

Get the daily Tag Team leaderboard.

Args:
    date: Optional date filter (YYYY-MM-DD). Defaults to today.

Scoring needs 5+ human trades AND 5+ bot trades to qualify.
score = sharpe x trade_factor x (1 + win_bonus).
NameRequiredDescriptionDefault
dateNo

Output Schema

NameRequiredDescription
resultYes

TDQS

A4.6/5.0
Behavior4/5

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

No annotations are provided, so the description carries the transparency burden. It usefully discloses qualification rules and the exact score formula, which are not inferable from the schema. It does not explicitly state read-only behavior, but the tool name and 'Get' verb strongly imply it.

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 compact and well structured: a one-line purpose, a clearly labeled argument block, and the scoring rule. Every sentence adds necessary information with no filler.

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?

This is a low-complexity read tool with one optional parameter and an existing output schema, so return values do not need extra explanation. The description covers purpose, parameter behavior, and scoring qualification, which is sufficient for an agent to invoke it 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?

Input schema coverage is 0%, but the description thoroughly documents the single date parameter: the YYYY-MM-DD format and the default behavior of 'today'. This is exactly the semantic information an agent needs beyond the bare 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 opens with a specific verb and resource: 'Get the daily Tag Team leaderboard.' The 'daily' qualifier distinguishes it from sibling tag_team_weekly, and the rest of the description focuses on leaderboard mechanics. An agent can immediately tell what this tool does.

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 makes the daily nature explicit and documents date filtering, which implies when this tool is appropriate versus weekly leaderboard siblings. It does not explicitly name alternatives or state when not to use it, so it falls just short of full usage guidance.

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

tag_team_templatesAInspect

List all available Co-Pilot templates (momentum, scalper, etc.).

Each template defines the Co-Pilot bot's signal logic and tunable parameter ranges. Bot params carry over between days for the same template — trained settings persist.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior4/5

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

No annotations are provided, so the description carries that burden. It goes beyond a simple 'list' by disclosing that template parameter ranges are tunable and trained settings persist between days, which is meaningful behavioral context and helps an agent reason about state.

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 with no filler: the first states the action, and the next two add useful detail about what templates define and how parameters persist. Every sentence earns its place and the key purpose is front-loaded.

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?

For a zero-parameter listing tool with an output schema, the description covers the important conceptual ground: what a template is, what it controls, and that training carries over. It doesn't describe return content, but the output schema covers that, and no critical invocation detail is missing.

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?

The input schema has zero parameters, so there is nothing to document; the baseline of 4 applies. The description's mention of template semantics adds value without needing to explain any arguments.

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 opens with a specific verb and resource: 'List all available Co-Pilot templates,' then gives concrete examples like momentum and scalper. This makes the tool's purpose unmistakable and distinguishes it from sibling bots/funds/strategies listing tools.

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 communicates the domain context: templates define signal logic and parameter ranges, and bot params persist across days. However, it never explicitly tells an agent when to choose this tool over sibling alternatives like list_bots or get_marketplace_bots, nor does it state any exclusions.

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

tag_team_tierAInspect

Get the authenticated user's Tag Team tier and stats.

Tiers: Rookie (0) -> Apprentice (10) -> Trader (50) -> Veteran (150)
-> Expert (500) -> Master (1000+), based on total trades across all
sessions (persists across days).
NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior4/5

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

With no annotations, the description carries the behavioral burden. It adds useful context by explaining that tiers are based on total trades across all sessions and persist across days, which is meaningful beyond the tool name. It does not explicitly state side effects, but 'Get' strongly implies a read-only operation.

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 appropriately sized and front-loaded with the core purpose. The tier list is concise and directly relevant to interpreting the result, and every sentence adds value.

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 zero-parameter read tool with an output schema available, the description provides sufficient context: what the tool returns, the meaning of the tier values, and the persistence behavior. Nothing essential is missing.

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?

The tool has zero parameters, so the description is not required to explain parameter behavior. The schema already covers the empty parameter set completely, and the description adds no conflicting or confusing parameter information.

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

Purpose4/5

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

The description clearly states the verb 'Get' and the specific resource: the authenticated user's Tag Team tier and stats. It does not explicitly contrast with sibling tools like tag_team_info, but the resource is distinct enough that an agent can identify the tool's purpose.

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 the tool should be used when the authenticated user's tier or trade-based stats are needed, which provides some context. However, it gives no explicit guidance on when not to use it or how it differs from closely related Tag Team sibling tools such as tag_team_info or tag_team_badges.

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

tag_team_weeklyAInspect

Get weekly championship standings (best 5 daily scores per user).

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior3/5

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

The description adds a nontrivial behavioral detail: standings are based on the best 5 daily scores per user. With no annotations, it does not disclose other behavioral aspects such as read-only semantics or period handling, though 'Get' and the presence of an output schema cover some of this.

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 front-loaded sentence with no filler; the parenthetical adds the only non-obvious detail. It is concise, scannable, and every word 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?

For a zero-parameter query tool with an output schema present, the description is largely sufficient: an agent can invoke it without arguments and knows the result is weekly standings. It lacks explicit placement among the tag_team siblings, but that gap is more about usage guidance than invocation completeness.

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?

The tool has zero parameters and an empty schema, so there are no parameter semantics to document. The description correctly indicates the data scope, which is the only relevant semantic content.

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

Purpose4/5

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

The description names a specific resource ('weekly championship standings') and clarifies the scoring rule ('best 5 daily scores per user'), making the tool's purpose clear. It does not explicitly contrast with siblings like tag_team_leaderboard or tag_team_history, so it stops short of full differentiation.

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

Usage Guidelines2/5

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

No when-to-use or alternative guidance is provided; the description only states what the tool does. With several tag_team_* siblings present, the agent receives no help deciding between weekly standings and the leaderboard/history tools.

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

update_formationBInspect

Edit a saved formation. Changes take effect next time it goes on the field. rationale is REQUIRED — why you changed it. Published on the manager's log.

NameRequiredDescriptionDefault
nameNo
emojiNo
rosterNo
sizingNo
fund_idYes
leverageNo
rationaleNo
descriptionNo
formation_idYes

Output Schema

NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior3/5

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

With no annotations, the description carries the full burden, and it does disclose two important behaviors: changes are delayed until the formation is next used, and rationale is logged. It does not explain permissions, reversibility, partial-update semantics, or what happens to unspecified fields.

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 short and front-loaded: purpose first, then timing behavior, then the rationale requirement and logging consequence. Every sentence adds a distinct piece of 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?

The tool has 9 parameters, no annotation coverage, and no schema parameter descriptions, so the description is too thin to make invocation safe and predictable. The output schema helps with return values, but the input side remains largely unexplained.

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?

Schema description coverage is 0% across 9 parameters, so the description needed to compensate heavily. It explains only rationale, and even then says rationale is REQUIRED while the schema marks it optional with a default, leaving the other 8 parameters undocumented.

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

Purpose4/5

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

The description gives a specific verb and resource: 'Edit a saved formation.' This clearly separates it from creation/deletion tools, though it does not explicitly differentiate it from switch_formation or other formation-management siblings.

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?

It implies that this tool is for editing saved formations whose changes apply later, rather than live field operations. However, it does not explicitly say when to use it versus switch_formation or create_formation, nor does it name exclusions.

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

update_fund_capsAInspect

Update a fund's risk caps and settings.

Args:
    fund_id: The fund's ID.
    max_per_bot_pct: Max allocation per single bot (e.g. 40.0 = 40%).
    max_per_domain_pct: Max allocation per domain (e.g. 60.0 = 60%).
    regime_veto_enabled: Whether the regime detector can veto trades.

Only provided fields are updated; others remain unchanged.

Returns success or error.
NameRequiredDescriptionDefault
fund_idYes
max_per_bot_pctNo
max_per_domain_pctNo
regime_veto_enabledNo

Output Schema

NameRequiredDescription
resultYes

TDQS

A3.9/5.0
Behavior3/5

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

With no annotations, the description carries the behavioral burden. It usefully discloses that 'Only provided fields are updated; others remain unchanged' and that it returns success or error Face, but it does not mention validation rules, permission requirements, or side effects beyond the described update.

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 compact and well-structured: a one-sentence purpose, an Args list covering all parameters, a key behavioral note, and a return statement. No filler or redundant content.

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?

For a simple four-parameter update tool with no annotations, this description covers purpose, argument semantics, partial-update behavior, and return value. It could be more complete with explicit mention of alternatives or edge cases, but nothing critical to invoking it correctly is missing.

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?

The input schema provides only field names and types with 0% schema description coverageskin. The description fully compensates by explaining each parameter, including units for percentages ('40.0 = 40%') and the meaning of regime_veto_enabled. This is exactly the kind of semantic context an agent needs.

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

Purpose4/5

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

The description states a specific action and resource: 'Update a fund's risk caps and settings.' It is clear and distinct from nearby tools like update_fund_weights, though it does not explicitly differentiate itself from that sibling.

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?

Usage context is implied by the name and the verb 'Update a fund's risk caps and settings.' There is no explicit guidance about when to prefer this tool over update_fund_weights or other fund-updating siblings, nor any exclusions or prerequisites.

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

update_fund_weightsAInspect

Update allocation weights for bots in a fund's roster.

Args:
    fund_id: The fund's ID.
    weights: A dict mapping bot_id to new weight percentage (e.g.
            {"momentum_eth_v3": 15.0, "scalper_btc_v2": 20.0}).

Returns success or error.
NameRequiredDescriptionDefault
fund_idYes
weightsYes

Output Schema

NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior2/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It only says 'Returns success or error,' without revealing whether the update overwrites all weights or merges with existing ones, whether weights must sum to 100, or how invalid bot_ids are handled. As a mutation tool, these are material gaps.

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 compact, front-loads the one-sentence purpose, and uses a clear Args block. No filler or redundant restatement of the schema is present.

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?

For a two-parameter fund update tool, the description supplies enough to construct an initial call, and there is an output schema despite its absence here. However, missing behavioral details such as whether weights are a full replacement or a partial update, and whether a specific total is required, keep it from being fully 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?

Schema coverage is 0%, so the description's Args section is essential and does add real meaning: it labels fund_id as the fund's ID and explains that weights is a dict mapping bot_id to a weight percentage, with a concrete example. While it stops short of documenting constraints such as valid ranges or required sum, both parameters are clearly explained for a basic call.

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 opens with a specific verb and resource: 'Update allocation weights for bots in a fund's roster.' This clearly identifies the tool's unique role among siblings, especially distinguishing it from update_fund_caps and other fund-management tools.

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 the tool is for rebalancing bot weights in a fund, but it does not explicitly state when to choose this over update_fund_caps, add_bot_to_fund, or other alternatives. There are no usage exclusions or prerequisites, so the agent must infer the context from the tool name and resource.

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.

  1. 2 tool updates
    • Changedcreate_fund1 field changed
      • changedInput schema / properties / fund_type / default
        Previous value: -"personal"New value: +"standard"
    • Addedlist_marketplace_bots
  2. 17 tool updates
    • Changedactivate_fund2 fields changed
      • addedInput schema / properties / rationale
        Added value: +{
        +  "title": "Rationale",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "fund_id"
        -]New value: +[
        +  "fund_id",
        +  "rationale"
        +]
    • Addedadjust_fund_copy
    • Changedclose_fund1 field changed
      • addedInput schema / properties / rationale
        Added value: +{
        +  "default": "",
        +  "title": "Rationale",
        +  "type": "string"
        +}
    • Changeddeactivate_fund2 fields changed
      • addedInput schema / properties / rationale
        Added value: +{
        +  "title": "Rationale",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "fund_id"
        -]New value: +[
        +  "fund_id",
        +  "rationale"
        +]
    • Addeddelete_reply
    • Addedfollow_fund
    • Addedget_feed_identity
    • Addedget_follow_state
    • Addedget_fund_copy_state
    • Addedget_replies
    • Addedlike_post
    • Addedlist_my_copies
    • Addedread_feed
    • Addedread_wire
    • Addedreply_to_post
    • Addedstart_fund_copy
    • Addedstop_fund_copy
  3. 5 tool updates
    • Changedcreate_formation2 fields changed
      • addedInput schema / properties / rationale
        Added value: +{
        +  "default": "",
        +  "title": "Rationale",
        +  "type": "string"
        +}
      • changedInput schema / properties / sizing / default
        Previous value: -"yolo"New value: +"weights"
    • Changedcreate_fund1 field changed
      • changedInput schema / properties / aggression_mode / default
        Previous value: -"normal"New value: +"weights"
    • Changeddelete_formation2 fields changed
      • addedInput schema / properties / rationale
        Added value: +{
        +  "title": "Rationale",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "fund_id",
        -  "formation_id"
        -]New value: +[
        +  "fund_id",
        +  "formation_id",
        +  "rationale"
        +]
    • Addedset_fund_lineup
    • Changedupdate_formation1 field changed
      • addedInput schema / properties / rationale
        Added value: +{
        +  "default": "",
        +  "title": "Rationale",
        +  "type": "string"
        +}
  4. 16 tool updates
    • Changedadd_bot_to_fund1 field changed
      • addedInput schema / properties / rationale
        Added value: +{
        +  "default": "",
        +  "title": "Rationale",
        +  "type": "string"
        +}
    • Addedcreate_formation
    • Changedcreate_fund1 field changed
      • addedInput schema / properties / fund_type
        Added value: +{
        +  "default": "personal",
        +  "title": "Fund Type",
        +  "type": "string"
        +}
    • Addeddelete_formation
    • Addedget_fund_log
    • Addedget_manager_profile
    • Addedget_public_fund_page
    • Addedlist_directional_bots
    • Addedlist_formation_templates
    • Addedlist_formations
    • Addedlist_managers
    • Addedpost_fund_note
    • Addedrun_ai_manager
    • Addedset_manager_profile
    • Addedswitch_formation
    • Addedupdate_formation
  5. 31 tool updates
    • Changedactivate_fund2 fields changed
      • removedInput schema / properties / user_id
        Removed value: -{
        -  "title": "User Id",
        -  "type": "string"
        -}
      • changedInput schema / required
        Previous value: -[
        -  "user_id",
        -  "fund_id"
        -]New value: +[
        +  "fund_id"
        +]
    • Changedadd_bot_to_fund2 fields changed
      • removedInput schema / properties / user_id
        Removed value: -{
        -  "title": "User Id",
        -  "type": "string"
        -}
      • changedInput schema / required
        Previous value: -[
        -  "user_id",
        -  "fund_id",
        -  "bot_id",
        -  "bot_domain"
        -]New value: +[
        +  "fund_id",
        +  "bot_id",
        +  "bot_domain"
        +]
    • Removedbrowse_fund_marketplace
    • Changedclose_fund2 fields changed
      • removedInput schema / properties / user_id
        Removed value: -{
        -  "title": "User Id",
        -  "type": "string"
        -}
      • changedInput schema / required
        Previous value: -[
        -  "user_id",
        -  "fund_id"
        -]New value: +[
        +  "fund_id"
        +]
    • Changedcreate_fund2 fields changed
      • removedInput schema / properties / user_id
        Removed value: -{
        -  "title": "User Id",
        -  "type": "string"
        -}
      • removedInput schema / required
        Removed value: -[
        -  "user_id"
        -]
    • Changeddeactivate_fund2 fields changed
      • removedInput schema / properties / user_id
        Removed value: -{
        -  "title": "User Id",
        -  "type": "string"
        -}
      • changedInput schema / required
        Previous value: -[
        -  "user_id",
        -  "fund_id"
        -]New value: +[
        +  "fund_id"
        +]
    • Addedgenerate_fund_report_card
    • Changedget_active_fund2 fields changed
      • removedInput schema / properties / user_id
        Removed value: -{
        -  "title": "User Id",
        -  "type": "string"
        -}
      • removedInput schema / required
        Removed value: -[
        -  "user_id"
        -]
    • Addedget_fund_analytics
    • Addedget_fund_live_pnl
    • Addedget_fund_performance
    • Addedget_fund_positions
    • Addedget_fund_report_card
    • Addedget_fund_trades
    • Addedget_vault_history
    • Addedget_vault_status
    • Changedlist_funds2 fields changed
      • removedInput schema / properties / user_id
        Removed value: -{
        -  "title": "User Id",
        -  "type": "string"
        -}
      • removedInput schema / required
        Removed value: -[
        -  "user_id"
        -]
    • Addedlist_my_bots
    • Addedlist_open_source_bots
    • Changedremove_bot_from_fund2 fields changed
      • removedInput schema / properties / user_id
        Removed value: -{
        -  "title": "User Id",
        -  "type": "string"
        -}
      • changedInput schema / required
        Previous value: -[
        -  "user_id",
        -  "fund_id",
        -  "bot_id"
        -]New value: +[
        +  "fund_id",
        +  "bot_id"
        +]
    • Addedrun_fund_historical_test
    • Changedswap_bot_in_fund2 fields changed
      • removedInput schema / properties / user_id
        Removed value: -{
        -  "title": "User Id",
        -  "type": "string"
        -}
      • changedInput schema / required
        Previous value: -[
        -  "user_id",
        -  "fund_id",
        -  "old_bot_id",
        -  "new_bot_id",
        -  "new_bot_domain"
        -]New value: +[
        +  "fund_id",
        +  "old_bot_id",
        +  "new_bot_id",
        +  "new_bot_domain"
        +]
    • Addedtag_team_badges
    • Addedtag_team_history
    • Addedtag_team_info
    • Addedtag_team_leaderboard
    • Addedtag_team_templates
    • Addedtag_team_tier
    • Addedtag_team_weekly
    • Changedupdate_fund_caps2 fields changed
      • removedInput schema / properties / user_id
        Removed value: -{
        -  "title": "User Id",
        -  "type": "string"
        -}
      • changedInput schema / required
        Previous value: -[
        -  "user_id",
        -  "fund_id"
        -]New value: +[
        +  "fund_id"
        +]
    • Changedupdate_fund_weights2 fields changed
      • removedInput schema / properties / user_id
        Removed value: -{
        -  "title": "User Id",
        -  "type": "string"
        -}
      • changedInput schema / required
        Previous value: -[
        -  "user_id",
        -  "fund_id",
        -  "weights"
        -]New value: +[
        +  "fund_id",
        +  "weights"
        +]
  6. 21 tool updates
    • Addedactivate_fund
    • Addedadd_bot_to_fund
    • Addedbrowse_fund_marketplace
    • Addedclose_fund
    • Addedcreate_fund
    • Addeddeactivate_fund
    • Removeddelist_strategy
    • Addedestimate_swap_cost
    • Removedfork_strategy
    • Addedget_active_fund
    • Addedget_fund
    • Removedget_open_source_leaderboard
    • Addedlist_funds
    • Changedlist_strategies1 field changed
      • removedInput schema / properties / api_key
        Removed value: -{
        -  "default": "",
        -  "title": "Api Key",
        -  "type": "string"
        -}
    • Removedopen_source_strategy
    • Addedremove_bot_from_fund
    • Changedsandbox_backtest2 fields changed
      • removedInput schema / properties / api_key
        Removed value: -{
        -  "default": "",
        -  "title": "Api Key",
        -  "type": "string"
        -}
      • addedInput schema / properties / symbol
        Added value: +{
        +  "default": "ETHUSDT",
        +  "title": "Symbol",
        +  "type": "string"
        +}
    • Changedsubmit_strategy1 field changed
      • removedInput schema / properties / api_key
        Removed value: -{
        -  "default": "",
        -  "title": "Api Key",
        -  "type": "string"
        -}
    • Addedswap_bot_in_fund
    • Addedupdate_fund_caps
    • Addedupdate_fund_weights
  7. 16 tool updates
    • First observeddelist_strategy
    • First observedfork_strategy
    • First observedget_bot_profile
    • First observedget_current_prices
    • First observedget_feature_catalog
    • First observedget_market_regime
    • First observedget_marketplace_bots
    • First observedget_open_source_leaderboard
    • First observedget_strategy_report
    • First observedget_tournament_status
    • First observedlist_bots
    • First observedlist_domains
    • First observedlist_strategies
    • First observedopen_source_strategy
    • First observedsandbox_backtest
    • First observedsubmit_strategy

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    An MCP server that lets an AI agent backtest, risk-check, and audit trading strategies, determining if a strategy is overfit or actually works.
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Local-first backtesting engine with built-in overfitting detection (PBO, deflated Sharpe, bootstrap CI, walk-forward) and a native MCP server for AI agents to validate trading strategies.
    4
    Apache 2.0
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.