Skip to main content
Glama
armaaar

thndr-mcp

by armaaar

Peers

get_peers
Read-onlyIdempotent

Find similar stocks to a given ticker by market, with last price and change %. Egyptian market also lists same-sector peers with traded value, market cap, P/E and dividend yield.

Instructions

All markets: Thndr's "similar stocks" for one stock, each with last price and change %. Egypt also gives the largest other instruments of the same sector (by market cap) and, for every peer, traded value, market cap, P/E and dividend yield; elsewhere sameSector is empty (no whole-market snapshot) and those fields are null.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum peers per list
marketNoMarket: "egypt" (EGX, default), "us" (NYSE/Nasdaq via Alpaca), "uae" (ADX) or "simulator" (paper trading)egypt
symbolYesTicker symbol (e.g. "COMI") or Thndr asset id (UUID)

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.5/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, open-world, and non-destructive, so the safety bar is met. The description goes beyond them by disclosing market-dependent output behavior: Egypt adds sameSector instruments plus traded value, market cap, P/E and dividend yield, while elsewhere sameSector is empty and those fields are null. This is genuinely useful behavioral context; only the absence of any return-shape detail beyond a field list keeps it from 5.

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?

A single dense sentence, front-loaded with the "All markets" scope so the universal behavior is read first. Every clause carries information and none is redundant, though the semicolon-chained structure is slightly run-on.

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?

With no output schema, the description carries the job of explaining returns and partially does so (last price, change %, and the Egypt-only field set). Annotations cover the safety profile and the schema covers all parameters, so nothing critical is missing, though a bit more on the non-Egypt return shape would complete it.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already fully documents symbol, market, and limit. The description implies that the `market` parameter materially changes the returned fields (Egypt vs. elsewhere), which adds some meaning beyond the enum, but it does not explain limit, symbol formats, or market-specific syntax beyond what the schema states. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb+resource: it returns Thndr's "similar stocks" for a single stock, with concrete fields (last price, change %). It is clearly distinguishable from generic sibling tools like get_market_movers or search_instruments. It stops short of naming a sibling to route against, so it lands at 4 rather than 5.

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

Usage Guidelines2/5

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

The phrase "for one stock" implies the input context, but there is no explicit when-to-use/when-not guidance and no reference to alternative siblings such as get_market_movers or get_index_constituents. An agent must infer usage from the purpose statement alone.

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