satorntcg-mcp-server
Officialsatorntcg-mcp-server
Ein MCP-Server, der Live-Resale-/Inventardaten für TCG bereitstellt — Preise, Alerts, Gewinn & Verlust, eBay-Listings — als Tools, die ein LLM-Client (Claude Desktop, Claude Code, etc.) direkt aufrufen kann. Statt ein Dashboard zu öffnen, kannst du einfach fragen: „was ist gerade unterbewertet“ oder „wie schlägt sich die Gothic box“ und bekommst eine Antwort, die auf echten Daten basiert.
Basiert auf SatornTCG, einem Resale-/Content-Betrieb rund um Sorcery: Contested Realm, der von Supabase/Postgres unterstützt wird.
Warum es das gibt
Das begann als Projekt für meinen Lebenslauf, um MCP-Server-Design und Observability zu lernen, und wurde zu einem Tool, das ich tatsächlich täglich nutze, um meine eigenen Inventar- und Preisdaten konversationell abzufragen, statt mich durch eine UI zu klicken.
Related MCP server: mcp-ygoprodeck
Was es bereitstellt
Tool | Beschreibung |
| Aktive Preisalarme, Gewinner/Verlierer, veraltete Listings, Listing-Preisdrift |
| Aktuelles Inventar: Mengen im Besitz/gelistet, neueste Preise |
| TCGplayer-Marktpreis + Kostenbasis-Lookup nach Kartennamen |
| Gewinn & Verlust pro Box (Kaufpreis vs. realisierter/unrealisierter Pull-Wert) |
| Gesamt-G&V des Geschäfts über alle Boxen und Listings hinweg |
| Aktive oder verkaufte eBay-Listings |
Jedes Tool ist ein dünner Wrapper um eine Postgres-View — siehe src/tools/.
Architektur
Claude Desktop / Claude Code (MCP client)
│ stdio
▼
src/index.js ── registers tools, routes tool calls
│
▼
src/tools/*.js ── one file per domain, each tool = { name, description, inputSchema, handler }
│
▼
src/supabaseClient.js ── service-role Supabase client
│
▼
Postgres (Supabase) ── views: v_active_alerts, v_inventory_dashboard,
v_latest_prices, v_box_pnl, v_global_pnl,
v_ebay_active, v_ebay_sold, v_stale_listings,
v_price_gainers_losers, v_listing_price_alertsObservability über OpenTelemetry (Ende-zu-Ende-Tracing von Tool-Aufrufen, exportiert nach Jaeger) ist geplant — siehe src/tracing.js für den Stub und Aktivierungshinweise.
Erwartetes Schema
Dieser Server enthält keine Demo-Datenbank — er ist dafür gedacht, auf ein Postgres/Supabase-Projekt mit entsprechenden Views zu zeigen. Wenn du das für deine eigenen Daten anpasst, sind die obigen Views lediglich SELECTs über deine eigenen Tabellen; tausche die Abfrage in jeder src/tools/*.js-Datei aus, damit sie zu deinem Schema passt. Die direkt referenzierten Spaltennamen (z. B. card_id, name, tcg_market_price, cost_basis, dismissed) sind das Wichtigste, das du angleichen musst.
Setup
git clone <this-repo>
cd satorntcg-mcp-server
npm install
cp .env.example .env
# fill in SUPABASE_URL and SUPABASE_SERVICE_KEY in .env
npm startDer Server spricht MCP über stdio und soll daher von einem MCP-Client gestartet werden — nicht für den eigenständigen Betrieb in einem Terminal zur interaktiven Nutzung. Um es mit Claude Desktop zu testen, füge es zu deiner MCP-Konfiguration (claude_desktop_config.json) hinzu:
{
"mcpServers": {
"satorntcg": {
"command": "node",
"args": ["/absolute/path/to/satorntcg-mcp-server/src/index.js"]
}
}
}Starte Claude Desktop neu, und die obigen Tools stehen im Chat zur Verfügung.
Sicherheitshinweis
SUPABASE_SERVICE_KEY ist der erhöhte Service-Role-Key, nicht der öffentliche Anon-Key. Das ist hier unbedenklich, weil der Server nur als lokaler Prozess läuft, der von einem vertrauenswürdigen MCP-Client gestartet wird (niemals in einem Browser-Bundle) — dieselbe Überlegung wie bei der Verwendung eines Service-Role-Keys in einer Supabase Edge Function. Commite niemals .env; nur .env.example (Platzhalterwerte) wird versioniert.
Roadmap
OpenTelemetry-Tracing pro Tool-Aufruf (Latenz, Zeilenzahlen, Fehlerrate) → Jaeger lokal, Honeycomb/Grafana für eine gehostete Demo
suggest_listing-Tool — ein eBay-Listing aus Inventar- und Preisdaten entwerfenHTTP/SSE-Transport für den Fernzugriff, neben dem lokalen stdio-Transport
Lizenz
MIT — siehe LICENSE.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseAqualityDmaintenanceReal-time sports card pricing, market analysis, arbitrage detection, grading ROI, investment advice, and player stats (NBA/NFL/MLB). 9 tools for AI agents helping collectors and investors.92MIT
- AlicenseNot gradedqualityCmaintenanceEnables querying Yu-Gi-Oh! TCG card data, such as card information, sets, and prices, through natural language.121MIT
- AlicenseNot gradedqualityCmaintenanceEnables querying multi-language trading card game data (Pokémon TCG and more) through natural language or direct tools, integrated with Pipeworx MCP gateway.15MIT
- AlicenseNot gradedqualityDmaintenanceProvides AI assistants with access to Magic: The Gathering card data via Scryfall API, enabling card search, image downloads, and database management.252Apache 2.0
Related MCP Connectors
Real SEC, 13F, insider, congress & macro data your AI agent can cite. Hosted MCP, 24 tools.
Gateway between LLM agents and world data through eight tools and a bundled endpoint catalog.
Conformal TCG risk forecasts + AI card grading, x402 pay-per-call oracle, on-chain soul agents.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/satorntcg/satorntcg-mcpserver'
If you have feedback or need assistance with the MCP directory API, please join our Discord server