Skip to main content
Glama
satorntcg

satorntcg-mcp-server

Official
by satorntcg

satorntcg-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

get_price_alerts

Aktive Preisalarme, Gewinner/Verlierer, veraltete Listings, Listing-Preisdrift

get_inventory_summary

Aktuelles Inventar: Mengen im Besitz/gelistet, neueste Preise

get_latest_prices

TCGplayer-Marktpreis + Kostenbasis-Lookup nach Kartennamen

get_box_pnl

Gewinn & Verlust pro Box (Kaufpreis vs. realisierter/unrealisierter Pull-Wert)

get_global_pnl

Gesamt-G&V des Geschäfts über alle Boxen und Listings hinweg

get_ebay_listings

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_alerts

Observability ü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 start

Der 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 entwerfen

  • HTTP/SSE-Transport für den Fernzugriff, neben dem lokalen stdio-Transport

Lizenz

MIT — siehe LICENSE.

A
license - permissive license
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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

  • A
    license
    A
    quality
    D
    maintenance
    Real-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.
    9
    2
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables querying multi-language trading card game data (Pokémon TCG and more) through natural language or direct tools, integrated with Pipeworx MCP gateway.
    15
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Provides AI assistants with access to Magic: The Gathering card data via Scryfall API, enabling card search, image downloads, and database management.
    25
    2
    Apache 2.0

View all related MCP servers

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.

View all MCP Connectors

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/satorntcg/satorntcg-mcpserver'

If you have feedback or need assistance with the MCP directory API, please join our Discord server