๐ Bitkub MCP Server
Model Context Protocol server for Bitkub Cryptocurrency Exchange API
เนเธเธทเนเธญเธกเธเนเธญ Claude Desktop เธเธฑเธ Bitkub Exchange เธเนเธฒเธ MCP Protocol

Features โข Installation โข API Tools โข Configuration โข Community
โจ Features
๐ฏ Core Features
- โ MCP Server - Built with mcp-go
- ๐ HTTP/SSE - Real-time communication
- ๐ Secure - HMAC SHA256 signature
- ๐ฐ Wallet - View balances & transactions
๐ Developer Experience
- ๐ Go-Bitkub SDK - Full API v3 support
- ๐ง Integration - with Claude Desktop
- ๐ Market Data - Real-time ticker & depth
- ๐ Order - Track open orders
๐ง Installation
Fastest path: install the server โ register it as an MCP server in Claude Code / Codex โ install the
bitkub-tradeplaybook plugin. Steps 3โ5 are the important part.
1๏ธโฃ Install the MCP server
go install github.com/dvgamerr-app/gokub-mcp@latest
This installs gokub-mcp to $(go env GOPATH)/bin by default.
Windows default path:
# PowerShell
Write-Output "$env:USERPROFILE\go\bin\gokub-mcp.exe"
:: cmd.exe
echo %USERPROFILE%\go\bin\gokub-mcp.exe
# NuShell
$env.USERPROFILE | path join go bin gokub-mcp.exe
# macOS/Linux default
$(go env GOPATH)/bin/gokub-mcp
For local development from a clone:
git clone https://github.com/dvgamerr-app/gokub-mcp.git
cd gokub-mcp
go install .
Prefer containers? Use ๐ณ Docker (HTTP/SSE mode).
2๏ธโฃ Credentials
The server reads BTK_APIKEY / BTK_SECRET from its environment โ pass them when you
register the server (steps 3โ4), so no .env file is required. For a plain local
go run main.go, a .env in the repo root still works:
BTK_APIKEY=your_api_key
BTK_SECRET=your_secret_key
3๏ธโฃ Register the MCP server in Claude Code
The current way is the claude mcp add CLI (replaces hand-editing JSON). Pass the env
inline with -e:
claude mcp add bitkub \
-e BTK_APIKEY=your_api_key \
-e BTK_SECRET=your_secret_key \
-- "$(go env GOPATH)/bin/gokub-mcp"
Windows:
# PowerShell
claude mcp add bitkub `
-e BTK_APIKEY=your_api_key `
-e BTK_SECRET=your_secret_key `
-- "$env:USERPROFILE\go\bin\gokub-mcp.exe"
:: cmd.exe
claude mcp add bitkub -e BTK_APIKEY=your_api_key -e BTK_SECRET=your_secret_key -- "%USERPROFILE%\go\bin\gokub-mcp.exe"
# NuShell
let gokub = ($env.USERPROFILE | path join go bin gokub-mcp.exe)
claude mcp add bitkub -e BTK_APIKEY=your_api_key -e BTK_SECRET=your_secret_key -- $gokub
- Add
-s userto make it global across all projects (default scope is project-local.mcp.json). - It runs over stdio by default โ no extra flags. Verify with
/mcpin a session.
4๏ธโฃ Register the MCP server in Codex
codex mcp add gokub \
--env BTK_APIKEY=your_api_key \
--env BTK_SECRET=your_secret_key \
-- "$(go env GOPATH)/bin/gokub-mcp"
Windows:
# PowerShell
codex mcp add gokub `
--env BTK_APIKEY=your_api_key `
--env BTK_SECRET=your_secret_key `
-- "$env:USERPROFILE\go\bin\gokub-mcp.exe"
:: cmd.exe
codex mcp add gokub ^
--env BTK_APIKEY=your_api_key ^
--env BTK_SECRET=your_secret_key ^
-- "%USERPROFILE%\go\bin\gokub-mcp.exe"
# NuShell
let gokub = ($env.USERPROFILE | path join go bin gokub-mcp.exe)
codex mcp add gokub --env BTK_APIKEY=your_api_key --env BTK_SECRET=your_secret_key -- $gokub
โฆor edit ~/.codex/config.toml directly:
[mcp_servers.gokub]
command = "/absolute/path/to/gokub-mcp"
args = []
[mcp_servers.gokub.env]
BTK_APIKEY = "your_api_key"
BTK_SECRET = "your_secret_key"
Verify with /mcp inside Codex.
5๏ธโฃ Install the trading playbook plugin (skill)
The tools are the hands; the bitkub-trade plugin is the brain โ the strategy
playbook + guardrails. The repo doubles as a plugin marketplace for both clients:
# Claude Code
/plugin marketplace add dvgamerr-app/gokub-mcp
/plugin install bitkub-trade@gokub-mcp
# Codex
codex plugin marketplace add dvgamerr-app/gokub-mcp
codex plugin add bitkub-trade@gokub-mcp
See plugins/bitkub-trade for details.
๐ณ Docker
Runs the server in HTTP/SSE mode (good for a shared/remote server; for a local client that spawns the binary over stdio, use the native build above):
docker build -t gokub-mcp .
docker run --rm -p 8080:8080 \
-e BTK_APIKEY=your_api_key \
-e BTK_SECRET=your_secret_key \
gokub-mcp
Then point an SSE-capable client at http://localhost:8080/sse. Override the port with
-e PORT=9000 -p 9000:9000.
The build fetches Go deps from the module proxy (needs internet). For an offline / hermetic build, run
go mod vendorfirst and build with-mod=vendor.
๐ฎ Usage
HTTP/SSE Server Mode
# Default port 3000
go run main.go
# Custom port
PORT=9000 go run main.go
Default port is 3000 (override with
PORT). Docker image defaults to 8080.
| Endpoint | Purpose | Method |
|---|---|---|
http://localhost:3000/sse |
SSE Connection | GET |
http://localhost:3000/msg |
Send Message | POST |
๐ ๏ธ Available Tools
39 tools covering the full long-only swing-trading workflow (screen โ analyze โ size โ place โ manage โ log).
get_wallet_balance ยท get_ticker ยท get_market_depth ยท get_my_open_orders ยท
get_symbols ยท get_symbol_rules ยท get_fee_schedule
calculate_spread ยท calculate_liquidity_depth ยท get_market_screener ยท
get_historical_candles ยท extract_close_prices
calculate_ema ยท calculate_roc ยท calculate_atr ยท calculate_rsi ยท
check_market_regime ยท calculate_capm
detect_breakout_signal ยท detect_pullback_signal ยท calculate_relative_strength_rank
calculate_position_size ยท validate_trade_setup ยท round_to_exchange_rules
place_limit_order ยท place_stop_limit_order ยท cancel_order ยท get_order_status
check_trade_pnl ยท calculate_trailing_stop ยท check_exit_signals ยท
client_side_stop_worker (Bitkub has no native stop/OCO โ client-side trigger)
log_trade_entry ยท log_trade_exit ยท calculate_expectancy ยท get_trade_history
(flat-file journal trades.json, override with TRADES_FILE)
get_market_overview ยท simulate_trade ยท pnl_with_fees
๐ง Trading Playbook (Plugin / Skill)
The tools are the hands; the bitkub-trade plugin is the brain โ a playbook
skill that encodes the strategy (screen โ regime โ relative-strength โ ATR โ signal โ
size โ validate gate โ round โ place โ manage โ log) and the hard guardrails
(โค2% risk/trade, long-only, no entry unless can_trade=true, client-side stop, TP โฅ2R).
โ Install it in step 5 of Installation. Details:
plugins/bitkub-trade.
โ๏ธ Configuration
๐ Environment variables
| Variable | Required | Purpose |
|---|---|---|
BTK_APIKEY |
for trading/wallet | Bitkub API key |
BTK_SECRET |
for trading/wallet | Bitkub API secret |
PORT |
no (default 3000) |
HTTP/SSE port (-serv mode) |
TRADES_FILE |
no (default trades.json) |
trade-journal file path |
Pass keys when you register the MCP server (see Installation steps 3โ4) โ
that's preferred over a committed .env. Public market-data tools work without keys;
wallet/order tools need them.
โ ๏ธ Keep secrets in env vars / your client config, never commit
.env(it's gitignored).
If you run the HTTP server (or the Docker image) and use the Claude Desktop app, point it at the SSE endpoint:
{
"mcpServers": {
"gokub": { "url": "http://localhost:3000/sse", "transport": "sse" }
}
}
Windows: %APPDATA%\Claude\claude_desktop_config.json ยท
Mac: ~/Library/Application Support/Claude/claude_desktop_config.json
For Claude Code / Codex, prefer claude mcp add / codex mcp add (stdio) above.
๐ Project Structure
gokub-mcp/
โโโ ๐ main.go # MCP Server entry point (HTTP/SSE) + tool registration
โโโ ๐ณ Dockerfile # HTTP/SSE server image
โโโ ๐ tools/ # 39 MCP tools (+ unit tests)
โโโ ๐ prompts/ # trading_strategy, market_analysis prompts
โโโ ๐ resources/ # bitkub://symbols, bitkub://ticker/{symbol}
โโโ ๐ utils/ # Utility functions
โโโ ๐ docs/ # ASSIGNMENT.md (spec & build progress)
โโโ ๐ plugins/bitkub-trade/ # bitkub-trade plugin (playbook skill)
โ โโโ .claude-plugin/plugin.json # Claude manifest
โ โโโ .codex-plugin/plugin.json # Codex manifest
โ โโโ skills/playbook/SKILL.md # shared trading playbook
โโโ ๐ .claude-plugin/ # Claude plugin marketplace
โโโ ๐ .agents/plugins/ # Codex plugin marketplace
๐ API Rate Limits
| Category | Rate Limit | Note |
|---|---|---|
| ๐ Market Data | 100 req/sec | Public endpoints |
| ๐ฑ Trading Operations | 150-200 req/sec | Authenticated endpoints |
๐ Bitkub API Docs เธชเธณเธซเธฃเธฑเธเธเนเธญเธกเธนเธฅเนเธเธดเนเธกเนเธเธดเธก
๐ Roadmap
โ Completed
- Bitkub API golang library + MCP Server (HTTP/SSE + stdio)
- 39 trading tools โ foundation, indicators, entry signals, risk, orders, management, logging
- Risk-based position sizing + pre-trade
validate_trade_setupgate - Client-side stop worker (Bitkub has no native stop/OCO)
- Trade journal + expectancy (flat-file
trades.json) -
bitkub-tradeplaybook plugin โ installable in Claude Code & Codex
๐ง In Progress / Next
-
git pushthe plugin so the marketplaces resolve from GitHub - Optional MCP prompts/resources for non-Claude/Codex clients
- Backtesting over OHLCV history
๐ฏ Planned Features
- Rebalancing / Grid strategy presets
- Docker image + WebSocket real-time data
๐ References
๐ง MCP-Go Framework
๐ Go-Bitkub SDK
๐ค Protocol MCP Spec
๐ฅ Community
Join our community to discuss, get help, and share your trading strategies!
Made with โค๏ธ by dvgamerr-app
โญ Star this repo if you find it helpful!
Report Bug โข Request Feature โข Contribute
No comments yet
Be the first to share your take.