Skip to main content
Glama
rozkoduj

Rozkoduj MCP

Official
by rozkoduj

Strategy dossier

strategy
Read-only

Retrieve a full backtest dossier and performance metrics by supplying a URL slug or algorithm UID, including scores, CAGR, drawdown, and win rate.

Instructions

One strategy's full dossier, including its backtest summary.

identifier is either the URL slug (e.g. ma-crossover) or the algorithm_uid (ULID, e.g. 01J7...). Returns i18n names/descriptions, family/variant/version metadata and the best_run backtest summary: rozkoduj_score/rozkoduj_band (ranking axis), cagr (APY in the instrument's local currency), cagr_usd (APY in USD - the cross-market canon), max_drawdown, win_rate_pct, num_trades, the risk mode (unit_risk_band, unit_risk_score), plus sparkline, params_public, and data_start/data_end.

Use this after leaderboard once a candidate is chosen, or when the user names a strategy directly. Raises a not-found error when no strategy matches identifier.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
identifierYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameNoi18n: {en, pl}
slugYes
familyNo
lockedNo
aliasesNoi18n alias maps
variantNo
versionNo
best_runNo
is_activeNo
created_atYes
updated_atYes
visibilityNopublic
descriptionNoi18n
algorithm_uidYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed5 schema fields changedv2026.8.15
    • addedOutput schema / $defs
      Added value: +{
      +  "LockedInfo": {
      +    "additionalProperties": true,
      +    "description": "Fields withheld for the caller's tier, carried inside a normal 200.",
      +    "properties": {
      +      "fields": {
      +        "items": {
      +          "type": "string"
      +        },
      +        "title": "Fields",
      +        "type": "array"
      +      },
      +      "reason": {
      +        "title": "Reason",
      +        "type": "string"
      +      },
      +      "required_tier": {
      +        "title": "Required Tier",
      +        "type": "string"
      +      },
      +      "unlock_url": {
      +        "title": "Unlock Url",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "fields",
      +      "required_tier",
      +      "unlock_url",
      +      "reason"
      +    ],
      +    "title": "LockedInfo",
      +    "type": "object"
      +  }
      +}
    • addedOutput schema / description
      Added value: +"One published strategy. ``best_run`` stays an open object on purpose:\npinning the metric set here would make every added metric a breaking change\nin code that only forwards it."
    • addedOutput schema / properties
      Added value: +{
      +  "algorithm_uid": {
      +    "title": "Algorithm Uid",
      +    "type": "string"
      +  },
      +  "aliases": {
      +    "description": "i18n alias maps",
      +    "items": {
      +      "additionalProperties": {
      +        "type": "string"
      +      },
      +      "type": "object"
      +    },
      +    "title": "Aliases",
      +    "type": "array"
      +  },
      +  "best_run": {
      +    "anyOf": [
      +      {
      +        "additionalProperties": true,
      +        "type": "object"
      +      },
      +      {
      +        "type": "null"
      +      }
      +    ],
      +    "default": null,
      +    "title": "Best Run"
      +  },
      +  "created_at": {
      +    "title": "Created At",
      +    "type": "string"
      +  },
      +  "description": {
      +    "additionalProperties": {
      +      "type": "string"
      +    },
      +    "description": "i18n",
      +    "title": "Description",
      +    "type": "object"
      +  },
      +  "family": {
      +    "anyOf": [
      +      {
      +        "type": "string"
      +      },
      +      {
      +        "type": "null"
      +      }
      +    ],
      +    "default": null,
      +    "title": "Family"
      +  },
      +  "is_active": {
      +    "default": true,
      +    "title": "Is Active",
      +    "type": "boolean"
      +  },
      +  "locked": {
      +    "anyOf": [
      +      {
      +        "$ref": "#/$defs/LockedInfo"
      +      },
      +      {
      +        "type": "null"
      +      }
      +    ],
      +    "default": null
      +  },
      +  "name": {
      +    "additionalProperties": {
      +      "type": "string"
      +    },
      +    "description": "i18n: {en, pl}",
      +    "title": "Name",
      +    "type": "object"
      +  },
      +  "slug": {
      +    "title": "Slug",
      +    "type": "string"
      +  },
      +  "updated_at": {
      +    "title": "Updated At",
      +    "type": "string"
      +  },
      +  "variant": {
      +    "anyOf": [
      +      {
      +        "type": "string"
      +      },
      +      {
      +        "type": "null"
      +      }
      +    ],
      +    "default": null,
      +    "title": "Variant"
      +  },
      +  "version": {
      +    "anyOf": [
      +      {
      +        "type": "string"
      +      },
      +      {
      +        "type": "null"
      +      }
      +    ],
      +    "default": null,
      +    "title": "Version"
      +  },
      +  "visibility": {
      +    "default": "public",
      +    "title": "Visibility",
      +    "type": "string"
      +  }
      +}
    • addedOutput schema / required
      Added value: +[
      +  "algorithm_uid",
      +  "slug",
      +  "created_at",
      +  "updated_at"
      +]
    • changedOutput schema / title
      Previous value: -"strategyDictOutput"New value: +"Strategy"
  2. Addedv2026.7.11

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already provide readOnlyHint=true, and the description adds useful input-resolution details (URL slug vs `algorithm_uid`) plus precise return semantics such as `cagr` in local currency and `cagr_usd` as the canonical USD metric. However, it ends with an incomplete 'Raises a ...' and does not disclose error conditions, auth requirements, or rate limits, leaving a clear behavioral gap.

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

Conciseness2/5

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

The opening sentence is strong and the usage hint is useful, but the description repeats the entire identifier/returns/usage block verbatim, which is redundant and confusing. The incomplete 'Raises a ...' clause also breaks the structure, so the description is noticeably longer than it needs to be.

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 single-parameter, read-only tool with an output schema, the description covers identifier formats, exact returned fields, and the workflow trigger, which is nearly complete. The main missing piece is the truncated error clause, and the duplication adds noise, so it does not earn a 5.

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 carry all parameter meaning. It does this thoroughly: `identifier` is defined as either a URL slug (`ma-crossover`) or an `algorithm_uid` ULID (`01J7...`), with examples and format details. No parameter semantics are left to inference.

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 opens with a clear verb+resource: 'One strategy's full dossier, including its backtest summary.' It also specifies the retrieval key (`identifier`) and enumerates the returned metadata, making it easy to tell this detail lookup apart from the `leaderboard` listing. It does not explicitly differentiate from every sibling (`research`, `instrument`), but the title and single-parameter contract make the 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 Guidelines4/5

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

It gives explicit workflow guidance: 'Use this after `leaderboard` once a candidate is chosen, or when the user names a strategy directly.' That clearly situates the tool in a sequence and distinguishes it from a browsing/listing action. It stops short of a full 5 because it never states when not to use it or mentions other sibling tools as alternatives.

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

Deploy Server

Other Tools