Skip to main content

MCP server for the DeFiStream API

Project description

DeFiStream MCP Server

Model Context Protocol (MCP) server that wraps the DeFiStream REST API, giving LLMs (Claude Desktop, Claude Code, etc.) direct access to on-chain DeFi event data. Make sure to get an api key from app.defistream.deveasily.

Quick Start

# Install
cd mcp-server
pip install -e .

# Set your API key
export DEFISTREAM_API_KEY="dsk_your_key_here"

# Run (stdio transport)
defistream-mcp

Docker

No Python installation required — run the MCP server directly from Docker Hub:

docker run -i -e DEFISTREAM_API_KEY=dsk_your_key_here defistream/mcp-server

Claude Code

claude mcp add --transport stdio defistream \
  -- docker run -i -e DEFISTREAM_API_KEY=dsk_your_key_here defistream/mcp-server

Claude Desktop (Docker)

Add to claude_desktop_config.json:

{
  "mcpServers": {
    "defistream": {
      "command": "docker",
      "args": [
        "run", "-i",
        "-e", "DEFISTREAM_API_KEY=dsk_your_key_here",
        "defistream/mcp-server"
      ]
    }
  }
}

Note: Claude Desktop passes env to the spawned process, but docker run requires explicit -e flags. Put the API key in args as shown above, or set it in your shell before launching Claude Desktop.

Build from Source

cd mcp-server
docker build -t defistream/mcp-server .
docker run -i -e DEFISTREAM_API_KEY=dsk_your_key_here defistream/mcp-server

Publish to Docker Hub

docker login
docker build -t defistream/mcp-server:latest -t defistream/mcp-server:0.1.0 .
docker push defistream/mcp-server:latest
docker push defistream/mcp-server:0.1.0

Claude Desktop Configuration

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "defistream": {
      "command": "defistream-mcp",
      "env": {
        "DEFISTREAM_API_KEY": "dsk_your_key_here"
      }
    }
  }
}

Environment Variables

Variable Required Default Description
DEFISTREAM_API_KEY Yes API key (dsk_xxx)
DEFISTREAM_LOCAL No false Set to true to use local gateway (http://localhost:8081/v1)
DEFISTREAM_BASE_URL No https://api.defistream.dev/v1 API base URL (overrides DEFISTREAM_LOCAL)
DEFISTREAM_MCP_TRANSPORT No stdio stdio or sse
DEFISTREAM_DOWNLOAD_DIR No . (cwd) Default dir for downloaded files

Local Development

To test against the local API gateway (port 8081):

export DEFISTREAM_API_KEY="dsk_your_key"
export DEFISTREAM_LOCAL=true
defistream-mcp

Or in Claude Desktop / Claude Code config:

{
  "mcpServers": {
    "defistream": {
      "command": "defistream-mcp",
      "env": {
        "DEFISTREAM_API_KEY": "dsk_your_key",
        "DEFISTREAM_LOCAL": "true"
      }
    }
  }
}

Tools

Utility

Tool Description
supported_networks(protocol) List supported networks for a protocol
supported_events(protocol) List supported event types for a protocol
base_url() Get the API base URL
execute_query(query, limit?) Execute a query path and return JSON results
download_query(query, file_format?, output_dir?) Download query results as CSV/Parquet

Protocol Query Builders

Each builder returns a query path string to pass to execute_query() or download_query().

Tool Protocol Required Params Range Limits
erc20_query_builder ERC-20 tokens event_type, network, token 7 days / 1M blocks (10M ARB)
native_token_query_builder Native tokens (ETH, BNB, …) event_type, network 7 days / 1M blocks (10M ARB)
aave_v3_query_builder AAVE V3 lending event_type, network 31 days / 10M blocks
uniswap_v3_query_builder Uniswap V3 DEX event_type, network, symbol0, symbol1, fee 31 days / 10M blocks
lido_query_builder Lido staking event_type, network 31 days / 10M blocks
stader_query_builder Stader ETHx event_type, network 31 days / 10M blocks
threshold_query_builder Threshold tBTC event_type, network 31 days / 10M blocks

All on-chain builders also accept: block_start/block_end or since/until for range, verbose, with_value, aggregate, group_by, period, and protocol-specific filter params. JSON format is limited to 10,000 blocks for all providers.

Exchange Data Query Builders (Binance)

Tool Data Required Params Range Limit
binance_raw_trades_query_builder Raw tick trades token 7 days
binance_ohlcv_query_builder OHLCV candles token 31 days
binance_book_depth_query_builder Order book depth token 31 days
open_interest_query_builder Open interest token 31 days
binance_long_short_ratios_query_builder Long/short ratios token 31 days
binance_funding_rate_query_builder Funding rate token 31 days

All exchange builders accept since/until for time range. All return CSV/Parquet only (except OHLCV which also supports JSON).

  • with_value — Set true to enrich events with USD value data. Adds value_usd column to individual events, and agg_value_usd to aggregate results.

Workflow

1. supported_networks("erc20")          → check network is valid
2. erc20_query_builder(                 → build query path
     event_type="transfer",
     network="ETH",
     token="USDT",
     since="2025-01-01",
     until="2025-01-02"
   )
3. execute_query(query)                 → get JSON results
   — or —
   download_query(query, "csv")         → save CSV file

Multi-token queries: Pass comma-separated known symbol names to query multiple tokens at once (contract addresses not supported for multi-token):

erc20_query_builder(
  event_type="transfer",
  network="ETH",
  token="USDT,USDC,DAI",
  since="2025-01-01",
  until="2025-01-02"
)

Resources

URI Description
defistream://protocols Protocol descriptions and builder tool mapping
defistream://api-limits Block limits, row caps, quota info

Development

pip install -e ".[dev]"
pytest

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

defistream_mcp-0.5.0.tar.gz (19.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

defistream_mcp-0.5.0-py3-none-any.whl (17.6 kB view details)

Uploaded Python 3

File details

Details for the file defistream_mcp-0.5.0.tar.gz.

File metadata

  • Download URL: defistream_mcp-0.5.0.tar.gz
  • Upload date:
  • Size: 19.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for defistream_mcp-0.5.0.tar.gz
Algorithm Hash digest
SHA256 1f123c21bab9840e7618deff59f97f5601178efac4caabd223e9f8287aa63e7e
MD5 e9b784143e41d5f0b50676993fca0e1f
BLAKE2b-256 12f172b80d1685b74006f1256397d6c5dcc43a76ea591b3f81803ce6307e1237

See more details on using hashes here.

File details

Details for the file defistream_mcp-0.5.0-py3-none-any.whl.

File metadata

  • Download URL: defistream_mcp-0.5.0-py3-none-any.whl
  • Upload date:
  • Size: 17.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for defistream_mcp-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 cc6faece784bdefc4cf72bedcef057f450de89a2f8a63e122add061e0709e225
MD5 d0a1291bfc328b02c730a9ee6d8c5756
BLAKE2b-256 be72b8f87fcbbc9e4152cf2696ed6f64a5bdbec6734c7a90659d49db00d332b4

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page