Skip to content

openSVM/dflow-mcp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

77 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DFlow MCP Server

smithery badge

Access Kalshi prediction market data - the first CFTC-regulated exchange for trading on real-world events. Built by OpenSVM. 23 tools for events, markets, trades, forecasts, candlesticks and live data.

Demo: https://dflow.opensvm.com

Features

This MCP server provides access to the complete Prediction Market Metadata API including:

  • Event Management: Get events, search events, retrieve event metadata
  • Market Data: Market information, batch queries, market lookups by mint
  • Trading Data: Trade history, trades by market, pagination support
  • Forecast Analytics: Forecast percentile history, time series data
  • Candlestick Data: OHLC data for events and markets
  • Live Data: Real-time data feeds, milestone information
  • Series Information: Series templates, categories, and metadata
  • Utility Functions: Outcome mint queries, filtering, and search capability

Installation

Method 1: Install via Smithery (Recommended)

The easiest way to install this MCP server is through Smithery:

npx @smithery/cli install dflow-mcp-server --client claude

This will automatically configure the server for use with Claude Desktop.

Method 2: Manual Installation

Prerequisites

  • Bun (recommended) or Node.js 18+

Install Dependencies

bun install

Usage

Starting the Server

# Development mode (with hot reload)
bun run dev

# Production mode
bun start

# Or directly with Bun
bun run src/index.ts

The server uses stdio transport for MCP communication, which is the standard for MCP clients.

Integration with MCP Clients

Claude Desktop

If you installed via Smithery, the configuration is automatic. For manual setup, add this to your Claude Desktop config:

{
  "mcpServers": {
    "dflow-mcp": {
      "command": "bun",
      "args": ["run", "/path/to/dflow-mcp/src/index.ts"]
    }
  }
}

Other MCP Clients

This server is compatible with any MCP client (Cursor, Continue, etc.). Use the same configuration format as above.

Available Tools

Event Tools

  • get_event - Get a single event by ticker
  • get_events - Get paginated list of all events

Market Tools

  • get_market - Get market details by ticker
  • get_market_by_mint - Get market by mint address
  • get_markets - Get paginated list of markets
  • get_markets_batch - Get multiple markets (up to 100)

Trade Tools

  • get_trades - Get trades across markets
  • get_trades_by_mint - Get trades for specific market

Analytics Tools

  • get_forecast_percentile_history - Get forecast history
  • get_forecast_percentile_history_by_mint - Forecast history by mint
  • get_event_candlesticks - Event candlestick data
  • get_market_candlesticks - Market candlestick data
  • get_market_candlesticks_by_mint - Candlesticks by mint

Live Data Tools

  • get_live_data - Get live data for milestones
  • get_live_data_by_event - Live data for event
  • get_live_data_by_mint - Live data by mint

Series Tools

  • get_series - Get all series templates
  • get_series_by_ticker - Get specific series

Utility Tools

  • get_outcome_mints - Get outcome mint addresses
  • filter_outcome_mints - Filter addresses to outcome mints
  • get_tags_by_categories - Get category-tag mapping
  • get_filters_by_sports - Get sports filtering options
  • search_events - Search events by title/ticker

Example Tool Calls

Get a specific event

{
  "tool": "get_event",
  "arguments": {
    "event_id": "US-PRESIDENT-2024",
    "withNestedMarkets": true
  }
}

Get market by mint address

{
  "tool": "get_market_by_mint",
  "arguments": {
    "mint_address": "9WzDXwBbmkg8ZTbNMqUxvQRAyrZzDsGYdLVL9zYtAWWM"
  }
}

Get forecast history

{
  "tool": "get_forecast_percentile_history",
  "arguments": {
    "series_ticker": "US-PRESIDENT",
    "event_id": "US-PRESIDENT-2024",
    "percentiles": "25,50,75",
    "startTs": 1704067200,
    "endTs": 1706745600,
    "periodInterval": 3600
  }
}

Search events

{
  "tool": "search_events",
  "arguments": {
    "q": "election",
    "limit": 10,
    "sort": "volume",
    "order": "desc"
  }
}

Development

Project Structure

dflow-mcp/
├── src/
│   └── index.ts          # Main server implementation
├── package.json          # Dependencies and scripts
├── tsconfig.json         # TypeScript configuration
├── llms_dflow.json       # API specification
└── README.md             # This file

Building

bun run build

Testing

bun run test

API Details

The server implements the complete REST API defined in llms_dflow.json with the following base URL:

https://prediction-markets-api.dflow.net

All tools include comprehensive parameter validation and type definitions. Error handling returns informative messages for debugging.

Publishing to Smithery

This server is configured for publication on Smithery, the MCP server registry.

Configuration Files

  • smithery.yaml - Defines the runtime (TypeScript) and target (local)
  • package.json - Includes module entry point and Smithery CLI scripts

To Publish

  1. Ensure your code is pushed to a public GitHub repository
  2. Visit smithery.ai/new
  3. Connect your GitHub repository
  4. Smithery will automatically detect the smithery.yaml configuration

Once published, users can install your server with:

npx @smithery/cli install dflow-mcp-server --client claude

License

MIT License - See LICENSE file for details.


OpenSVM × Kalshi × DFlow