io.github.adacapo21/openmm-mcp
AI-native crypto trading MCP server β market data, orders, grid strategies & DeFi
Ask AI about io.github.adacapo21/openmm-mcp
Powered by Claude Β· Grounded in docs
I know everything about io.github.adacapo21/openmm-mcp. Ask me about installation, configuration, usage, or troubleshooting.
0/500
Reviews
Documentation
@qbtlabs/openmm-mcp
MCP (Model Context Protocol) server for OpenMM β exposes market data, account, trading, and strategy tools to AI agents via Claude Desktop, Claude Code, Cursor, Windsurf, and other MCP clients.
Install and connect β 13 tools are now available to your AI agent.
What Agents Can Do
- Monitor markets β Real-time prices, order books, and trade history across multiple exchanges
- Trade β Place limit and market orders, cancel orders, manage positions
- Check balances β View account holdings across all connected exchanges
- Run grid strategies β Configure and deploy automated grid trading with dry-run preview
- Discover Cardano DEX liquidity β Aggregated token prices and pool discovery via on-chain data
Installation
npm install -g @qbtlabs/openmm-mcp
Or run directly:
npx @qbtlabs/openmm-mcp
Available Tools
| Tool | Description | Parameters |
|---|---|---|
get_ticker | Real-time price, bid/ask, spread, volume | exchange, symbol |
get_orderbook | Order book depth (bids/asks) | exchange, symbol, limit? |
get_trades | Recent trades with buy/sell summary | exchange, symbol, limit? |
get_balance | Account balances (all or filtered) | exchange, asset? |
list_orders | Open orders (all or by symbol) | exchange, symbol? |
create_order | Place limit or market order | exchange, symbol, type, side, amount, price? |
cancel_order | Cancel order by ID | exchange, symbol, orderId |
cancel_all_orders | Cancel all orders for a pair | exchange, symbol |
start_grid_strategy | Calculate and place grid orders | exchange, symbol, levels?, spacing?, orderSize?, spacingModel?, sizeModel?, dryRun? |
stop_strategy | Cancel all orders for a pair | exchange, symbol |
get_strategy_status | Grid status with open orders and spread | exchange, symbol |
get_cardano_price | Aggregated Cardano token price from DEXes | symbol |
discover_pools | Discover Cardano DEX liquidity pools | symbol |
MCP Resources
| URI | Description |
|---|---|
exchanges://list | Supported exchanges with credential requirements |
strategies://grid | Grid trading strategy documentation |
strategies://grid/profiles | Example grid profiles (conservative/moderate/aggressive) |
Prompts
| Prompt | Description |
|---|---|
market_analysis | Analyze ticker + order book + trades for a pair |
portfolio_overview | Summarize balances and open orders |
grid_setup_advisor | Recommend grid config based on market analysis |
Supported Exchanges
- MEXC β
MEXC_API_KEY,MEXC_SECRET_KEY - Bitget β
BITGET_API_KEY,BITGET_SECRET,BITGET_PASSPHRASE - Gate.io β
GATEIO_API_KEY,GATEIO_SECRET - Kraken β
KRAKEN_API_KEY,KRAKEN_SECRET
Framework Setup
Claude Code
claude mcp add openmm -- npx @qbtlabs/openmm-mcp
Set your exchange API keys as environment variables before launching Claude Code.
Claude Desktop
Add to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"openmm": {
"command": "npx",
"args": ["@qbtlabs/openmm-mcp"],
"env": {
"MEXC_API_KEY": "your_key",
"MEXC_SECRET_KEY": "your_secret",
"KRAKEN_API_KEY": "your_key",
"KRAKEN_SECRET": "your_secret"
}
}
}
}
Cursor
Add to .cursor/mcp.json in your project:
{
"mcpServers": {
"openmm": {
"command": "npx",
"args": ["@qbtlabs/openmm-mcp"],
"env": {
"MEXC_API_KEY": "your_key",
"MEXC_SECRET_KEY": "your_secret"
}
}
}
}
Windsurf
Add to ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"openmm": {
"command": "npx",
"args": ["@qbtlabs/openmm-mcp"],
"env": {
"MEXC_API_KEY": "your_key",
"MEXC_SECRET_KEY": "your_secret"
}
}
}
}
Docker
docker build -t openmm-mcp .
docker run -e MEXC_API_KEY=your_key -e MEXC_SECRET_KEY=your_secret openmm-mcp
Remote Server
Connect directly to the hosted server β no local install required:
https://openmm-mcp.qbtlabs.io/mcp
Any MCP-Compatible Client
The server uses stdio transport by default. Point your client at:
npx @qbtlabs/openmm-mcp
Pass exchange credentials as environment variables (see Supported Exchanges).
HTTP Mode
Run the server with HTTP transport (Streamable HTTP + SSE):
MCP_TRANSPORT=http PORT=3000 npx @qbtlabs/openmm-mcp
POST /mcpβ MCP endpointGET /healthβ Health check
Example Usage
Check a ticker price:
{
"tool": "get_ticker",
"arguments": {
"exchange": "mexc",
"symbol": "BTC/USDT"
}
}
Place a limit buy order:
{
"tool": "create_order",
"arguments": {
"exchange": "kraken",
"symbol": "ETH/USDT",
"type": "limit",
"side": "buy",
"amount": 0.5,
"price": 2400
}
}
Preview a grid strategy (dry run):
{
"tool": "start_grid_strategy",
"arguments": {
"exchange": "mexc",
"symbol": "INDY/USDT",
"levels": 5,
"spacing": 0.02,
"orderSize": 50,
"dryRun": true
}
}
Get aggregated Cardano DEX price:
{
"tool": "get_cardano_price",
"arguments": {
"symbol": "INDY"
}
}
Development
git clone https://github.com/QBT-Labs/openMM-mcp-agent.git
cd openMM-mcp-agent
npm install
cp .env.example .env # Edit with your API keys
npm run typecheck # Type checking
npm run lint # Linting
npm run format:check # Format checking
npm test # Run tests
npm run build # Build to dist/
Resources
- OpenMM SDK β Underlying trading SDK
- npm package β Published package
- MCP Specification β Model Context Protocol docs
- QBT Labs β Organization
Contributing
See CONTRIBUTING.md for guidelines on submitting issues and pull requests.
License
MIT
