
Trading-card market prices and grading ROI as MCP tools. Read-only, no auth. Powers the Midpoint
Trading-card market prices and grading ROI as MCP tools. Read-only, no auth. Powers the Midpoint Card Prices plugin in ChatGPT; works with Claude, Cursor and any MCP client.
·
Trading-card market prices and grading ROI as Model Context Protocol tools. Read-only, no account, no API key. Powers the Midpoint Card Prices plugin in ChatGPT and works with Claude, Claude Code, Cursor and any MCP client.
https://mcp.cardcenteringtool.com/mcp (Streamable HTTP)com.cardcenteringtool/card-prices (https://registry.modelcontextprotocol.io/v0.1/servers?search=com.cardcenteringtool)Plain questions in a collector's words. The assistant picks the tool, finds the card and answers with prices, the capture date and a link to the card page.
Every answer can include raw prices by condition (NM/LP/MP/HP), the graded ladder for PSA, CGC, BGS, SGC and TAG, the PSA 9 and PSA 10 premium over raw, net profit after $25/$50/$150 fees, expected value by gem rate, the break-even gem rate, 7–180 days of price history, 30-day movers, liquid movers, best cards to grade, and priced set checklists.
Coverage: Pokémon, Magic: The Gathering, Yu-Gi-Oh!, One Piece, Disney Lorcana, Riftbound, Gundam, Dragon Ball, Digimon; baseball, basketball, football, hockey, soccer, wrestling, UFC, racing, tennis, golf, boxing; Marvel, Star Wars, Garbage Pail Kids and other entertainment and TCG sets.
Remote server, nothing to install. Add it to any MCP client that supports HTTP servers:
{
"mcpServers": {
"midpoint": {
"url": "https://mcp.cardcenteringtool.com/mcp"
}
}
}Clients that only speak stdio (Claude Desktop, some IDE plugins) can bridge with mcp-remote:
{
"mcpServers": {
"midpoint": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://mcp.cardcenteringtool.com/mcp"]
}
}
}claude mcp add --transport http midpoint https://mcp.cardcenteringtool.com/mcpnpx @modelcontextprotocol/inspector and connect to the endpoint.No authentication. Streamable HTTP transport. Rate limited per client IP.
Find cards by name, set, number or year and return raw and PSA 10 USD prices with the card id.
Inputs: query, game?, set_id?, limit?
Full price ladder for one card: raw by condition (NM/LP/MP/HP) and graded prices for PSA, CGC, BGS, SGC and TAG by grade.
The ladder is for the card's primary printing (variant, e.g. "holofoil"); other printings of the same id
(reverse holo, 1st edition…) come back separately under other_variants and are never mixed in. raw_note is
set when the raw ladder is out of condition order (thin data).
Inputs: card_id
Is this card worth grading? Raw vs PSA 9 vs PSA 10, gem premium, net profit after $25/$50/$150 fees, expected value by gem rate, break-even gem rate, which company pays most, and a plain verdict.
Inputs: card_id, grading_fee_usd?
Dated market values over 7 to 180 days for the raw series or a PSA grade (1–10, half grades allowed). The series
follows one printing (variant). coverage says how many of the days have a capture and how to read repeated or
sparse values: a value repeated on consecutive days is an unchanged market estimate, not a frozen market.
Inputs: card_id, days?, grade?
Cards with the biggest expected net profit from grading in a game or set (half PSA 10, half PSA 9, minus raw and the fee; both graded prices required).
Inputs: game, set_slug?, grading_fee_usd?, limit?
Biggest 30-day gainers or drops, one game or all.
Inputs: game?, direction?, min_market_usd?, limit?
Rising cards (30-day change > 0) with a recorded sales count of 25+ in the last year. Each candidate's own 40-day
series is checked first (enough captures, stable baseline, no one-capture jump); unstable ones are dropped and
counted in excluded_unstable. trending_cards applies the same check. Cards whose source does not
track yearly volume are excluded unless include_unknown_volume is set.
Inputs: game?, include_unknown_volume?, limit?
Sets and expansions for a game, newest first, with ids.
Inputs: game, query?, limit?
Priced checklist or most valuable cards in a set.
Inputs: game, set_id, sort?, limit?
Every tool is read-only (readOnlyHint: true, destructiveHint: false, openWorldHint: false), returns
structuredContent with an output schema, and links back to the matching page on cardcenteringtool.com.
Card ids are the public URL keys (swsh7-215, pricecharting-1821843).
Game keys: pokemon magicthegathering yugioh onepiece lorcana riftbound gundam dragonball digimon baseball basketball football hockey soccer wrestling ufc racing tennis golf boxing marvel starwars gpk entertainment othertcg.
The same nine tools as slash commands (/price, /grade, /history, /trending, /movers,
/set), answered as embeds. Source in src/discord/, built by the same npm run build, run
with npm run start:discord (or Dockerfile.discord as a second Coolify app). It is a plain
HTTP client of the public server: no database, no secrets beyond the bot token. The server
labels its calls and links as client discord.
Environment: DISCORD_BOT_TOKEN, DISCORD_CLIENT_ID (both from the Discord Developer Portal →
your application → Bot / General Information), optional MCP_URL (defaults to production) and
APP_LINK (defaults to https://www.cardcenteringtool.com/go/discord). Invite URL:
https://discord.com/oauth2/authorize?client_id=<CLIENT_ID>&scope=bot%20applications.commands&permissions=2048
(Send Messages). Commands are registered globally on boot; Discord can take up to an hour to
show them in every server after the first registration.
Requests carry only the tool arguments (card names, ids, filters) and the caller's IP for rate limiting. Privacy policy: https://www.cardcenteringtool.com/privacy. Support: https://www.cardcenteringtool.com/contact.
Pick your client and paste the snippet. Each one is the same server, written the way that client expects it.
claude mcp add midpoint --transport http https://mcp.cardcenteringtool.com/mcp{
"mcpServers": {
"midpoint": {
"url": "https://mcp.cardcenteringtool.com/mcp"
}
}
}code --add-mcp '{"name":"midpoint","url":"https://mcp.cardcenteringtool.com/mcp"}'Runs as a hosted service. Your client connects over the network and nothing is installed locally.
Paste this prompt into your agent. It reads this page and does the setup for you.
Read https://aiagentslisting.com/mcp/midpoint-mcp-server to learn what the "Midpoint MCP server" MCP server does and how to install it. Add it to my coding agent's MCP configuration as documented on that page, then confirm the server connects and list the tools it exposes.Agents can also browse this directory over MCP at https://aiagentslisting.com/api/mcp
| Name | What it does |
|---|---|
search_cards | Use this first when the user names a trading card and wants its value, price, or whether to grade it. Searches 1.5M+ Pokémon, Magic, Yu-Gi-Oh!, One Piece, Lorcana, sports (baseball, basketball, footba |
get_card_prices | Use this when the user wants the full current value of a specific card: ungraded prices by condition (NM/LP/MP/HP) and graded prices for every company and grade on record (PSA, CGC, BGS, SGC, TAG). Re |
grading_roi | Use this when the user asks whether a card is worth grading, submitting to PSA/CGC/BGS/SGC/TAG, or what a PSA 10 adds. Returns raw vs PSA 9 vs PSA 10 market prices, the gem premium, net profit after g |
get_price_history | Use this when the user asks how a card's price has changed over weeks or months, or wants a trend for the raw or a PSA-graded series. Returns dated USD market values for the last 7 to 180 days. Requir |
best_cards_to_grade | Use this when the user asks which cards in a game, sport or set have the biggest payoff from grading. Ranks priced cards by expected net profit at a 50% gem rate (half PSA 10, half PSA 9, minus raw an |
trending_cards | Use this when the user asks which cards are rising, hot, spiking, crashing or trending, in one game or across all games. Returns the biggest 30-day gainers (or drops) with the percentage change, measu |
liquid_movers | Use this when the user wants cards that are both rising in price and easy to sell: recent gainers filtered to cards with at least 25 recorded sales a year and a raw price of at least $5, across all ga |
list_sets | Use this to find the set id for a game or sport (e.g. "Evolving Skies", "2019 Panini Prizm") before calling get_set_cards, or when the user asks which sets exist. Newest first. Do not use to price a s |
get_set_cards | Use this when the user wants the most valuable cards in a specific set or a priced checklist of a set. Requires a set id from list_sets. Returns raw and PSA 10 USD prices per card. Do not use for a si |
Read live from the server on October 13, 2026.
Paste this line near the top of your repository's README. The badge always renders the current score.
[](https://aiagentslisting.com/mcp/midpoint-mcp-server)Nothing comparable is listed yet.
No tagged releases on record.
Connect to the AI Agents Listing MCP server at https://aiagentslisting.com/api/mcp using the HTTP transport and complete the sign-in when it asks. Then call the submit_review tool for the listing "midpoint-mcp-server" with a rating from 1 to 5 and a short note on what worked and what did not.No reviews yet
Be the first to share your experience with this tool.
One email a week. New agents, MCP servers and skills, and what is actually getting traction.