Skip to main content
Glama

HobbyCardIndex Card Prices

Server Details

Real sold prices for 16M+ sports and trading cards: raw and graded by grade, with card page links.

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
100.0% over 21 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
Repository
charmanroofing-pixel/hci-api-examples
GitHub Stars
0
ChatGPT
–
Claude
–

TDQS

A4.3/5.0

Scored across 4 tools

Disambiguation4/5

search_cards and get_card_prices both return prices, which is the only real overlap, but the descriptions explicitly delineate them: search by description to get a card_id and raw/PSA 10 price, then get_card_prices for every grade of a known card_id. list_plans (browsing) versus start_checkout (purchasing after plan selection) are cleanly separated, including a stated precondition ordering.

Naming Consistency5/5

All four names follow a consistent snake_case verb_noun pattern: search_cards, get_card_prices, list_plans, start_checkout. Verbs are chosen appropriately (search/get/list/start) and nouns identify the resource unambiguously.

Tool Count4/5

Four tools is on the lean side but each has a distinct role in a clear two-step workflow: discover a card, price it, browse plans, buy a plan. Nothing feels redundant, though a slightly richer surface (e.g. key status) could justify one or two more.

Completeness4/5

The core lifecycle is covered: search a card, get full graded pricing, list purchasable plans, and start checkout with an API key delivered post-payment. Minor gaps exist — no way to check an existing API key or subscription status, and price history is only reachable via an external link — but agents can complete the primary workflows.

Available Tools

4 tools
get_card_pricesCard prices by gradeA
Read-onlyIdempotent
Inspect

Current sold prices for one card at every grade: raw (ungraded), PSA 7, PSA 8, PSA 9, PSA 10, BGS 9.5, CGC 10 and SGC 10, in US dollars, with the link to the card page for recent sales and price history. Take the card_id from search_cards. Needs a HobbyCardIndex API key.

NameRequiredDescriptionDefault
card_idYesThe card_id returned by search_cards.

Output Schema

NameRequiredDescription
cardYes
pricesYes
currencyNo

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world), so the description is free to add context — and it does: it discloses the HobbyCardIndex API-key requirement and that the payload includes a link to recent sales and price history. No return-shape detail beyond that, which is acceptable given an output schema exists.

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 dense, front-loaded sentences: the payload description comes first, the provenance/auth constraints second. No filler, no restated tool name, every clause carries information an agent needs.

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 one-parameter read tool with an output schema and full annotation coverage, the description covers the remaining gaps — what the grades are, the currency, the return link, and the auth requirement. Nothing needed 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.

Parameters3/5

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

Schema description coverage is 100% and the single card_id parameter is already documented as coming from search_cards, so the description's reference to that same origin adds little beyond the structured field. Baseline 3 is appropriate for a fully documented 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?

States a specific verb and resource — current sold prices for one card, enumerated by grade — plus currency (USD) and the exact grade breakdown. An agent can tell instantly that this is a per-card price lookup, distinct from the sibling search_cards which only locates cards.

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 names search_cards as the source for card_id, establishing the search-then-price workflow, and states the API-key prerequisite. It lacks an explicit 'do not call with X' exclusion, but the sequencing guidance is clear enough to act on.

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

list_plansCommercial API plans and pricesA
Read-onlyIdempotent
Inspect

The HobbyCardIndex plans a user can buy right now: the Commercial API sizes (requests, photo scans, sold-sale lookups, cert lookups) and the app plans Pro, Dealer and Enterprise (scans a month, dealer tools, API key on Enterprise), with monthly prices in US dollars, the terms and how to buy. Pass use_case to get the size and add-ons that fit what the user wants to do. Works without an API key.

NameRequiredDescriptionDefault
use_caseNoOptional. display_prices: show prices in their app or site. copy_all_prices: keep their own copy of every price (catalogue sync). photo_scans: identify cards from photos. sold_sales: show individual sold sales. certs_and_pop: cert lookups and population reports. own_use: price their own collection only.

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, idempotent, non-destructive, closed-world), so the bar is lower, and the description still adds real context: 'Works without an API key' is an auth detail an agent needs before calling. It also frames the data as currently purchasable plans, implying live catalogue results rather than cached ones.

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 payload sentence is front-loaded with the resource and follows with the use_case guidance; nothing is filler. The long parenthetical enumeration of plan features makes it denser than necessary, but every clause conveys distinct information.

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 must convey return content, and it does: plan sizes, monthly USD prices, terms, and purchase instructions. What remains thin is whether responses are grouped per plan or how they should be presented, but nothing blocking an agent from calling it correctly 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% and the enum values are individually explained in the schema, so the schema carries the detail. The description only adds a loose hint that use_case selects size and add-ons; it does not clarify value-specific behavior beyond that, so 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 scope: the plans a user can buy right now, enumerating the Commercial API sizes and the app plans (Pro, Dealer, Enterprise) with prices in USD. This clearly separates it from get_card_prices (per-card pricing data) and start_checkout (transaction), so an agent can pick it 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 a concrete routing rule: 'Pass use_case to get the size and add-ons that fit what the user wants to do,' which tells the agent when the parameter is worth setting. It lacks explicit when-not-to-use guidance or named alternatives to get_card_prices/start_checkout, but the usage context is clear.

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

search_cardsSearch card pricesA
Read-onlyIdempotent
Inspect

Find a sports or trading card and its current sold price. Describe the card the way a collector would, for example "1989 Upper Deck Ken Griffey Jr 1", "2018 Topps Update Acuna US250" or "Charizard Base Set". Returns up to 5 matching cards with the raw (ungraded) and PSA 10 price, a card_id, and the link to the card page. Use get_card_prices for every grade of one card. Needs a HobbyCardIndex API key.

NameRequiredDescriptionDefault
limitNo
queryYesYear, set, player or character, and card number if known.
categoryNoOptional: baseball, basketball, football, hockey, soccer, pokemon, magic, yugioh, one piece ...

Output Schema

NameRequiredDescription
queryYes
resultsYes

TDQS

A4.6/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world), so the description is free to add operational context: result cap of 5, the raw vs PSA 10 price fields, the card_id, the page link, and the API key requirement. It does not describe pagination or behavior when no match is found, but the added auth and result-shape context is substantial.

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 sentence, with examples, sibling routing, return shape, and auth needs following in order. The three inline examples cost some length but directly serve query construction, so they earn their 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?

For a search tool with a full output schema, the description covers everything an agent needs: what it finds, how to phrase the query, the result cap, sibling routing, and the API key prerequisite. Return values need not be restated, and nothing material 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 67%; the schema documents query and category, but the description adds real meaning by prescribing the collector-style phrasing and giving three worked examples, and it explains the practical effect of limit ('up to 5 matching cards'). category is left to the schema, which is acceptable given its inline 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 ('Find a sports or trading card and its current sold price') and explicitly separates itself from the sibling tool by noting get_card_prices handles all grades of one card. An agent can distinguish the two 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 Guidelines5/5

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

Names the alternative (get_card_prices) and the condition that selects it ('for every grade of one card'), and instructs how to phrase the query as a collector would with concrete examples. It also states the prerequisite of a HobbyCardIndex API key.

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

start_checkoutBuy a Commercial API planAInspect

Start buying a Commercial API plan for the user. Returns a Stripe checkout_url where the user pays by card (HobbyCardIndex never sees the card) and a status_url that returns the API key once, after payment. Only call this after the user has picked a plan from list_plans and agreed to the terms (accept_terms: true). Use the user's own email: the receipt and the account sign-in go there. Works without an API key.

NameRequiredDescriptionDefault
planYesA plan id from list_plans: a Commercial API size ("lite", "growth_lite", "growth") or an app plan ("pro", "dealer", "enterprise"), monthly.
emailYesThe buyer's email address.
companyNoOptional: the company name for the receipt.
with_addonNoOptional: add the pop reports + cert lookups add-on.
accept_termsYestrue only if the user agreed to the HobbyCardIndex Terms of Service (https://hobbycardindex.com/terms/), including section 8 for a Commercial API plan.
with_price_filesNoOptional, growth_lite or growth only: add the daily price files ($450 a month), a daily download of current prices for the whole catalogue. Use it when the user wants to keep their own copy of the prices, instead of paging search.

TDQS

A4.6/5.0
Behavior4/5

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

Adds real context beyond the annotations: the payment happens on Stripe, the server never sees the card, the API key is retrievable exactly once after payment, and no API key is required to call. It does not warn that a repeat call creates a second checkout session (idempotentHint is false), which is the one behaviorally significant omission for a non-idempotent purchase flow.

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?

Four dense sentences with no filler: what it does and returns first, then the ordering/consent precondition, then the email constraint, then the auth note. Every sentence carries information an agent needs to act.

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 correctly explains the two returned URLs and the one-time key delivery. For a non-idempotent, open-world mutation it stops short of covering failure modes (e.g., what a duplicate call does or what happens if the status_url is polled before payment).

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, but the description adds genuine semantics: the email is the receipt and sign-in address, and accept_terms must reflect an actual ToS agreement including section 8. The plan parameter is cross-referenced to list_plans rather than described in the prose, which keeps it just short of a 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?

States a specific verb and resource ("Start buying a Commercial API plan") and immediately describes the concrete outputs (Stripe checkout_url and status_url). It is clearly separable from list_plans, which it names as the upstream step, and from the read-only siblings search_cards/get_card_prices.

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?

Explicit preconditions: only call after the user has picked a plan from list_plans and agreed to the terms (accept_terms: true), and use the user's own email because the receipt and account sign-in go there. It also names the alternative path (paging search vs. price files) and states it works without an API key, leaving nothing 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. 1 tool update
    • Changedlist_plans1 field changed
      • addedInput schema / properties / use_case
        Added value: +{
        +  "description": "Optional. display_prices: show prices in their app or site. copy_all_prices: keep their own copy of every price (catalogue sync). photo_scans: identify cards from photos. sold_sales: show individual sold sales. certs_and_pop: cert lookups and population reports. own_use: price their own collection only.",
        +  "enum": [
        +    "display_prices",
        +    "copy_all_prices",
        +    "photo_scans",
        +    "sold_sales",
        +    "certs_and_pop",
        +    "own_use"
        +  ],
        +  "type": "string"
        +}
  2. 1 tool update
    • Changedstart_checkout1 field changed
      • addedInput schema / properties / with_price_files
        Added value: +{
        +  "description": "Optional, growth_lite or growth only: add the daily price files ($450 a month), a daily download of current prices for the whole catalogue. Use it when the user wants to keep their own copy of the prices, instead of paging search.",
        +  "type": "boolean"
        +}
  3. 1 tool update
    • Changedstart_checkout2 fields changed
      • changedInput schema / properties / accept_terms / description
        Previous value: -"true only if the user agreed to the Commercial API terms (https://hobbycardindex.com/terms/#data-license)."New value: +"true only if the user agreed to the HobbyCardIndex Terms of Service (https://hobbycardindex.com/terms/), including section 8 for a Commercial API plan."
      • changedInput schema / properties / plan / description
        Previous value: -"A plan id from list_plans, for example \"lite\", \"growth_lite\" or \"growth\"."New value: +"A plan id from list_plans: a Commercial API size (\"lite\", \"growth_lite\", \"growth\") or an app plan (\"pro\", \"dealer\", \"enterprise\"), monthly."
  4. 2 tool updates
    • Addedlist_plans
    • Addedstart_checkout
  5. 2 tool updates
    • First observedget_card_prices
    • First observedsearch_cards

Related MCP Connectors

Related MCP Servers

  • 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
    3
    MIT
  • 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
    Not graded
    quality
    C
    maintenance
    Enables AI agents to price trading cards and sealed products across 14 games with sourced, dated quotes, graded medians, PSA populations, eBay sold data and 365 days of history. Also supports card identification from free text or photo, batch lookups, and side-by-side price comparisons through 16 read-only tools.
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.