Skip to main content
Glama

Server Details

Describe a trading strategy in plain English and deploy a live signal model in one call. No signup.

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL

Glama MCP Gateway

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

MCP client
Glama
MCP server

Full call logging

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

Tool access control

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

Managed credentials

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

Usage analytics

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

100% free. Your data is private.
Tool DescriptionsA

Average 4.4/5 across 13 of 13 tools scored. Lowest: 3.2/5.

Server CoherenceA
Disambiguation4/5

Most tools have clearly distinct purposes, though browse_community, find_strategy, and one_shot (community_id) are related and could cause confusion if descriptions are not read carefully. Overall well-differentiated.

Naming Consistency4/5

Overwhelmingly follows a verb_noun pattern (browse_community, find_strategy, generate_strategy, get_deploy_result, etc.). A few exceptions like 'one_shot' and 'top_up' break the pattern but are still clear and memorable.

Tool Count4/5

13 tools cover the major functions of a trading strategy platform (discover, generate, deploy, monitor, account management). The count feels appropriate, though 'stream_test' is diagnotic and may not be needed in all contexts.

Completeness3/5

Covers core workflows well—browse, find, generate, deploy, and get results. However, lacks tools to update or stop a deployed model, and there's no way to edit an existing strategy, leaving some lifecycle gaps.

Available Tools

13 tools
browse_communityBrowse Community Strategies (leaderboard)A
Read-onlyIdempotent
Inspect

Browse the public community leaderboard of published strategies, ranked by a composite performance score (best first). No signup or key needed.

Copy-trade flow: call this to find a top strategy, then pass its `id` to
`one_shot` as `community_id` to deploy a live signal model running that
exact strategy in one call.

Args:
  limit: How many top entries to return (default 20, max 200).
  sort: Ranking metric, best-first — one of "composite" (default),
    "ret" (total return), "wr" (win rate), "sharpe", "n_trades". Mirrors
    the quantifyme.ai/community page's sortable columns, so an agent can
    pick the top strategy by the metric it cares about in one call. The
    sorted entries keep their `id`, so the winner is directly deployable
    via one_shot(community_id=...).

Returns:
  dict with:
    - scripts (list[dict]): ranked entries, best first. Each has:
        id (int — pass to one_shot as community_id), username, title,
        description, created_at, score, and metrics {total_ret,
        sharpe_strat, win_rate, n_trades, mdd, profit_factor}. SHOW the
        top few with their win_rate / total_ret so the user can pick one.
    - count (int).
    - metric (str): the sort key applied.
ParametersJSON Schema
NameRequiredDescriptionDefault
sortNocomposite
limitNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior5/5

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

Annotations (readOnlyHint, openWorldHint, idempotentHint) already declare safety. The description adds rich behavioral context: no signup required, public data, sorting behavior (best-first), and that it mirrors the community page. This significantly expands on annotations.

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

Conciseness4/5

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

Well-structured with main purpose first, then use case flow, parameter details, and return format. All sentences are informative, though the description is somewhat lengthy; still 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 browse/list tool with 2 simple parameters and a full output schema described, this is highly complete. It covers return structure (scripts, count, metric), script fields (id, username, title, etc.), and metrics. No gaps given the tool's simplicity.

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 description must compensate. It fully explains limit (default 20, max 200) and sort (list of options, defaults, and meaning of each metric like 'composite', 'ret', 'wr'). Provides context about mirroring the community page columns.

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 explicitly states it browses the public community leaderboard of published strategies ranked by composite score. It distinguishes from sibling tools like find_strategy (search) and one_shot (deploy) by describing the copy-trade flow.

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?

Clearly indicates when to use: to find a top strategy for deployment via one_shot. Mentions no authentication needed. Lacks explicit when-not-to-use or alternative comparisons, but provides clear integration context.

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

find_strategyFind a Matching StrategyA
Read-onlyIdempotent
Inspect

Find an existing PROVEN strategy that matches a plain-English idea, so you can offer the user a choice — deploy the existing one, or generate a fresh custom one. Mirrors the quantifyme.ai landing experience: "Found by @ (WR/PF) — Use it / Generate fresh".

CALL THIS FIRST when a user describes a strategy idea. Then present the match
(if any) and ASK which they want:
  • Use it          → one_shot(community_id=<match.community_id>) — deploys the
                      exact proven strategy (free, no generation).
  • Generate fresh  → one_shot(prompt="<their description>") — Claude writes a
                      brand-new custom strategy for them.
If there's no match, just offer to generate fresh.

Args:
  description: the user's strategy idea in plain English (e.g. "buy EURUSD
    15min when RSI < 30, sell when RSI > 70").
  symbol: optional pair to constrain the match (EURUSD, USDJPY, GBPUSD,
    USDCHF, USDCAD, AUDUSD, NZDUSD).
  timeframe: optional granularity to constrain the match (1min/5min/15min/1h).

Returns:
  dict with:
    - match: the best existing strategy, or null. When present:
        {community_id, title, username, wr, pf, ret, n_trades, symbol,
         timeframe}. Pass community_id to one_shot to deploy it unchanged.
    - description: echoed back — pass as one_shot(prompt=...) to generate fresh.
    - suggestion: a ready-to-show sentence offering the user the choice.
ParametersJSON Schema
NameRequiredDescriptionDefault
symbolNo
timeframeNo
descriptionYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior4/5

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

Annotations already provide readOnlyHint, openWorldHint, idempotentHint. Description adds context about mirroring a landing experience, returning match or null, and a suggestion sentence. It also explains the output structure and how to use community_id. No contradictions.

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

Conciseness4/5

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

Well-structured with sections for purpose, usage, args, and returns. Somewhat long but all content is valuable for correct tool invocation. Could be slightly tighter, but it earns 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?

Description fully covers the tool's role in the workflow, details all input parameters with examples, and describes the return dict comprehensively. Given the presence of an output schema and sibling tools, the description is complete and actionable.

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?

Despite 0% schema description coverage, the description explains each parameter in detail: description with example, symbol with list of allowed values, timeframe with granularities. This adds significant meaning beyond the plain schema.

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

Purpose5/5

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

Description clearly states 'Find an existing PROVEN strategy that matches a plain-English idea' and explains the resulting choice (deploy existing or generate fresh). It distinguishes itself from siblings like generate_strategy and one_shot by specifying its role as a discovery step.

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?

Explicitly instructs 'CALL THIS FIRST when a user describes a strategy idea' and provides detailed conditional logic: present match, ask user, then call one_shot with appropriate arguments depending on choice. Also clarifies behavior when no match is found.

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

generate_strategyGenerate Strategy Code (no training)BInspect

Generate Python strategy code (no training/deploy). Use when the user wants raw code.

Args:
  features: NL description of features (e.g. "RSI 14, Bollinger Bands").
  signals: NL description of signal logic (e.g. "Buy when RSI < 30").
  model: ML model name (default Random Forest).
  risk: NL risk rules (e.g. "0.5% stop loss").
  description: Optional one-line summary; treated as PRIMARY USER REQUEST.
  symbol: Currency pair the code should target. One of: EURUSD, USDJPY,
    GBPUSD, USDCHF, USDCAD, AUDUSD, NZDUSD. Default EURUSD.
  timeframe: Candle granularity. One of: 1min, 5min, 15min, 1h. Default 15min.
  claude_model: "sonnet" (default) or "haiku" (faster, higher daily cap).
ParametersJSON Schema
NameRequiredDescriptionDefault
riskNo
modelNoRandom Forest
symbolNo
signalsNo
featuresNo
timeframeNo
descriptionNo
claude_modelNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior2/5

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

Annotations indicate openWorldHint=true and readOnlyHint=false, suggesting side effects. The description does not explain that the tool uses an AI model (implied by claude_model) or that it may call external APIs. It also does not describe the return format or side effects, such as saving generated code. Given the annotations carry some burden, the description fails to add sufficient behavioral context.

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

Conciseness3/5

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

The description is front-loaded with the purpose, but the parameter list is lengthy and could be more structured (e.g., bullet points). Every sentence is informative, but the length is borderline excessive for a tool description.

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 the complexity (8 params, 0 required, output schema exists), the description covers purpose and parameters reasonably. However, it lacks differentiation from sibling tools like get_strategy_code (retrieval) or one_shot (generation with backtest). No usage examples are provided, and the output format is left to the output schema. Completeness is adequate but not thorough.

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. It provides detailed explanations for all 8 parameters, including defaults, enumerated values for symbol and timeframe, and guidance that 'description' is the primary request. This adds significant meaning beyond the bare schema, earning a 4.

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 'Generate Python strategy code (no training/deploy)' and 'Use when the user wants raw code.' This conveys a specific verb (generate) and resource (strategy code), distinguishing it from siblings like get_strategy_code or one_shot. However, it does not explicitly contrast with all siblings, so a 4 is appropriate.

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 provides context ('Use when the user wants raw code') and notes that the 'description' parameter is treated as the primary user request. However, it does not mention when not to use this tool or suggest alternatives among siblings, leaving some ambiguity.

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

get_deploy_resultGet Deploy ResultA
Read-onlyIdempotent
Inspect

Wait for a one_shot deploy to finish and return its final result.

`one_shot` returns a job_token immediately and the LIVE CARD already streams
progress and renders the interactive backtest chart itself. Call this ONCE with
the token to get the final numbers as TEXT so you can summarize them — it does
NOT render another card (no need for get_model_chart). It BLOCKS until the deploy
finishes (or ~2.5 min); on timeout it returns ok:false + pending:true — call it
again with the same token.

IMPORTANT: if `source == "community"`, the deploy used a PRE-EXISTING strategy by
`@author` — tell the user that, share the `live_url` as the Live dashboard link,
and ask whether they'd like to GENERATE A CUSTOM strategy instead. Use the
`note` field as your guide.

Args:
  job_token: the token returned by `one_shot`.

Returns:
  dict with: ok, stem, model, live_url, symbol, timeframe, channels (list),
  stats:{ret, wr, pf, n, mdd} (out-of-sample test-split metrics — SHOW THESE),
  source ("community" | "generated"), author (community username if any),
  author_url + strategy_url (render @author and "pre-existing strategy" as those
  Markdown links), community_id, suggest_custom (bool), and note (a ready
  instruction — follow it). On failure: {ok:false, error} (or {pending:true}).
ParametersJSON Schema
NameRequiredDescriptionDefault
job_tokenYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior5/5

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

Annotations indicate readOnlyHint, idempotentHint, and openWorldHint. The description adds crucial behaviors: it BLOCKS until finish (~2.5 min), returns pending:true on timeout, and does not render a card. No contradiction with annotations.

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 well-structured with paragraphs and bullet points, front-loading the main purpose. While fairly long, every sentence provides necessary information. Could be slightly more concise but overall effective.

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 (blocking, async, multiple result cases), the description covers the return dict with all fields, error/timeout handling, and community-source behavior. The output schema exists, and the description adequately supplements 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?

The sole parameter `job_token` has 0% schema description coverage. The description adds meaning by stating it is 'the token returned by one_shot', linking to the sibling tool. This is helpful but minimal, thus a score of 3.

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

Purpose5/5

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

The description clearly states the tool's purpose: 'Wait for a `one_shot` deploy to finish and return its final result.' It specifies the action (wait and return result), the resource (deploy result), and distinguishes from sibling `get_model_chart` by noting it does not render another card.

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 provides explicit guidance: call ONCE after `one_shot`, do not use `get_model_chart`, handle timeout by calling again, and specific instructions for community-source deploys. It clearly states when to use and what to avoid.

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

get_model_chartShow Backtest Chart (equity + trades)A
Read-onlyIdempotent
Inspect

Visualize a trained model's backtest — a cumulative-return chart + trade log + stats.

Use after `one_shot` / `list_models` with the model's `stem` to SHOW the user how it
traded (the "is it actually any good" view). In ChatGPT this renders an interactive
widget. In Claude, render an interactive **artifact** from this tool's structured
output: a line chart of the cumulative return plus a table of the trades.

Args:
  stem: The model stem (e.g. "14_EURUSD_15min_Model_24") from `list_models` / `one_shot`.

Returns:
  dict with: ok, stem, symbol, timeframe, stats {ret, wr, pf, n, mdd, sharpe},
  and trades [{type, entry_time, exit_time, entry_price, exit_price, pnl,
  pnl_pct, exit_reason, period}] (most recent ~200). exit_reason is one of
  TP / SL / close_only / signal / end. ret/mdd/wr are fractions; pnl_pct is percent.
ParametersJSON Schema
NameRequiredDescriptionDefault
stemYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior5/5

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

Annotations already declare readOnlyHint, openWorldHint, idempotentHint. The description adds valuable behavioral details: rendering difference between ChatGPT (interactive widget) and Claude (artifact), and the structured output includes trade log and stats. No contradictions.

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?

Description is front-loaded with purpose, usage, parameter explanation, and return value. Each sentence adds distinct value without redundancy. Despite length, it is well-organized and efficient.

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 simple single-parameter tool and presence of an output schema, the description thoroughly covers behavior, output structure (even detailing keys like exit_reason values), and platform-specific behavior. No gaps.

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

Parameters4/5

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

Schema coverage is 0%, but the description explains the 'stem' parameter with an example and its source (list_models/one_shot). This adds meaning beyond the bare schema, but could further specify format or constraints.

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

Purpose5/5

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

Description uses specific verb 'Visualize' and resource 'trained model's backtest', clearly distinguishing it from sibling tools like list_models and one_shot by focusing on the chart view.

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?

Explicitly states to use after one_shot or list_models with the model's stem, and explains it shows the user how it traded, including context like 'is it actually any good' view. No mention of when not to use, but the guidance is very clear.

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

get_quoteGet Current Price (G7 FX quote)A
Read-onlyIdempotent
Inspect

Get the latest price for a G7 FX pair — a quick "what's it at now" check.

Useful for context before deploying a strategy. The price is the close of
the most recent 1-minute bar from the platform's market feed (not a raw
live tick); FX markets close on weekends, so the `stale` flag marks a bar
that is more than 15 minutes old.

Args:
  symbol: G7 pair — one of EURUSD, USDJPY, GBPUSD, USDCHF, USDCAD, AUDUSD,
    NZDUSD. Default EURUSD.

Returns:
  dict with: symbol, price (latest close), time (bar timestamp, UTC),
  change + change_pct (vs the prior 1-min bar), stale (bool).
ParametersJSON Schema
NameRequiredDescriptionDefault
symbolNoEURUSD

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior5/5

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

Discloses that price is from close of most recent 1-minute bar (not raw live tick), explains the stale flag (15 min threshold), and notes FX market weekend closures. This goes beyond annotations (readOnlyHint, openWorldHint) by detailing the data source and staleness 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?

Well-structured with a summary line, context paragraph, and explicit Args/Returns sections. Slightly wordy but every sentence adds value. Could be more concise but remains clear.

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 simplicity (1 optional param, no required params) and the presence of an output schema (implied by return description), the description covers all necessary aspects: input, behavior, output fields. No gaps for an agent to understand invocation and results.

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?

Despite 0% schema description coverage, the description fully explains the 'symbol' parameter: lists all valid G7 pairs, states default EURUSD, and implies it's optional. This completely compensates for the schema gap.

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

Purpose5/5

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

Clearly states it gets the latest price for a G7 FX pair as a 'quick check'. Distinguishes from siblings like get_deploy_result or get_strategy_code which serve different purposes.

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

Usage Guidelines4/5

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

Explicitly says 'Useful for context before deploying a strategy', providing a clear use case. Does not mention alternatives or when to avoid, but given the tool's simplicity, this is adequate.

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

get_strategy_codeGet Community Strategy CodeA
Read-onlyIdempotent
Inspect

Get the actual Python code behind a community leaderboard strategy.

Use after `browse_community`: pass an entry's `id` here to read its real
`feature_engineering()` + `strategy_config()` source so the user can
inspect or tweak it. To deploy it unchanged, pass the same id to
`one_shot` as `community_id`. Read-only, no signup needed.

Args:
  community_id: The `id` of a community entry (from `browse_community`).

Returns:
  dict with: id, title, username, description, symbol, timeframe,
  metrics {total_ret, win_rate, profit_factor, n_trades, mdd, sharpe_strat},
  and `code` (the full Python source). SHOW the code to the user, and offer
  to deploy it via one_shot(community_id=...) or tweak it first.
ParametersJSON Schema
NameRequiredDescriptionDefault
community_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior5/5

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

Annotations already provide readOnlyHint, openWorldHint, idempotentHint. Description adds context: no signup needed, returns specific fields including code, and instructs to show the code and offer to deploy. No contradiction with annotations.

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?

Description is efficient, front-loaded with main action, then usage context, parameter, and returns. Slightly verbose with the 'SHOW the code...' instruction, but still concise overall.

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 existence of output schema, description explains return fields in dict and workflow (use after browse_community, show code, offer to deploy). Complete for agent decision-making.

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 has 0% description coverage, but description fully explains the parameter: 'community_id: The `id` of a community entry (from `browse_community`).' This provides clear meaning and source, fully compensating for schema lack.

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

Purpose5/5

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

Description clearly states 'Get the actual Python code behind a community leaderboard strategy.', using specific verb 'Get' and resource 'Python code'. It distinguishes from siblings by mentioning use after `browse_community` and alternative deployment via `one_shot`.

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?

Explicitly states when to use ('Use after `browse_community`') and when not to use or alternative ('To deploy it unchanged, pass the same id to `one_shot`'). Also clarifies read-only, no signup needed.

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

list_deployedList Deployed Live ModelsA
Read-onlyIdempotent
Inspect

List the user's currently deployed (live) models.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, and openWorldHint, indicating a safe, read-only operation. The description adds no further behavioral context beyond stating the action, so it meets the baseline but offers no additional value.

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, front-loaded sentence that is clear and without any extraneous information. Every word is necessary.

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 no parameters and an output schema, the description is mostly complete. It specifies scope ('user's'). However, it could be improved by differentiating from the sibling 'list_models' to avoid ambiguity.

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 input schema has zero parameters and 100% coverage, so the baseline is 3. The description correctly adds no parameter information 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 clearly states it lists the user's currently deployed (live) models, with a specific verb ('list') and resource ('deployed live models'), distinguishing it from the sibling 'list_models' which likely lists all models.

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 viewing live models but provides no explicit guidance on when to use this tool versus alternatives like 'list_models', 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.

list_modelsList Trained ModelsA
Read-onlyIdempotent
Inspect

List the user's trained models with pre-computed train/test stats.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior4/5

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

Annotations already declare readOnlyHint, openWorldHint, idempotentHint=true. The description adds that the tool returns pre-computed train/test stats, which is a useful behavioral detail beyond annotations.

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 clear sentence with no wasted words. Front-loaded and efficient.

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 0 parameters, rich annotations, and an output schema (present but not detailed here), the description fully covers the tool's purpose and output content.

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?

Input schema has no parameters (100% coverage). With 0 parameters, the description need not add param detail; baseline is 4.

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

Purpose5/5

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

The description clearly states it lists the user's trained models with pre-computed stats. It distinguishes from sibling tools like list_deployed (deployed models) and browse_community (community resources).

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 implicitly indicates when to use it (to view trained models), but no explicit guidance on when not to use it or comparisons with alternatives like list_deployed or get_model_chart.

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

one_shotDeploy Strategy (generate + backtest + go live)A
Destructive
Inspect

End-to-end deploy: generate strategy → train → deploy live.

One of `prompt` (free-form NL), `preset` (curated winning strategy), or
`community_id` (copy a published community strategy) is required. If more
than one is passed, precedence is community_id > preset > prompt.

Args:
  prompt: Natural-language strategy description (e.g. "Buy when RSI < 30, sell > 70").
  symbol: Currency pair to backtest on. One of: EURUSD, USDJPY, GBPUSD,
    USDCHF, USDCAD, AUDUSD, NZDUSD. Default EURUSD.
  timeframe: Candle granularity. One of: 1min, 5min, 15min, 1h. Default 15min.
  claude_model: Which Claude variant to use for code generation.
    "sonnet" (default — best quality, 1/day free) or "haiku" (faster, 3/day free).
    Ignored when `preset` is set (no generation needed).
  preset: Curated winning-strategy slug. Skips Claude generation entirely
    — deploys a pre-saved strategy known to backtest well on the chosen
    symbol. Available slugs: ema_cross_fast, momentum, scalper_stack,
    sma_only, trend_ema, volatility, bb_squeeze, all_mix, pivot_kid_ema.
    Not every slug exists for every symbol — call list_models afterwards
    to confirm what deployed.
  community_id: Copy-trade a published community strategy. Pass the `id`
    of an entry from `browse_community`. Loads that exact strategy code,
    skips Claude generation, then trains + deploys it. `symbol`/`timeframe`
    still apply to the backtest+deploy.
  webhook_url: Optional webhook to receive live signals.
  telegram_chat_id: Optional Telegram chat ID for signal delivery.

Returns IMMEDIATELY (the deploy runs in the background so the live card can
stream progress) with:
    - job_token (str): pass to get_deploy_result to fetch the final result.
    - poll_url (str): the card polls this for live progress; you can ignore it.
    - pending (bool): always true here — the deploy is still running.
    - symbol, timeframe (str).

Call this EXACTLY ONCE per request. Pass the user's words as `prompt`; do not
pre-pick presets/community strategies — the server routes (vague → a proven
community strategy, specific rules → a fresh generation).

NEXT STEP (always): call get_deploy_result(job_token) ONCE — it blocks until the
deploy finishes and returns the out-of-sample stats + `stem` + `source`/`author`
as TEXT so you can summarize. The live card already shows the chart, so you do
NOT need get_model_chart. If source='community', tell the user it used a
pre-existing strategy by @author and offer to generate a custom one.
ParametersJSON Schema
NameRequiredDescriptionDefault
presetNo
promptNo
symbolNo
timeframeNo
webhook_urlNo
claude_modelNo
community_idNo
telegram_chat_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior5/5

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

Discloses that the deploy runs in background, returns immediately with a job_token, and that the live card streams progress. Mentions daily limits for Claude models. The description adds significant behavioral context beyond annotations (destructiveHint=true, readOnlyHint=false). No contradiction.

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 thorough but somewhat lengthy; however, it is well-structured with a summary, parameter list, return value explanation, and usage instructions. Every sentence adds value, though a more concise format could be achieved while retaining key 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 (8 parameters, multiple modes, asynchronous behavior, output schema), the description is complete. It covers all modes, precedence, defaults, return fields, next steps, daily limits, and cross-references to other tools (list_models, browse_community, get_deploy_result), adequately equipping an AI agent to use the tool 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?

Despite 0% schema description coverage, the description thoroughly documents all 8 parameters: explains allowed values, defaults (e.g., symbol defaults to EURUSD, timeframe to 15min), precedence, and special behaviors (e.g., claude_model ignored when preset is set). Compensates fully for missing schema descriptions.

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

Purpose5/5

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

The description clearly states the tool's purpose as 'End-to-end deploy: generate strategy → train → deploy live' and distinguishes three input modes (prompt, preset, community_id) with precedence rules, differentiating it from siblings like generate_strategy and browse_community.

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?

Explicitly states when to use each mode, precedence (community_id > preset > prompt), that it should be called exactly once per request, and provides the next step to call get_deploy_result. Also advises against pre-picking presets/community strategies and instructs how to handle community-sourced results.

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

stream_testLive Streaming DiagnosticA
Read-onlyIdempotent
Inspect

Diagnostic: test whether LIVE data streaming works in this client.

Renders a widget with three panels — a JS timer (baseline), a WebSocket to
the live price feed, and an HTTP poll of /quote — each showing a live value
+ status, so you can see exactly which streaming mechanisms the client's
widget sandbox actually permits. Use when a live/ticking chart isn't moving.

Args:
  symbol: G7 pair to stream (default EURUSD).
ParametersJSON Schema
NameRequiredDescriptionDefault
symbolNoEURUSD

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior4/5

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

Describes rendering a widget with three panels (JS timer, WebSocket, HTTP poll) each showing live value and status. Annotations already mark it as read-only, idempotent, and open-world. No contradictions.

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 key purpose, then explains widget details and usage in a few concise sentences. 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?

With output schema present, no need to detail returns. For a diagnostic tool with one optional parameter, the description covers purpose, behavior, and usage adequately.

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 description carries full burden for parameter semantics. Only mentions 'G7 pair to stream (default EURUSD)' for the single param, adding marginal value. Sufficient for one param but not rich.

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 'Diagnostic: test whether LIVE data streaming works in this client,' specifying verb (test) and resource (streaming mechanisms). Clearly distinguishes from siblings like get_quote by being a diagnostic tool.

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 'Use when a live/ticking chart isn't moving,' providing clear when-to-use guidance. Does not mention when not to use, but context is sufficient.

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

top_upTop Up Credits with CryptoAInspect

Fund your QuantifyMe credits with crypto (USDC) — no signup, no human, no card. The agent-native funding rail. SIMULATED in this build (no real charge) and capped at $100 for the POC. Returns your new credit balance.

ParametersJSON Schema
NameRequiredDescriptionDefault
amount_usdYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior4/5

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

Discloses beyond annotations that the tool is simulated (no real charge) and capped at $100, which is critical for agent decision-making. Annotations indicate it's a write operation and not idempotent, but description adds the simulation detail.

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

Conciseness5/5

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

Two sentences that are front-loaded with the main action, every sentence adds value with no redundancy.

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

Completeness5/5

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

Fully covers the tool's purpose, behavioral traits (simulation, cap), and return value (new credit balance). Output schema exists, so return details are structurally covered.

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?

Only one parameter (amount_usd) with no description in the schema. The description implies funding amount but does not elaborate on syntax, limits (beyond $100 cap mentioned), or data type requirements. Schema coverage is 0%, so description partially compensates but could add more 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?

Clearly states the tool funds QuantifyMe credits with crypto (USDC), specifying it's agent-native, simulated, capped at $100, and returns the new balance. Distinguishes from sibling tools which are about other actions like browsing or generating strategies.

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 describes when to use (funding with crypto) and provides context (no signup, no human, no card). Lacks explicit when-not-to-use or alternatives, but the context is sufficient among sibling tools.

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

Discussions

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

Related MCP Servers

  • A
    license
    -
    quality
    D
    maintenance
    Enables AI assistants like Claude to run backtests, fetch market data, list strategies, and analyze trading algorithms via natural language.
    995
    GPL 3.0
  • A
    license
    -
    quality
    D
    maintenance
    Enables AI assistants to backtest trading strategies described in plain English, providing access to market data, technical indicators, and comprehensive performance reports.
    1
    MIT
  • F
    license
    -
    quality
    D
    maintenance
    Enables quant research, strategy development, backtesting, and paper trading through natural language prompts, integrated with 20+ AI agents.
    134
  • F
    license
    -
    quality
    D
    maintenance
    Full-lifecycle algorithmic trading MCP server. AI strategy generation from plain English, backtesting, live bot deployment to 10+ brokers, portfolio monitoring, and prediction markets. Stocks, options, crypto, futures. 32 tools. Free tier.

View all MCP Servers

Try in Browser

Your Connectors

Sign in to create a connector for this server.

Resources