Prerequisites
- An ssmd API key with
datasets:read,secmaster:read, and/oradminscope - 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:
~/Library/Application Support/<app>/config.json %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:
Data Schema Reference
Full column definitions for all feeds and message types are in the Parquet Schema Reference.
Detailed WebSocket message schemas per exchange: