MCP (Model Context Protocol) server for Bitkub API — Thailand's leading cryptocurrency exchange. Market data, trading, orders, wallet, and crypto management through 28 tools.
Works with Claude Desktop, Cursor, VS Code, and any MCP client.
WARNING: This package interacts with a real cryptocurrency exchange. All trading and withdrawal operations use real money. Use with caution.
Add to claude_desktop_config.json:
{
"mcpServers": {
"bitkub": {
"command": "npx",
"args": ["-y", "@node2flow/bitkub-mcp"],
"env": {
"BITKUB_API_KEY": "your-api-key",
"BITKUB_SECRET_KEY": "your-secret-key"
}
}
}
}Add to MCP settings:
{
"mcpServers": {
"bitkub": {
"command": "npx",
"args": ["-y", "@node2flow/bitkub-mcp"],
"env": {
"BITKUB_API_KEY": "your-api-key",
"BITKUB_SECRET_KEY": "your-secret-key"
}
}
}
}Market data tools (10 tools) work without API keys:
{
"mcpServers": {
"bitkub": {
"command": "npx",
"args": ["-y", "@node2flow/bitkub-mcp"]
}
}
}BITKUB_API_KEY=xxx BITKUB_SECRET_KEY=xxx npx @node2flow/bitkub-mcp --httpServer starts on port 3000 (configurable via PORT env var). MCP endpoint: http://localhost:3000/mcp
| Environment Variable | Required | Description |
|---|---|---|
BITKUB_API_KEY |
For trading | API key from Bitkub |
BITKUB_SECRET_KEY |
For trading | Secret key for HMAC signing |
PORT |
No | Port for HTTP server (default: 3000, only with --http) |
| Tool | Description |
|---|---|
btk_server_time |
Get server time (for timestamp sync) |
btk_server_status |
Get API server status |
btk_symbols |
List all trading symbols with rules |
btk_ticker |
Get 24-hour ticker (price, volume, change) |
btk_recent_trades |
Get recent trades for a symbol |
btk_bids |
Get buy-side order book |
btk_asks |
Get sell-side order book |
btk_books |
Get complete order book (bids + asks) |
btk_depth |
Get market depth |
btk_tradingview_history |
Get OHLCV candlestick data |
| Tool | Description |
|---|---|
btk_wallet |
Get available balances |
btk_balances |
Get full balances (available + reserved) |
btk_trading_credits |
Get trading credit balance |
btk_user_limits |
Get deposit/withdrawal limits |
| Tool | Description |
|---|---|
btk_place_bid |
Place a buy order (LIMIT or MARKET) |
btk_place_ask |
Place a sell order (LIMIT or MARKET) |
btk_place_bid_test |
Test buy order (dry run, no real money) |
btk_place_ask_test |
Test sell order (dry run, no real money) |
btk_cancel_order |
Cancel a specific order |
btk_my_open_orders |
Get all open/pending orders |
btk_my_order_history |
Get order history (paginated) |
btk_order_info |
Get detailed order info with fill history |
| Tool | Description |
|---|---|
btk_crypto_addresses |
List crypto deposit addresses |
btk_crypto_withdraw |
Withdraw crypto (IRREVERSIBLE) |
btk_crypto_internal_withdraw |
Transfer to Bitkub user (IRREVERSIBLE) |
btk_crypto_deposit_history |
Get deposit history |
btk_crypto_withdraw_history |
Get withdrawal history |
btk_crypto_generate_address |
Generate new deposit address |
Bitkub provides test (dry run) endpoints for order placement. Always test before placing real orders:
btk_place_bid_test — Validate buy order without spending money
btk_place_ask_test — Validate sell order without spending money
These endpoints check parameters, balance, and trading rules, then return what the order would look like — without executing it.
- Node.js 18+
- Bitkub account with API keys (for trading operations)
- Go to bitkub.com and log in
- Navigate to API Management in account settings
- Create a new API key
- Set permissions: Read, Trade, Withdraw, Deposit
- Copy both the API Key and Secret Key
- Set up IP whitelist for security
- Never share API keys or secret keys
- Use IP whitelist in API key settings
- Restrict permissions to only what you need
- Read-only keys for market data monitoring
- Store secrets in environment variables, never in code
- Rotate keys regularly
- All operations execute on the real exchange with real money
- Withdrawals are irreversible — double-check addresses and amounts
- Rate limits — exceeding limits blocks for 30 seconds (HTTP 429)
- Market risk — cryptocurrency prices are highly volatile
- Order history older than 90 days is archived
- Always use test endpoints before placing real orders
git clone https://github.com/node2flow-th/bitkub-mcp-community.git
cd bitkub-mcp-community
npm install
npm run build
# Run in stdio mode (market data only)
npm start
# Run with full access
BITKUB_API_KEY=xxx BITKUB_SECRET_KEY=xxx npm start
# Run in HTTP mode
BITKUB_API_KEY=xxx BITKUB_SECRET_KEY=xxx npm start -- --httpMIT License - see LICENSE
Copyright (c) 2026 Node2Flow