Built for trading card game collectors and sellers, this server bundles 35+ local compute tools including Qwen Vision-based PSA/Beckett grading predictions, Merton Jump-Diffusion Monte Carlo pricing simulations, and a 370K+ product search across eBay market depth. Also packs MLX Flux image generation on Apple Silicon, Kokoro TTS voice synthesis, FFmpeg video editing, and RAG memory graphs. Uses a cryptographic licensing model where you mint an NFT license key via an Ethereum transaction, then verify on-chain to unlock the full tool suite. Runs entirely local except for optional Pollinations.ai fallback. Reach for this if you're automating TCG arbitrage analysis or building a conversational agent that needs offline card condition assessment and stochastic price modeling.
pip install undesirables-mcp-server
Turn any Undesirable NFT into an MCP-compatible AI agent with 35+ local compute tools.
v1.1.8 adds the FREE card_forecast(card_name | product_id) tool — one call returns the conformal 30-day price forecast plus Safe-Hold & Momentum letter grades and a one-line plain-English read (e.g. "~12% chance it's below $Y in 30 days; Safe-Hold B, Momentum A"). No payment required.
The conformal-calibrated risk forecast is the default model — regime-aware split-conformal bands with honest VaR/CVaR, plus Safe-Hold & Momentum letter grades. Monte Carlo (GBM / Merton Jump-Diffusion) remains available opt-in via model=. Also: corrected license badge and full ecosystem integration.
Key Features:
purchase_undesirables_license_key — Returns an unsigned EVM transaction payload (Ethereum Mainnet, chainId 1) for autonomous agents to mint directly from the Scatter.art contractverify_soul_initialization — Verifies on chain purchase via public RPC and initializes the cryptographic soul matrix, unlocking all local compute enginesIf you've never used Python or run AI Models locally, you must do this first:
First, open your Terminal or Command Prompt and clone this repository. After cloning, you must activate a "Virtual Environment" (a sandbox folder just for this codebase).
git clone https://github.com/sailorpepe/undesirables-mcp-server.git
cd undesirables-mcp-server
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
git clone https://github.com/sailorpepe/undesirables-mcp-server.git
cd undesirables-mcp-server
python -m venv venv
venv\Scripts\activate
pip install -r requirements.txt
Every single time you want to run this server later, you must open your terminal and make sure your Virtual Environment is activated (venv) first!
If you already downloaded your Soul Workspace from the website:
# Make sure to point to your EXACT soul folder path
python server.py --workspace "/Users/username/Desktop/soul_folder/0420"
The MCP Server doesn't have a chat window; it runs invisibly in the background of your terminal! To actually talk to your agent, you must connect it to a desktop application like Claude or Cursor.
cwd (Current Working Directory) with your exact folder path:{
"mcpServers": {
"undesirables": {
"command": "python",
"args": ["server.py", "--workspace", "/Users/yourname/Desktop/soul_folder/0420"],
"cwd": "/Users/yourname/Documents/undesirables-mcp-server"
}
}
}
If you want your agent to physically generate memes and illustrations 100% offline natively on your computer, the MCP Server uses the massively powerful 16GB FLUX.1-schnell model.
If you do not complete this step, or if your computer is too weak (< 12GB RAM), the server will automatically fallback and generate memes for you silently via the free Pollinations.ai cloud network.
Apple Silicon specifically uses mflux, which strictly requires a Hugging Face token to bypass Black Forest Labs' legal compliance gate.
cd undesirables-mcp-server
source venv/bin/activate
python -c "import huggingface_hub; huggingface_hub.login()"
If your computer uses Nvidia CUDA or AMD DirectML, the diagnostic scanner detects this and logically shifts your engine to an ungated open-weights repository (shuttleai/FLUX.1-schnell).
generate a meme in the UI! Your system will natively download the 16GB weights fully offline during the very first execution automatically.If your terminal throws red text and halts, check these top 3 reasons:
Error: Ollama connection refused Your AI's brain is offline! Make sure you physically double-clicked the Ollama.app on your computer. If the little llama icon isn't in your menu bar/taskbar, local inference will fail immediately.
ModuleNotFoundError: no module named fastmcp
You forgot to activate your Virtual Environment. You cannot just launch a fresh terminal and run python server.py. You must navigate to the folder and run source venv/bin/activate (Mac) or venv\Scripts\activate (Windows) first!
Invalid JSON: expected value at line 1 The Python terminal running the MCP Server is communicating in raw machine code (JSON-RPC). You cannot type plain English into that terminal window! Once it turns on, leave it alone. Open Claude Desktop or Cursor to chat with it.
This MCP server 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 flawsoul://system-prompt — The full system prompt that defines the agentsoul://memory — Persistent memory (trade history, observations)soul://predictions — Prediction ledger with gradesCore Tools (35+ functions your AI can call):
grade_tcg_card — 3-stage PSA/Beckett grading: Qwen Vision LLM + OpenCV centering + BGS cappingcard_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-insearch_ebay_market — Live eBay market depth, price distributions, arbitrage detectionpurchase_undesirables_license_key — M2M purchase bridge (EVM tx payload)verify_soul_initialization — On chain soul verificationgenerate_voice — Kokoro TTS voice synthesisgenerate_3d_object — Shap E text to 3D mesh (.glb)generate_image — Local FLUX image generationweb_search — DuckDuckGo instant answersrun_security_audit — SAST code scanningquery_ollama — Send prompts to local Ollamaanalyze_market — Run market analysis in charactercreate_content — Write tweets, threads, bios in charactermeme_machine — Generate meme concepts and marketing content┌─────────────────────────────────────────────┐
│ 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 │
└─────────────────────────────────────────────┘
from langchain_mcp_adapters.client import MultiServerMCPClient
async with MultiServerMCPClient({
"undesirables": {
"command": "python",
"args": ["server.py", "--workspace", "/path/to/soul_folder/0420"],
"cwd": "/path/to/undesirables-mcp-server"
}
}) as client:
tools = client.get_tools()
# 35+ tools now available to any LangChain agent
from crewai import Agent
from crewai_tools import MCPServerAdapter
mcp = MCPServerAdapter(
command="python",
args=["server.py", "--workspace", "/path/to/soul_folder/0420"]
)
agent = Agent(
role="NFT Card Grader",
tools=mcp.tools,
goal="Grade trading cards and run Monte Carlo price simulations"
)
from agents import Agent
from agents.mcp import MCPServerStdio
mcp_server = MCPServerStdio(
command="python",
args=["server.py", "--workspace", "/path/to/soul_folder/0420"]
)
agent = Agent(
name="Undesirables Agent",
instructions="You are an autonomous AI agent with NFT soul personality.",
mcp_servers=[mcp_server]
)
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:
{
"settings": {
"UNDESIRABLES_WORKSPACE": "/path/to/soul_folder/0420"
},
"plugins": ["plugin-undesirables"]
}
We also publish a dedicated on-chain oracle MCP server for the LitecoinVM ecosystem:
pip install litvm-tcg-oracle
| Feature | Detail |
|---|---|
| 433K+ trading cards | 13 games, 276K actively priced |
| 13.5M+ price observations | 60+ days of continuous data |
| On-chain Merkle proofs | Trustless verification on LiteForge (Chain 4441) |
| Risk forecast | Conformal-calibrated VaR/CVaR + Safe-Hold/Momentum grades (Monte Carlo opt-in) |
| 6 MCP tools | search_cards, get_price_history, verify_price, oracle_status, simulate_price, grade_card |
→ GitHub: litvm-tcg-oracle-mcp
→ PyPI: litvm-tcg-oracle
→ Live Oracle: the-undesirables.com/litvm
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.
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.
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.
Building a commercial product? Want guaranteed API access or white-label integration? Contact us:
📧 theundesirables7@gmail.com · 🐦 @undesirables_ai
© 2026 The Undesirables LLC
⭐ If this project helped you, please star this repo — it helps others find it.
com.mcparmory/google-search
io.github.pipeworx-io/brave-search
marcopesani/mcp-server-serper
brave/brave-search-mcp-server
com.mcparmory/google-search-console
acamolese/google-search-console-mcp