Skip to main content
Glama
rozkoduj

Rozkoduj MCP

Official
by rozkoduj

Research and knowledge search

research
Read-only

Search public articles and a knowledge base in one query to get ranked passages with citations for trading topics like drawdown control and position sizing.

Instructions

Search the research - public articles plus, when signed in on a paid tier, the deeper knowledge base, in one query.

Use when the user asks about a topic the research likely covers (drawdown control, position sizing, backtesting pitfalls, ...).

Returns two ranked lists of passages:

  • articles (public): each hit carries slug + locale - cite by linking https://www.rozkoduj.com/<locale>/research/<slug> - plus title, chunk_text, and parent_text for wider context.

  • knowledge (deeper corpus): joins automatically for signed-in paid tiers. When it was skipped, the response carries locked with an unlock URL - mention it so the user knows a paid sign-in widens the search.

Args: query: Question or topic (2-300 chars). locale: Optional article locale - "en" or "pl". limit: How many top passages per list (1-20, default 5).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNo
queryYes
localeNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
queryYes
lockedNo
articlesYes
knowledgeYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed5 schema fields changedv2026.8.15
    • addedOutput schema / $defs
      Added value: +{
      +  "ArticleHit": {
      +    "additionalProperties": true,
      +    "description": "A passage from a public research article. Cite by linking\n``https://www.rozkoduj.com/<locale>/research/<slug>``.",
      +    "properties": {
      +      "chunk_index": {
      +        "title": "Chunk Index",
      +        "type": "integer"
      +      },
      +      "chunk_text": {
      +        "title": "Chunk Text",
      +        "type": "string"
      +      },
      +      "context_prefix": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Context Prefix"
      +      },
      +      "description": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Description"
      +      },
      +      "locale": {
      +        "title": "Locale",
      +        "type": "string"
      +      },
      +      "parent_text": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Parent Text"
      +      },
      +      "slug": {
      +        "title": "Slug",
      +        "type": "string"
      +      },
      +      "title": {
      +        "title": "Title",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "slug",
      +      "locale",
      +      "title",
      +      "chunk_index",
      +      "chunk_text"
      +    ],
      +    "title": "ArticleHit",
      +    "type": "object"
      +  },
      +  "KnowledgeHit": {
      +    "additionalProperties": true,
      +    "description": "A passage from the deeper knowledge base (paid tiers).",
      +    "properties": {
      +      "chunk_index": {
      +        "title": "Chunk Index",
      +        "type": "integer"
      +      },
      +      "chunk_text": {
      +        "title": "Chunk Text",
      +        "type": "string"
      +      },
      +      "context_prefix": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Context Prefix"
      +      },
      +      "doc_id": {
      +        "title": "Doc Id",
      +        "type": "string"
      +      },
      +      "parent_text": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Parent Text"
      +      },
      +      "title": {
      +        "title": "Title",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "doc_id",
      +      "chunk_index",
      +      "title",
      +      "chunk_text"
      +    ],
      +    "title": "KnowledgeHit",
      +    "type": "object"
      +  },
      +  "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: +"Two ranked passage lists for one query. ``knowledge`` is empty and\n``locked`` is populated when the caller's tier does not include it."
    • addedOutput schema / properties
      Added value: +{
      +  "articles": {
      +    "items": {
      +      "$ref": "#/$defs/ArticleHit"
      +    },
      +    "title": "Articles",
      +    "type": "array"
      +  },
      +  "knowledge": {
      +    "items": {
      +      "$ref": "#/$defs/KnowledgeHit"
      +    },
      +    "title": "Knowledge",
      +    "type": "array"
      +  },
      +  "locked": {
      +    "anyOf": [
      +      {
      +        "$ref": "#/$defs/LockedInfo"
      +      },
      +      {
      +        "type": "null"
      +      }
      +    ],
      +    "default": null
      +  },
      +  "query": {
      +    "title": "Query",
      +    "type": "string"
      +  }
      +}
    • addedOutput schema / required
      Added value: +[
      +  "query",
      +  "articles",
      +  "knowledge"
      +]
    • changedOutput schema / title
      Previous value: -"researchDictOutput"New value: +"ResearchResult"
  2. Addedv2026.7.11

TDQS

A4.7/5.0
Behavior5/5

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

Beyond the readOnlyHint annotation, the description discloses substantial behavior: it returns two ranked passage lists, explains the paid-tier knowledge corpus behavior, describes locked responses with an unlock URL, and tells the agent to mention the paid sign-in. This goes well beyond what annotations or the schema provide.

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 and front-loaded with purpose, usage, then return details and args. It is longer than minimal but every section earns its place; the only minor deduction is some redundancy between the opening summary and the detailed return-list explanation.

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 3-parameter read-only search tool with an output schema, the description is complete: it covers query intent, locale behavior, result shapes, citation URL construction, paid-tier locking behavior, and how to handle locked responses. No critical operational detail 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?

With schema description coverage at 0%, the description fully compensates by documenting each parameter: query semantics and length, locale allowed values, and limit meaning. This adds practical meaning beyond the raw schema 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?

The description opens with a specific verb and resource ('Search the research'), clarifies the two-corpus behavior, and provides concrete example topics. This distinguishes it clearly from sibling tools like strategy or leaderboard, which are not knowledge-search tools.

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

Usage Guidelines4/5

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

The description explicitly states when to use this tool ('Use when the user asks about a topic the research likely covers') and gives example topics. It does not explicitly state when not to use it or name alternatives, so it stops short of full exclusion guidance.

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