Skip to main content
Glama
KyuRish

trading212-mcp-server

Server Quality Checklist

92%
Profile completionA complete profile improves this server's visibility in search results.
  • Latest release: v0.3.0

  • Disambiguation5/5

    Each tool has a clearly distinct purpose with minimal overlap. For example, fetch_all_open_positions retrieves all holdings, while search_specific_position_by_ticker targets a single position; fetch_historical_order_data handles past orders, while fetch_all_orders covers active ones. The descriptions explicitly differentiate tools and guide usage, preventing misselection.

    Naming Consistency5/5

    Tool names follow a highly consistent verb_noun pattern throughout, such as fetch_account_cash, place_limit_order, and search_instrument. All tools use snake_case with descriptive verbs like fetch, place, search, create, update, cancel, and delete, making the set predictable and readable.

    Tool Count3/5

    With 28 tools, the count feels heavy for a trading and portfolio management server, bordering on excessive. While the domain is broad (orders, pies, portfolio, dividends, exports), some tools could be consolidated (e.g., multiple fetch tools for similar data), leading to potential complexity for agents.

    Completeness5/5

    The tool set provides comprehensive coverage for trading, portfolio management, and investment pies, including full CRUD operations (e.g., create/update/delete_pie, place/cancel_order), detailed analytics (e.g., fetch_portfolio_performance), and utilities like search and exports. No obvious gaps exist; agents can perform end-to-end workflows without dead ends.

  • Average 4.7/5 across 28 of 28 tools scored.

    See the Tool Scores section below for per-tool breakdowns.

    • No community issues in the last 6 months
    • 2 commits in the last 12 weeks
    • Last stable release on
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI is passing
  • This repository is licensed under MIT License.

  • This repository includes a README.md file.

  • No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.

    Tip: use the "Try in Browser" feature on the server page to seed initial usage.

  • This repository includes a glama.json configuration file.

  • This server has been verified by its author.

How to sync the server with GitHub?

Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.

To manually sync the server, click the "Sync Server" button in the MCP server admin interface.

How is the quality score calculated?

The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).

Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.

Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).

Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.

Tool Scores

  • Behavior4/5

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

    Annotations provide destructiveHint: true, idempotentHint: true. Description adds irreversible nature, what happens to instruments, and prior review recommendation – adding valuable context 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?

    Three short paragraphs, each earning its place. First sentence states purpose, second explains consequences, third gives argument details. No wasted words.

    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 single-parameter delete tool with no output schema, the description covers essential behavioral context (irreversibility, instrument treatment). Could mention response format but not strictly needed.

    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%. Description adds meaning: 'Numeric ID of the pie to delete (e.g., 6894572). Get this from fetch_pies.' Provides example and source, compensating for lack of schema description.

    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 'Permanently delete a pie' – specific verb and resource. Distinguishes from sibling tools like create_pie, duplicate_pie, update_pie.

    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?

    Recommends fetching the pie first to review contents, explains that instruments become standalone positions, and suggests considering selling them separately. Provides clear context but does not explicitly state when not to use.

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

  • Behavior3/5

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

    Annotations already provide readOnlyHint=true, destructiveHint=false, idempotentHint=true. Description adds no additional behavioral traits beyond mentioning the tool retrieves pending orders, which is consistent. 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?

    Very concise, front-loaded with purpose and usage, no wasted words. Parameter and return information are clearly separated.

    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?

    Covers purpose, usage, parameter, and return fields. Could mention error handling, but for a simple retrieval tool it is sufficiently complete.

    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 0%, but description provides meaningful context: order_id is numeric and returned when order placed. Single parameter is fully described.

    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 retrieves a single pending order by ID to check status, fill progress, and price parameters. Distinguishes from sibling fetch_all_orders which retrieves all pending orders.

    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 tells when to use: after placing an order to monitor, or before cancelling to confirm active. Also points to alternative fetch_all_orders for listing all pending orders.

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

  • Behavior4/5

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

    Annotations already declare readOnlyHint=true, destructiveHint=false, idempotentHint=true. The description adds value by specifying the return fields (ticker, quantity, averagePrice, etc.) and mentioning the pieQuantity field for pies, without contradicting any 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?

    The description is concise with two short paragraphs and a 'Returns' line. The first sentence immediately states the main purpose. Every sentence provides necessary context without 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?

    Given no parameters, comprehensive annotations, and an output schema (implied by 'List of Position objects'), the description fully covers what the tool does, its return structure, and special cases like pies. It is complete for a read-only, parameterless tool.

    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?

    There are no parameters, so the description does not need to add parameter details. Schema coverage is 100% trivially. A baseline of 4 is appropriate for a zero-parameter tool.

    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 uses 'Retrieve every open position' which is a specific verb and resource. It clearly distinguishes from siblings by mentioning 'search_specific_position_by_ticker' for single position lookup and 'fetch_portfolio_summary' for aggregated view.

    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 states 'Use this to get a complete view of current holdings' and provides alternative tools but does not explicitly state when not to use this tool. However, the context is clear enough for an agent to decide.

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

  • Behavior4/5

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

    Annotations already declare readOnlyHint, destructiveHint, and idempotentHint. The description complements by specifying the return structure (list of PieSummary with fields), adding value 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?

    The description is compact, includes a header, usage tip, and return overview. 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?

    With 0 parameters, an output schema, and a clear description explaining the return type and fields, the tool is well-documented and complete for its simplicity.

    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?

    No parameters exist, so the description does not need to add parameter info. Baseline score of 4 is appropriate due to 100% schema coverage.

    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 lists all investment pies with specific details (cash balances, dividends, goal progress, performance). It distinguishes itself from fetch_a_pie, which drills into a specific pie.

    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 to use this for an overview before drilling into a specific pie with fetch_a_pie, which provides clear context. Lacks explicit when-not-to-use or other alternatives.

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

  • Behavior3/5

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

    Annotations already declare readOnlyHint=true, destructiveHint=false, idempotentHint=true. The description adds the return format (dictionary fields) but does not disclose additional behavioral traits beyond what annotations provide. 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.

    Conciseness5/5

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

    Two short paragraphs: first sentence defines purpose, second gives usage recommendation, third distinguishes sibling, then lists return fields. Front-loaded and efficient with no extraneous text.

    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 zero parameters, adequate annotations, and no output schema, the description fully covers what the tool does, how to use it, and what it returns. No gaps identified.

    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?

    No parameters present in schema, and schema coverage is 100% (empty). Baseline for 0 parameters is 4. Description adds no parameter information, which is appropriate.

    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 'complete portfolio snapshot' combining multiple data sources. Distinguishes itself from fetch_portfolio_performance by specifying its scope (all positions vs. per-position performance).

    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 labels itself as 'recommended starting point' and directs to an alternative (fetch_portfolio_performance) for per-position dividend performance, providing clear when-to-use guidance.

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

  • Behavior4/5

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

    Annotations provide only readOnlyHint, destructiveHint, and idempotentHint as false. The description adds behavioral context: the order stays open until filled, cancelled, or expired, and the return is a pending status order. It does not disclose potential partial fills or order book dynamics, but the given info is sufficient for safe use.

    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?

    The description is front-loaded with the core behavior, followed by usage guidance and parameter docs. It is concise with no wasted sentences; each line adds value. Parameter explanations are well-structured under 'Args:'.

    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?

    The description covers all necessary aspects: purpose, usage, parameters, return value, and monitoring advice. An output schema exists for the return type, so the description need not detail the Order structure. Complete for an agent to invoke 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?

    Schema description coverage is 0%, so the description fully explains all four parameters: ticker format and validation tip, quantity sign meaning, limit_price with concrete example, and time_validity options with defaults. This adds essential meaning beyond the bare schema titles.

    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 defines a limit order as executing only when the instrument reaches a target price and staying open until filled, cancelled, or expired. It explicitly distinguishes from market orders by stating 'Use this instead of a market order when you want to control the execution price.'

    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 provides clear when-to-use guidance: 'Use this instead of a market order when you want to control the execution price.' It also advises monitoring fill status via fetch_all_orders and finding valid tickers via search_instrument. However, it does not explicitly contrast with stop-limit or stop orders, which are sibling tools.

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

  • Behavior4/5

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

    Annotations already declare readOnlyHint=true, destructiveHint=false, and idempotentHint=true. The description adds behavioral details such as case-insensitive matching, exact numeric ID search, and the structure of the return objects. This adds value beyond the 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?

    The description is concise, front-loaded with the purpose, and uses a clear structure with Args and Returns sections. Every sentence adds value without 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?

    Given the tool has one parameter and an output schema exists, the description covers the input semantics, output structure, and use cases comprehensively. No gaps are apparent.

    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?

    The schema has 0% description coverage, so the description carries full burden. It explains that search_term is case-insensitive, can be an exact numeric ID, and that omitting it returns all exchanges. This adds significant meaning beyond the 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 'Search for stock exchanges by name or numeric ID' and specifies the output includes trading hours and working schedules. It uses specific verbs and resources, making the purpose unambiguous. Although no explicit sibling comparison is made, the tool's functionality is distinct from other search tools on the server.

    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 provides explicit usage guidance: 'Use this to check when a specific exchange is open for trading, or to look up exchange information by its numeric ID from an instrument's workingScheduleId field.' It also explains that omitting the parameter returns all exchanges. No exclusions or alternatives are mentioned, but the context is clear enough.

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

  • Behavior4/5

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

    Annotations already provide readOnly and idempotent hints. Description adds case-insensitivity and partial matching, complementing annotations without contradiction.

    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?

    Well-structured with sections, concise yet comprehensive, no redundant sentences.

    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 single parameter and presence of output schema, description adequately covers behavior and return values.

    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%, but the description compensates by explaining search_term: a string for matching, can be omitted to return all instruments.

    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 searches for tradeable instruments by ticker or name, returning specific fields. It distinguishes itself from sibling tools like search_exchange by focusing on instruments.

    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?

    Description specifies when to use (before orders/pies) and that omitting search_term returns full catalogue. Lacks explicit when-not-to-use or alternatives.

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

  • Behavior4/5

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

    Discloses partial update behavior ('only provided fields are updated') and API requirement for name. Does not contradict annotations. Could mention error handling but sufficient.

    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 paragraphs: summary, usage note, then Args list. Each sentence adds value. Front-loaded and well-organized.

    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?

    Covers update behavior, prerequisites, parameter details, and return type (PieDetails). Output schema exists but is referenced simply; complete for the tool's complexity.

    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%, but description compensates with clear explanations for each parameter, including examples (e.g., pie_id example, instrument_shares format and sum constraint, dividend_cash_action enum).

    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 'Modify an existing pie's settings, instrument allocations, or target weights.' Specific verb and resource, distinguishes from sibling tools like create_pie and delete_pie.

    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?

    Provides explicit guidance: 'Use fetch_a_pie first to see the current configuration before making changes.' Also notes API requires name even if unchanged. Lacks explicit when-not-to-use, but context is clear.

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

  • Behavior4/5

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

    Discloses that the new pie starts with zero invested value, which goes beyond the annotations that only indicate it's not read-only or destructive. Missing details on side effects like the original pie being unchanged, but still strong.

    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?

    Five sentences plus structured Args/Returns section. Front-loaded with purpose and key behavioral detail (zero invested value). Every sentence 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?

    Covers all parameters, includes return type reference (PieDetails), and provides usage context with sibling tool. Given output schema exists, no need to detail return fields.

    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?

    With 0% schema description coverage, the description provides meaningful context: pie_id is the source pie ID obtainable from fetch_pies, name is optional with default behavior, and icon is optional. Adds value beyond 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?

    Description clearly states it clones an existing pie with identical allocations and settings, distinguishing it from create_pie which builds from scratch.

    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 advises using this tool to create a variation of an existing pie without rebuilding, and references create_pie as an alternative for building from scratch.

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

  • Behavior4/5

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

    Annotations already declare readOnlyHint=true, destructiveHint=false, idempotentHint=true, indicating safe read operation. The description adds value by listing the return fields (free, invested, total, ppl, result, blocked, pieCash), which helps the agent understand the output structure. No contradictions 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.

    Conciseness5/5

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

    The description is concise (two short paragraphs) and front-loaded with the main purpose. Every sentence adds value: it states what the tool does, when to use it, mentions siblings, and lists return values with clear labels.

    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 no parameters and the presence of an output schema (implied by the return field list), the description provides sufficient context for a simple read operation. The account health context and buying power use case complete the picture.

    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?

    The tool has zero parameters, and the input schema coverage is 100% (void). The description does not need to clarify parameters. It mentions return fields, which is beyond parameter semantics but not a deficiency. Baseline 4 is appropriate for a parameterless tool with full schema coverage.

    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 retrieves a detailed breakdown of account balance, listing specific components (available cash, invested capital, etc.). It also distinguishes itself from the sibling fetch_portfolio_summary by noting that the sibling provides a richer overview including positions.

    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 says when to use: 'check buying power before placing orders' and 'understand the overall account health'. It also directs to an alternative tool (fetch_portfolio_summary) for a more comprehensive view, providing clear guidance on tool selection.

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

  • Behavior4/5

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

    Annotations already cover readOnly, destructive, and idempotent hints. The description adds valuable context: it returns a list with specific fields and excludes filled/cancelled orders. 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?

    Efficiently structured: summary line, usage guidance, explicit exclusion, and return format. 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?

    Given no parameters, explicit annotations, and a simple return structure described in the description, everything an agent needs to invoke correctly is present.

    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?

    No parameters exist, so the description doesn't need to add param details. Per guidelines, baseline is 4 for zero-param tools. The description covers the absence of filters implicitly by describing the scope.

    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 'List all active pending orders' with specific order types, and distinguishes from sibling tools like fetch_order and fetch_historical_order_data.

    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 says when to use (review open orders before placing new ones, check if previously placed order is active) and when not to (for filled/cancelled, use fetch_historical_order_data), naming the alternative.

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

  • Behavior4/5

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

    Annotations already declare readOnlyHint, destructiveHint, idempotentHint. Description adds return format details (Report objects with reportId, status, downloadLink), providing useful context 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?

    Concise two-paragraph structure with no fluff. First sentence states purpose, second gives usage context, third describes returns. Every sentence contributes.

    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 zero parameters and presence of an output schema, the description fully covers what the tool does and returns, leaving 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?

    No parameters exist, baseline is 4. Description adds no parameter info, but none needed.

    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 lists previously generated CSV account exports with status and download links. It uses specific verbs and resources, and distinguishes from sibling tool 'request_csv_export' by indicating it checks export readiness.

    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 to use this tool to check if an export requested via 'request_csv_export' is ready, providing clear context and indirect when-not-to-use guidance.

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

  • Behavior4/5

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

    Annotations show readOnlyHint=false, destructiveHint=false, idempotentHint=false. The description discloses that the tool creates an order (mutation), explains the non-fill risk, and contrasts with market execution. It doesn't mention auth or rate limits, but the annotations provide sufficient baseline, and the description adds useful context.

    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?

    The description is concise with a clear structure: purpose statement, benefits, risk, alternative, then args in bullet-like format, then return type. Every sentence adds value; no wasted words.

    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?

    Given the tool has an output schema (Order), the description doesn't need to detail return values. It covers purpose, usage, parameters, and behavior adequately. Could mention idempotency or side effects (e.g., multiple submissions create multiple orders), but overall it's quite complete.

    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?

    The input schema has 5 parameters with 0% description coverage. The description adds full semantic context: ticker example and lookup hint, quantity direction (positive/negative), stop_price, limit_price tip for sells, and time_validity default. Schema provides types but description adds meaning.

    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 submits a stop-limit order, explains the mechanism ('once the stop price is hit, a limit order is placed'), and distinguishes it from a plain stop order. It also mentions specific parameters and returns an Order.

    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 explicitly states when to use this tool ('gives more control than a plain stop order') and names the alternative ('See also: place_stop_order'). It also warns about the risk of non-fill if the price moves through the limit.

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

  • Behavior5/5

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

    Annotations indicate non-read-only, non-destructive, non-idempotent. The description adds key behaviors: runs asynchronously, each call generates a new report, and returns an EnqueuedReport with reportId. 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?

    The description is well-structured with a brief intro, async behavior note, and a docstring-style Args/Returns. Every sentence is informative, though slightly lengthy. Could be tightened but still 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 (6 parameters, async, sibling tool), the description covers purpose, async handling, parameter details, return value, and how to track progress. No gaps identified.

    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%, but the description provides detailed explanations for all 6 parameters via an Args section, including defaults, format for time parameters, and meaning of omission. This greatly adds value beyond the 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 tool queues a CSV export of account history, with a specific verb 'queue' and resource 'CSV export'. It distinguishes itself from sibling fetch_exports_list by noting the export runs asynchronously and that sibling is used for monitoring.

    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 guides when to use this tool (to start an export) and points to fetch_exports_list for progress and download. It notes each call creates a new report, implying non-idempotency, but doesn't explicitly state when not to use it.

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

  • Behavior4/5

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

    Annotations already indicate readOnly, non-destructive, idempotent. The description adds the return format (Account with id and currencyCode) and confirms safe frequent calls. Missing details like possible error cases or rate limits, but compensated by 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?

    Three short sentences. Front-loaded with purpose, then usage guidance, then return format. No fluff, every sentence adds value.

    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 zero parameters and an output schema that is apparently not provided but mentioned in description, the description fully covers what the agent needs to call and interpret results. No gaps.

    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?

    No parameters in schema, baseline 4. Description adds meaning by detailing the return values (id, currencyCode), which is beyond the schema's empty definition. Provides concrete examples of currency codes.

    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 retrieves account metadata (currency and unique identifier). It uses specific nouns ('account metadata', 'base currency', 'unique identifier') and distinguishes from siblings that fetch other data like cash, orders, or pies.

    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 says to use as a starting point before interpreting monetary values from other tools, and states it's safe to call frequently. This tells the agent when and why to invoke this tool over others.

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

  • Behavior4/5

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

    Annotations already declare readOnlyHint=true and idempotentHint=true, so no side-effects are expected. The description adds value by detailing the returned data (settings and instruments), though it omits potential rate limits or pagination (not applicable here).

    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?

    The description is a compact paragraph with clear sections: purpose, usage, argument, returns. Every sentence is necessary and contributes to understanding with zero fluff.

    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?

    With a simple 1-parameter tool and an existing output schema, the description covers all necessary context: what it does, how to use it, what it returns. No gaps for an agent to misuse.

    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?

    Given 0% schema coverage on the single parameter, the description fully compensates by explaining the parameter's nature (numeric ID), providing an example (6894572), and linking it to fetch_pies. This goes 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 specifies 'Get full details for a single pie' and enumerates exact contents (allocations, weights, P/L, settings), clearly differentiating from sibling fetch_pies which lists pie IDs.

    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 to use fetch_pies first to obtain the pie ID, then call this tool for details, providing a clear sequential workflow and disambiguation from other pie-related tools.

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

  • Behavior4/5

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

    Annotations already indicate read-only, non-destructive, and idempotent behavior. The description adds context about pagination and ticker filtering, which are behavioral details beyond annotations. It does not contradict 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?

    The description is concise with a clear structure: purpose, usage, args, returns. It is front-loaded with the main purpose, and every sentence adds value without 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?

    The output schema exists, and the description lists the return fields (ticker, type, status, etc.). It covers input parameters, usage guidance, and return value details, making it complete for the tool's moderate complexity.

    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?

    The input schema has no descriptions (0% coverage), but the description explains each parameter: cursor for pagination, ticker for filtering, limit for page size with defaults and constraints (1-50, default 20). This fully compensates for the 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 retrieves past orders with execution details, fill prices, and timestamps. It explicitly distinguishes itself from fetch_all_orders for active orders, providing a specific verb-resource pairing.

    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 explicitly states when to use the tool ('review trade history', 'analyze past execution quality') and when not to ('For currently active orders, use fetch_all_orders'). This provides clear usage context and a sibling alternative.

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

  • Behavior4/5

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

    Annotations already declare readOnlyHint=true, destructiveHint=false, idempotentHint=true. The description adds context about pagination, filtering, and return fields (ticker, amount, paidOn, quantity, nextPagePath), which goes beyond annotations but does not contradict them.

    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?

    The description is concise with a clear opening sentence, a usage line, an Args section, and a Returns section. Every sentence adds value, and the structure is front-loaded with the main purpose.

    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, the description appropriately mentions return fields but doesn't over-specify. It covers pagination, filtering, defaults, and provides an alternative tool. Combined with annotations, it is fully complete for an agent to use 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?

    Input schema has 0% description coverage, but the description's 'Args' section explains each parameter: cursor (pagination cursor), ticker (filter to instrument), limit (records per page, 1-50, default 20). This adds essential meaning absent from the 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 'Retrieve dividend payments received' with specifics (per-share amounts, dates, payouts) and distinguishes from sibling fetch_dividend_summary by noting that this tool provides detailed records vs. a summarized 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 says 'Use this to track income from dividend-paying stocks' and provides an alternative: 'For a summarized view grouped by ticker and month, use fetch_dividend_summary instead.' This gives clear when-to-use and when-not-to-use guidance.

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

  • Behavior5/5

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

    Beyond annotations (readOnlyHint, etc.), the description details the exact calculations (total returns, best/worst performers) and the return dict structure. No contradictions 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.

    Conciseness5/5

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

    The description is concise: two sentences for purpose/usage, then a bullet-like list of returns. Every sentence adds value, no filler.

    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 zero-parameter tool with no output schema, the description covers the key output structure thoroughly. It lacks examples or caveats, but is sufficient 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?

    No parameters exist, so the baseline is 4. The description adds no parameter info (none needed) but effectively conveys the tool's 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?

    The description explicitly states it builds a detailed performance report combining holdings, orders, and dividends. It clearly distinguishes itself from the sibling tool fetch_portfolio_summary by mentioning deeper analysis and dividend relevance.

    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: 'Use this for deeper analysis than fetch_portfolio_summary provides, especially when dividend income matters.' This clearly states when to use and names an alternative.

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

  • Behavior4/5

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

    Annotations already declare readOnlyHint, destructiveHint, and idempotentHint. The description adds behavioral details about the merging process, chronological sorting, and tagging of entries. It also explains how the limit parameter affects total items (up to 2x limit). This adds value 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?

    The description is well-structured with a clear summary line, usage guidance, parameter explanation, and return format. It is concise without wasted words, every sentence adds value.

    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 simple tool with one parameter and no output schema, the description is complete. It covers the merged feed nature, parameter semantics, return structure (dict with specific fields), and tagging. It also specifies the limit range (1-50) not in the schema.

    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?

    The input schema has only a limit parameter with default and type. The description explains its semantics in detail: how many items from each source, range 1-50, default 20, and total may be 2x this. With 0% schema coverage, the description fully compensates and adds significant meaning.

    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 gets a unified timeline of recent trades and account movements, merging order history with deposits/withdrawals. It distinguishes from siblings like fetch_historical_order_data and fetch_transaction_list by specifying they provide separate access.

    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 explicitly says 'Use this for a quick "what happened recently" overview' and mentions alternatives for separate access, providing clear context for when to use this tool versus siblings.

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

  • Behavior4/5

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

    Annotations already indicate readOnly, destructive, and idempotent traits. Description adds details about cursor-based pagination and return structure (items with type, dateTime, amount, reference, and nextPagePath), which goes 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?

    Description is concise and well-structured: a brief purpose statement, usage guidance, argument list with clear explanations, and return description. Every sentence adds value without 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?

    Given the tool's simplicity (3 optional parameters, output schema exists), the description covers all necessary aspects: purpose, usage, parameters, pagination behavior, and return shape. No gaps.

    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 0% schema description coverage, the description fully compensates by explaining each parameter's purpose (cursor for pagination, time for filtering from timestamp, limit for page size with default 20 and range 1-50). No ambiguity.

    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 the verb 'Retrieve' and resource 'account cash movements', with specific examples (deposits, withdrawals, fees, interest, transfers). It also distinguishes from sibling tool fetch_recent_activity by noting that tool provides a combined view of orders and transactions.

    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 tells when to use (audit cash flow, reconcile deposits/withdrawals) and when not to (for combined view, use fetch_recent_activity). Parameter usage is explained with defaults and ranges.

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

  • Behavior4/5

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

    Describes that the order creates a real trade affecting the portfolio immediately and fills at best available price. Annotations are minimal (no readOnly, destructive, or idempotent hints), so description adds necessary behavioral context without contradiction.

    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?

    Concise, front-loaded with purpose, followed by usage guidelines, then parameter details. Every sentence adds value without 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?

    Covers all necessary aspects: purpose, prerequisites, parameter semantics, and return type. No gaps given the tool's simplicity and presence of output schema.

    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 parameter docs add extensive meaning: ticker format with examples and reference to search_instrument, quantity meaning with sign convention and fractional share support.

    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 'Execute a market order at the current price' with specific verb and resource. Distinguishes from sibling tools like place_limit_order by implying immediacy and market price execution.

    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 advises using search_instrument first to find correct ticker and checking fetch_account_cash for sufficient buying power, providing clear prerequisites and alternatives.

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

  • Behavior5/5

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

    Adds crucial behavioral context beyond annotations: describes irreversibility and that the order cannot be reinstated. This complements destructiveHint and idempotentHint 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 purpose, then usage guideline, then parameter detail. Front-loaded and efficient, though could be slightly more concise.

    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?

    Complete for a simple tool: covers purpose, usage, parameter semantics, and behavioral traits. Output schema exists to handle return value documentation.

    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 0% schema coverage, the description fully compensates by explaining order_id is a numeric ID, providing an example, and telling where to obtain it.

    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 verb 'cancel' and the resource 'pending order', and distinguishes from sibling tools like fetch_all_orders and place_limit_order.

    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 advises to use fetch_all_orders first to confirm order is active, and warns that cancellation is irreversible, guiding when and when not to use.

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

  • Behavior5/5

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

    Annotations already show readOnlyHint=true and idempotentHint=true. The description adds that it collects up to 200 records, returns a dict with specific keys, and aggregates by ticker and month, offering 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?

    Three concise sentences with bulleted return details. Every sentence adds value: purpose, usage, alternatives, and output structure. 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?

    Given zero parameters and no output schema, the description fully covers purpose, usage, alternatives, return format, and aggregation behavior. Annotations handle safety. Complete for a summary tool.

    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?

    The input schema has zero parameters, and schema coverage is 100% (empty). Baseline is 4; no parameter info needed as there are none.

    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 function: 'Analyse dividend income history' and 'breaking them down by ticker and by calendar month.' It distinguishes from sibling 'fetch_paid_out_dividends' by noting raw record pagination, making 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 Guidelines5/5

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

    Explicitly states when to use ('identify which holdings generate the most income and to spot monthly income trends') and when not ('For raw dividend records with pagination control, use fetch_paid_out_dividends instead'), providing clear guidance.

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

  • Behavior5/5

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

    Discloses that the order becomes a market order and may fill at a price different from the stop price in fast markets, adding critical behavioral context 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.

    Conciseness4/5

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

    Well-structured with clear sections, but slightly verbose. Could be tightened slightly without losing clarity.

    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?

    Covers inputs, behavioral notes, and alternative tool. Output schema exists, so return value explanation is not needed. Comprehensive for a stop order tool.

    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 0% schema description coverage, the description provides detailed parameter explanations in the 'Args:' section, including example for ticker, sign convention for quantity, and default for time_validity.

    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 submits a stop order that becomes a market order at a specified stop price, commonly used as a stop-loss. Distinguishes from sibling tools like place_stop_limit_order.

    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 common use case (stop-loss) and advises using place_stop_limit_order when more control over fill price is needed, providing clear when-to and when-not-to.

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

  • Behavior5/5

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

    Discloses that creation is real and triggers purchase upon funding, beyond the annotations which only indicate non-read-only, non-destructive, non-idempotent. Adds meaningful context without contradiction.

    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?

    Concise yet informative: single-sentence purpose, followed by usage guidelines, then structured parameter explanations. No fluff, every sentence 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?

    Covers creation process, prerequisites, constraints, defaults, and return type. Given the complexity (6 params, nested objects), the description is fully complete and agent-ready.

    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 coverage, the description explains each parameter with examples, defaults, and constraints (e.g., weights must sum to 1.0, dividend_cash_action default). Adds significant value beyond the 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 tool creates a new investment pie, with specifics that it's a real creation and instruments are purchased on funding. It distinguishes from siblings like duplicate_pie, delete_pie, update_pie.

    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 advises using search_instrument first, states weight constraint (sum to 1.0), and references duplicate_pie as an alternative for cloning. Provides clear when-to-use and when-not-to-use guidance.

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

  • Behavior5/5

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

    Annotations indicate readOnly, non-destructive, idempotent. Description adds that it returns the same Position data as fetch_all_open_positions and lists return fields (ticker, quantity, averagePrice, etc.), providing context 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?

    Two paragraphs with bullet points for Args and Returns. Front-loaded with purpose. Every sentence provides value; no wasted words.

    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 one parameter and existing output schema, description covers purpose, usage, parameter details, and return fields. No gaps for a single-parameter lookup tool.

    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% coverage, but description explains ticker format with examples ('AAPL_US_EQ', 'IGLDd_EQ') and advises using search_instrument for correct ticker. Adds substantial meaning 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?

    Description clearly states it looks up a single open position by ticker symbol. Verb 'look up' combined with resource 'position by ticker' is specific. Distinguishes from sibling 'fetch_all_open_positions' by specifying single instrument.

    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 says 'Use this when you need details on one specific holding without fetching the entire portfolio.' Also recommends 'search_instrument' for ticker lookup when unsure.

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

GitHub Badge

Glama performs regular codebase and documentation scans to:

  • Confirm that the MCP server is working as expected.
  • Confirm that there are no obvious security issues.
  • Evaluate tool definition quality.

Our badge communicates server capabilities, safety, and installation instructions.

Card Badge

trading212-mcp-server MCP server

Copy to your README.md:

Score Badge

trading212-mcp-server MCP server

Copy to your README.md:

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/KyuRish/trading212-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server