mcp deriv api server

Local 2025-09-01 00:39:13 0

A Model Context Protocol server that enables AI assistants to interact with the Deriv trading API, providing access to active trading symbols and account balance information.


A Model Context Protocol (MCP) server and OpenAI function calling service for interacting with the Deriv API.

Features

  • Active symbols list
  • Get Account Balance

Installation

Local Installation

curl -LsSf https://astral.sh/uv/install.sh | sh

Docker Installation

  1. Build the Docker image:
    docker build -t deriv-api-mcp .

Environment Setup

Create a .env file in your project root:

DERIV_API_TOKEN=your_api_key_here

Usage with Claude Desktop

Claude Desktop provides full support for MCP features. To use this server:

  1. Install Claude Desktop

  2. Add to your Claude Desktop configuration:

  3. On macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  4. On cline VSCode: /Users/raju/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json
  5. On Windows: %APPDATA%Claudeclaude_desktop_config.json

For Local Installation

{
  "mcpServers": {
    "deriv-api-mcp": {
      "command": "uv",
      "args": [
        "--directory",
        "/Users/raju/Sites/deriv/mcp-deriv-api-server",
        "run",
        "server.py"
      ]
    }
  }
}

For Docker Installation

{
  "mcpServers": {
    "deriv-api-mcp": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "deriv-api-mcp"
      ]
    }
  }
}
  1. Restart Claude Desktop

The server provides the following tools: - get_active_symbols: Get a list of active trading symbols - get_account_balance: Get the current account balance

Usage with OpenAI Function Calling

Rate Limits

Please refer to the Deriv API documentation for current rate limits and usage guidelines.

License

MIT

[
  {
    "description": "",
    "inputSchema": {
      "properties": {},
      "title": "get_active_symbolsArguments",
      "type": "object"
    },
    "name": "get_active_symbols"
  },
  {
    "description": "",
    "inputSchema": {
      "properties": {},
      "title": "get_account_balanceArguments",
      "type": "object"
    },
    "name": "get_account_balance"
  }
]