undesirables-mcp-server
The Undesirables MCP Server transforms NFT soul personalities into fully-featured AI agents with 35+ local compute tools across media generation, market analysis, memory, security, and blockchain integration.
Image Generation: Generate memes and illustrations locally via FLUX models (Apple Silicon, NVIDIA, AMD, CPU) or Pollinations.ai fallback.
Background Removal & Banners: Remove image backgrounds using DIS + Laplacian Matting; create promotional banners sized for OpenSea, Twitter, Discord, YouTube, etc.
Video Production: Produce platform-optimized videos (TikTok, Reels, YouTube) with text overlays, audio replacement, beat-sync, and viral clip extraction via audio energy analysis.
3D Object Generation: Generate 3D mesh files (.glb) from text or convert 2D images (e.g., NFT PFPs) into 3D models using Shap-E.
Voice & Speech: Text-to-speech via Kokoro TTS with Big Five personality-mapped voice styles; speech-to-text transcription via local Whisper.
Emotion Detection: Classify emotional tone using a 28-class RoBERTa model and compute adaptive AI sampling parameter adjustments.
Local LLM Inference: Query a local Ollama instance with the agent's personality injected as system context.
Multi-Agent Council: Convene 3 Undesirable NFT agents to debate topics using Big Five psychology role assignment.
Trading Card Grading: Analyze Pokémon, Magic, and other cards for PSA/Beckett grading via local Vision AI.
Market Analysis: Search live eBay listings for collectibles with synthetic price history and volatility analysis; run Monte Carlo price simulations using Heston/Merton/Kou models.
Web Search: Privacy-first DuckDuckGo search with no API key required.
Persistent Memory: RAG vector DB for semantic workspace search; graph CRM for relational long-term memory (upsert, relate, query, traverse); general save/recall of insights across sessions.
Sandboxed Code Execution: Execute Python or shell commands in macOS Seatbelt-isolated environments with network/filesystem restrictions.
Security Auditing (SAST): Run Semgrep (Python/JS) or Slither (Solidity/Web3) static analysis; scan media files for corruption or embedded EXIF payloads.
Skill System & Self-Reflection: Load modular skill instructions (meme machine, market analysis, content creation, etc.) and log post-task reflections to persistent memory for continuous improvement.
NFT License Purchase (M2M): Generate unsigned EVM transaction payloads for autonomous agents to mint an Undesirables NFT on Ethereum Mainnet and unlock advanced engines (Voice, 3D, Graph Memory, Video, Emotion).
Provides tools for local image generation using AMD GPUs via DirectML on Windows.
Provides tools for AI music generation using ACE Step on Apple Silicon and local image generation using MLX Flux on Mac.
Allows CrewAI agents to integrate the server's 35+ tools for tasks like NFT card grading and Monte Carlo price simulations.
Provides a web search tool using DuckDuckGo's zero-token instant answers.
Provides a financial analytics oracle that includes eBay depth analysis for trading card pricing.
Provides a tool to generate unsigned EVM transaction payload for purchasing an Undesirables license key on Ethereum Mainnet, enabling M2M agent economy.
Provides video clipping and beat sync editing tools using FFmpeg.
Provides local image generation using FLUX.1-schnell model via MLX Flux on Mac or DirectML on Windows/CUDA on Linux.
The server code repository is hosted on GitLab.
Requires Hugging Face authentication to access the FLUX.1-schnell model on Apple Silicon; provides access to model weights.
Allows LangChain agents to use all 35+ tools via the MultiServerMCPClient adapter.
Supports integration with LangGraph for building agent workflows using the server's tools.
Supports local image generation on Linux using CUDA GPUs.
Supports local image generation on Linux using NVIDIA CUDA GPUs.
Provides integration with locally running Ollama models (e.g., llama3.1:8b) for query completion and reasoning.
The server is distributed as a PyPI package via pip install.
The server is built in Python and requires Python 3.10+ to run.
The Undesirables — MCP Server

Turn any Undesirable NFT into an MCP-compatible AI agent with 35+ local compute tools.
What's New in v1.1.0: Agent Economy (M2M)
This release introduces the Machine to Machine (M2M) Agent Economy — a cryptographic purchase bridge that allows autonomous AI agents to independently acquire an Undesirables NFT soul matrix and unlock all local compute engines without human intervention.
New Tools:
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 10 compute engines
Full 35+ Tool Suite Includes:
🎴 Vision AI Card Grading (PSA/Beckett prediction via Qwen VL)
📊 Monte Carlo Price Simulation (Heston/Merton/Kou stochastic models)
🎵 AI Music Generation (ACE Step on Apple Silicon)
🎬 Video Clipping and Beat Sync Editing (FFmpeg)
🖼️ Local Image Generation (MLX Flux on Mac, DirectML on Windows, CUDA on Linux)
🗣️ Text to Speech Voice Engine (Kokoro TTS)
🧠 Persistent RAG Memory Graphs (CRM node mapping)
🔍 Zero Token Web Search (DuckDuckGo)
🔒 SAST Code Security Auditing
📈 Financial Analytics Oracle (TCGCSV + eBay depth analysis)
Quick Install via pip
pip install undesirables-mcp-server🛑 Prerequisites (Read Carefully)
If you've never used Python or run AI Models locally, you must do this first:
Download Python (Version 3.10 or higher).
Download Ollama. CRITICAL: You cannot just download the app and leave it in your downloads folder. You must double-click the Ollama app to physically run it. You should see a little llama icon in your Mac menu bar or Windows system tray for this server to work.
🛠️ Step 1: Install & Clone
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).
🍎 On Mac / Linux
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🪟 On Windows
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🚀 Step 2: Boot The Server
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"🔌 Step 3: Connect Your Chat Front-End
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.
Claude Desktop Connection
Open the Claude Desktop application on your computer.
Go to Settings > Developer > Edit Config.
Paste this into your config file, making absolutely sure you replace the
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"
}
}
}Restart the Claude Desktop app. You should see a little "Plugin/Hammer" icon telling you that 35+ The Undesirables tools are now available!
🎨 Step 4: Setup Local Image Generation (Optional)
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.
🍏 Authenticating Apple Silicon (Mac M1/M2/M3/M4)
Apple Silicon specifically uses mflux, which strictly requires a Hugging Face token to bypass Black Forest Labs' legal compliance gate.
Navigate to black-forest-labs/FLUX.1-schnell, create a free Hugging Face account, and click Agree and Access.
Go to Hugging Face Tokens and generate a new Read token.
Open your Mac terminal, activate your virtual environment, and log in:
cd undesirables-mcp-server
source venv/bin/activate
python -c "import huggingface_hub; huggingface_hub.login()"Paste your token and press Enter (your clipboard characters will be invisible for security).
🪟 Setup for Windows/Linux GPUs
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).
You do not need to authenticate anything or make an account.
Simply ask your agent to
generate a memein the UI! Your system will natively download the 16GB weights fully offline during the very first execution automatically.
⚠️ Common Idiot-Proof Diagnostics
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 runsource venv/bin/activate(Mac) orvenv\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.
Technical Architecture (For Developers)
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 grades
Core Tools (34 functions your AI can call):
grade_tcg_card— 3-stage PSA/Beckett grading: Qwen Vision LLM + OpenCV centering + BGS cappingmonte_carlo_simulation— Stochastic price modeling (Heston/Merton/Kou)search_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 contentAnd 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
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 agentCrewAI
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"
)OpenAI Agents SDK
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]
)ElizaOS
npm install plugin-undesirablesAdd to your character.json:
{
"settings": {
"UNDESIRABLES_WORKSPACE": "/path/to/soul_folder/0420"
},
"plugins": ["plugin-undesirables"]
}The Undesirables Ecosystem
Website: the-undesirables.com
mcp.so: Listed on mcp.so
ElizaOS Plugin: plugin-undesirables
x402 Payment Server: undesirables-x402-server
Glama MCP Registry: glama.ai/mcp/servers/sailorpepe
⚖️ 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.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/sailorpepe/undesirables-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server