Skip to main content

Official MCP server for Delta Exchange India — market data and account read for AI assistants.

Project description

delta-exchange-mcp

Status: Beta PyPI version

Official MCP (Model Context Protocol) server for Delta Exchange India. Lets AI assistants (Claude Desktop, Claude Code, Cursor, Zed, Codex) query Delta Exchange market data and your own account (read-only) through standardized tools.

Status: Beta. Functional and used internally, but the tool surface and configuration may still change. Please open an issue for bugs, missing tools, or rough edges. Early reports directly shape what ships next.

What you get: 9 public market-data tools + 12 authenticated read-only account tools (positions, orders, fills, wallet, stats, leverage, preferences, profile). No mutations. The server cannot place, edit, or cancel orders.


Quick start

Prerequisite: uv installed on your machine.

Sanity-check the install:

uvx delta-exchange-mcp --help

The server runs local stdio only: your MCP client launches it as a subprocess, and your API keys never leave your machine. uvx resolves the latest published version from PyPI on each launch. To pin a specific version, use uvx "delta-exchange-mcp==0.1.0".

Install in your MCP client

Claude Code

claude mcp add delta-exchange-mcp \
  --scope user \
  --env DELTA_MCP_ENV=india_prod \
  --env DELTA_API_KEY=your-api-key \
  --env DELTA_API_SECRET=your-api-secret \
  -- uvx delta-exchange-mcp

--scope user makes the server available across all projects. Drop the API-key envs for market-only mode. Verify with claude mcp list.

Codex

Add to ~/.codex/config.toml:

[mcp_servers.delta-exchange-mcp]
command = "uvx"
args = ["delta-exchange-mcp"]
env = { DELTA_MCP_ENV = "india_prod", DELTA_API_KEY = "your-api-key", DELTA_API_SECRET = "your-api-secret" }

Claude Desktop / Zed / Windsurf / other clients

Add to your MCP client's config file:

{
  "mcpServers": {
    "delta-exchange": {
      "command": "uvx",
      "args": ["delta-exchange-mcp"],
      "env": {
        "DELTA_MCP_ENV": "india_prod",
        "DELTA_API_KEY": "your-api-key",
        "DELTA_API_SECRET": "your-api-secret"
      }
    }
  }
}

DELTA_API_KEY / DELTA_API_SECRET are optional: without them, only the public market tools register.

Install from source (optional)

To run an unreleased commit or your own fork instead of the PyPI release:

uvx --from git+https://github.com/delta-exchange/delta-exchange-mcp.git delta-exchange-mcp

Append @<branch-or-sha> to the URL to pin to a specific commit.

API keys (optional, for account tools)

  1. Create a key at delta.exchange/app/account/manageapikeys (testnet: demo.delta.exchange).
  2. Both api_key and api_secret are shown once at creation. Save the secret immediately; it can't be re-derived.
  3. Read Data permission is enough. Trading permission is not required and not used.
  4. Recommended: whitelist your IP on the key. Delta blocks non-whitelisted IPs and surfaces your current IP in the error message if it fires.
  5. Match the environment: prod keys with DELTA_MCP_ENV=india_prod, demo keys with DELTA_MCP_ENV=india_testnet. Mixing them returns InvalidApiKey.

Environment variables

Var Default Purpose
DELTA_MCP_ENV india_prod india_prod or india_testnet.
DELTA_API_KEY (unset) API key. Optional; when set with DELTA_API_SECRET, account tools register.
DELTA_API_SECRET (unset) API secret matching DELTA_API_KEY.

Tools

Public market data (always available)

Tool What it returns
list_products / get_product Catalog of tradable instruments and per-product metadata.
list_tickers / get_ticker Last price, 24h stats, mark price, OI.
get_options_chain Option chain snapshot for a given underlying / expiry.
get_orderbook Bid/ask depth for a symbol.
get_recent_trades Last N public trades.
get_candles OHLC candles by resolution.
get_reference_data Assets + indices reference.

Account read-only (requires DELTA_API_KEY + DELTA_API_SECRET)

Tool What it returns
get_positions / get_margined_positions Open positions, sizes, entry, unrealized PnL.
get_wallet_balances / get_wallet_transactions Per-asset balances + ledger.
get_open_orders / get_order_history / get_order_by_id Active and historical orders.
get_fills Trade fills (own).
get_product_leverage Per-product leverage setting.
get_trading_stats / get_trading_preferences / get_profile Account-level stats, preferences, profile.

Example prompts

Once connected, you can ask things like:

  • "What's the current BTCUSD mark price and 24h range?"
  • "Show the options chain for BTC expiring this Friday."
  • "What positions do I have open and what's my total unrealized PnL?"
  • "List my fills from the last 24 hours grouped by symbol."
  • "How much USDT do I have free vs blocked in margin?"

The assistant picks the right tool based on the question. You don't need to name the tool.

Development

uv sync                       # install deps
uv run pytest                 # run tests (no network, respx-mocked)
uv run ruff check src tests   # lint
uv run delta-exchange-mcp     # run server (stdio)

Testing with MCP Inspector

# stdio CLI mode
bash scripts/inspect.sh --cli --method tools/list
bash scripts/inspect.sh --cli --method tools/call \
  --tool-name get_ticker --tool-arg symbol=BTCUSD

# with auth
DELTA_API_KEY=... DELTA_API_SECRET=... \
  bash scripts/inspect.sh --cli --method tools/call --tool-name get_wallet_balances

# web UI
bash scripts/inspect.sh        # → http://localhost:6274

Maintainers: see RELEASING.md for the release procedure.

Roadmap

  • Now: 9 public market-data + 12 authenticated read-only account tools.
  • Next: trading mutations (place / edit / cancel / close, leverage change) gated behind an explicit DELTA_MCP_MODE=trade flag, with an audit log and basic guardrails.

Feedback & issues

This is the first public cut and we want to make it better. Please file:

  • Bugs (incorrect data, signing/auth errors, crashes)
  • Missing tools or fields you'd want exposed
  • Rough edges in setup, docs, or error messages
  • Anything you'd build on top of this if a primitive existed

github.com/delta-exchange/delta-exchange-mcp/issues

Please redact api_key / api_secret from any logs or screenshots before attaching.

Safety

  • No mutations. Every tool is GET. The server cannot place, edit, or cancel orders.
  • Local stdio only. Per-user keys never leave your machine; no shared hosted endpoint.
  • Read the code. It's a financial-tool MCP; treat it like one.

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

delta_exchange_mcp-0.1.1.tar.gz (9.5 kB view details)

Uploaded Source

Built Distribution

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

delta_exchange_mcp-0.1.1-py3-none-any.whl (13.3 kB view details)

Uploaded Python 3

File details

Details for the file delta_exchange_mcp-0.1.1.tar.gz.

File metadata

  • Download URL: delta_exchange_mcp-0.1.1.tar.gz
  • Upload date:
  • Size: 9.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.9 {"installer":{"name":"uv","version":"0.9.9"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for delta_exchange_mcp-0.1.1.tar.gz
Algorithm Hash digest
SHA256 e79f82f2d6e58d4e9432035e27d174f50e65e47f45192cc5e495e0e78ec2b2cd
MD5 6ad8bffe098c6647fa510930f9ed0cad
BLAKE2b-256 cf4c8a39c926648b17aa5daf73b4ebc60dd1e55ba24c9ee90c15b85fcac2d5d4

See more details on using hashes here.

File details

Details for the file delta_exchange_mcp-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: delta_exchange_mcp-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 13.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.9 {"installer":{"name":"uv","version":"0.9.9"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for delta_exchange_mcp-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 bc157f78f78b4ca1db5a6642b580448561a358de3913e5c7b227edb6f5fe81f7
MD5 515022335857ed9c3734a738ededf51b
BLAKE2b-256 8f81eb796d63f39f3dd5e8272da899c8ab79a759ef23648f166d872b91998c0a

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