okx-mcp
OKX MCP Server is a Model Context Protocol server that provides real-time and historical cryptocurrency price data from the OKX exchange. It features tools for accessing market data and includes robust error handling and request logging functionalities. The server is designed for integration with platforms like Claude Desktop and VSCode.
OKX MCP Server
A Model Context Protocol server that provides real-time cryptocurrency price data from OKX exchange.
Features
This MCP server connects to the OKX API to provide cryptocurrency price information through a simple tool interface. It includes comprehensive error handling, request logging, and rate limiting via OKX's API.
Tools
get_candlesticks
Retrieves historical candlestick (OHLCV) data for any instrument on OKX.
- Input:
instrument
: String (required) - Instrument ID (e.g. "BTC-USDT")bar
: String (optional) - Time interval (e.g. "1m", "5m", "1H", "1D"), default "1m"limit
: Number (optional) - Number of candlesticks to return (max 100), default 100
- Output: Array of JSON objects, each containing:
timestamp
: ISO timestamp of the candlestickopen
: Opening pricehigh
: Highest pricelow
: Lowest priceclose
: Closing pricevolume
: Trading volumevolumeCurrency
: Volume in currency terms
Example usage:
[
{
"timestamp": "2025-03-07T17:00:00.000Z",
"open": "87242.8",
"high": "87580.2",
"low": "86548.0",
"close": "87191.8",
"volume": "455.72150427",
"volumeCurrency": "39661166.242091111"
}
]
get_price
Fetches the latest price and 24-hour market data for any instrument on OKX.
- Input:
instrument
: String (required) - Instrument ID (e.g. "BTC-USDT")
- Output: JSON object containing:
instrument
: The requested instrument IDlastPrice
: Latest trade pricebid
: Current best bid priceask
: Current best ask pricehigh24h
: 24-hour high pricelow24h
: 24-hour low pricevolume24h
: 24-hour trading volumetimestamp
: ISO timestamp of the data
Example usage:
{
"instrument": "BTC-USDT",
"lastPrice": "65432.1",
"bid": "65432.0",
"ask": "65432.2",
"high24h": "66000.0",
"low24h": "64000.0",
"volume24h": "1234.56",
"timestamp": "2024-03-07T17:22:28.000Z"
}
Development
Install dependencies:
npm install
Build the server:
npm run build
For development with auto-rebuild:
npm run watch
Installation
To use with Claude Desktop or VSCode, add the server config to your MCP settings:
macOS (VSCode):
~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json
macOS (Claude Desktop):
~/Library/Application Support/Claude/claude_desktop_config.json
Windows (VSCode):
%APPDATA%/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json
Windows (Claude Desktop):
%APPDATA%/Claude/claude_desktop_config.json
Configuration:
{
"mcpServers": {
"okx": {
"command": "node",
"args": ["/path/to/okx-mcp-server/build/index.js"],
"disabled": false,
"autoApprove": []
}
}
}
Error Handling
The server implements comprehensive error handling:
- Network errors are captured and returned with context
- Invalid instrument IDs return appropriate error messages
- API rate limits are respected through axios timeout configuration
- All errors are logged for debugging purposes