Skip to main content
Glama
tossinvest-mcp

tossinvest-mcp

by scjang01

주식 랭킹 조회

toss_get_rankings
Read-only

Retrieves top 100 stock rankings by market (KR/US), duration, and ranking type, such as gainers, losers, trading volume, or trading amount, so you can compare market performance.

Instructions

주식 랭킹 조회. 지정한 시장(marketCountry) · 기간(duration) · 기준(type)의 주식 랭킹을 조회합니다. 상위 100위까지 제공합니다.

  • TOP_GAINERS / TOP_LOSERS 는 duration=realtime 을 지원하지 않습니다 (400 unsupported-ranking-duration).

  • tradingVolume / tradingAmount 의 집계 기준은 type 이 결정합니다 — TOSS_SECURITIES_* 는 토스증권 체결 기준, 그 외(MARKET_* / TOP_*)는 시장 전체 기준.

  • price.basePrice 는 TOP_GAINERS / TOP_LOSERS 만 duration 시작 시점 기준가이며, 나머지 타입은 duration 과 무관하게 항상 전일 기준가입니다. price.changeRate 도 같은 의미를 따릅니다 (기간 등락률 vs 전일 대비 등락률).

  • 응답 항목 수는 count 보다 적을 수 있습니다 (시세 조회에 실패한 종목은 제외).

  • 랭킹이 집계되지 않은 조합은 에러가 아닌 빈 rankings 배열로 응답하며, 이때 rankedAt 은 null 입니다.

Rate Limits Group: RANKING

Input Schema

NameRequiredDescriptionDefault
typeYes
countNo
durationYes
marketCountryYes
excludeInvestmentCautionNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.3.0

TDQS

A4.3/5.0
Behavior5/5

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

Annotations already declare read-only, non-destructive behavior, but the description adds substantial extra context: a documented error code for the realtime+TOP_GAINERS combination, the fact that fewer than `count` results can come back because failed quotes are excluded, empty `rankings` with null `rankedAt` instead of an error, and a rate-limit group. That's exactly the kind of failure-mode disclosure annotations don't cover.

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?

A summary sentence followed by tight bullets, each carrying distinct information (unsupported combo, aggregation basis, basePrice/changeRate meaning, count shortfall, empty-result shape). No sentence restates the title and nothing is padded.

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 5-parameter tool with no output schema and no schema-level parameter docs, the description is unusually complete: it covers output shape, error conditions, and the meaning of returned fields like basePrice/changeRate. The remaining gap is `excludeInvestmentCaution` and any default for `count`, both left to inference.

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 must carry parameter meaning, and it does for `type` (grouped enum semantics), `duration` (realtime unsupported for top gainers/losers), and `count` (100 max, effective count may be lower). `excludeInvestmentCaution` is never mentioned, and `marketCountry` is only named as a filter without further elucidation.

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 and resource ('주식 랭킹 조회') and scopes the result ('상위 100위까지 제공'), keyed to market/duration/type. It never explicitly distinguishes itself from the sibling toss_get_sector_rankings, so an agent must infer that this is per-stock ranking rather than per-sector.

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?

It gives concrete conditions: TOP_GAINERS/TOP_LOSERS reject duration=realtime with a 400 unsupported-ranking-duration, and TOSS_SECURITIES_* types use different aggregation bases than MARKET_*/TOP_* types. What's missing is routing guidance naming which sibling to use instead when the caller wants sector-level or individual price data.

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