Prerequisites

  • An ssmd API key with datasets:read, secmaster:read, and/or admin scope
  • uv (Python package manager)
  • An MCP-compatible client (Claude Code, Cursor, Copilot, Gemini CLI, etc.)

1. Install the MCP Server

git clone https://github.com/aaronwald/ssmd.git
cd ssmd/ssmd-mcp
uv sync

2. Configure Environment

Create ssmd/ssmd-mcp/.env:

SSMD_API_URL=https://api.varshtat.com
SSMD_API_KEY=sk_live_...

3. Add to Your MCP Client

Most MCP clients use a JSON config file. Create or edit .mcp.json in your project root:

{
  "mcpServers": {
    "ssmd": {
      "command": "uv",
      "args": ["run", "--directory", "/path/to/ssmd/ssmd-mcp", "ssmd-mcp"],
      "env": {
        "SSMD_API_URL": "https://api.varshtat.com",
        "SSMD_API_KEY": "sk_live_..."
      }
    }
  }
}

4. Desktop App Config Paths

Desktop MCP clients typically read from an app-specific config file. Common locations:

macOS ~/Library/Application Support/<app>/config.json
Windows %APPDATA%/<app>/config.json

Use the same server block from step 3. Refer to your client's documentation for the exact config path.

Available Tools

query_trades

Trade aggregation by ticker — count, volume, price range

query_prices

Latest price snapshots per instrument

query_snap

Live ticker snapshots from Redis with 5-minute TTL

query_events

Event-level trade summaries grouped by parent event

query_volume

Cross-feed daily volume summary

lookup_market

Market metadata lookup by ID across all exchanges

list_feeds

Available feeds with date ranges and message types

check_freshness

Data freshness per feed — flags stale pipelines

Monitor Tools

Hierarchical market browsing across Kalshi, Kraken Futures, and Polymarket: Category → Series → Event → Market (with live prices).

browse_categories

List all market categories with event and series counts across all exchanges

browse_series

Series within a category — active events and market counts

browse_events

Events within a series — status, strike date, market count

browse_markets

Markets within an event — exchange-aware live bid/ask/last prices from snap data

Secmaster Tools

Query market metadata across all supported exchanges: Kalshi (prediction), Kraken Futures (perpetuals), and Polymarket (CLOB prediction).

secmaster_stats

Database statistics: event, market, pair, condition counts and status breakdown

search_markets

Kalshi markets — filter by category, series, status, event, or closing time

search_events

Kalshi events — filter by category, series, or status

search_pairs

Kraken futures pairs — filter by base currency, market type, or status

search_conditions

Polymarket conditions — filter by category or resolution status

search_lifecycle

Cross-exchange lifecycle search — filter by status, time window, and feed

get_fees

Fee schedules — all series or historical lookup for a specific series

Admin Tools

API key management and usage analytics (requires admin scope).

list_api_keys

List all API keys with metadata, scopes, and rate limit tiers

query_key_usage

Per-key rate limits, LLM token usage, and daily cost breakdown

Harman OMS Tools

Order management system administration (requires admin scope).

harman_sessions

List all OMS sessions with risk/status summary

harman_orders

Query orders for a session — filter by state, ticker, time

harman_fills

Query fills for a session — filter by ticker, time

harman_order_timeline

Full order lifecycle: state transitions, exchange calls, fills, settlement

harman_exchange_audit

Exchange REST/WS interactions — filter by category, action, outcome

harman_settlements

Query settlements for a session — filter by ticker, time

Example Queries

Once configured, try these queries:

"What were the most traded Kalshi markets today?"
"What are the live Kalshi prices right now?"
"Show me Kraken futures prices"
"How fresh is the polymarket data?"
"Look up market KXBTCD-26FEB28-T105249.99"
"How many active markets are in the secmaster?"
"Show me Kalshi crypto events closing today"
"What are the current fee schedules?"
"Browse all market categories"
"Show me series in the Crypto category"
"What events are in the KXBTCD series?"
"Search for active Polymarket crypto conditions"
"What Kraken perpetuals are available?"
"Show me Kalshi markets closing in the next 4 hours"
"What markets settled across all exchanges today?"
"Show all harman OMS sessions"
"What orders were placed in session 1 today?"
"Show the full timeline for order 42"

Data Schema Reference

Full column definitions for all feeds and message types are in the Parquet Schema Reference.

Detailed WebSocket message schemas per exchange: