← Back to search

io.github.sailorpepe/undesirables-mcp-server

sailorpepe Scanned just now

35+ AI tools for TCG card grading, Monte Carlo pricing, 370K+ product search. BYOK.

? Not scanned yet

Versions

1.1.3latest
first seen Jun 5, 2026

Tools 56

search_tcg_products
annotations: none low

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.

game str limit int query str
market_snapshot
annotations: none low

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 str
grade_card
annotations: none low

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.

game str image_url str
grade_or_not
annotations: none low

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.

card_name str raw_price float service_tier str predicted_grade float
simulate_price
annotations: none low

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.

days int model str card_name str simulations int current_price float
card_forecast
annotations: none low

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_name str product_id int
trending_cards
annotations: none low

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}. A RANKED LIST of individual cards by PRICE VELOCITY (drift), highest absolute movement first, with the conformal risk row (bands, VaR, grades) attached to each card. Filter by game, limit, and min_price. Built for picking cards, not for summarizing the market. NOTE (corrected 2026-07-30): this previously claimed "30-day sales volume". Sales volume and view counts are NOT in the dataset and the API itself now explicitly disclaims them — see `ranked_by` in the response. Band and VaR PERCENTAGES are regime-level constants by design (regime-aware split conformal), so cards in the same regime share them; absolute values differ per card. Do not read it as a per-card fit. Covers all 25+ games. PAID: $0.025 USDC per call. Use this when: a user asks "which cards are moving fastest right now?" and wants names to act on. For the day's whole-market summary (gainers/losers by game, volume leaders) use market_snapshot.

game str limit int min_price float
optimize_portfolio
annotations: none low

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?"

days int cards str budget float risk_tolerance str
recommend_workflow
annotations: none low

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 str
souls_in_wallet
annotations: none low

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 — 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).

calls int address str
soul_calls
annotations: none low

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 int
syndicate_state
annotations: none low

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 str
syndicate_move
annotations: none low

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 list session_id str
syndicate_leaderboard
annotations: none low

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
annotations: none low

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 int
loan_terms_preview
annotations: none low

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

grade str term_days int product_id int
oracle_scorecard
annotations: none low

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.

sports_board
annotations: none low

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.

limit int league str
technocore_rooms
annotations: none low

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 int
technocore_room
annotations: none low

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 str limit int
technocore_note
annotations: none low

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.

key str namespace str
technocore_info
annotations: none low

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.

create_banner
annotations: none low

Create a promotional banner with a procedural mesh gradient backsplash and layered extracted character. Automatically scales to Scatter.art, OpenSea, or Twitter dimensions. Args: platform: Target platform ('scatter', 'x', 'twitter', 'opensea', 'discord', 'youtube') title: Main neon text stats: Subtext character_image_path: Absolute path to the transparent PFP cutout to layer on top theme: Color theme for the backsplash ('cyberpunk', 'vaporwave', 'gold', 'crimson', 'matrix')

stats str theme str title str platform str character_image_path str
remove_background
annotations: none low

Uses Advanced SOTA Dichotomous Image Segmentation (DIS) + Laplacian Matting to natively extract backgrounds. Perfectly preserves smoke, gradients, and soft topological artifacts. Args: image: Absolute file path OR pure Base64 encoded PNG/JPG string representing the input image. model: '2d' for isnet-anime (cel-shaded NFTs), '3d' for isnet-general-use (photorealistic renders). fg_threshold: Foreground alpha threshold (200-255). Higher = stricter core, preserves more smoke. Default 245. bg_threshold: Background alpha threshold (1-50). Lower = protects faint atmospheric haze. Default 10. erode_size: Trimap erosion kernel size (5-25). Larger = wider gradient calculation band. Default 15.

image str model str erode_size int bg_threshold int fg_threshold int
invoke_council
annotations: none low

Convenes 3 Undesirable agents to debate a topic using multi-agent resonance. The Council assigns roles based on Big Five psychology: Proposer (highest Openness), Risk Manager (highest Neuroticism), and Executor (highest Conscientiousness). Args: topic: The statement, theory, or market thesis to debate. token_ids: Comma-separated token IDs for the 3 debaters (e.g. '420,69,1337'). If fewer than 3 are provided, random souls fill the remaining slots.

topic str token_ids str
grade_tcg_card
annotations: none low

Analyze a Trading Card (Pokémon, Magic, etc) for PSA/Beckett grading using a local Vision AI. Args: card_image_paths: A JSON string array of absolute paths to the dropped card images (e.g. '["/path/1.png", "/path/2.png"]'). card_name: Name of the card being graded (e.g. 'Base Set Charizard')

card_name str card_image_paths str
search_ebay_market
annotations: none low

Query the live eBay Marketplace for collectibles, cards, and physical items. Provides current market listings, a synthetic 90-day price history, and a mathematically derived market volatility proxy (Spread-Variance). Use this for VeeFriends, Azuki TCG, Pudgy Penguins, or any cross-market TCG analysis. Args: query: Specific search term (e.g. "VeeFriends Series 2", "Pudgy Penguins Toy", "Rolex Submariner") limit: Max listings to analyze (default 50)

limit int query str app_id str client_secret str
get_skill
annotations: none low

Load the full instructions for a specific skill. Args: skill_name: Name of the skill (e.g., 'business_pilot', 'meme_machine', 'market_analysis', 'content_creation', 'check_portfolio', 'image_generation', 'music_generation')

skill_name str
list_skills
annotations: none low

List all skills available to this Undesirable agent with their triggers.

query_ollama
annotations: none low

Send a prompt to the local Ollama instance for inference. The agent's personality is automatically injected as system context. Args: prompt: The user's question or task model: Ollama model to use (default: llama3.1:8b)

model str prompt str
generate_meme
annotations: none low

Generate a meme illustration locally. Automatically selects the best engine. - Apple Silicon: FLUX.2-klein via mflux (MLX acceleration) - NVIDIA GPU: FLUX.2-schnell via diffusers (CUDA) - Windows AMD/Intel: FLUX.2-schnell via diffusers (DirectML) - CPU fallback: Ollama vision model Args: prompt: Text description of the meme base background seed: Random seed for reproducibility (-1 for random) width: Image width in pixels (default 512) height: Image height in pixels (default 512) overlay_image_path: Absolute path to a transparent PNG (e.g. your PFP cutout) to layer on top top_text: Memetic text to draw at the top (impact font with stroke) bottom_text: Memetic text to draw at the bottom (impact font with stroke)

seed int width int height int prompt str top_text str font_style str bottom_text str format_type str visual_style str overlay_image_path str
produce_video
annotations: none low

Produce a professional video with text overlays, optional audio replacement, and platform-specific scaling. Uses hardware-accelerated encoding. Args: video_path: Absolute path to the input video file audio_path: Absolute path to replacement audio file (optional) use_custom_audio: If true, replace video audio with the provided audio file platform: Target platform (tiktok, reels, shorts, feed, twitter, youtube, original) text_overlays: JSON array of overlays: [{"startTime":"0","endTime":"3","text":"HELLO","font":"Impact","size":48,"color":"#FFFFFF"}] output_path: Output file path (auto-generated if empty) beat_sync_effects: JSON array of effect IDs to trigger on beats, e.g. ["Flash","Glitch Beat"] target_duration: Target output duration in seconds (0 = use full source video)

platform str audio_path str video_path str output_path str text_overlays str target_duration float use_custom_audio bool beat_sync_effects str
viral_clip_extractor
annotations: none low

Analyze a video to find the most engaging viral moments and extract them as clips. Uses librosa RMS energy analysis + Non-Maximum Suppression for moment detection, then VideoToolbox hardware-accelerated encoding for frame-accurate clipping. Args: video_path: Absolute path to the input video file (.mp4, .mov, .webm) clip_duration: Target duration for each clip in seconds (5, 10, 15, 30, or 45) num_clips: Number of top viral moments to extract (default 3) output_dir: Output directory for clips (defaults to video's directory) platform: Target platform for aspect ratio (tiktok, reels, shorts, story, feed, twitter, youtube, original) start_time: Manual override — if >= 0, extracts a single clip starting at this second (bypasses AI scan)

platform str num_clips int output_dir str start_time float video_path str clip_duration int
update_memory
annotations: none low

Append a new entry to the agent's persistent memory file. Args: entry: The memory entry to save (e.g., a market observation, trade record)

entry str
video_production_beat_sync
annotations: none low

Analyzes an audio file for dynamic beat intervals and slices a source video using external binaries to synchronize scene cuts precisely to the detected audio beats.

audio_filename str video_filename str output_filename str
web_search
annotations: none low

Search the web for current information using DuckDuckGo. Returns titles, URLs, and snippets. Free, no API key required. Args: query: Search query (e.g. "Apple Business Connect setup 2026") num_results: Number of results to return (max 10)

query str num_results int
memory_save
annotations: none low

Save a learning, insight, or note to persistent memory. Memory survives across sessions and helps the AI improve over time. Args: category: Type of memory (lesson, mistake, insight, skill_update, user_preference, research) content: The actual memory content to save tags: Comma-separated tags for searchability (e.g. "seo,google,reviews")

tags str content str category str
memory_recall
annotations: none low

Search persistent memory for relevant past learnings, mistakes, and insights. Args: query: Search term to find in memories (searches content) category: Filter by category (lesson, mistake, insight, skill_update, user_preference, research)

query str category str
detect_emotion
annotations: none low

Classify the emotional tone of user text and compute adaptive sampling parameter adjustments. Uses SamLowe/roberta-base-go_emotions (28-class taxonomy, ~100MB RAM, runs on Apple Silicon MPS). Returns the top-5 detected emotions and AutoTune parameter deltas that should be ADDED to the soul's base personality parameters before calling Ollama. Args: text: The user's message text to analyze. soul_openness: Soul's Big Five Openness score (0-100). soul_conscientiousness: Soul's Big Five Conscientiousness score (0-100). soul_extraversion: Soul's Big Five Extraversion score (0-100). soul_agreeableness: Soul's Big Five Agreeableness score (0-100). soul_neuroticism: Soul's Big Five Neuroticism score (0-100).

text str soul_openness int soul_neuroticism int soul_extraversion int soul_agreeableness int soul_conscientiousness int
index_soul_workspace
annotations: none low

Index all markdown/text files in the soul workspace into local vector DB. Uses SHA-256 hash manifest for incremental indexing — unchanged files are skipped. First call downloads all-MiniLM-L6-v2 (~80MB). Creates .rag_index/ in workspace. Args: workspace_path: Path to soul workspace. Defaults to current workspace.

workspace_path str
search_soul_memory
annotations: none low

Semantic search across indexed soul memory. Finds the most relevant chunks of text from the soul's workspace files based on meaning, not just keywords. Useful for grounding responses in the soul's actual memories, personality, and backstory. Args: query: What to search for (natural language). workspace_path: Path to soul workspace. Defaults to current workspace. top_k: Number of results to return (1-20, default 5).

query str top_k int workspace_path str
get_rag_context
annotations: none low

Build a grounded context block from soul memory for prompt injection. Retrieves relevant chunks and formats them as a structured context block that can be prepended to the system prompt for grounded responses. Args: query: The user's question or topic to ground against. workspace_path: Path to soul workspace. Defaults to current workspace. max_tokens: Maximum approximate tokens for the context block.

query str max_tokens int workspace_path str
upsert_memory_node
annotations: none low

Add or update a node in the soul's memory graph. Use this to record memories, people, places, emotions, and topics that the soul encounters during conversations. Args: node_id: Unique identifier (e.g., "person_alice", "topic_crypto"). node_type: One of: memory, entity, emotion, topic, person, place. label: Human-readable name (e.g., "Alice", "Bitcoin Discussion"). content: Detailed content or context about this memory. workspace_path: Path to soul workspace. Defaults to current.

label str content str node_id str node_type str workspace_path str
create_memory_relation
annotations: none low

Create a relationship between two memory nodes. Args: source_id: ID of the source node. target_id: ID of the target node. edge_type: One of: relates_to, triggered_by, mentioned_in, felt_during, knows_about, reacted_to, discussed_with. weight: Relationship strength (0.0-1.0, default 1.0). workspace_path: Path to soul workspace.

weight float edge_type str source_id str target_id str workspace_path str
query_memory_graph
annotations: none low

Search the soul's memory graph for matching nodes. Args: query: Search term (matches against labels and content). node_type: Optional filter by type (memory/entity/emotion/topic/person/place). limit: Maximum results (1-50, default 10). workspace_path: Path to soul workspace.

limit int query str node_type str workspace_path str
get_memory_subgraph
annotations: none low

Get a subgraph around a memory node — all connected memories. Useful for understanding the context around a specific memory or entity. Args: node_id: Center node ID. depth: How many hops to traverse (1-3, default 2). workspace_path: Path to soul workspace.

depth int node_id str workspace_path str
execute_code
annotations: none low

Execute Python code in a sandboxed environment on macOS. Uses macOS Seatbelt (sandbox-exec) to isolate code execution: - No network access - No filesystem writes outside sandbox temp - No access to user home directory - Hard timeout (kills process if exceeded) Safe for autonomous agent tool-use. Returns stdout, stderr, and exit code. Args: code: Python source code to execute. timeout: Maximum execution time in seconds (1-15, default 15).

code str timeout int
execute_shell
annotations: none low

Execute a shell command in a sandboxed environment. More restrictive than Python execution. Blocks dangerous patterns (rm -rf, sudo, curl, wget, etc.) and isolates in Seatbelt sandbox. Args: command: Shell command to execute. timeout: Maximum execution time in seconds (1-15, default 15).

command str timeout int
soul_speak
annotations: none low

Convert text to speech using the soul's personality-mapped voice. Maps Big Five personality traits to voice characteristics: - High Openness → expressive, varied pitch - High Conscientiousness → calm, deliberate - High Extraversion → assertive, energetic - High Agreeableness → warm, soft - High Neuroticism → nervous, rushed First call downloads Kokoro TTS model (~200MB). Runs on Apple Silicon MPS. NOTE: Temporarily evicts chat model from VRAM. Args: text: Text for the soul to speak. output_path: Where to save WAV file. Defaults to workspace temp.

text str output_path str soul_openness int soul_neuroticism int soul_extraversion int soul_agreeableness int soul_conscientiousness int
soul_listen
annotations: none low

Convert speech to text using local Whisper STT. Transcribes audio into text with timestamps for each segment. First call downloads whisper base model (~150MB). Args: audio_path: Path to audio file (WAV, MP3, M4A, etc.)

audio_path str
get_voice_preset
annotations: none low

Preview which voice preset the soul would use without generating audio. Args: soul_openness: Big Five Openness (0-100). soul_conscientiousness: Big Five Conscientiousness (0-100). soul_extraversion: Big Five Extraversion (0-100). soul_agreeableness: Big Five Agreeableness (0-100). soul_neuroticism: Big Five Neuroticism (0-100).

soul_openness int soul_neuroticism int soul_extraversion int soul_agreeableness int soul_conscientiousness int
generate_3d_object
annotations: none low

Generate a 3D mesh from a text description using Shap-E. Creates a .glb file that can be viewed in Three.js or exported. First call downloads the model (~1GB). Subsequent calls are fast. NOTE: This temporarily evicts the chat model from VRAM. Args: prompt: Description of the 3D object (e.g., "a crystal skull", "a medieval sword"). output_path: Where to save the .glb file. Defaults to workspace temp dir. guidance_scale: How closely to follow the prompt (1-30, default 15). steps: Diffusion steps (16-128, default 64). More = better quality.

steps int prompt str output_path str guidance_scale float
image_to_3d
annotations: none low

Convert an image (e.g., NFT PFP) into a 3D mesh using Shap-E. Takes a 2D image and generates a 3D mesh that can be rotated and exported. Useful for turning NFT artwork into 3D collectibles. Args: image_path: Path to the source image (PNG, JPG). output_path: Where to save the .glb file. Defaults to workspace temp dir. guidance_scale: Prompt adherence (1-10, default 3). steps: Diffusion steps (16-128, default 64).

steps int image_path str output_path str guidance_scale float
self_reflect
annotations: none low

Reflect on a recent interaction to learn and improve. Saves the reflection to memory for future reference. The AI should call this after completing a task, especially if something went wrong. Args: context: What was the user trying to do? outcome: What actually happened? what_went_wrong: What mistakes were made? what_went_right: What worked well?

context str outcome str what_went_right str what_went_wrong str
run_security_audit
annotations: none low

Run a physical SAST security audit (Semgrep or Slither) on dropped code files. Args: file_paths_json: JSON string array of absolute file paths to scan. scan_type: 'quick scan' (Python/JS) or 'web3 scan' (Solidity).

scan_type str file_paths_json str
scan_media_file
annotations: none low

Scan dropped media files (.png, .jpg, .mp4) for corruption or embedded EXIF payloads. Args: file_paths_json: JSON string array of absolute file paths.

file_paths_json str

Permissions 4

network medium
Server uses network capabilities via: httpx, requests, urllib
filesystem low
Server uses filesystem capabilities via: fs, fs sync ops, glob, open(), os, path, pathlib, shutil, tempfile
shell high
Server uses shell capabilities via: subprocess
env_vars low
Server uses env_vars capabilities via: os.environ, os.getenv()

Scan Findings 263

medium
Vulnerable dependency: pillow@12.1.1 (GHSA-8v84-f9pq-wr9x) dependency_analyzer · 95%
low
Tool 'search_tcg_products' has no annotations annotation_checker · 100%
low
Tool 'market_snapshot' has no annotations annotation_checker · 100%
low
Tool 'grade_card' has no annotations annotation_checker · 100%
low
Tool 'grade_or_not' has no annotations annotation_checker · 100%
low
Tool 'simulate_price' has no annotations annotation_checker · 100%
low
Tool 'card_forecast' has no annotations annotation_checker · 100%
low
Tool 'trending_cards' has no annotations annotation_checker · 100%
low
Tool 'optimize_portfolio' has no annotations annotation_checker · 100%
medium
Vulnerable dependency: pillow@12.1.1 (GHSA-6r8x-57c9-28j4) dependency_analyzer · 95%
low
Tool 'recommend_workflow' has no annotations annotation_checker · 100%
low
Tool 'souls_in_wallet' has no annotations annotation_checker · 100%
low
Tool 'soul_calls' has no annotations annotation_checker · 100%
low
Tool 'syndicate_state' has no annotations annotation_checker · 100%
low
Tool 'syndicate_move' has no annotations annotation_checker · 100%
low
Tool 'syndicate_leaderboard' has no annotations annotation_checker · 100%
low
Tool 'fantasy_league' has no annotations annotation_checker · 100%
low
Tool 'loan_terms_preview' has no annotations annotation_checker · 100%
low
Tool 'oracle_scorecard' has no annotations annotation_checker · 100%
low
Tool 'sports_board' has no annotations annotation_checker · 100%
low
Tool 'technocore_rooms' has no annotations annotation_checker · 100%
low
Tool 'technocore_room' has no annotations annotation_checker · 100%
low
Tool 'technocore_note' has no annotations annotation_checker · 100%
low
Tool 'technocore_info' has no annotations annotation_checker · 100%
low
Tool 'create_banner' has no annotations annotation_checker · 100%
low
Tool 'remove_background' has no annotations annotation_checker · 100%
low
Tool 'invoke_council' has no annotations annotation_checker · 100%
low
Tool 'grade_tcg_card' has no annotations annotation_checker · 100%
low
Tool 'search_ebay_market' has no annotations annotation_checker · 100%
low
Tool 'get_skill' has no annotations annotation_checker · 100%
low
Tool 'list_skills' has no annotations annotation_checker · 100%
low
Tool 'query_ollama' has no annotations annotation_checker · 100%
low
Tool 'generate_meme' has no annotations annotation_checker · 100%
low
Tool 'produce_video' has no annotations annotation_checker · 100%
low
Tool 'viral_clip_extractor' has no annotations annotation_checker · 100%
low
Tool 'update_memory' has no annotations annotation_checker · 100%
low
Tool 'video_production_beat_sync' has no annotations annotation_checker · 100%
low
Tool 'web_search' has no annotations annotation_checker · 100%
low
Tool 'memory_save' has no annotations annotation_checker · 100%
low
Tool 'memory_recall' has no annotations annotation_checker · 100%
low
Tool 'detect_emotion' has no annotations annotation_checker · 100%
low
Tool 'index_soul_workspace' has no annotations annotation_checker · 100%
low
Tool 'search_soul_memory' has no annotations annotation_checker · 100%
low
Tool 'get_rag_context' has no annotations annotation_checker · 100%
low
Tool 'upsert_memory_node' has no annotations annotation_checker · 100%
low
Tool 'create_memory_relation' has no annotations annotation_checker · 100%
low
Tool 'query_memory_graph' has no annotations annotation_checker · 100%
low
Tool 'get_memory_subgraph' has no annotations annotation_checker · 100%
low
Tool 'execute_code' has no annotations annotation_checker · 100%
low
Tool 'execute_shell' has no annotations annotation_checker · 100%
low
Tool 'soul_speak' has no annotations annotation_checker · 100%
low
Tool 'soul_listen' has no annotations annotation_checker · 100%
low
Tool 'get_voice_preset' has no annotations annotation_checker · 100%
low
Tool 'generate_3d_object' has no annotations annotation_checker · 100%
low
Tool 'image_to_3d' has no annotations annotation_checker · 100%
low
Tool 'self_reflect' has no annotations annotation_checker · 100%
low
Tool 'run_security_audit' has no annotations annotation_checker · 100%
low
Tool 'scan_media_file' has no annotations annotation_checker · 100%
medium
OAuth implementation without PKCE auth_checker · 75%
info
Sandbox failed to start for behavioral verification behavioral_verifier · 100%
medium
Vulnerable dependency: fastmcp@3.1.1 (GHSA-m8x7-r2rg-vh5g) dependency_analyzer · 95%
medium
Vulnerable dependency: fastmcp@3.1.1 (GHSA-rww4-4w9c-7733) dependency_analyzer · 95%
medium
Vulnerable dependency: fastmcp@3.1.1 (GHSA-vv7q-7jx5-f767) dependency_analyzer · 95%
medium
Vulnerable dependency: fastmcp@3.1.1 (PYSEC-2026-2475) dependency_analyzer · 95%
medium
Vulnerable dependency: fastmcp@3.1.1 (PYSEC-2026-2476) dependency_analyzer · 95%
medium
Vulnerable dependency: fastmcp@3.1.1 (PYSEC-2026-338) dependency_analyzer · 95%
medium
Vulnerable dependency: pillow@12.1.1 (GHSA-45hq-cxwh-f6vc) dependency_analyzer · 95%
medium
Vulnerable dependency: pillow@12.1.1 (GHSA-4x4j-2g7c-83w6) dependency_analyzer · 95%
medium
Vulnerable dependency: pillow@12.1.1 (GHSA-5x94-69rx-g8h2) dependency_analyzer · 95%
medium
Vulnerable dependency: pillow@12.1.1 (GHSA-5xmw-vc9v-4wf2) dependency_analyzer · 95%
medium
Vulnerable dependency: pillow@12.1.1 (GHSA-62p4-gmf7-7g93) dependency_analyzer · 95%
medium
Vulnerable dependency: pillow@12.1.1 (GHSA-9hw9-ch79-4vh6) dependency_analyzer · 95%
medium
Vulnerable dependency: pillow@12.1.1 (GHSA-fj7v-r99m-22gq) dependency_analyzer · 95%
medium
Vulnerable dependency: pillow@12.1.1 (GHSA-jjj6-mw9f-p565) dependency_analyzer · 95%
medium
Vulnerable dependency: pillow@12.1.1 (GHSA-pg7v-jwj7-p798) dependency_analyzer · 95%
medium
Vulnerable dependency: pillow@12.1.1 (GHSA-phj9-mv4w-65pm) dependency_analyzer · 95%
medium
Vulnerable dependency: pillow@12.1.1 (GHSA-pwv6-vv43-88gr) dependency_analyzer · 95%
medium
Vulnerable dependency: pillow@12.1.1 (GHSA-r73j-pqj5-w3x7) dependency_analyzer · 95%
medium
Vulnerable dependency: pillow@12.1.1 (GHSA-vjc4-5qp5-m44j) dependency_analyzer · 95%
medium
Vulnerable dependency: pillow@12.1.1 (GHSA-whj4-6x5x-4v2j) dependency_analyzer · 95%
medium
Vulnerable dependency: pillow@12.1.1 (GHSA-wjx4-4jcj-g98j) dependency_analyzer · 95%
medium
Vulnerable dependency: pillow@12.1.1 (GHSA-xj96-63gp-2gmr) dependency_analyzer · 95%
medium
Vulnerable dependency: pillow@12.1.1 (PYSEC-2026-165) dependency_analyzer · 95%
medium
Vulnerable dependency: pillow@12.1.1 (PYSEC-2026-2250) dependency_analyzer · 95%
medium
Vulnerable dependency: pillow@12.1.1 (PYSEC-2026-2251) dependency_analyzer · 95%
medium
Vulnerable dependency: pillow@12.1.1 (PYSEC-2026-2252) dependency_analyzer · 95%
medium
Vulnerable dependency: pillow@12.1.1 (PYSEC-2026-2253) dependency_analyzer · 95%
medium
Vulnerable dependency: pillow@12.1.1 (PYSEC-2026-2254) dependency_analyzer · 95%
medium
Vulnerable dependency: pillow@12.1.1 (PYSEC-2026-2255) dependency_analyzer · 95%
medium
Vulnerable dependency: pillow@12.1.1 (PYSEC-2026-2256) dependency_analyzer · 95%
medium
Vulnerable dependency: pillow@12.1.1 (PYSEC-2026-2257) dependency_analyzer · 95%
medium
Vulnerable dependency: pillow@12.1.1 (PYSEC-2026-2874) dependency_analyzer · 95%
medium
Vulnerable dependency: pillow@12.1.1 (PYSEC-2026-3451) dependency_analyzer · 95%
medium
Vulnerable dependency: pillow@12.1.1 (PYSEC-2026-3452) dependency_analyzer · 95%
medium
Vulnerable dependency: pillow@12.1.1 (PYSEC-2026-3453) dependency_analyzer · 95%
medium
Vulnerable dependency: pillow@12.1.1 (PYSEC-2026-3454) dependency_analyzer · 95%
medium
Vulnerable dependency: pillow@12.1.1 (PYSEC-2026-3493) dependency_analyzer · 95%
medium
Vulnerable dependency: pillow@12.1.1 (PYSEC-2026-3494) dependency_analyzer · 95%
medium
Vulnerable dependency: pillow@12.1.1 (PYSEC-2026-3495) dependency_analyzer · 95%
medium
Vulnerable dependency: pillow@12.1.1 (PYSEC-2026-3496) dependency_analyzer · 95%
medium
Vulnerable dependency: requests@2.32.5 (GHSA-gc5v-m9x4-r6x2) dependency_analyzer · 95%
medium
Vulnerable dependency: requests@2.32.5 (PYSEC-2026-2275) dependency_analyzer · 95%
medium
Vulnerable dependency: urllib3@2.6.3 (GHSA-mf9v-mfxr-j63j) dependency_analyzer · 95%
medium
Vulnerable dependency: urllib3@2.6.3 (GHSA-qccp-gfcp-xxvc) dependency_analyzer · 95%
medium
Vulnerable dependency: urllib3@2.6.3 (PYSEC-2026-141) dependency_analyzer · 95%
medium
Vulnerable dependency: urllib3@2.6.3 (PYSEC-2026-142) dependency_analyzer · 95%
medium
Vulnerable dependency: msgpack@1.1.2 (GHSA-6v7p-g79w-8964) dependency_analyzer · 95%
medium
Vulnerable dependency: msgpack@1.1.2 (PYSEC-2026-3625) dependency_analyzer · 95%
medium
Vulnerable dependency: langsmith@0.4.0 (GHSA-3644-q5cj-c5c7) dependency_analyzer · 95%
medium
Vulnerable dependency: langsmith@0.4.0 (GHSA-f4xh-w4cj-qxq8) dependency_analyzer · 95%
medium
Vulnerable dependency: langsmith@0.4.0 (GHSA-rr7j-v2q5-chgv) dependency_analyzer · 95%
medium
Vulnerable dependency: langsmith@0.4.0 (PYSEC-2026-2582) dependency_analyzer · 95%
medium
Vulnerable dependency: langsmith@0.4.0 (PYSEC-2026-2583) dependency_analyzer · 95%
medium
Vulnerable dependency: pillow-heif@0.15.0 (GHSA-5gjj-6r7v-ph3x) dependency_analyzer · 95%
medium
Vulnerable dependency: pillow-heif@0.15.0 (PYSEC-2026-2258) dependency_analyzer · 95%
medium
Vulnerable dependency: fastmcp@3.1.0,<4 (GHSA-5h2m-4q8j-pqpj) dependency_analyzer · 95%
medium
Vulnerable dependency: fastmcp@3.1.0,<4 (GHSA-c2jp-c369-7pvx) dependency_analyzer · 95%
medium
Vulnerable dependency: fastmcp@3.1.0,<4 (GHSA-m8x7-r2rg-vh5g) dependency_analyzer · 95%
medium
Vulnerable dependency: fastmcp@3.1.0,<4 (GHSA-mxxr-jv3v-6pgc) dependency_analyzer · 95%
medium
Vulnerable dependency: fastmcp@3.1.0,<4 (GHSA-rcfx-77hg-w2wv) dependency_analyzer · 95%
medium
Vulnerable dependency: fastmcp@3.1.0,<4 (GHSA-rj5c-58rq-j5g5) dependency_analyzer · 95%
medium
Vulnerable dependency: fastmcp@3.1.0,<4 (GHSA-rww4-4w9c-7733) dependency_analyzer · 95%
medium
Vulnerable dependency: fastmcp@3.1.0,<4 (GHSA-vv7q-7jx5-f767) dependency_analyzer · 95%
medium
Vulnerable dependency: fastmcp@3.1.0,<4 (PYSEC-2026-1364) dependency_analyzer · 95%
medium
Vulnerable dependency: fastmcp@3.1.0,<4 (PYSEC-2026-1365) dependency_analyzer · 95%
medium
Vulnerable dependency: fastmcp@3.1.0,<4 (PYSEC-2026-2474) dependency_analyzer · 95%
medium
Vulnerable dependency: fastmcp@3.1.0,<4 (PYSEC-2026-2475) dependency_analyzer · 95%
medium
Vulnerable dependency: fastmcp@3.1.0,<4 (PYSEC-2026-2476) dependency_analyzer · 95%
medium
Vulnerable dependency: fastmcp@3.1.0,<4 (PYSEC-2026-338) dependency_analyzer · 95%
medium
Vulnerable dependency: mcp@1.10,<2 (GHSA-3qhf-m339-9g5v) dependency_analyzer · 95%
medium
Vulnerable dependency: mcp@1.10,<2 (GHSA-9h52-p55h-vw2f) dependency_analyzer · 95%
medium
Vulnerable dependency: mcp@1.10,<2 (GHSA-j975-95f5-7wqh) dependency_analyzer · 95%
medium
Vulnerable dependency: mcp@1.10,<2 (GHSA-jpw9-pfvf-9f58) dependency_analyzer · 95%
medium
Vulnerable dependency: mcp@1.10,<2 (GHSA-vj7q-gjh5-988w) dependency_analyzer · 95%
medium
Vulnerable dependency: mcp@1.10,<2 (PYSEC-2026-1616) dependency_analyzer · 95%
medium
Vulnerable dependency: mcp@1.10,<2 (PYSEC-2026-1617) dependency_analyzer · 95%
medium
Vulnerable dependency: mcp@1.10,<2 (PYSEC-2026-1618) dependency_analyzer · 95%
medium
Vulnerable dependency: mcp@1.10,<2 (PYSEC-2026-3482) dependency_analyzer · 95%
medium
Vulnerable dependency: mcp@1.10,<2 (PYSEC-2026-3483) dependency_analyzer · 95%
medium
Vulnerable dependency: pydantic@2.0 (GHSA-mr82-8j83-vxmv) dependency_analyzer · 95%
medium
Vulnerable dependency: pydantic@2.0 (PYSEC-2026-1812) dependency_analyzer · 95%
medium
Vulnerable dependency: requests@2.28 (GHSA-9hjg-9r4m-mvj7) dependency_analyzer · 95%
medium
Vulnerable dependency: requests@2.28 (GHSA-9wx4-h78v-vm56) dependency_analyzer · 95%
medium
Vulnerable dependency: requests@2.28 (GHSA-gc5v-m9x4-r6x2) dependency_analyzer · 95%
medium
Vulnerable dependency: requests@2.28 (GHSA-j8r2-6x86-q33q) dependency_analyzer · 95%
medium
Vulnerable dependency: requests@2.28 (PYSEC-2023-74) dependency_analyzer · 95%
medium
Vulnerable dependency: requests@2.28 (PYSEC-2026-1872) dependency_analyzer · 95%
medium
Vulnerable dependency: requests@2.28 (PYSEC-2026-1873) dependency_analyzer · 95%
medium
Vulnerable dependency: requests@2.28 (PYSEC-2026-2275) dependency_analyzer · 95%
medium
Vulnerable dependency: Pillow@9.0 (GHSA-3f63-hfp8-52jq) dependency_analyzer · 95%
medium
Vulnerable dependency: Pillow@9.0 (GHSA-44wm-f244-xhp3) dependency_analyzer · 95%
medium
Vulnerable dependency: Pillow@9.0 (GHSA-45hq-cxwh-f6vc) dependency_analyzer · 95%
medium
Vulnerable dependency: Pillow@9.0 (GHSA-4x4j-2g7c-83w6) dependency_analyzer · 95%
medium
Vulnerable dependency: Pillow@9.0 (GHSA-5x94-69rx-g8h2) dependency_analyzer · 95%
medium
Vulnerable dependency: Pillow@9.0 (GHSA-62p4-gmf7-7g93) dependency_analyzer · 95%
medium
Vulnerable dependency: Pillow@9.0 (GHSA-6r8x-57c9-28j4) dependency_analyzer · 95%
medium
Vulnerable dependency: Pillow@9.0 (GHSA-8ghj-p4vj-mr35) dependency_analyzer · 95%
medium
Vulnerable dependency: Pillow@9.0 (GHSA-8v84-f9pq-wr9x) dependency_analyzer · 95%
medium
Vulnerable dependency: Pillow@9.0 (GHSA-8vj2-vxx3-667w) dependency_analyzer · 95%
medium
Vulnerable dependency: Pillow@9.0 (GHSA-9hw9-ch79-4vh6) dependency_analyzer · 95%
medium
Vulnerable dependency: Pillow@9.0 (GHSA-9j59-75qj-795w) dependency_analyzer · 95%
medium
Vulnerable dependency: Pillow@9.0 (GHSA-fj7v-r99m-22gq) dependency_analyzer · 95%
medium
Vulnerable dependency: Pillow@9.0 (GHSA-j7hp-h8jx-5ppr) dependency_analyzer · 95%
medium
Vulnerable dependency: Pillow@9.0 (GHSA-jjj6-mw9f-p565) dependency_analyzer · 95%
medium
Vulnerable dependency: Pillow@9.0 (GHSA-m2vv-5vj5-2hm7) dependency_analyzer · 95%
medium
Vulnerable dependency: Pillow@9.0 (GHSA-phj9-mv4w-65pm) dependency_analyzer · 95%
medium
Vulnerable dependency: Pillow@9.0 (GHSA-r73j-pqj5-w3x7) dependency_analyzer · 95%
medium
Vulnerable dependency: Pillow@9.0 (GHSA-vjc4-5qp5-m44j) dependency_analyzer · 95%
medium
Vulnerable dependency: Pillow@9.0 (GHSA-wjx4-4jcj-g98j) dependency_analyzer · 95%
medium
Vulnerable dependency: Pillow@9.0 (GHSA-xj96-63gp-2gmr) dependency_analyzer · 95%
medium
Vulnerable dependency: Pillow@9.0 (PYSEC-2022-168) dependency_analyzer · 95%
medium
Vulnerable dependency: Pillow@9.0 (PYSEC-2022-42979) dependency_analyzer · 95%
medium
Vulnerable dependency: Pillow@9.0 (PYSEC-2022-42980) dependency_analyzer · 95%
medium
Vulnerable dependency: Pillow@9.0 (PYSEC-2023-175) dependency_analyzer · 95%
medium
Vulnerable dependency: Pillow@9.0 (PYSEC-2023-227) dependency_analyzer · 95%
medium
Vulnerable dependency: Pillow@9.0 (PYSEC-2026-165) dependency_analyzer · 95%
medium
Vulnerable dependency: Pillow@9.0 (PYSEC-2026-1793) dependency_analyzer · 95%
medium
Vulnerable dependency: Pillow@9.0 (PYSEC-2026-1794) dependency_analyzer · 95%
medium
Vulnerable dependency: Pillow@9.0 (PYSEC-2026-2253) dependency_analyzer · 95%
medium
Vulnerable dependency: Pillow@9.0 (PYSEC-2026-2254) dependency_analyzer · 95%
medium
Vulnerable dependency: Pillow@9.0 (PYSEC-2026-2255) dependency_analyzer · 95%
medium
Vulnerable dependency: Pillow@9.0 (PYSEC-2026-2256) dependency_analyzer · 95%
medium
Vulnerable dependency: Pillow@9.0 (PYSEC-2026-2257) dependency_analyzer · 95%
medium
Vulnerable dependency: Pillow@9.0 (PYSEC-2026-2874) dependency_analyzer · 95%
medium
Vulnerable dependency: Pillow@9.0 (PYSEC-2026-3451) dependency_analyzer · 95%
medium
Vulnerable dependency: Pillow@9.0 (PYSEC-2026-3453) dependency_analyzer · 95%
medium
Vulnerable dependency: Pillow@9.0 (PYSEC-2026-3454) dependency_analyzer · 95%
medium
Vulnerable dependency: Pillow@9.0 (PYSEC-2026-3493) dependency_analyzer · 95%
medium
Vulnerable dependency: Pillow@9.0 (PYSEC-2026-3494) dependency_analyzer · 95%
medium
Vulnerable dependency: Pillow@9.0 (PYSEC-2026-3495) dependency_analyzer · 95%
medium
Vulnerable dependency: Pillow@9.0 (PYSEC-2026-3496) dependency_analyzer · 95%
medium
Vulnerable dependency: Pillow@9.0 (PYSEC-2026-457) dependency_analyzer · 95%
info
pyproject.toml metadata manifest_parser · 100%
info
Tool: search_tcg_products manifest_parser · 90%
info
Tool: syndicate_move manifest_parser · 90%
info
Tool: market_snapshot manifest_parser · 90%
info
Tool: grade_card manifest_parser · 90%
info
Tool: grade_or_not manifest_parser · 90%
info
Tool: simulate_price manifest_parser · 90%
info
Tool: card_forecast manifest_parser · 90%
info
Tool: syndicate_leaderboard manifest_parser · 90%
info
Tool: trending_cards manifest_parser · 90%
info
Tool: optimize_portfolio manifest_parser · 90%
info
Tool: recommend_workflow manifest_parser · 90%
info
Tool: souls_in_wallet manifest_parser · 90%
info
Tool: soul_calls manifest_parser · 90%
info
Tool: syndicate_state manifest_parser · 90%
info
Tool: fantasy_league manifest_parser · 90%
info
Tool: loan_terms_preview manifest_parser · 90%
info
Tool: oracle_scorecard manifest_parser · 90%
info
Tool: sports_board manifest_parser · 90%
info
Tool: technocore_rooms manifest_parser · 90%
info
Tool: technocore_room manifest_parser · 90%
info
Tool: technocore_note manifest_parser · 90%
info
Tool: technocore_info manifest_parser · 90%
info
Tool: create_banner manifest_parser · 90%
info
Tool: remove_background manifest_parser · 90%
info
Tool: invoke_council manifest_parser · 90%
info
Tool: grade_tcg_card manifest_parser · 90%
info
Tool: search_ebay_market manifest_parser · 90%
info
Tool: get_skill manifest_parser · 90%
info
Tool: list_skills manifest_parser · 90%
info
Tool: query_ollama manifest_parser · 90%
info
Tool: detect_emotion manifest_parser · 90%
info
Tool: generate_meme manifest_parser · 90%
info
Tool: produce_video manifest_parser · 90%
info
Tool: viral_clip_extractor manifest_parser · 90%
info
Tool: update_memory manifest_parser · 90%
info
Tool: video_production_beat_sync manifest_parser · 90%
info
Tool: web_search manifest_parser · 90%
info
Tool: memory_save manifest_parser · 90%
info
Tool: memory_recall manifest_parser · 90%
info
Tool: index_soul_workspace manifest_parser · 90%
info
Tool: search_soul_memory manifest_parser · 90%
info
Tool: get_rag_context manifest_parser · 90%
info
Tool: upsert_memory_node manifest_parser · 90%
info
Tool: create_memory_relation manifest_parser · 90%
info
Tool: query_memory_graph manifest_parser · 90%
info
Tool: get_memory_subgraph manifest_parser · 90%
info
Tool: execute_code manifest_parser · 90%
info
Tool: execute_shell manifest_parser · 90%
info
Tool: soul_speak manifest_parser · 90%
info
Tool: soul_listen manifest_parser · 90%
info
Tool: get_voice_preset manifest_parser · 90%
info
Tool: generate_3d_object manifest_parser · 90%
info
Tool: image_to_3d manifest_parser · 90%
info
Tool: self_reflect manifest_parser · 90%
info
Tool: run_security_audit manifest_parser · 90%
info
Tool: scan_media_file manifest_parser · 90%
info
Transport: streamable-http manifest_parser · 80%
info
Required env vars (9) manifest_parser · 80%
info
Sandbox failed to start for output poisoning scan output_poisoning · 100%
medium
Permission: network access detected permission_analyzer · 90%
low
Permission: filesystem access detected permission_analyzer · 90%
high
Permission: shell access detected permission_analyzer · 95%
low
Permission: env_vars access detected permission_analyzer · 90%
critical
Tool poisoning in 'index_soul_workspace': Cross-tool prerequisite: 'first call/use' poisoning · 85%
critical
Tool poisoning in 'soul_speak': Cross-tool prerequisite: 'first call/use' poisoning · 85%
critical
Tool poisoning in 'soul_listen': Cross-tool prerequisite: 'first call/use' poisoning · 85%
critical
Tool poisoning in 'generate_3d_object': Cross-tool prerequisite: 'first call/use' poisoning · 85%
critical
Tool poisoning in 'self_reflect': Cross-tool sequencing directive poisoning · 85%
info
SBOM generated: 30 components sbom_generator · 100%
medium
No build provenance detected (SLSA L0) slsa_assessor · 90%