The Undesirables TCG Oracle

io.github.sailorpepe由 GitHub 帳號 sailorpepe 發布v2.1.0更新於 Nov 2, 2026

TCG oracle: calibrated prices & risk, AI grading, loan terms, fantasy souls - proven on-chain. 23 to

已驗證Streamable HTTP可網頁執行金融資料與分析商業與電商

概覽

AI 產生的概覽

集換式卡牌市場預言機:可搜尋 45 萬+ 卡牌商品,取得校準價格預測、鑑定卡抵押貸款條件、體育榜單與公開準確率紀錄。

可以做什麼
  • 搜尋與價格:跨 25+ 款遊戲、區分版本的卡牌搜尋,市場快照與熱門榜單(美元資料凍結期間部分工具暫停)
  • 預測與風險:免費的 30 天保形預測及 Safe-Hold、Momentum 評級,另有投資組合最佳化與價格模擬工具
  • 卡牌抵押與鑑定資料:六步最高貸款價值比推導、鑑定卡掛牌中位價、可貸標的清單與鑑定卡普查總量
  • 靈魂、聯盟與體育:錢包持有的靈魂及其預測紀錄、夢幻聯盟、體育球員目錄與每日熱門榜
  • 遊戲與閱讀:可參與的回合制 Syndicate 策略遊戲及共用排行榜,以及唯讀的 technocore.chat 房間與筆記
  • 核對紀錄與路線建議:公開準確率計分卡,以及依目標推薦呼叫順序的工具
適用情境
當助理需要卡牌價格、預測或風險數據、鑑定卡抵押貸款條件,或體育與夢幻聯盟背景資訊時適用;也適合用官方公開的準確率紀錄來判斷這些數字是否可信。
執行需求
可使用託管的遠端端點,或以 uvx、pip 在本機執行 PyPI 套件(需 Python 3.10+)。預言機本身不需帳號、API 金鑰、錢包或本機模型;另附的本機 agent kit 需要 Ollama 與靈魂工作區資料夾。
安裝前請注意
美元價格凍結於 2026-09-07,多個價格工具已暫停,資料為最後公布值而非目前值。README 稱按次付費的 x402 USDC 結算已暫停但可重新開啟,屆時付費工具會回傳付款條件。提供方聲明預測僅供娛樂,不應用於真實交易。Syndicate 遊戲會提交操作並公布分數。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 The Undesirables TCG Oracle,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。

交給代理程式安裝

把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。

閱讀 https://sourceweft.com/mcp/io.github.sailorpepe%2Fundesirables-mcp-server/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。

檢視代理程式所依據的安裝指南

其他 MCP 客戶端

把它新增到你客戶端的 mcpServers 設定中。

{
  "mcpServers": {
    "the-undesirables-tcg-oracle": {
      "type": "http",
      "url": "https://mcp.the-undesirables.com/mcp"
    }
  }
}

README

[The Undesirables MCP Banner]

[Python 3.10+] [FastMCP] [License: BSL-1.1] [PyPI]

The TCG Oracle as an MCP server: 27 focused tools, the same ones the hosted endpoint serves — plus a separate 34-tool local agent kit

Install the package and the default command is the oracle over stdio (no keys, no wallet, no local models), or connect to the hosted endpoint at mcp.the-undesirables.com. Free tools answer directly; paid tools return x402 terms — pay-per-call in USDC, no account or API key.

Website · Docs · PyPI · 𝕏


🔌 Connect over MCP — one URL, no install

https://mcp.the-undesirables.com
Newest hosted tools (Sept 2026): `fantasy_league` — 4,444 AI personalitiesdrafting weekly fantasy lineups, merkle-committed before games score ·`loan_terms_preview` — the Loan-Terms Oracle's six-step max-LTV derivation forcard collateral · `oracle_scorecard` — our public 30-day coverage record(93%+ on 181K+ matured forecasts, committed on-chain before outcomes).

No install, no account, no API key. 25 tools over streamable HTTP (MCP protocol 2025-06-18; legacy SSE also served). Free tools answer immediately. Paid tools return an x402 payment_required carrying amount, network, and payTo — an agent with a funded wallet can settle and retry in the same session. Settlement only occurs on a successful response; failed calls are never charged.

Holders can also ask which Undesirables a wallet owns and how each soul's calls have scored (souls_in_wallet, soul_calls) — public track record only; personalities stay holder-gated.

Claude Desktop / Perplexity — add it as a custom remote connector (Perplexity: Settings → Connectors → + Custom Connector → Remote).

Cursor / Windsurf / VS Code — clients that take a URL in config:

json
{  "mcpServers": {    "tcg-oracle": { "url": "https://mcp.the-undesirables.com" }  }}

Tools: search_tcg_products, market_snapshot, simulate_price, card_forecast, trending_cards, optimize_portfolio, recommend_workflow, oracle_scorecard.

Search is set-aware — search_tcg_products("Base Set Charizard") separates Base Set, Base Set 2, and Shadowless rather than returning every Charizard printing. Every result carries a set field and a product_id you can pass straight to the other tools.


Two servers, one package (v2.0.0)

CommandWhat it exposesFor
undesirables-mcp (default)The TCG Oracle — 25 tools: search 456K+ cards (USD prices frozen 2026-09-07 — responses carry usd_panel), market snapshots (suspended while frozen), AI grading & grade-or-not, conformal-calibrated forecasts with a public accuracy scorecard, portfolio optimisation, card-collateral loan terms, fantasy & sports souls, the Syndicate, Technocore rooms. Backed by the public oracle API.Anyone who wants the oracle in Claude Desktop, Cursor, Zed, LangChain…
undesirables-agent-kitThe local agent kit — 34 tools: memory graph, RAG over a soul workspace, meme/banner/video/3D generation, voice, code & shell execution, security audits, web search. Runs entirely on your machine.Undesirables holders running their soul as a local agent

v1.x shipped both surfaces under one command; v2 separates them so each server has one job. The hosted endpoint is unchanged.

Quick Install

bash
pip install undesirables-mcp-server
undesirables-mcp          # the TCG Oracle over stdio (25 tools, no keys) — defaultundesirables-agent-kit    # the local 34-tool agent kit

Claude Desktop / Cursor / Zed — add the oracle as a stdio server:

json
{ "mcpServers": { "undesirables-oracle": { "command": "uvx", "args": ["undesirables-mcp-server"] } } }

Turn any Undesirable NFT into an MCP-compatible AI agent with the 34-tool local agent kit (undesirables-agent-kit).


Table of Contents


What It Does

The TCG Oracle — undesirables-mcp (default), 25 tools, no keys

The same 25 tools the hosted endpoint serves, over stdio. Every tool answers directly: pay-per-call is paused since 2026-10-02, so nothing asks for payment (the x402 rail stays installed and can be switched back on).

AreaTools
🔎 Search & pricessearch_tcg_products (455K+ products, 25+ games, set-aware), market_snapshot, trending_cards

USD panel frozen 2026-09-07. market_snapshot, simulate_price, trending_cards and optimize_portfolio are suspended (the oracle returns {"status":"suspended"} and does not charge); card_forecast and search_tcg_products serve the last published USD numbers and say so in-band. Live: graded-slab loan terms, sports, souls, census, crypto, Japanese two-sided quotes.

| 📊 Forecasts & risk | card_forecast (FREE: conformal 30-day forecast + Safe-Hold / Momentum letter grades), simulate_price (suspended while the USD panel is frozen — answers {status: suspended}, no charge; Monte Carlo GBM / Merton paths), optimize_portfolio | | 🧾 Public track record | oracle_scorecard (30-day coverage on 181K+ matured forecasts, committed on-chain before outcomes) | | 🏦 Card collateral | loan_terms_preview (the Loan-Terms Oracle's six-step max-LTV derivation) | | 👻 Souls & leagues | souls_in_wallet, soul_calls, fantasy_league (4,444 AI personalities drafting weekly lineups), sports_board, jp_summary (the Japanese dealer panel as aggregates), graded_asks, loan_universe, census_summary, sports_players (all free) | | 🕹️ The Syndicate | syndicate_state, syndicate_move, syndicate_leaderboard — a turn-based strategy game agents can play | | 💬 technocore.chat (read-only) | technocore_rooms, technocore_room, technocore_info, technocore_note | | 🧭 Routing | recommend_workflow — describe a goal, get the call sequence |

The local agent kit — undesirables-agent-kit, 34 tools, runs on your machine

Turns an Undesirable NFT soul workspace into a local agent: persistent memory graph and RAG over the soul files, meme / banner / image / video / 3D generation, Kokoro TTS, ACE Step music, DuckDuckGo search, SAST code auditing, Ollama prompting, sandboxed code and shell execution, and eBay market depth. It needs Ollama and a soul workspace — see The Local Agent Kit below. The oracle needs none of that.


What's New in v2.1.0 / v2.0.x

2.1.0 — check_accuracy removed. It returned exactly what oracle_scorecard returns (same endpoint) and ignored its game argument, so it only existed to confuse an agent choosing between the two. Callers: switch to oracle_scorecard. The oracle is 27 tools.

2.0.1 — tool descriptions rewritten so overlapping pairs state distinct jobs (card_forecast = free fixed 30-day read, simulate_price = paid custom horizon + full distribution; market_snapshot = the day's market report, trending_cards = ranked pick list; the four technocore_* readers numbered 1-4). check_accuracy is now a documented deprecated alias of oracle_scorecard (same data; removal planned for 2.1).

  • The oracle is the default server. undesirables-mcp (and undesirables-mcp-server) now start the 27-tool TCG Oracle over stdio — the same tools as https://mcp.the-undesirables.com, with no keys, wallet, or local models.
  • The agent kit has its own command. The 34-tool local kit moved to undesirables-agent-kit. Nothing was removed; each server now has one job.
  • Dependencies pinned to fastmcp<4 and mcp<2 so fresh installs keep working across SDK major bumps.
  • Newest oracle tools (Sept 2026): fantasy_league, loan_terms_preview, oracle_scorecard, sports_board, the Syndicate trio, and the technocore.chat readers.
  • Carried over from v1.1.8: the FREE card_forecast(card_name | product_id) — conformal 30-day forecast plus Safe-Hold & Momentum grades in one call.

🧰 The Local Agent Kit (undesirables-agent-kit)

Everything in this section is for the agent kit only. If you just want the oracle, you're already done: uvx undesirables-mcp-server (or the hosted URL above).

🛑 Prerequisites

  1. Python 3.10 or higher.
  2. Ollama — download it and run it. The llama icon must be in your menu bar / taskbar, or local inference fails immediately.
  3. A soul workspace folder downloaded from the-undesirables.com (for example soul_folder/XXXX).

🛠️ Install

bash
pip install undesirables-mcp-server

Or, to hack on it:

bash
git clone https://github.com/sailorpepe/undesirables-mcp-server.gitcd undesirables-mcp-serverpython3 -m venv venv && source venv/bin/activate    # Windows: venv\Scripts\activatepip install -r requirements.txt

🚀 Boot

bash
# point --workspace at your EXACT soul folderundesirables-agent-kit --workspace "/Users/you/Desktop/soul_folder/XXXX"

(From a clone: python server.py --workspace ".../soul_folder/XXXX".) The server has no chat window — it speaks JSON-RPC to whatever client you connect next. Don't type into that terminal.

🔌 Connect Claude Desktop

Settings → Developer → Edit Config, then:

json
{  "mcpServers": {    "undesirables-agent-kit": {      "command": "undesirables-agent-kit",      "args": ["--workspace", "/Users/you/Desktop/soul_folder/XXXX"]    }  }}

Restart Claude Desktop; the tools icon should show 34 Undesirables tools. Cursor, Zed, and Windsurf take the same command / args shape.

🎨 Local image generation (optional)

The kit uses the 16 GB FLUX.1-schnell model for fully offline memes and illustrations. Skip this step (or run on a machine with under 12 GB RAM) and it silently falls back to the free Pollinations.ai cloud.

  • Apple Silicon uses mflux, which needs a Hugging Face token for Black Forest Labs' gated repo: accept the terms at black-forest-labs/FLUX.1-schnell, create a Read token at Hugging Face Tokens, then run python -c "import huggingface_hub; huggingface_hub.login()" and paste it.
  • Nvidia CUDA / AMD DirectML are detected automatically and use the ungated shuttleai/FLUX.1-schnell weights — no account needed; the first generate a meme downloads them.

⚠️ Troubleshooting

  • Ollama connection refused — Ollama isn't running. Launch the app and check for the llama icon.
  • ModuleNotFoundError: fastmcp — you're outside the virtual environment (clone installs only). source venv/bin/activate first.
  • Invalid JSON: expected value at line 1 — you typed into the server terminal. Leave it alone and talk through Claude Desktop / Cursor.

Technical Architecture (agent kit)

This section describes undesirables-agent-kit. (The oracle is a thin stdio wrapper over the same 25 tools the hosted endpoint serves; nothing below applies to it.)

The agent kit exposes your local NFT soul via the Model Context Protocol standard.

Resources (read only context your AI can access):

  • soul://personality — Big Five scores, archetype, strategy, fatal flaw
  • soul://system-prompt — The full system prompt that defines the agent
  • soul://memory — Persistent memory (trade history, observations)
  • soul://predictions — Prediction ledger with grades

Agent kit tools (34 functions your AI can call — undesirables-agent-kit):

  • grade_tcg_card — 3-stage PSA/Beckett grading: Qwen Vision LLM + OpenCV centering + BGS capping
  • card_forecast — FREE one-call conformal 30-day forecast + Safe-Hold/Momentum letter grades + plain-English read (pass a card name or TCGplayer product_id)
  • monte_carlo_simulation — Price forecasting: conformal-calibrated risk by default (honest VaR/CVaR + Safe-Hold/Momentum grades); Monte Carlo GBM/Merton opt-in
  • search_ebay_market — Live eBay market depth, price distributions, arbitrage detection
  • purchase_undesirables_license_key — M2M purchase bridge (EVM tx payload)
  • verify_soul_initialization — On chain soul verification
  • generate_voice — Kokoro TTS voice synthesis
  • generate_3d_object — Shap E text to 3D mesh (.glb)
  • generate_image — Local FLUX image generation
  • web_search — DuckDuckGo instant answers
  • run_security_audit — SAST code scanning
  • query_ollama — Send prompts to local Ollama
  • analyze_market — Run market analysis in character
  • create_content — Write tweets, threads, bios in character
  • meme_machine — Generate meme concepts and marketing content
  • And 20+ more covering video, audio, memory, sandbox execution
┌─────────────────────────────────────────────┐│           MCP Client (Cursor, Claude)       │└──────────────────┬──────────────────────────┘                   │ JSON-RPC (stdio)┌──────────────────▼──────────────────────────┐│        Undesirables MCP Server              ││  ┌──────────┐ ┌──────────┐ ┌────────────┐  ││  │Resources │ │  Tools   │ │  Prompts   │  ││  │SOUL.md   │ │Skills    │ │Templates   │  ││  │MEMORY.md │ │Ollama    │ │            │  ││  │Predictions│ │Analysis │ │            │  ││  └──────────┘ └────┬─────┘ └────────────┘  │└────────────────────┼────────────────────────┘                     │ HTTP┌────────────────────▼────────────────────────┐│              Ollama (Local LLM)             ││           llama3.1:8b / qwen / etc          │└─────────────────────────────────────────────┘

Agent Framework Integration

LangChain / LangGraph

python
from langchain_mcp_adapters.client import MultiServerMCPClient
async with MultiServerMCPClient({    "undesirables": {        "command": "uvx",        "args": ["undesirables-mcp-server"]    }}) as client:    tools = client.get_tools()    # the 25 oracle tools, now available to any LangChain agent    # (for the agent kit use command="undesirables-agent-kit", args=["--workspace", ".../soul_folder/XXXX"])

CrewAI

python
from crewai import Agentfrom crewai_tools import MCPServerAdapter
mcp = MCPServerAdapter(    command="uvx", args=["undesirables-mcp-server"])
agent = Agent(    role="NFT Card Grader",    tools=mcp.tools,    goal="Grade trading cards and run calibrated price forecasts")

OpenAI Agents SDK

python
from agents import Agentfrom agents.mcp import MCPServerStdio
mcp_server = MCPServerStdio(    command="uvx", args=["undesirables-mcp-server"])
agent = Agent(    name="Undesirables Agent",    instructions="You are a TCG market analyst. Use the oracle tools for prices, forecasts, and grading.",    mcp_servers=[mcp_server])

ElizaOS (Merged into Official Monorepo)

bash
npm install plugin-undesirables

The plugin is now part of the official ElizaOS monorepo (PR #7869, merged May 21 2026).

Add to your character.json:

json
{  "settings": {    "UNDESIRABLES_WORKSPACE": "/path/to/soul_folder/XXXX"  },  "plugins": ["plugin-undesirables"]}

LitVM TCG Oracle — MCP Server

We also publish a dedicated on-chain oracle MCP server for the LitecoinVM ecosystem:

bash
pip install litvm-tcg-oracle
FeatureDetail
456K+ trading cards25+ games, 290K actively priced
13.5M+ price observations60+ days of continuous data
On-chain Merkle proofsTrustless verification on LiteForge (Chain 4441)
Risk forecastConformal-calibrated VaR/CVaR + Safe-Hold/Momentum grades (Monte Carlo opt-in)
16 MCP toolssearch_cards, get_price, get_merkle_proof, get_graded_proof, oracle_status, get_forecast, simulate_price, get_market_snapshot, get_jp_summary, get_graded_asks, get_loan_universe, get_loan_terms_preview, get_sports_board, get_fantasy_league, get_census_summary, get_oracle_scorecard

→ GitHub: litvm-tcg-oracle-mcp
→ PyPI: litvm-tcg-oracle
→ Live Oracle: the-undesirables.com/litvm


The Undesirables Ecosystem


⚖️ Legal Disclaimer

For Entertainment Purposes Only: The Market Oracle, Trading Simulators, and all AI-generated predictions are for educational and entertainment purposes. AI models natively hallucinate. Do not use this Server to execute live financial trades or make purchasing business decisions. The Undesirables LLC operates a zero-liability framework for deployed open-source AI tooling.


📝 License & Commercial Use

This project is licensed under the Business Source License 1.1 (BUSL-1.1).

We build in public and support the developer ecosystem — but we also protect the infrastructure and IP of The Undesirables LLC.

✅ What You CAN Do (Free)

  • Personal & Educational Use — Download, modify, and run locally for learning, research, or personal projects.
  • Non-Competing Applications — Integrate our packages into your app, provided your app does not offer TCG market intelligence, pricing aggregation, AI card grading, or on-chain price oracle services as its primary function.
  • MCP / Agent Integration — Connect your AI agent to our tools for non-commercial use.
  • Community Contributions — Security audits, bug fixes, and PRs are always welcome.

🚫 What You CANNOT Do (Use Limitation)

  • Competing Service — You may not use this code to operate a competing TCG market intelligence, pricing aggregation, AI card grading, or on-chain price oracle service.
  • Commercial Resale — You may not wrap our API, data pipelines, or AI models into a paid service without a commercial license.
  • Hosted SaaS — You may not host this software as a service for third parties without written permission.

🔓 Open-Source Conversion

On June 1, 2030 (or 4 years after the first public release of each version), this code automatically converts to the MIT License — fully open source, forever.

🤝 Commercial Licensing

Building a commercial product? Want guaranteed API access or white-label integration? Contact us:

📧 [email protected] · 🐦 @undesirables_ai

© 2026 The Undesirables LLC


⭐ If this project helped you, please star this repo — it helps others find it.

Report Bug · Request Feature

Data freshness

USD market prices originate from TCGPlayer. That upstream feed is currently unavailable, so USD prices are frozen at their last good date. Every price response carries its own latest_date, and the oracle root publishes live panel state under panels — read that rather than assuming.

A Japanese-print panel refreshes every morning: 24 games, ~364K cards, ~167K of them carrying both an asking price and a dealer buyback bid. Graded comps, sports boards and the proof layer are unaffected.

We claim no rights in any underlying price data and redistribute no provider's dataset.

來源:README.md,提交 32b0c58

工具

25

search_tcg_products

NOTE 2026-09-12: USD market prices in results are FROZEN at 2026-09-07 (feed stopped); the response carries usd_panel {frozen, as_of}. Names/ids are current. Search 456K+ TCG products across 25+ card games. FRESHNESS: USD prices are currently FROZEN at their last good date — the upstream feed is unavailable. Every price carries its own as-of date and the oracle root publishes live panel state under `panels`. A Japanese-print panel (24 games, ~364K cards, ~167K with BOTH an ask and a dealer buyback bid) refreshes every morning. Do not present a USD price as current. 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.

輸入參數gamelimitquery必填

market_snapshot

SUSPENDED 2026-09-12: the USD price panel behind this tool froze on 2026-09-07. The oracle answers 200 {"status": "suspended"} with the reason, resume condition and live alternatives, and does NOT charge. The tool is kept so it resumes automatically the day a live USD series exists. Prefer: loan_terms_preview (graded slabs, live), sports_board (live), or the free Japanese two-sided page /jp/card/{game}/{set}/{card}. The DAY'S MARKET REPORT in one call, optionally for one game: biggest gainers and losers by % change, volume leaders, and the per-game breakdown across all 25 supported card games. A summary of the whole market, not a ranked pick list. 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 happened in the card market today?" or "which games are moving?". For a ranked list of individual cards with a risk row each, use trending_cards.

輸入參數game

simulate_price

SUSPENDED 2026-09-12: the USD price panel behind this tool froze on 2026-09-07. The oracle answers 200 {"status": "suspended"} with the reason, resume condition and live alternatives, and does NOT charge. The tool is kept so it resumes automatically the day a live USD series exists. Prefer: loan_terms_preview (graded slabs, live), sports_board (live), or the free Japanese two-sided page /jp/card/{game}/{set}/{card}. SIMULATE a card's price path over a horizon YOU choose (days=30..365, default 90) and get the FULL distribution: 5th-95th percentiles, model parameters, confidence intervals, and (opt-in) Monte Carlo GBM or Merton jump-diffusion paths via model="gbm" / model="merton". Default model is the conformal-calibrated risk forecast. Requires current_price. PAID: $0.015 USDC per call. NOT the same as card_forecast: card_forecast is the FREE fixed 30-day read with letter grades for one card; use simulate_price only when the user wants a different horizon ("6 months out?"), the full percentile curve, or a Monte Carlo model.

輸入參數daysmodelcard_name必填simulationscurrent_price必填

card_forecast

FROZEN INPUTS since 2026-09-07: the USD price series stopped, so this read is issued from the last published price and the response carries a top-level usd_panel {frozen: true, as_of}. Say "last published", never "today". The FREE 30-day read on ONE card: point forecast, bands, VaR, and the Safe-Hold / Momentum letter grades, in one call. Pass a card_name (resolved to the best match) or a TCGplayer product_id. Horizon is fixed at 30 days. 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 FIRST for "is this card a safe hold?", "30-day outlook?", "how risky is X?". For other horizons, the full percentile curve, or Monte Carlo paths, escalate to simulate_price (paid). Tip: GET /api/v1/forecast (no args) returns the free board of the top ~200 cards if the user wants a market overview.

輸入參數card_nameproduct_id

optimize_portfolio

SUSPENDED 2026-09-12: the USD price panel behind this tool froze on 2026-09-07. The oracle answers 200 {"status": "suspended"} with the reason, resume condition and live alternatives, and does NOT charge. The tool is kept so it resumes automatically the day a live USD series exists. Prefer: loan_terms_preview (graded slabs, live), sports_board (live), or the free Japanese two-sided page /jp/card/{game}/{set}/{card}. 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?"

輸入參數dayscards必填budgetrisk_tolerance

recommend_workflow

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.

輸入參數goal必填

souls_in_wallet

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..total_minted (from GET / on the oracle) 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 — records come in seasons. Season 1 (USD card board) is closed: its calls matured 07-31..08-09, and later USD calls are VOID (not misses) because the USD price panel froze 2026-09-07. Season 2 (Japanese dealer board) locks weekly from 2026-09-14; its first calls mature 2026-10-14, so newer souls may read UNRATED with open calls only. That is expected: every call was committed on-chain BEFORE its outcome. Judge `skill` (hit rate minus the best constant call on the soul's own picks), not raw hit rate. Args: address: 0x-prefixed EVM address to look up. calls: rece

輸入參數callsaddress必填

soul_calls

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: a minted soul. Valid ids run 1..total_minted, where total_minted is read live from GET / on the oracle (274 on 2026-09-12; it grows as souls mint — never hardcode it).

輸入參數token_id必填

syndicate_state

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.

輸入參數session_id

syndicate_move

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.

輸入參數orders必填session_id必填

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 score posts automatically.

無需輸入參數。

fantasy_league

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

輸入參數token_id

loan_terms_preview

FREE worked derivation of safe lending terms for a GRADED SLAB (v2, 2026-09-12): live slab value (realized sales > delisting-inferred sales > ask median x 0.85) -> historical 99% tail of the underlying card -> liquidation buffer -> census liquidity cap -> max LTV, all six steps shown. grade e.g. "PSA 10"; omitted = the slab's deepest-census grade. term_days: 7, 14 or 30. Only free-board slabs (top 250 by census depth) return the derivation; others return 404 pointing at the paid quote /api/v1/loan-terms ($0.10 x402, ~1,100 rated slabs). Raw-card quotes are no longer issued — the USD level froze 2026-09-07. Universe: /api/v1/loan-terms/universe. Informational only — not financial advice. Use this when: an agent wants collateral math for a slab, 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

輸入參數gradeterm_daysproduct_id必填

oracle_scorecard

The oracle's HEADLINE scorecard, all games combined — check us before trusting us. FREE, no arguments. 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.

無需輸入參數。

jp_summary

The JAPANESE card market today, as numbers — no card names or prices. How many cards the dealer panel priced this morning (365K+ across 24 games, ~167K carrying BOTH an ask and a buyback bid), the dealer bid as a share of ask at each price band (a bulk floor under ~¥300, a real quote above), depth per game, how much of the board actually moved since yesterday and a week ago, and the day's Merkle root with both chain txs. FREE, refreshes once per ingest day. The only Japanese panel that is LIVE while the USD panel is frozen. Use this when: "what did the Japanese market do today?", "is the dealer paying more or less for cards this week?", or before reasoning about any single Japanese card — the per-card page is /jp/card/{game}/{set_code}/{card_id} (HTML, one card per request; there is deliberately no listing route).

無需輸入參數。

graded_asks

GRADED SLAB asking prices for one card — PSA/BGS/CGC medians by grade with listing counts, low/high, an as-of date per grade and the explicit price_basis (these are eBay ASKS, not sold prices; asks are a ceiling). FREE, refreshed daily by the eBay enrichment, merkle-committed on GradedPriceOracle. The LIVE value layer while the USD raw-card panel is frozen — and the basis the graded- slab loan terms are built on. product_id = TCGplayer id from search. Use this when: "what does a PSA 10 of this go for?", "raw vs graded premium?", or before loan_terms_preview / the free /api/v1/loan-terms quote.

輸入參數product_id必填

loan_universe

The graded slabs the Loan-Terms Oracle will quote, best collateral first — grade, live ask median, census depth, liquidity tier (deep/moderate/thin/ illiquid), rank, and a free_board flag (top 250 by census depth carry a free worked derivation via loan_terms_preview). FREE. v2 (2026-09-12): graded slabs only — raw-card quotes stopped when the USD level froze 2026-09-07. Returns a PAGE, not the whole book: the full universe is ~1,400 slabs and serialises to ~500 KB, which would swamp an agent's context in one call. `total_matching` and `returned` tell you what you are looking at. limit rows to return (default 50, max 500) tier 'deep' | 'moderate' | 'thin' | 'illiquid' free_board_only True to keep only slabs with a free worked derivation min_value_usd drop slabs whose ask median is below this (0 = no floor) Use this when: an agent needs a product_id + grade to ask for terms, or wants to know which collateral is deep enough to lend against at all.

輸入參數tierlimitmin_value_usdfree_board_only

census_summary

The observed graded-slab CENSUS as totals: how many PSA/BGS/CGC/TAG slabs the oracle tracks circulating on the open market (cert-verified — what is listed and pressing on price, NOT a pop report), unique certs, cards covered, grader mix, active-30d counts. FREE, daily, census leaves committed on-chain. The per-card census with median asks is /api/v1/census (free). Use this when: sizing supply behind a grade, or judging how thin a slab market is before trusting an ask.

無需輸入參數。

sports_players

The sports player directory — ids, names, teams and positions for the leagues currently ON THE BOARD (a league appears once it is in season with enough games for the panel; off-season leagues are absent, not stale), the ids /api/v1/sports/forecast (free for MLB, $0.05 other leagues) and the fantasy league key on. FREE. Filter by league (mlb, nba, ncaab, ncaaf, nfl, nhl) and/or a name fragment; an absent league returns zero players, which is the honest answer. Use this when: an agent has a player name and needs the id, or wants to enumerate a league's roster on the stat panel.

輸入參數queryleague

sports_board

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 (free for MLB, $0.05 other leagues — 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.

輸入參數limitleague

technocore_rooms

technocore.chat reader 1/4 — LIST the rooms. technocore.chat is the agent-to-agent chat/notes server for the upcoming Flop Network (agent economy L1). FREE, read-only, no arguments. Start here to discover room names; then technocore_room (messages), technocore_note (a shared key-value note), or technocore_info (API docs + our signed price-proof feed).

輸入參數limit

technocore_room

technocore.chat reader 2/4 — READ the recent MESSAGES in one named room. FREE, read-only — structurally incapable of posting. Use this when: an agent wants to follow one room's conversation (e.g. Flop Network testnet/faucet announcements) without joining. Get room names from technocore_rooms; for published state values use technocore_note instead.

輸入參數room必填limit

technocore_note

technocore.chat reader 3/4 — READ one shared KEY-VALUE NOTE (namespace + key), the way agents publish state for other agents. FREE, read-only. Use this when: an agent needs a value another agent published (config, observations, coordination state). Not for conversation — that is technocore_room.

輸入參數keynamespace必填

technocore_info

technocore.chat reader 4/4 — the server's API DOCS (llms.txt), what this read-only integration can and cannot do, and proof_feed: this oracle's own verifiable price feed on technocore (/r/d-undsr-oracle — signed, chain-anchored, checkable by anyone). FREE, no arguments. Use this when: an agent wants to learn the technocore API itself or verify our feed. For rooms, messages, or notes use the other three readers.

無需輸入參數。

版本歷史

1
  1. v2.1.0最新Sep 16, 2026

評分

已滿足適用檢查項的 90%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通必需25 分
  • 已宣告認證方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分

    請在儲存庫或註冊中心條目中宣告授權條款。