High-performance CCXT MCP server for cryptocurrency exchange integration
High-performance cryptocurrency exchange integration using MCP (Model Context Protocol) and CCXT.
The CCXT MCP Server connects language models to cryptocurrency exchanges through the Model Context Protocol. It serves as a bridge that allows LLMs to access real-time market data and execute trading operations across multiple exchanges through a unified API.
The architecture includes:
The server is organized into three main modules for better maintainability and extensibility:
To install mcp-server-ccxt for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @doggybee/mcp-server-ccxt --client claude
You can install CCXT MCP Server from npm:
# Install globally
npm install -g @mcpfun/mcp-server-ccxt
# Start the server
mcp-server-ccxt
Or run directly:
npx @mcpfun/mcp-server-ccxt
Alternatively, you can clone and build the repository:
# Clone the repository
git clone https://github.com/doggybee/mcp-server-ccxt.git
cd mcp-server-ccxt
# Install dependencies
npm install
# Build the server
npm run build
# Start the server
npm start
Create an environment file
cp .env.example .env
Edit the .env
file to add your exchange API keys
# Default exchange (optional)
DEFAULT_EXCHANGE=binance
# Default market type (optional)
DEFAULT_MARKET_TYPE=spot
# API credentials (optional)
BINANCE_API_KEY=your_api_key
BINANCE_SECRET=your_api_secret
# Proxy configuration (optional)
USE_PROXY=false
PROXY_URL=http://username:password@your-proxy-server:port
# Legacy format (still supported but recommended to use the integrated URL format above)
# PROXY_USERNAME=
# PROXY_PASSWORD=
Note: If you encounter any issues with MCP communication, please see the Troubleshooting Guide for solutions.
Start the server:
# If installed globally via npm
mcp-server-ccxt
# If installed manually
npm start
claude_desktop_config.json
:If installed via npm (globally):
{
"mcpServers": {
"ccxt": {
"command": "mcp-server-ccxt"
}
}
}
If installed manually:
{
"mcpServers": {
"ccxt": {
"command": "node",
"args": [
"/path/to/mcp-server-ccxt/build/index.js"
]
}
}
}
You can also use this package as a module in your own Node.js projects:
// Import the CCXT MCP Server
import '@mcpfun/mcp-server-ccxt';
// The server starts automatically when imported
// You can configure it through environment variables
Here are some example queries you can use with the MCP server:
list-exchanges
: List all available cryptocurrency exchangesget-ticker
: Get current ticker information for a trading pairbatch-get-tickers
: Get ticker information for multiple trading pairs at onceget-orderbook
/ get-order-book
: Get market order book for a trading pairget-ohlcv
: Get OHLCV candlestick data for a trading pairget-trades
: Get recent trades for a trading pairget-markets
: Get all available markets for an exchangeget-exchange-info
: Get exchange information and statusget-leverage-tiers
: Get futures leverage tiersget-funding-rates
: Get current funding ratesget-positions
: Get open positions informationget-open-orders
: Get all open ordersget-order-history
: Get order historyaccount-balance
: Get your account balance from a crypto exchangeplace-market-order
: Place a market order on an exchangeplace-limit-order
: Place a limit order on an exchangecancel-order
: Cancel an existing ordercancel-all-orders
: Cancel all open ordersset-leverage
: Set leverage for futuresset-margin-mode
: Set margin mode for futuresplace-futures-market-order
: Place futures market ordersplace-futures-limit-order
: Place futures limit orderstransfer-funds
: Transfer funds between accounts (e.g., spot to futures)cache-stats
: Get CCXT cache statisticsclear-cache
: Clear CCXT cacheset-log-level
: Set logging levelget-proxy-config
: Get proxy settingsset-proxy-config
: Configure proxy settingsset-market-type
: Set default market typeset-default-exchange
: Change the default exchangesystem-info
: Get system and environment informationMCP-CCXT includes several optimizations to ensure high performance:
LRU Caching System:
Adaptive Rate Limiting:
Exchange Connection Management:
Create Dedicated API Keys:
Limit API Key Permissions:
Secure Storage:
.env
files that are excluded from git via .gitignore
This software is provided for informational purposes only. Using this software to interact with cryptocurrency exchanges involves significant risks:
This project is licensed under the MIT License - see the LICENSE.txt file for details.
This project uses the CCXT library (https://github.com/ccxt/ccxt), which is:
Copyright (c) 2016-2024 CCXT developers
CCXT is released under the MIT License, which is included below:
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
For issues, feature requests, or contributions, please visit the GitHub repository.