Skip to main content
Glama
Koniverse

senti-mcp-server

by Koniverse

Read one MQL5 draft

get_draft
Read-only

Retrieve an MQL5 draft's full source, compiler log, and diagnostics to diagnose compile failures or review the code.

Instructions

Read one MQL5 draft the API key owns: its full source code, its compiler log, its diagnostics, and whether the last compile still matches the current source. Use it to answer "why did this fail to compile" or "show me the code". draftId is the id field from list_drafts. THE RESPONSE CAN BE LARGE — a draft may hold up to 192 KiB of source plus 16 KiB of compiler log, and this server returns that content twice (once as text, once as structured data) — roughly 105,000 tokens worst case. Attachment source is NOT included; the attachments are listed with their size, and list_draft_attachments returns their code. For a cheap overview of every draft, call list_drafts instead.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
draftIdYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
idYes
nameYes
notesYes
createdAtYes
updatedAtYes
sourceCodeYes
attachmentsYes
logTruncatedYes
eaDefinitionIdYes
lastCompileLogYes
compiledUpToDateYes
lastCompileStatusYes
lastCompileDiagnosticsYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed5 schema fields changedv2.9.0
    • removedOutput schema / properties / eaDefinitionId / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / eaDefinitionId / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / lastCompileLog / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / lastCompileLog / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • changedOutput schema / properties / lastCompileStatus / anyOf
      Previous value: -[
      -  {
      -    "enum": [
      -      "PENDING",
      -      "SUCCESS",
      -      "FAILED"
      -    ],
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "enum": [
      +      "SUCCESS",
      +      "FAILED"
      +    ],
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
  2. Addedv2.8.0

TDQS

A4.8/5.0
Behavior5/5

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

Annotations declare readOnlyHint=true and openWorldHint=true, and the description complements them by disclosing the potentially huge response size (up to ~105,000 tokens), the duplication of content, and the exclusion of attachment source. These are significant behavioral details beyond the annotations, and there is 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 longer than average but every sentence earns its place: the core purpose is front-loaded, the size warning is critical and placed early, and the sibling alternatives are at the end. The structure is logical and scannable; a slight trim could improve conciseness but it remains 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 output schema exists (though not shown) and the annotations cover safety, the description fully equips the agent: it covers the payload contents, response size, what is not included, and when to use alternatives. No critical information is missing for correct 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?

Schema coverage is 0%, so the description must compensate. It explains that draftId is the id field from list_drafts, which gives the agent a concrete way to obtain a valid value. It doesn't describe format constraints, but for a single string parameter that's sufficient; it adds meaningful context 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 clearly states the action ('Read one MQL5 draft') and the resource, enumerating the exact payload fields (source code, compiler log, diagnostics, compile-match status). It explicitly differentiates from siblings by naming list_drafts and list_draft_attachments and explaining what each offers, so an agent can unambiguously pick this tool.

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 use cases ('why did this fail to compile', 'show me the code'), states the parameter source (draftId from list_drafts), and gives clear alternatives with conditions: list_drafts for a cheap overview, list_draft_attachments for attachment code. This is comprehensive routing guidance.

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