Skip to main content
Glama

compare_tickers

Read-only

Score and rank 1–8 US or KRX tickers with entry plans and allocation scenarios from your amount input; returns structured comparison data without placing orders or accessing accounts.

Instructions

Compare 1–8 tickers for entry-plan scoring and allocation: calculation, not an order; the amount is your input; no account access. Symbols: US tickers (USD) and KRX listings by code, e.g. 000660, 005930 (tries .KS then .KQ) or 005930.KS (KRW); not indices or other markets. currency defaults to the listing's; amounts and prices stay in it (no FX conversion): USD with a KRX listing or KRW with a US one returns CURRENCY_MISMATCH. KRX listings: Yahoo daily bars, the latest trade and indicators only (no options levels, SEC filings, consensus or earnings date, stated in warnings), limit prices on the KRX tick grid in force since 2023-01-25 (호가단위, rounded down) and whole shares per tranche. US and KRX tickers can be mixed: each keeps its own currency (data.currency_policy); total_amount then needs currency, the currency it is split in, and a ticker priced in the other one gets a percentage-only plan. An unsupported symbol is listed in data.unavailable with its reason_code and the rest are compared. For price-performance charts or relative strength (상대강도), use compare_price_performance. Returns {ok, data, error, meta} as structuredContent and the same compact JSON as text; ok=false is a tool error naming the problem. data.comparison: per ticker attractiveness and entry_plan (tranches), ranking and allocation_scenarios (with total_amount); data.freshness and technical_basis per ticker. Spots are latest trades with their times (freshness; a spread over 5 minutes is warned) and indicators match get_technical_indicators; confirmed_only=true uses confirmed closes. detail: standard (default) gives values with provenance once per section and rounded numbers, summary headline values only, full every field with per-value provenance; meta.detail_note says how to read same_as, _each and {columns, rows} tables. Per-ticker inputs_used and dropped_levels only in full.

Input Schema

NameRequiredDescriptionDefault
detailNosummary | standard (default) | full. full: every field, per-value provenance, every bar and the markdown report. standard: values with provenance once per section, the last 20 bars, the latest 4 quarters and 3 rows of other collections (TTM kept), rounded numbers; method and rule text only in full. summary: headline values only, no bars, collections or inputsstandard
symbolsYes
currencyNo
horizon_daysNo
total_amountNo
confirmed_onlyNo

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.8/5.0
Behavior5/5

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

Annotations already declare readOnly/destructive/openWorld, and the description adds substantive context beyond them: no account access, no order placement, no FX conversion, warning surfaces (stale spread over 5 minutes, missing options/SEC/consensus data on KRX), and error semantics (ok=false names the problem). The non-idempotent annotation is consistent with a live-quote-dependent comparison.

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?

Purpose and the alternative-tool routing are front-loaded, and nearly every clause carries operational information with no filler. However, the body is delivered as a few very long run-on sentences packing currency policy, KRX rules, return shape and detail levels together, which makes it harder to scan than it needs to be.

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 6-parameter, multi-market comparison tool this is unusually complete: symbol formats, currency policy, partial-failure behavior, freshness, detail levels and error envelope are all addressed, and an output schema exists so return values need little further explanation. The only omission is horizon_days, which is minor against the overall coverage.

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 description coverage is only 17%, so the description carries most of the burden and does so for symbols (format, exchange suffix fallback .KS/.KQ, mixing rules), currency (defaults to listing currency, mismatch behavior, required with total_amount when mixed), total_amount (percentage-only plan for cross-currency tickers), and confirmed_only (confirmed closes). horizon_days is never explained anywhere, and detail is largely covered by the schema itself rather than the 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?

States a specific verb and resource with scope (1–8 tickers, entry-plan scoring and allocation) and immediately disambiguates from siblings by naming compare_price_performance for charts/relative strength. It also clarifies it is a calculation, not an order, so the agent knows what class of operation this is.

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 routes between tools ('For price-performance charts or relative strength (상대강도), use compare_price_performance') and states what is out of scope (indices, other markets). It also gives the conditions that select behaviors: mixing US and KRX tickers, CURRENCY_MISMATCH when currency conflicts, and unsupported symbols landing in data.unavailable rather than failing the whole call.

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