Skip to main content
Glama
satorntcg

satorntcg-mcp-server

Official
by satorntcg

satorntcg-mcp-server

Сервер MCP, предоставляющий актуальные данные по перепродаже/инвентарю TCG — цены, оповещения, прибыль и убытки, лоты eBay — в виде инструментов, которые LLM-клиент (Claude Desktop, Claude Code и т. д.) может вызывать напрямую. Вместо того чтобы открывать дашборд, можно просто спросить: «что сейчас недооценено» или «как дела у бокса Gothic» — и получить ответ, основанный на реальных данных.

Построен на основе SatornTCG — проекта по перепродаже и созданию контента для Sorcery: Contested Realm, работающего на Supabase/Postgres.

Почему это существует

Это начиналось как проект для резюме, чтобы изучить проектирование MCP-серверов и наблюдаемость, а превратилось в инструмент, которым я реально пользуюсь каждый день, чтобы запрашивать свои данные по инвентарю и ценам в диалоговом режиме, а не кликая по интерфейсу.

Related MCP server: mcp-ygoprodeck

Что он предоставляет

Инструмент

Описание

get_price_alerts

Активные ценовые оповещения, растущие/падающие позиции, устаревшие лоты, дрейф цен лотов

get_inventory_summary

Текущий инвентарь: количество в собственности / в лотах, последние цены

get_latest_priceс

Рыночная цена TCGplayer + поиск себестоимости по названию карты

get_box_pnl

Прибыль/убыток по каждому боксу (цена покупки против реализованной/нереализованной ценност вытянутого)

get_global_pnl

Общая прибыль/убыток бизнеса по всем боксам и лотам

get_ebay_listingс

Активные или проданные лоты eBay

Каждый инструмент — тонкая обёртка над предсталением Postgres — см. src/tools/.

Архитектура

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

Наблюдаемость черes OpenTelemetry (сквозная трассировка вызовов инструментов с экспортом в Jaeger) запланирована — см. src/tracing.js (заглушка) и заметки по активации.

Ожидаемая схема

Этот сервер не поставляется с демонстрационной базой данных — он предназначен для подкючения к проекту Postgres/Supabase с аналогчными предсталениями. Если вы адаптируете его под свои данные, предсталения выше — это просто SELECT по вашим табlицам; замените запрос в каждом файле src/tools/*.js, чтобы он соответствовал вашей схеме. Имена столбцов, на которые есть прямые ссылки (например, card_id, name, tcg_market_price, cost_basis, dismissed), — главное, что нужно привести в соответствие.

Настройка

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

Сервер общается по MCP через stdio, поэтому его запусkает MCP-клиент, а не использует отдельно в терминале для интерактивной работы. Чтобы проверить его в Claude Desktop, добавьте его в ваш MCP-конфиг (claude_desktop_config.json):

{
  "mcpServers": {
    "satorntcg": {
      "command": "node",
      "args": ["/absolute/path/to/satorntcg-mcp-server/src/index.js"]
    }
  }
}

Перезапустите Clade Desktop — и перечисленные выше инструменты станут доступны в диалоге.

Примечание по безопастности

SUPABASE_SERVICE_KEY — это повыенный ключ сервисной роли, а не публичный анонимный ключ. Здес это безопастно, потому что сервер всегда работает только как локальный процес, запусkаемый доверенным MCP-клиентом (никогда в сотаве браузерной сборки), — та же логika, что и при использовании ключа сервисной роли внутри Supabase Edge Function. Никогда не коммитьте .env; в репозитории отслеживается только .env.example (значения-заглушки).

Дорожная карта

  • Отслеживание OpenTelemetry для каждого вызова инструмента (задержка, количестrow строк, частота ошибок) → Jaeger локально, Honeycomb/Grafana для размещённого демо

  • Инструмент suggest_listing — черновик лота eBay на оснove данных инвентаря и цен

  • Транспорт HTTP/SSE для удалённого доступа наряду с локальным транспортом stdio

Лицензия

MIT — см. 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