Skip to main content
Glama
mt5-mcp

mt5-mcp

by ramanthind02

compare_profiles

Read-only

Compare saved MT5 broker profiles across spread, swap, stops, contract size, filling mode, and session hours to verify whether a backtest can transfer between terminals; pass two or more profile IDs.

Instructions

Diff saved broker profiles on the fields that decide whether a backtest can transfer.

Pass at least two ids from list_profiles. Symbol names must match exactly. Compared fields are spread, the floating-spread flag, swap, swap mode, stops level, contract size, filling mode, and session hours. Unchanged symbols are counted and omitted.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "terminal_ids": "<terminal_ids>"
    },
    "name": "compare_profiles"
  }
}

Input Schema

NameRequiredDescriptionDefault
symbolsNo
terminal_idsYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, openWorldHint=true, so safety is covered; the description adds real behavioral context beyond that: the exact set of compared fields, the exact-match rule for symbol names, and the output convention that unchanged symbols are counted rather than listed. It does not describe the shape of the returned diff itself, which matters somewhat given there is no 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.

Conciseness4/5

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

Front-loaded with purpose, then usage rule, then behavior — the right order. The eight-field enumeration is long but genuinely informative; the only real cost is a couple of awkward line breaks that split a sentence mid-list.

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 read-only two-parameter comparison with no output schema, the definition supplies purpose, minimum input cardinality, id provenance, field scope, and how unchanged results are reported. An agent can call this correctly and interpret the result without further guidance.

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 carry the load and it mostly does: terminal_ids gains a provenance rule (from list_profiles) and a minimum count of two, and symbols gains an exact-string-match constraint. The notable gap is that it never says symbols is optional or that omitting it compares all symbols, which is the parameter's default behavior.

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 (diff) and resource (saved broker profiles) plus the scope that matters: fields deciding whether a backtest can transfer. That clearly separates it from siblings like compare_reports (report diffs), read_profile (single profile) and list_profiles (enumeration).

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 concrete prerequisite — 'Pass at least two ids from list_profiles' — which both routes the agent to the right sibling for ids and states the minimum cardinality. It stops short of explicit when-not guidance (e.g. comparing a single profile vs many, or diffing live settings rather than saved profiles).

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