Skip to main content
Glama

POKEKA — Pokémon Card Prices

Server Details

Real sold prices, history & PSA population for graded Pokémon cards (EN/JP/CN). Knows nicknames.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
99.9% over 74 days
Last Tested
Transport
Streamable HTTP · MCP 2025-06-18
URL

TDQS

A3.9/5.0

Scored across 14 tools

Disambiguation4/5

Most tools map to a distinct resource+action (population, headline price, price history, raw sales, set stats, movers, volume). However, nickname resolution exists in both slang_lookup and search_card (which explicitly accepts community nicknames), and get_card_context also accepts a nickname via query and returns the headline price, creating two mild triple-overlap zones. Descriptions do a good job of disambiguating the rest via cross-references.

Naming Consistency3/5

There is a de facto domain-prefix scheme (card_*, market_*, set_*, get_*) but it is applied unevenly: get_card_context/get_set_overview/get_market_brief use get_ while card_price and set_species_summary do not, and search_card/slang_lookup/recent_sales use verb_noun or adjective_noun. Names remain readable and mostly predictable, but 'card_pop' as an abbreviation alongside the spelled-out card_* family is a jarring deviation.

Tool Count4/5

14 tools is well within a healthy scope for a market-data domain covering cards, sets, and market aggregates. Each tool has a defensible purpose, though the six market/set-analysis tools (get_market_brief, market_movers, market_volume_leaders, get_set_overview, set_species_summary, set_top_priced_cards) are somewhat dense and account access is the lone outlier.

Completeness4/5

The surface covers the full read-only research lifecycle: search → price → history → population → sales → context → set stats → market aggregates, and is explicitly non-mutating by design. Gaps are minor: no watchlist/portfolio or multi-card comparison tool, and recent_sales is USD-only despite the multi-currency pricing elsewhere. Agents can work around these with repeated calls.

Available Tools

14 tools
card_popPopulation reportA
Read-only
Inspect

Graded population for one card: PSA population by grade (total / 10 / 9 / 8), CCIC population (total / 10 / 9.5 / 9), PSA gem rate and scarcity tier when available. Reads POKEKA market data only; server-side request logging is disclosed in the privacy policy; does not modify user data.

NameRequiredDescriptionDefault
card_idYesCard id from search_card / slang_lookup.

Output Schema

NameRequiredDescription
psaNo
ccicNo
noteNo
card_idNo
gem_rateNo
gem_rate_bandNo
scarcity_tierNo

TDQS

A3.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, destructiveHint=false, and openWorldHint=false. The description adds relevant behavioral context: it reads only POKEKA market data, discloses server-side logging, and confirms it does not modify user data, which goes beyond the structured 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?

The description is front-loaded with the tool's purpose and the data it returns, followed by concise behavioral constraints. The second sentence is slightly ancillary but not wasteful.

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 simple read-only, one-parameter tool with an output schema and safety annotations, the description covers purpose, data source, and behavioral constraints adequately. It could be improved with usage guidance, but it is complete enough to invoke correctly.

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 coverage is 100% and the single parameter card_id is already documented in the schema with a reference to search_card / slang_lookup. The description adds no further parameter meaning, so the baseline of 3 applies.

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 precisely states the resource and the exact graded population metrics returned (PSA by grade, CCIC by grade, gem rate, scarcity tier). It does not explicitly name a sibling or contrast with card_price/card_price_history, so it falls short of a 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?

There is no when-to-use guidance, no alternatives, and no prerequisites. The sentence about reading POKEKA market data and logging is a constraint/behavior, not usage guidance.

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

card_priceCard priceA
Read-only
Inspect

Use when the user asks what a card is worth, its PSA 10 / PSA 9 / CCIC 10 price, current market value, or what it last sold for. Returns a headline price (USD/CNY/JPY) from verified real sales (robust median — never listings, never interpolated) with grading company, grade, sample size, window and confidence, plus a per-grade ladder (PSA 10/9/8, CCIC, BGS, CGC …). Pass company + grade to price a specific grade (e.g. company "PSA", grade "9"); if that grade has no data the response says price_status "grade_not_available" and does NOT fall back to PSA 10. price_status "reference_only" = low confidence or thin sample — quote it with that caveat (safe_to_quote=false). "card_not_found" = wrong id, search again. One price per card and grade, pooled from verified sales on every marketplace we track (US, Japan, China); price_cny / price_jpy are that price converted at the daily FX rate, not prices observed in a domestic market. The marketplace of each sale is listed in recent_sales. Reads POKEKA market data only; server-side request logging is disclosed in the privacy policy; does not modify user data.

NameRequiredDescriptionDefault
gradeNoOptional grade to price, e.g. "10", "9.5", "9". Use with company. No fallback to another grade.
card_idYesCard id from search_card / slang_lookup. An exact community nickname (e.g. "moonbreon", "鬼皮") also resolves when it maps to exactly one card.
companyNoOptional grading company to price, e.g. "PSA". Use with grade.
conditionNo"raw" = the user asked for an ungraded card. Raw prices are not offered yet; the response says so instead of returning a graded price.

Output Schema

NameRequiredDescription
cardNo
noteNo
fx_as_ofNo
headlineNoomitted when there is no verified headline price — read price_status
referenceNo
grade_ladderNo
price_statusNo
last_sold_dateNo
headline_confidenceNo

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already cover the read-only, non-destructive, closed-world profile, but the description adds substantial behavioral context beyond them: no interpolation from listings, no fallback from an unavailable grade to PSA 10, the meaning of price_status values, safe_to_quote=false caveat for reference_only, and disclosure of server-side logging. The FX conversion note (price_cny/price_jpy are conversions of one pooled price, not domestic-market observations) is exactly the kind of non-obvious trait that prevents misreading the output.

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 triggers are front-loaded in the first sentence and the semantic edge cases (no fallback, price_status meanings, FX conversion) follow in dense, non-redundant sentences. It is long, but nearly every clause carries decision-relevant information; the trailing privacy/logging sentence is the only part that could be trimmed without losing invocation guidance.

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?

An output schema exists, so return formatting need not be described, yet the description still explains the status codes an agent must interpret (grade_not_available, reference_only, card_not_found) and how the currency fields relate to the headline price. For a single-lookup pricing tool with annotations covering safety, nothing needed for correct interpretation is missing.

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 100%, so the baseline is 3; the description goes further by explaining how company and grade combine ('Pass company + grade to price a specific grade') and by stating the critical consequence that a missing grade yields grade_not_available rather than a fallback. It also clarifies that condition 'raw' is not yet supported, which the schema alone states only obliquely. It stops short of adding format or edge-case guidance for grade strings such as '9.5'.

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 names the specific verb and resource ('what a card is worth', headline price plus per-grade ladder) and scopes the resource precisely: one price per card and grade, pooled from verified sales across all marketplaces. It distinguishes itself from card_price_history and recent_sales by emphasizing a single pooled headline price and a per-grade ladder rather than a time series or sale-by-sale feeds.

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 trigger phrasings ('what a card is worth', 'PSA 10 / PSA 9 / CCIC 10 price', 'what it last sold for') and tells the agent what to do on failure ('card_not_found = wrong id, search again', i.e. go back to search_card). It does not explicitly route to the nearest sibling, card_price_history, so the boundary with historical prices is left for the agent to infer.

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

card_price_historyCard price historyA
Read-only
Inspect

Weekly median price series for one card (representative grade, up to 26 weeks) plus 30d/90d change percentages (only shown when statistically confident). Reads POKEKA market data only; server-side request logging is disclosed in the privacy policy; does not modify user data.

NameRequiredDescriptionDefault
weeksNoHow many recent weeks (default 26, max 26).
card_idYesCard id from search_card / slang_lookup.

Output Schema

NameRequiredDescription
noteNo
seriesNo
card_idNo
point_countNo
change_gradeNo
price_statusNo
series_gradeNo
change_pct_30dNo
change_pct_90dNo
weeks_requestedNo

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already cover readOnly/destructive/openWorld, but the description adds real behavioral context beyond them: the series is a representative grade, capped at 26 weeks, and change percentages appear only when statistically confident. It also discloses server-side request logging and that no user data is modified, which is useful transparency for a data-read tool.

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 front-loaded sentence packs the resource, scope, and caveats without repetition, and the most important element (what the series is) comes first. The trailing privacy/logging clause is marginally less essential but still short.

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 an output schema present, return values need no explanation, and the description still covers the key behavioral caveats (representative grade, week cap, confidence gating). An agent can call it correctly; only explicit sibling routing is missing.

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 card_id and weeks are already documented, including the 26-week maximum. The description restates the 26-week cap and single-card scope but adds no format, id provenance, or default semantics beyond the schema; baseline 3 applies.

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?

States a specific verb+resource (weekly median price series for one card) with scope details (representative grade, up to 26 weeks) and the derived 30d/90d changes. It implicitly separates itself from card_price (single point) and card_pop (population), but never names those siblings explicitly.

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

Usage Guidelines3/5

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

The content of the series implies when it is useful (trend analysis over weeks), but there is no explicit when-to-use or when-not-to-use guidance, and no routing to card_price, card_pop, or recent_sales despite several overlapping siblings. Usage must be inferred.

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

get_account_accessConnect POKEKA account and check accessAInspect

Connect the user's existing POKEKA account or check its current access permissions. Use when the user explicitly asks to connect, sign in, or check their POKEKA account access (连接账号、登录、查看账号权限). Requires POKEKA OAuth; if not connected, return the account-linking challenge and retry after authorization. Public card and market queries do not require this tool. Returns the existing access tier and connection-management link, never credentials or personal identifiers. Does not purchase or change a plan. Calls update token activity and may record internal usage statistics.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
connectedNo
access_tierNo
detailed_market_dataNoWhether the linked account currently has access to detailed market data; individual tool limits still apply.
manage_connection_urlNoPOKEKA account page where the user can manage or revoke this connection.

TDQS

A4.9/5.0
Behavior5/5

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

The description reveals important behavior beyond annotations: OAuth is required, unauthenticated calls should trigger an account-linking challenge and retry, it returns access tier and a connection-management link but never credentials, it does not purchase or change a plan, and it may record usage statistics. This fully discloses side effects and constraints.

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?

Every sentence earns its place: purpose, usage trigger, auth behavior, return characteristics, exclusions, and side effects. The core action is front-loaded and the description remains compact despite covering multiple essential aspects.

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 zero-parameter tool with an output schema, the description covers all decision-relevant context: when to use, what to expect on auth failure, what is returned, what is never returned, what side effects occur, and what it does not do. Nothing needed for correct invocation is missing.

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 is empty, so parameter semantics are trivially satisfied. The description adds contextual requirements like OAuth but no parameters need explanation. A score of 4 is the baseline 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 names a specific verb ('Connect', 'check') and resource ('POKEKA account'), and clearly differentiates from all sibling card/market tools by stating that public card and market queries do not require this tool. The purpose is immediately identifiable and 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?

It gives explicit use conditions: when the user asks to connect, sign in, or check account access. It also provides a clear exclusion: public card and market queries do not require this tool. This tells an agent both when to invoke it 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.

get_card_contextCard contextA
Read-only
Inspect

Everything around one card beyond the price: community nicknames (圈内叫法), counterfeit-risk flags with self-check steps, holder-turnover tier (locked vs high-churn), and a curated context note — plus the headline price. Accepts card_id or an exact nickname via query (e.g. "凡高皮", "金拱门"). Absence of flags is not a clearance; coverage is curated and growing. Reads POKEKA market data only; server-side request logging is disclosed in the privacy policy; does not modify user data.

NameRequiredDescriptionDefault
queryNoAlternative to card_id: an exact community nickname or alias.
card_idNoCard id from search_card / slang_lookup.

Output Schema

NameRequiredDescription
cardNo
noteNo
headlineNo
last_saleNo
nicknamesNo
referenceNo
price_noteNo
risk_flagsNo
context_noteNo
price_statusNo
release_dateNo
hoarding_tierNo
has_risk_flagsNo
context_coverage_noteNo

TDQS

A4.4/5.0
Behavior5/5

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

Goes well past the readOnly/openWorld annotations by disclosing that coverage is curated and growing, that missing flags are not a clearance, that it reads POKEKA market data only, and that requests are logged. Those caveats materially change how an agent should interpret an empty result.

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 is front-loaded in the first clause and the enumerated payload list is efficient. The tail clause about privacy-policy logging and 'does not modify user data' is partly boilerplate and partly redundant with the readOnly annotation, which keeps it from a 5.

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 an output schema present, the return shape needn't be described; the description instead covers inputs, data scope, coverage limitations, and privacy posture. Nothing an agent needs to call it correctly is missing.

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 100%, so the baseline is 3, and the description earns a bump by clarifying that 'query' must be an EXACT nickname and giving concrete examples ('凡高皮', '金拱门'). It also reinforces card_id as the primary identifier sourced from other tools.

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 resource and enumerates exactly what comes back (nicknames, counterfeit-risk flags, turnover tier, context note) plus the price, which clearly separates it from card_price and slang_lookup. The dual input mode (card_id or exact nickname) is also named up front.

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

Usage Guidelines3/5

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

Usage is only implied: 'Everything around one card beyond the price' hints that it complements card_price, and the schema notes where card_id comes from, but the description never says when to pick this tool over card_price, slang_lookup, or get_market_brief. No explicit exclusions or alternatives are given.

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

get_market_briefMarket briefA
Read-only
Inspect

Where the graded-Pokémon market stands in its cycle, per language track (all / en / ja): a one-line phase read backed by a fixed-basket same-card index (never vibes), peak/drawdown numbers, weekly verified-sale counts, and an upcoming release/event calendar. Not investment advice. Reads POKEKA market data only; server-side request logging is disclosed in the privacy policy; does not modify user data.

NameRequiredDescriptionDefault
marketNoTrack, default all.

Output Schema

NameRequiredDescription
noteNo
as_ofNo
briefNo
phaseNo
marketNo
basket_sizeNo
index_levelNo
tx_7d_countNo
upcoming_eventsNo
change_from_baseNo
drawdown_from_peakNo

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description still adds useful non-annotation context: the fixed-basket same-card methodology, that server-side request logging occurs, and that user data is not modified. It does not mention rate limits or freshness/caching of the weekly counts.

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 substance is front-loaded in one dense sentence, which is efficient for a one-parameter tool. The trailing legal/privacy lines ('Not investment advice', logging disclosure) add bulk that an agent does not strictly need for invocation, though they may be worth surfacing to users.

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 low-complexity, zero-required-parameter read with an output schema present and read-only annotations, the description covers output contents, data source, and side effects well. The only real gap is routing guidance relative to the many sibling market tools, plus the track-list mismatch.

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 coverage is 100% and the single parameter is documented, so the baseline of 3 applies. The description does help by framing the parameter as a language track, but it lists only 'all / en / ja' while the enum also includes 'zh-cn', a discrepancy that could mislead an agent about available tracks.

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?

States a specific resource (graded-Pokémon market cycle position) and enumerates the concrete outputs: phase read, fixed-basket index, peak/drawdown, weekly verified-sale counts, and a release calendar. That is far more specific than a sibling like market_movers or market_volume_leaders, though no sibling is named outright to make the boundary explicit.

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

Usage Guidelines3/5

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

Usage is implied by the outputs: this is the aggregate trend/cycle read rather than a per-card or ranking tool. However, the description never says when to prefer it over market_movers, recent_sales, or card_price_history, and gives no exclusions or prerequisites.

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

get_set_overviewSet overview & checklistA
Read-only
Inspect

Whole-set statistics for one Pokémon TCG set: total cards, per-language-track counts, breakdown by rarity (with EN star-system + JP-style display names) and by variant (Master Ball / Poké Ball mirror slots etc.), top featured Pokémon, plus a paginated card checklist. 中文用户: 一次拿到整个系列的卡表统计(总卡数/每稀有度几张/每变体几张/出场宝可梦), 不用逐张搜。Use for questions like "how many cards / SR cards are in 151c". Accepts internal set_code, official abbreviation (CEL) or set name. Catalog data only — for the most valuable cards in a set use set_top_priced_cards; per-card prices via card_price. Reads POKEKA market data only; server-side request logging is disclosed in the privacy policy; does not modify user data.

NameRequiredDescriptionDefault
langNoOptional language track filter — same code can be different products per track.
pageNoChecklist page (0-based). Anonymous/free tier: 20 cards/page, first 2 pages; Pro: 50/page (whole-set sweeps are rate-guarded).
set_codeYesSet code, official abbreviation, or set name (e.g. "151c", "sv2a", "CEL", "Celebrations").

Output Schema

NameRequiredDescription
langNo
noteNo
by_langNo
guidanceNo
set_codeNo
by_rarityNo
checklistNo
by_variantNo
top_speciesNo
total_cardsNo
species_noteNo
checklist_pageNo
checklist_cappedNo
checklist_page_sizeNo

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds value beyond that: it states the data source is POKEKA market data only, that server-side request logging is disclosed in the privacy policy, and that it does not modify user data. Rate-guarding of whole-set sweeps is mentioned but primarily lives in the schema, so this falls just short of a 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?

The core purpose and return contents are front-loaded, and the routing guidance follows logically. However, the bilingual duplication of the statistics list adds length without new information for a primarily-English reader, slightly diluting density.

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 an output schema present, return values needn't be spelled out, and annotations cover the safety profile. The description supplies usage triggers, alternatives, data-source scope, and privacy disclosure, making it essentially complete for correct invocation. Minor remaining gap is no explicit mention of what happens when a set_code matches nothing.

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 all three parameters already carry their own documented semantics (lang track, pagination limits, accepted set_code formats). The description's note about accepting internal set_code, official abbreviation, or set name largely restates the schema's set_code description, adding little new meaning. Baseline 3 applies.

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+resource (whole-set statistics for one Pokémon TCG set) and enumerates exactly what is returned: total cards, per-language-track counts, rarity breakdown, variant breakdown, top featured Pokémon, plus a paginated checklist. It explicitly distinguishes itself from siblings by naming set_top_priced_cards and card_price as the tools for price-related questions.

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?

Provides an explicit when-to-use trigger ("Use for questions like 'how many cards / SR cards are in 151c'") and exclusions: catalog data only, redirecting pricing questions to set_top_priced_cards and card_price. The alternative-routing is unambiguous.

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

market_moversMarket moversA
Read-only
Inspect

Use when the user asks which Pokémon cards are rising or falling, what is hot, or the biggest moves this week/month. lang = "en" / "ja" / "zh-cn" (market tracks never mix). direction = "up" (cards rising) or "down" (cards falling), default "up". window = "7d" / "30d" / "90d"; omit to use the default window published for that track. Every row passes a liquidity gate — at least 5 verified sales in both the current and the base window, change capped at ±40%, both medians consistent with the card's reference price — and carries price_now / price_base / n_cur / n_prev, so a listed move is a real same-card, same-grade move. Up to 20 cards. Reads POKEKA market data only; server-side request logging is disclosed in the privacy policy; does not modify user data.

NameRequiredDescriptionDefault
langYesMarket track: "en", "ja" or "zh-cn".
windowNoChange window: "7d", "30d" or "90d". Omit to use the default window published for that track.
directionNo"up" = cards rising, "down" = cards falling. Default "up".

Output Schema

NameRequiredDescription
noteNo
marketNo
moversNo
reasonNopresent when the board is empty because this track does not publish this window (not because nothing moved) — read note
windowNo
directionNo
anchor_dateNoThe window anchors to this latest-sale date; present it.
mover_countNo

TDQS

A4.4/5.0
Behavior5/5

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

Beyond the readOnly/non-destructive annotations, the description discloses the liquidity gate, the capped ±40% change, the row fields returned, the 20-card limit, privacy logging, and that user data is not modified. This is unusually rich behavioral context for a read-only market query.

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 front-loaded with the trigger use case and remains dense without filler. It is a single long paragraph rather than clearly segmented, but nearly every sentence contributes relevant selection or trust information.

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 and annotations, the description provides enough context to call the tool correctly: trigger scenarios, parameter defaults, row-level fields, result limits, and data quality constraints. Nothing essential is missing for an agent to select and invoke 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 coverage is 100% and all three parameters are enums with descriptions, so the schema already documents the allowed values and defaults. The description mostly restates those defaults, though 'market tracks never mix' adds a small amount of meaning about the lang parameter.

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 opens with an explicit use case: cards that are rising or falling, what is hot, or biggest moves this week/month. That gives an agent a clear verb-like operation (find market movers) and resource (Pokémon card price movement), and the direction/window framing implicitly separates it from volume or history siblings.

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 clearly states the user questions that should trigger this tool and explains parameter defaults for direction and window. It does not name alternatives such as market_volume_leaders or card_price_history, nor does it give explicit 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.

market_volume_leadersVolume leadersA
Read-only
Inspect

Most-traded graded Pokémon cards by verified sales count over a 24h / 7d / 30d window, filterable by language track (all / en / ja / zh-cn) and grading company (all / PSA / CCIC / PSA10). Windows anchor to the latest sale date on record (anchor_date in the response) — always present results with that date. median_usd is a mixed-grade reference; use card_price for a precise per-grade quote. Up to 50 leaders. Reads POKEKA market data only; server-side request logging is disclosed in the privacy policy; does not modify user data.

NameRequiredDescriptionDefault
langNoLanguage track filter, default all.
limitNoHow many leaders (default 10, max 50).
windowNoVolume window, default 7d. Anchored to the latest sale on record, not wall-clock now.
grade_companyNoGrading filter, default all. PSA10 = PSA grade-10 slabs only.

Output Schema

NameRequiredDescription
langNo
noteNo
windowNo
leadersNo
anchor_dateNoLatest sale date on record — always cite this with results
leader_countNo
grade_companyNo

TDQS

A4.4/5.0
Behavior5/5

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

Going well beyond the readOnly/destructive/openWorld annotations, it discloses the data source (POKEKA market data only), that server-side request logging occurs, that user data is not modified, and the crucial behavioral trait that windows anchor to the latest sale date rather than wall-clock now. That anchor semantics is exactly the kind of context annotations cannot express.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

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

Front-loaded with the core purpose and window semantics, and the median_usd vs card_price distinction is a compact, useful aside. The privacy/logging clause is somewhat tangential but short enough not to bloat the paragraph.

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 an output schema present, the description doesn't need to enumerate return fields, yet it still explains two output-interpretation pitfalls (anchor_date presentation, median_usd being mixed-grade). Combined with the read-only/scope disclosures, an agent has everything required to call and interpret this tool.

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 documents lang, limit, window, and grade_company, including the PSA10 sub-filter and the non-wall-clock anchor. The description largely restates those same filters (all/en/ja/zh-cn, all/PSA/CCIC/PSA10) without adding syntax or defaults beyond what the schema provides, so the baseline 3 applies.

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 resource and ranking criterion — 'most-traded graded Pokémon cards by verified sales count' — across explicit 24h/7d/30d windows, plus the filter axes (language track, grading company). An agent can distinguish this from price-movement tools like market_movers or set_top_priced_cards without opening the schema.

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

Usage Guidelines4/5

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

Gives clear context for use (volume ranking by verified sales, filterable by language and grader) and explicitly routes the agent to a sibling for the adjacent need: 'median_usd is a mixed-grade reference; use card_price for a precise per-grade quote.' It doesn't state when this tool should NOT be used, so it falls short of a full 5.

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

recent_salesRecent salesA
Read-only
Inspect

Most recent verified sales for one card (up to 10): date, grading company + grade, price in USD, marketplace name. Sales span US, Japan-domestic and Chinese marketplaces — each sale is a real completed transaction, not a listing. Reads POKEKA market data only; server-side request logging is disclosed in the privacy policy; does not modify user data.

NameRequiredDescriptionDefault
card_idYesCard id from search_card / slang_lookup.

Output Schema

NameRequiredDescription
noteNo
salesNo
card_idNo
fx_as_ofNo
sale_countNo

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already cover read-only, non-destructive and closed-world, so the description is not carrying the safety burden — but it adds genuine context beyond them: a hard cap of 10 results, cross-marketplace coverage (US, Japan-domestic, Chinese), USD normalization, and the fact that records are verified completed sales rather than listings. The privacy-logging note adds mild extra disclosure. Return format is left to the output schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

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

Front-loaded with the core purpose and returned fields, then supporting scope in the following sentences; three compact sentences with little waste. The trailing 'does not modify user data' clause largely restates readOnlyHint/destructiveHint=false, a small redundancy.

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?

An output schema exists, so return values need no further explanation, and the fixed cap of 10 removes any pagination question. Coverage of marketplaces and currency conversion is a useful plus. The only gap is the missing routing guidance relative to the pricing-history siblings, which is a usage issue rather than a completeness one.

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?

Only one parameter and schema description coverage is 100%, with the schema already stating that card_id comes from search_card / slang_lookup. The description reinforces the single-card scope but adds no new syntax, format, or constraint information about the parameter. Baseline 3 applies since the schema does the work.

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?

States a specific verb and resource ('most recent verified sales for one card') and enumerates returned fields (date, grading company + grade, USD price, marketplace), so the agent knows exactly what it gets. It also clarifies these are completed transactions, not listings. It does not name the obvious sibling alternative card_price_history, so the differentiation is implicit through 'most recent' and 'up to 10'.

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

Usage Guidelines3/5

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

The description implies its use case ('most recent verified sales for one card') and points to where card_id comes from via the schema ('search_card / slang_lookup'). However, it never says when to prefer this over card_price, card_price_history, or market_movers, and gives no exclusions or alternatives. Usage must be inferred.

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

search_cardSearch cardsA
Read-only
Inspect

Search graded Pokémon cards by name (Chinese / English / Japanese), community nickname (e.g. "鬼皮"), or set code + card number (e.g. "sv8a 喷火龙", "CEL 4"). 中文用户: 按官方卡名/圈内简称/系列码+卡号查任意宝可梦评级卡, 返回 card_id 供查价/走势/存世量工具使用。Returns up to 10 matching cards with card_id (incl. rarity/variant/species fields) — use card_id with the other tools. A bare set code or set name (e.g. "151c", "Celebrations") returns a set-level summary with guidance instead of a truncated card list — follow it to get_set_overview / set_species_summary for whole-set stats. Optional lang filters to one language track (en / ja / zh-cn); tracks are never mixed. Reads POKEKA market data only; server-side request logging is disclosed in the privacy policy; does not modify user data.

NameRequiredDescriptionDefault
langNoOptional language track filter.
queryYesCard name, nickname/slang, or set code + number. zh/en/ja all accepted.

Output Schema

NameRequiredDescription
hintNo
langNo
queryNo
sampleNo
by_langNo
resultsNo
guidanceNo
mismatchNo
set_codeNo
by_rarityNo
conditionNo"raw" when the user asked for an ungraded card
guess_noteNo
match_kindNospecies | card_name | guess — guess means nothing matched and the results are prefix guesses, never price from them
query_typeNo"set" = the query was a bare set code/name; read guidance and use the set-level tools
set_tracksNowhen the query is a set-level name or a bare set code: every (set_code, lang) it exists on, with card counts. The same release usually has a different set code per language track.
exact_matchNotrue only when set, number AND every other entity in the query (character, nickname, language) agree with the results
total_cardsNo
query_intentNo
related_setsNoonly when unambiguous: the set that carries the same collector name on the requested language track (the same release usually has a different set code per language). Absent when the name covers a whole era or product family rather than one release.
result_countNo
entity_anchorNo
rarity_filterNo
safe_to_priceNotrue = results[0] can be priced without asking the user to confirm; false = candidates only
grading_filterNo
qualifier_noteNo
unresolved_noteNo
also_matched_setsNo
unresolved_tokensNowords from the question that were NOT used to choose the card
qualifiers_droppedNo
query_constraint_noteNo

TDQS

A4.6/5.0
Behavior4/5

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

Annotations already declare readOnly/openWorld=false/destructive=false, so the safety profile is covered, and the description still adds real behavioral facts: results are capped at 10, language tracks are never mixed, and it reads POKEKA market data only. The 'does not modify user data' clause largely restates destructiveHint=false, which is why this is not a 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?

Front-loaded with the core capability and example queries, then routing and return-size facts. The Chinese sentence largely duplicates the preceding English content, adding bulk without new information, which costs it the top score.

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 an output schema present, the description wisely avoids re-explaining return fields and instead covers what the schema cannot: the 10-result cap, the set-code fallback path, language-track isolation, and how to chain card_id into sibling tools. Nothing an agent needs to call it correctly is missing.

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 100% with a documented enum, so the baseline is 3, but the description adds genuine meaning: query accepts zh/en/ja interchangeably, covers nickname slang and 'set code + number' compound syntax with examples, and clarifies that lang pins a single language track that is never mixed with others.

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+resource ('Search graded Pokémon cards') and enumerates the three query forms (name, community nickname, set code + number) with concrete examples. It also names sibling tools it hands off to (get_set_overview, set_species_summary) and the other card_id-consuming tools, so an agent can place it precisely in the toolset.

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 covers the when: use for name/nickname/set-code+number lookups, then pass card_id to the pricing/population/history tools. It also covers an important edge case — a bare set code or set name returns a set-level summary with guidance rather than a truncated list — and tells the agent to follow that guidance to the right alternative tools.

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

set_species_summarySet species summaryA
Read-only
Inspect

Per-Pokémon breakdown for one set: how many card faces each species has and how they split across variants (base / Master Ball / Poké Ball / …). 中文用户: 这个系列里每只宝可梦有几张卡、各是什么版本(普卡/大师球闪/精灵球闪)一表拿全。Answers "which Pokémon has the most versions in this set". Counts are catalog facts, NOT pull-rate probabilities. Reads POKEKA market data only; server-side request logging is disclosed in the privacy policy; does not modify user data.

NameRequiredDescriptionDefault
langNoOptional language track filter.
set_codeYesSet code, official abbreviation, or set name.

Output Schema

NameRequiredDescription
langNo
noteNo
speciesNo
guidanceNo
set_codeNo
total_cardsNo
coverage_noteNo
species_countNo
species_covered_cardsNo

TDQS

A3.9/5.0
Behavior4/5

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

Beyond the readOnlyHint/openWorldHint annotations, it adds that it reads POKEKA market data only, that server-side logging is disclosed in the privacy policy, and that it does not modify user data – useful operational context. It stops short of describing result format or pagination, but with output schema present that gap is minor.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

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

Front-loads the core purpose and then layers the example query, the probability caveat, and the data-source disclosure efficiently. The bilingual duplicate paragraph adds length but serves a documented user segment, so the density is justified rather than wasteful.

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 an output schema covering return values and annotations covering the safety profile, the description supplies the remaining essentials: what is counted, what it is not (probabilities), and the data source. It is complete enough to invoke correctly, missing only explicit sibling routing.

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% and both parameters (set_code, lang) are already documented in the schema, so the baseline of 3 applies. The description's variant vocabulary (base/Master Ball/Poké Ball) concerns output values, not parameter meaning, so it adds no parameter-level guidance.

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?

States a specific resource and metric: a per-Pokémon breakdown for one set, counting card faces per species and their variant split (base / Master Ball / Poké Ball). It also draws a conceptual contrast with pull-rate tools, though it never names a specific sibling like get_set_overview or card_pop, so the differentiation is implied rather than explicit.

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 a concrete use case ('which Pokémon has the most versions in this set') and clarifies the data is catalog counts, not probabilities, steering the agent away from pull-rate tools. However, it offers no explicit 'when not to use' statement or named alternative, so the routing is contextual rather than directive.

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

set_top_priced_cardsHighest-priced cards in a setA
Read-only
Inspect

Rank the highest-priced cards inside one Pokémon TCG set, on one language track (top N, max 20). 中文用户: 某个系列里最贵的前几张卡(如「M2A 前5最高价的卡」「151c 最贵的卡」)一次拿到, 不用逐张查价。Answers "most expensive / top 5 priciest cards in m2a". Each row carries exactly the price card_price returns for that card_id (its headline grade, usually PSA 10 or CCIC 10) with price_basis = verified_sales or reference. Cards with no usable price are not ranked, and the response says how many cards in the set have one. Returns only the top of the ranking — it is not a price-sorted checklist and has no paging. Reads POKEKA market data only; server-side request logging is disclosed in the privacy policy; does not modify user data.

NameRequiredDescriptionDefault
langNoLanguage the CARDS are printed in (e.g. ja for Japanese sets such as m2a / sv2a), not the language the user is writing in. Prices are never mixed across tracks. Omit it unless the set code exists on more than one track — the response then lists the tracks.
limitNoHow many top cards to return (1-20, default 10).
set_codeYesSet code, official abbreviation, or set name (e.g. "m2a", "151c", "CEL").

Output Schema

NameRequiredDescription
langNo
noteNo
rankedNo
tracksNo
guidanceNo
set_codeNo
needs_langNo
total_cardsNo
priced_cardsNocards on this track with a usable price (the ranking pool)

TDQS

A4.4/5.0
Behavior5/5

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

Goes well beyond the readOnly/destructive annotations: explains that cards with no usable price are excluded, that the response reports how many cards in the set have a price, that only the top of the ranking is returned with no paging, the price_basis values (verified_sales or reference), and discloses server-side request logging.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

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

Front-loads the core action and scope, then adds behavioral caveats. The bilingual example block is useful for matching user phrasing, though it adds length; overall every clause carries information.

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 annotations covering safety and an output schema present, the description fills the remaining gaps: exclusion of unpriced cards, coverage count, ranking-only/no-paging behavior, and the price_basis semantics an agent needs to interpret results.

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 coverage is 100% and the lang parameter already documents the enum and the 'cards language, not user language' rule. The description reinforces the single-language-track constraint and the max-20 cap but adds little syntax or format detail 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?

States a specific verb+resource: 'Rank the highest-priced cards inside one Pokémon TCG set' with scope (top N, max 20, single language track). This clearly separates it from card_price (single card) and set-level siblings like get_set_overview.

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

Usage Guidelines4/5

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

Gives concrete trigger phrases ('most expensive / top 5 priciest cards in m2a' and the Chinese variants) and notes it is not a sorted checklist and has no paging. It implicitly routes per-card pricing to card_price ('不用逐张查价'), but never names siblings like market_movers or get_set_overview as alternatives.

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

slang_lookupNickname lookupA
Read-only
Inspect

Resolve a Chinese/Japanese/English community nickname (e.g. "鬼皮", "老喷", "Zard") to the actual card(s): official names, set, number, card_id. 中文用户: 把圈内简称(鬼皮/老喷/大月…)解析成具体是哪张卡。Up to 10 cards. Reads POKEKA market data only; server-side request logging is disclosed in the privacy policy; does not modify user data.

NameRequiredDescriptionDefault
termYesThe nickname / slang term.

Output Schema

NameRequiredDescription
noteNo
termNo
cardsNo
card_countNo

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly=true, destructive=false, openWorld=false), and 'does not modify user data' merely restates that. But the description adds genuinely new context: a hard 'Up to 10 cards' result cap, that it reads POKEKA market data only, and a server-side request-logging disclosure. These go beyond structured fields.

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 purpose is front-loaded and the whole thing is a tight block with no wasted preamble. The Chinese sentence largely mirrors the English one, and the trailing 'does not modify user data' duplicates annotation content, but the bilingual rendering is defensible for the target audience.

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?

A single fully documented parameter and an existing output schema mean the description needn't explain return values, and it still adds result-cap and data-source scope. It is complete enough for an agent to call correctly, with only the missing sibling routing as a minor gap.

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 100% schema coverage, the baseline is 3, and the description earns above that by clarifying the term's value domain — it accepts Chinese/Japanese/English community nicknames — plus concrete examples ('鬼皮', '老喷', 'Zard') that the schema's terse 'nickname / slang term' text does not provide.

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 precise verb+resource ('Resolve a ... community nickname ... to the actual card(s)') and enumerates the output fields (official names, set, number, card_id). This is clearly distinct from sibling search_card, which takes official names, and an agent can tell them apart without opening either schema.

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

Usage Guidelines3/5

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

The description implies the usage context (you have a slang/nickname and need the real card) and notes the supported languages, which guides invocation. However, it never explicitly states when to prefer this over search_card or excludes cases, so the when-to-use is left to inference.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 5 tool updates
    • Changedcard_price3 fields changed
      • addedOutput schema / properties / grade_ladder / items / properties / source_mix
        Added value: +{
        +  "description": "verified sales in this cell counted by marketplace; a label, not part of the price",
        +  "type": "object"
        +}
      • addedOutput schema / properties / headline / properties / source_mix
        Added value: +{
        +  "description": "verified sales in this cell counted by marketplace; a label, not part of the price",
        +  "type": "object"
        +}
      • addedOutput schema / properties / reference / properties / source_mix
        Added value: +{
        +  "description": "verified sales in this cell counted by marketplace; a label, not part of the price",
        +  "type": "object"
        +}
    • Changedget_card_context1 field changed
      • addedOutput schema / properties / reference / properties / source_mix
        Added value: +{
        +  "description": "verified sales in this cell counted by marketplace; a label, not part of the price",
        +  "type": "object"
        +}
    • Changedget_market_brief1 field changed
      • addedOutput schema / properties / brief
        Added value: +{
        +  "additionalProperties": true,
        +  "properties": {
        +    "sections": {
        +      "items": {
        +        "additionalProperties": true,
        +        "properties": {
        +          "facts": {
        +            "additionalProperties": true,
        +            "properties": {
        +              "change_30d_band": {
        +                "description": "Banded version of change_30d_pct (last 7 days vs the same window one month earlier, not a 30-day change).",
        +                "type": "string"
        +              },
        +              "change_30d_pct": {
        +                "description": "Percent change of the median sale price over the last 7 days versus the 7-day window one month earlier. Despite the key name, this is not a 30-day change; quote it as 'this week vs a month ago'.",
        +                "type": "number"
        +              }
        +            },
        +            "type": "object"
        +          },
        +          "id": {
        +            "type": "string"
        +          }
        +        },
        +        "type": "object"
        +      },
        +      "type": "array"
        +    }
        +  },
        +  "type": "object"
        +}
    • Changedmarket_movers4 fields changed
      • changedOutput schema / properties / movers / items / properties / price_basis / description
        Previous value: -"\"reference\" = price_usd is a PriceCharting aggregate, NOT our verified sales — say so when quoting it."New value: +"\"reference\" = price_usd is NOT a robust verified-sales median (price_method names the kind) — say so when quoting it."
      • addedOutput schema / properties / movers / items / properties / price_grade
        Added value: +{
        +  "description": "present when price_usd is at a different grade than the grade of this row",
        +  "type": "string"
        +}
      • addedOutput schema / properties / movers / items / properties / price_method
        Added value: +{
        +  "description": "kind of reference: market_reference / limited_sales_reference / historical_reference",
        +  "type": "string"
        +}
      • addedOutput schema / properties / reason
        Added value: +{
        +  "description": "present when the board is empty because this track does not publish this window (not because nothing moved) — read note",
        +  "enum": [
        +    "track_window_not_published"
        +  ],
        +  "type": "string"
        +}
    • Changedset_top_priced_cards1 field changed
      • addedOutput schema / properties / ranked / items / properties / price / properties / source_mix
        Added value: +{
        +  "description": "verified sales in this cell counted by marketplace; a label, not part of the price",
        +  "type": "object"
        +}
  2. 4 tool updates
    • Changedcard_price3 fields changed
      • addedOutput schema / properties / grade_ladder / items / properties / finish / description
        Added value: +"Print finish this price is for. base = regular (Unlimited) printing; unknown = a single sale whose edition (1st Edition vs regular) is not recorded — not a price for either printing; other values are named in finish_name."
      • addedOutput schema / properties / headline / properties / finish / description
        Added value: +"Print finish this price is for. base = regular (Unlimited) printing; unknown = a single sale whose edition (1st Edition vs regular) is not recorded — not a price for either printing; other values are named in finish_name."
      • addedOutput schema / properties / reference / properties / finish / description
        Added value: +"Print finish this price is for. base = regular (Unlimited) printing; unknown = a single sale whose edition (1st Edition vs regular) is not recorded — not a price for either printing; other values are named in finish_name."
    • Changedget_card_context1 field changed
      • addedOutput schema / properties / reference / properties / finish / description
        Added value: +"Print finish this price is for. base = regular (Unlimited) printing; unknown = a single sale whose edition (1st Edition vs regular) is not recorded — not a price for either printing; other values are named in finish_name."
    • Changedrecent_sales1 field changed
      • changedOutput schema / properties / sales / items / properties / finish / description
        Previous value: -"Print finish of the card sold (1st_edition, shadowless, reverse_holo, no_symbol, red_cheeks, yellow_cheeks). Combinations are joined with \"+\" (e.g. 1st_edition+red_cheeks). Absent = no finish recorded for that sale."New value: +"Print finish of the card sold (1st_edition, shadowless, reverse_holo, no_symbol, red_cheeks, yellow_cheeks, …; finish_name gives the display name). Combinations are joined with \"+\" (e.g. 1st_edition+red_cheeks). base = the regular (Unlimited) printing. unknown = the sale does not record whether it was 1st Edition or regular (only on cards that have both); it is not a price for either printing. Absent = no edition distinction recorded for that sale."
    • Changedset_top_priced_cards1 field changed
      • addedOutput schema / properties / ranked / items / properties / price / properties / finish / description
        Added value: +"Print finish this price is for. base = regular (Unlimited) printing; unknown = a single sale whose edition (1st Edition vs regular) is not recorded — not a price for either printing; other values are named in finish_name."
  3. 1 tool update
    • Changedcard_price_history3 fields changed
      • addedOutput schema / properties / change_grade
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / price_status
        Added value: +{
        +  "enum": [
        +    "unreleased",
        +    "not_robust"
        +  ],
        +  "type": "string"
        +}
      • addedOutput schema / properties / series_grade
        Added value: +{
        +  "type": "string"
        +}

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    B
    maintenance
    Enables AI assistants to look up trading-card market values across Pokémon, Magic, sports and other TCG catalogs, including raw prices by condition, graded ladders, price history, trending movers and set checklists. It also calculates grading ROI — gem premiums, net profit after fees, expected value and break-even gem rates — so collectors can decide whether a card is worth submitting.
    -
  • A
    license
    B
    quality
    D
    maintenance
    Vision-guided Pokémon TCG card identification server that matches exact printings using visual evidence and marketplace data.
    40
    1
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    A Pokemon TCG MCP server that looks up graded cards, manages a local SQLite collection, queries pricing providers, tracks a watchlist with target prices, and snapshots PSA pop counts for trend analysis.
    33
    53 PyPI
    1
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Real-time sports card pricing, market analysis, arbitrage detection, grading ROI, investment advice, and player stats (NBA/NFL/MLB). 9 tools for AI agents helping collectors and investors.
    9
    34 PyPI
    3
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources