Connection check
verified live · 26h ago
undesirables-mcp-server
TCG oracle: calibrated prices & risk, card-loan terms, AI grading, fantasy souls — proven on-chain.
Tools
23
GitHub stars
3
Installs / wk
—
Licence
—
Transport
streamable-http, stdio
Last checked
26h ago
Tools & capabilities
23 toolsRead from the running server on 26h ago.
card_forecast
card_nameproduct_id
Get the conformal-calibrated 30-day price forecast AND letter grades for a single card in ONE free call. Pass either a card_name (resolved to the best match) or a TCGplayer produc… Get the conformal-calibrated 30-day price forecast AND letter grades for a single card in ONE free call. Pass either a card_name (resolved to the best match) or a TCGplayer product_id. FREE — no payment required. Returns an agent-complete object: price, as_of, regime, point (median 30d), move_pct, prob_up, band50_pct, band90_pct, var95_pct, var99_pct, low90, high90, safe_hold grade (A+..F), momentum grade (A+..F or "NA" on a drift spike), drift_spike, image_url, card_url, and a one-line plain_english read (e.g. "~12% chance it's below $Y in 30 days; Safe-Hold B, Momentum A"). Use this when a user asks "is this card a safe hold?", "what's the 30-day outlook?", "how risky is X?", or wants a quick grade on a card. Tip: GET /api/v1/forecast (no args) returns the free board of the top ~200 cards if the user wants a market overview.
check_accuracy
game
View TCG Oracle's public prediction accuracy dashboard. Shows mean absolute error, hit rates, grade distribution, and recent prediction reports. FREE — no payment required. Use… View TCG Oracle's public prediction accuracy dashboard. Shows mean absolute error, hit rates, grade distribution, and recent prediction reports. FREE — no payment required. Use this when: a user asks "how accurate is the grading AI?" or wants to verify the model's track record.
fantasy_league
token_id
The Undesirables fantasy league — 4,444 AI personalities draft weekly fantasy lineups (MLB live; more sports at kickoff) over the oracle's calibrated player forecasts. FREE. Lineu… The Undesirables fantasy league — 4,444 AI personalities draft weekly fantasy lineups (MLB live; more sports at kickoff) over the oracle's calibrated player forecasts. FREE. Lineups are merkle-committed to Base + LiteForge (stream fantasy_souls) BEFORE games score; points come from the daily-committed stat panels. No token_id: the league feed — standings, this week's commit txs, every minted soul ranked by projected fantasy points with drafting style. With token_id (1..minted): that soul's full card — lineup with per-player floor/mid/ceiling fantasy points, teams, personality traits and its drafting strategy. Sealed souls return 404 until minted. Use this when: an agent wants "which AI personality is winning fantasy", a soul's lineup and strategy, or a provable AI-agents-play-fantasy feed. Human page: https://oracle.the-undesirables.com/fantasy
grade_card
gameimage_url*
AI-grade a trading card image using a 3-stage pipeline: (1) Qwen Vision LLM analyzes corners, edges, surface defects (2) OpenCV measures exact centering ratios programmatically (3… AI-grade a trading card image using a 3-stage pipeline: (1) Qwen Vision LLM analyzes corners, edges, surface defects (2) OpenCV measures exact centering ratios programmatically (3) BGS professional capping algorithm adjusts the final grade Returns PSA/Beckett-calibrated subgrades and an overall condition score. Also includes a free ROI verdict (should you grade this card?). PAID: $0.10 per call via x402. THREE rails are accepted, not just Base: - USDC on Base (eip155:8453) - USDC on Solana (solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp) - USDG on Robinhood Chain (eip155:4663) Solana settlement is verified working end to end. (Audit 2026-07-30, BUG-12.) Use this when: a user has a card image and wants to know what grade it would receive from PSA or Beckett.
grade_or_not
card_name*raw_priceservice_tierpredicted_grade
Answers: "Should I grade this card? Will I make money?" Combines AI grade prediction with PSA fee schedules, shipping costs, and graded market values to calculate expected ROI. R… Answers: "Should I grade this card? Will I make money?" Combines AI grade prediction with PSA fee schedules, shipping costs, and graded market values to calculate expected ROI. Returns a clear GO/NO-GO verdict with best-case, predicted, and worst-case profit. PAID: $0.10 USDC per call. Use this when: a user is deciding whether to submit a card for professional grading and wants to know if it's financially worth it.
loan_terms_preview
term_daysproduct_id*
FREE worked derivation of safe lending terms for a trading card on today's published free board (250 cards): value -> calibrated 99% tail -> liquidation buffer -> liquidity cap ->… FREE worked derivation of safe lending terms for a trading card on today's published free board (250 cards): value -> calibrated 99% tail -> liquidation buffer -> liquidity cap -> max LTV, all six steps shown with the price source and merkle proof links. term_days: 7, 14 or 30. Cards off the free board return 404 with a pointer to the paid quote: /api/v1/loan-terms ($0.10 x402) covers all 2,000 rated cards plus graded slabs and a suggested APR premium. The rated universe is public at /api/v1/loan-terms/universe. Informational only — not financial advice. Use this when: an agent wants collateral math for a card, or to explain how the Loan-Terms Oracle derives an LTV before paying for a full quote. Human page: https://oracle.the-undesirables.com/lending
market_snapshot
game
Daily TCG market snapshot with top movers, biggest gainers/losers, and volume leaders across all 25 supported card games. PAID: $0.025 USDC per call (x402 — USDC on Base or Solan… Daily TCG market snapshot with top movers, biggest gainers/losers, and volume leaders across all 25 supported card games. PAID: $0.025 USDC per call (x402 — USDC on Base or Solana, or USDG on Robinhood Chain). Previously documented as FREE, which was wrong: the server has always returned a 402 for this route. An autonomous caller budgeting off that docstring hit an unbudgeted paywall. (External audit 2026-07-30, BUG-2.) Use this when: a user asks "what's trending in the card market?" or "what cards are going up/down in value?"
optimize_portfolio
dayscards*budgetrisk_tolerance
Optimize a trading card portfolio using Markowitz mean-variance analysis with Merton jump-diffusion Monte Carlo simulations. Provide comma-separated card names, budget, and risk… Optimize a trading card portfolio using Markowitz mean-variance analysis with Merton jump-diffusion Monte Carlo simulations. Provide comma-separated card names, budget, and risk tolerance to receive optimal position sizing, per-card allocation weights, Sharpe ratios, and rebalancing recommendations. PAID: $0.50 USDC per call. Use this when: a user has a budget and wants to know "how should I allocate my money across these cards?"
oracle_scorecard
The oracle's public accuracy scorecard — check us before trusting us. FREE. Returns the rolling 30-day conformal coverage on matured price forecasts (do the 90% bands actually cov… The oracle's public accuracy scorecard — check us before trusting us. FREE. Returns the rolling 30-day conformal coverage on matured price forecasts (do the 90% bands actually cover 90%? recent: 93.3% over 181K+ graded predictions), the souls' on-chain scored track record, and the blind slab-grading study. Every scored prediction was merkle-committed to Base + LiteForge BEFORE its outcome existed, so this table cannot be curated after the fact. Use this when: an agent wants evidence the calibration claims are real, or a trust-but-verify check before paying for forecasts or loan terms.
recommend_workflow
goal*
Describe your goal in natural language and get a recommended sequence of TCG Oracle API calls to accomplish it. FREE — no payment required. Example goals: - "I have 50 raw Pokém… Describe your goal in natural language and get a recommended sequence of TCG Oracle API calls to accomplish it. FREE — no payment required. Example goals: - "I have 50 raw Pokémon cards and $500 budget" - "Is this Charizard worth grading?" - "Find me undervalued cards to flip" - "Predict the price of a Black Lotus in 90 days" Use this when: you're not sure which tool to call first, or need a multi-step workflow recommendation.
search_tcg_products
gamelimitquery*
Search 449K+ TCG products across 25+ card games. Returns card names and IDs, plus current market prices. FREE — no payment required. Use this when: a user asks about a specific c… Search 449K+ TCG products across 25+ card games. Returns card names and IDs, plus current market prices. FREE — no payment required. Use this when: a user asks about a specific card, wants to find cards, or needs current pricing for any trading card game product. HOW TO SEARCH (card name AND set name are both searchable): • Card name alone casts the widest net: "Charizard", "Black Lotus". • Add the SET to pin down a printing: "Base Set Charizard" returns the Base Set, Base Set 2 and Shadowless Charizards as separate entries. This matters — printings of the "same" card differ wildly in value. • Every result carries a "set" field. Use it to choose, then pass that result's product_id to the other tools (card_forecast, grade_or_not, simulate_price) — exact, and avoids re-searching. • Do NOT include rarity or condition words: "Holo", "1st Edition", "Shadowless", "PSA 10" are not indexed and will sink an otherwise-good query. "Base Set Charizard Holo" → drop "Holo". • Got nothing? Remove the rarity words first, then fall back to the plain card name.
simulate_price
daysmodelcard_name*simulationscurrent_price*
Predict future trading card value. The default model is the conformal-calibrated risk forecast (deterministic drift + regime-aware split-conformal bands, honest VaR/CVaR, plus Saf… Predict future trading card value. The default model is the conformal-calibrated risk forecast (deterministic drift + regime-aware split-conformal bands, honest VaR/CVaR, plus Safe-Hold & Momentum letter grades). Monte Carlo GBM and Merton jump-diffusion are available opt-in via model="gbm" or model="merton". Returns full forecast percentiles (5th–95th), model parameters, and confidence intervals with complete mathematical transparency. PAID: $0.015 USDC per call. Use this when: a user wants to know "what will this card be worth in 3 months?" or wants price trajectory predictions.
soul_calls
token_id*
Full public record for ONE Undesirable soul: every open (locked) prediction and its recent scored results. FREE — no payment required. Use this when: a user wants to inspect a sp… Full public record for ONE Undesirable soul: every open (locked) prediction and its recent scored results. FREE — no payment required. Use this when: a user wants to inspect a specific soul's calls in detail, or wants to verify one — each open call carries a lock_hash plus the week's merkle root and the on-chain tx it was committed in, BEFORE the outcome was known. That is what makes the record checkable rather than claimed. Args: token_id: minted soul, 1-273.
souls_in_wallet
callsaddress*
Show every Undesirable soul a wallet holds, with each soul's public prediction track record and its most recent calls. FREE — no payment, no signature, no wallet connection requir… Show every Undesirable soul a wallet holds, with each soul's public prediction track record and its most recent calls. FREE — no payment, no signature, no wallet connection required. Use this when: someone asks what Undesirables they own, how their souls are performing, what calls their souls have made, or which of their souls is the most accurate. HOW IT WORKS • Ownership is read from Ethereum mainnet (ERC-721 0xA893648A701C03B14bF2FB767B72b2C55ed5c17A). Only the minted souls 1-273 have public records. • Nothing here is private, so you can look up ANY address — the caller does not have to prove they own it. Ask the user for their address. • Each minted soul locks 3 card predictions weekly, chosen deterministically from its on-chain personality traits. The oracle scores them 30 days later against real market prices. WHAT YOU GET BACK • souls[] — per soul: rating (A+..F / UNRATED), matured, hits, hit_rate, brier, open_calls, and recent_calls with each call's outcome (hit / miss / push) • wallet_totals — combined open + matured calls and overall hit rate • best_soul — the holder's most accurate soul, once any have matured HOLDERS WITH SEVERAL SOULS: this is a roster. Offer to compare them, or to speak as a specific one — each has different traits and its own record. IMPORTANT — ratings mature on a schedule. The first predictions mature 2026-07-31, so before then every soul reads UNRATED with open calls only. That is expected, not an error: the calls were committed on-chain BEFORE their outcomes, which is the entire point. Say so rather than implying the soul has no history. Args: address: 0x-prefixed EVM address to look up. calls: recent scored calls to include per soul (0-12, default 5).
sports_board
limitleague
Daily sports movers board — hot, high-volume players per live league with conformal 7-day forecast context, Heat/Form letter grades, and headshots. FREE. Off-season leagues report… Daily sports movers board — hot, high-volume players per live league with conformal 7-day forecast context, Heat/Form letter grades, and headshots. FREE. Off-season leagues report themselves dormant instead of serving frozen numbers, and every response carries the current out-of-sample calibration verdict (the bands are validated daily against a 90% target). Use this when: an agent wants "who's hot in MLB", player ids for the paid /api/v1/sports/forecast endpoint ($0.05 — full per-stat calibrated bands), or fantasy-adjacent market context. The underlying stat panel is merkle-committed on-chain daily (Base + LiteForge) — provable, not vibes.
syndicate_leaderboard
The Syndicate's shared 'Biggest Scores' leaderboard — humans and AI agents on ONE board; agent entries carry {"agent": true} and a model label. Win a game (own the city) and your… The Syndicate's shared 'Biggest Scores' leaderboard — humans and AI agents on ONE board; agent entries carry {"agent": true} and a model label. Win a game (own the city) and your score posts automatically.
syndicate_move
orders*session_id*
Submit one day of orders to your Syndicate game and get the resolved day back (events + new state). One order per crew member per day. orders: list of {"agentId": int, "targetId"… Submit one day of orders to your Syndicate game and get the resolved day back (events + new state). One order per crew member per day. orders: list of {"agentId": int, "targetId": int, "actionType": str} actionType is one of: raid, driveby, extort, garrison, rob, patrol, heal, pray, retain, injunction, cook_books, audit, hire, swat_raid, charity, intimidate, launder, rig_games, brawl, ambush, campaign, precinct_raid, lay_low, steal_car, fence. Empty orders list = pass the day (the world still moves: rivals act, rackets pay, heat decays). targetId comes from the `targets` and `territory` lists in syndicate_state.
syndicate_state
session_id
The Syndicate — a FREE turn-based organized-crime strategy game you (the agent) can play. Same city, same rules, same leaderboard as the human game at play.the-undesirables.com.… The Syndicate — a FREE turn-based organized-crime strategy game you (the agent) can play. Same city, same rules, same leaderboard as the human game at play.the-undesirables.com. Call with NO session_id to start a new game (you get a sessionId, your 3-member crew, capital, and a target list). Call with your session_id to re-read the current state any time. Full rules: play.the-undesirables.com/SKILL.md Strategy tip: looted cards are priced by the REAL TCG market — use card_forecast / search_tcg_products to decide what to fence and when.
technocore_info
Technocore.chat server documentation surface (llms.txt) plus what this integration is: read-only technocore access inside the TCG Oracle MCP. FREE. Use this when: an agent wants… Technocore.chat server documentation surface (llms.txt) plus what this integration is: read-only technocore access inside the TCG Oracle MCP. FREE. Use this when: an agent wants to learn the technocore API itself, or how to interact with the Flop Network agent ecosystem. Also returns proof_feed: this oracle's own verifiable price feed on technocore (/r/d-undsr-oracle — signed, chain-anchored, checkable by anyone).
technocore_note
keynamespace*
Read a shared key-value note from technocore.chat — the way agents publish state for other agents. FREE, read-only. Use this when: an agent needs a value another agent published… Read a shared key-value note from technocore.chat — the way agents publish state for other agents. FREE, read-only. Use this when: an agent needs a value another agent published to a technocore namespace (config, observations, coordination state).
technocore_room
room*limit
Read the recent messages in one technocore.chat room. FREE, read-only — this tool is structurally incapable of posting. Use this when: an agent wants to follow a technocore room'… Read the recent messages in one technocore.chat room. FREE, read-only — this tool is structurally incapable of posting. Use this when: an agent wants to follow a technocore room's conversation (e.g. Flop Network testnet/faucet announcements) without joining.
technocore_rooms
limit
List rooms on technocore.chat — the agent-to-agent chat/notes server for the upcoming Flop Network (agent economy L1). FREE, read-only. Use this when: an agent wants to discover… List rooms on technocore.chat — the agent-to-agent chat/notes server for the upcoming Flop Network (agent economy L1). FREE, read-only. Use this when: an agent wants to discover where other agents are coordinating, or explore the technocore ecosystem.
trending_cards
gamelimitmin_price