MCP-Coinglass
by GPSxtreme
README.md
# MCP-Coinglass
This project implements a Model Context Protocol (MCP) server for the CoinGlass API (v4). It lets MCP-compatible clients (AI assistants, IDE extensions, or custom apps) access futures market analytics such as Open Interest, Liquidations, Long/Short Ratio, and Funding Rates.
## Features (MCP Tools)
The server exposes the following tools that MCP clients can call:
- COINGLASS_OPEN_INTEREST: Open interest exchange list for a symbol; optional history
- Parameters: symbol (string), exchange? (string), includeHistory? (boolean), period? ("1h" | "4h" | "12h" | "24h")
- COINGLASS_LIQUIDATIONS_PAIR: Historical pair liquidations (v4 /api/futures/liquidation/history)
- Parameters: exchange (string), symbol (string), interval? ("1m"|"3m"|"5m"|"15m"|"30m"|"1h"|"4h"|"6h"|"8h"|"12h"|"1d"|"1w"), limit?, start_time?, end_time?, prettyFormat? (default: true)
- COINGLASS_LIQUIDATIONS_COIN: Aggregated coin liquidations (v4 /api/futures/liquidation/aggregated-history)
- Parameters: exchange_list (string), symbol (string), interval? (same as above), limit?, start_time?, end_time?, prettyFormat? (default: true)
- COINGLASS_LONG_SHORT_RATIO: Global account long/short ratio snapshot
- Parameters: symbol (string), exchange? (string), period? ("1h" | "4h" | "12h" | "24h"), prettyFormat? (boolean, default: true)
- COINGLASS_FUNDING_RATE: Current funding rate across exchanges
- Parameters: symbol (string), exchange? (string), prettyFormat? (boolean, default: true)
- COINGLASS_HYPERLIQUID_WHALE_ALERT: Real-time Hyperliquid whale alerts (>$1M)
- Parameters: prettyFormat? (boolean, default: true)
- COINGLASS_HYPERLIQUID_WHALE_POSITION: Real-time Hyperliquid whale positions (>$1M)
- Parameters: prettyFormat? (boolean, default: true)
Tool call responses always return a success code even in case of api errors. In case of error tool response includes the raw api response.
## Prerequisites
- Node.js v20+ (CI uses Node 22)
- pnpm (https://pnpm.io/installation)
## Installation
There are a few ways to run mcp-coinglass:
1) Using pnpm dlx (recommended for most MCP client setups)
Run the published package directly without a global install. See the MCP client config example below.
2) Global installation from npm (via pnpm)
```bash
pnpm add -g mcp-coinglass
```
3) Building from source (development)
```bash
pnpm install
pnpm run build
pnpm run start
```
4) For testing and development purposes use mcp inspector
```bash
# in the project root run,
pnpm run build
npx @modelcontextprotocol/inspector node dist/index.js
```
## Configuration (Environment Variables)
This server requires a CoinGlass API key. All CoinGlass v4 endpoints require the CG-API-KEY header. Generate your API key from your account dashboard and supply it via environment variables. References:
- Authentication docs: https://docs.coinglass.com/reference/authentication
- Account/API key dashboard: https://www.coinglass.com/account
Create a .env file (or configure env in your MCP client) with:
```bash
COINGLASS_API_KEY=your_api_key_here
```
An .env.sample file is included as a reference; copy it to .env and fill in your key.
**NOTE: All the available tools require an upgraded coinglass api plan to work**
## Running the Server with an MCP Client
MCP clients (assistants, IDE extensions) run this server as a background process. Configure your client with a server entry similar to the following.
Using pnpm dlx:
```json
{
"mcpServers": {
"coinglass-mcp-server": {
"command": "pnpm",
"args": ["dlx", "mcp-coinglass"],
"env": {
"COINGLASS_API_KEY": "your_api_key_here"
}
}
}
}
```
If globally installed (pnpm add -g mcp-coinglass):
```json
{
"mcpServers": {
"coinglass-mcp-server": {
"command": "mcp-coinglass",
"args": [],
"env": {
"COINGLASS_API_KEY": "your_api_key_here"
}
}
}
}
```
## Example Tool Invocations
MCP clients pass JSON parameters to tools. Examples:
```json
{ "tool": "COINGLASS_OPEN_INTEREST", "params": { "symbol": "BTC", "includeHistory": true, "period": "24h" } }
```
```json
{ "tool": "COINGLASS_LIQUIDATIONS", "params": { "symbol": "BTCUSDT", "timeframe": "4h" } }
```
```json
{ "tool": "COINGLASS_LIQUIDATIONS_PAIR", "params": { "exchange": "Binance", "symbol": "BTCUSDT", "interval": "4h" } }
```
```json
{ "tool": "COINGLASS_LIQUIDATIONS_COIN", "params": { "exchange_list": "Binance,OKX,Bybit", "symbol": "BTC", "interval": "1d" } }
```
```json
{ "tool": "COINGLASS_LONG_SHORT_RATIO", "params": { "symbol": "ETH", "period": "1h" } }
```
```json
{ "tool": "COINGLASS_FUNDING_RATE", "params": { "symbol": "SOL" } }
```
```json
{ "tool": "COINGLASS_HYPERLIQUID_WHALE_ALERT", "params": {} }
```
```json
{ "tool": "COINGLASS_HYPERLIQUID_WHALE_POSITION", "params": {} }
```
### Default Human-Readable Output Examples (prettyFormat=true)
These are the default formatted outputs. Set `prettyFormat` to `false` to receive raw API-shaped responses.
#### Funding Rate
```text
Funding Rate for BTCUSDT:
Average: 0.0100% | Next Funding: 2024-08-06T08:00:00.000Z
Exchanges: 12
{
"averageRate": 0.0001,
"nextFundingTime": 1722960000000,
"exchanges": [
{ "exchange": "Binance", "rate": -0.0000335, "predictedRate": -0.00002, "nextFundingTime": 1722960000000 }
// ...
]
}
```
#### Open Interest
```text
Open Interest for BTCUSDT:
Total OI (All): $123456789
24h Change: 2.34%
{
"exchangeList": [ /* ... */ ],
"history": { /* optional when includeHistory=true */ }
}
```
#### Liquidations (Pair)
```text
Liquidations (Pair) for BTCUSDT [48 points]:
Latest: Long $1.23M | Short $2.34M
Totals: Long $56.78M | Short $67.89M
{
"latest": { /* latest data point */ },
"totals": { "long": 56780000, "short": 67890000 },
"points": [ /* ... */ ]
}
```
#### Liquidations (Coin Aggregated)
```text
Liquidations (Coin Aggregated) for BTC [48 points]:
Latest: Long $1.23M | Short $2.34M
Totals: Long $56.78M | Short $67.89M
{
"latest": { /* latest data point */ },
"totals": { "long": 56780000, "short": 67890000 },
"points": [ /* ... */ ]
}
```
#### Global Long/Short Account Ratio
```text
Long/Short Ratio for BTCUSDT:
Long: 73.24% | Short: 26.76% | Ratio: 2.74
{
"latest": { /* latest data point */ },
"points": [ /* ... */ ]
}
```
#### Hyperliquid Whale Alert
```text
Hyperliquid Whale Alerts: 8 events
Top 5 by position value:
{
"top": [
{ "user": "0xabc...", "symbol": "BTC", "positionValueUsd": 2936421.48, "positionAction": 2, "createTime": 1745219477000 }
// ...
],
"events": [ /* ... */ ]
}
```
#### Hyperliquid Whale Position
```text
Hyperliquid Whale Positions: 6 positions (top 5 by value)
{
"top": [
{ "user": "0xdef...", "symbol": "ETH", "positionSize": -44727.13, "positionValueUsd": 73589542.55, "leverage": 25, "unrealizedPnl": 27033236.42, "marginMode": "cross", "updateTime": 1745219966000 }
// ...
],
"positions": [ /* ... */ ]
}
```
## Scripts
- pnpm run build: Compile TypeScript to dist/ and make output executable
- pnpm run start: Run the built server over stdio (for MCP)
- pnpm run lint: Lint via Biome
- pnpm run format: Format via Biome
## Endpoint References (v4)
This server calls these REST endpoints:
- Open Interest Exchange List: GET /api/futures/open-interest/exchange-list
- Open Interest History (OHLC): GET /api/futures/open-interest/history
- Liquidations History: GET /api/futures/liquidation/history
- Global Long/Short Account Ratio History: GET /api/futures/global-long-short-account-ratio/history
- Funding Rate Exchange List: GET /api/futures/funding-rate/exchange-list
Refer to the official docs for authentication and rate limits:
- https://docs.coinglass.com/reference/authentication
TDQS
A3.6/5.0
Scored across 7 tools
Disambiguation5/5
Each tool targets a distinct data type: funding rate, whale alerts/positions, liquidations (by coin and pair), long/short ratio, and open interest. No overlap in purpose.
Naming Consistency5/5
All tools follow the uniform pattern COINGLASS_<DOMAIN> with uppercase and underscores, making them predictable and easy to parse.
Tool Count5/5
Seven tools cover the core Coinglass API metrics without unnecessary bloat, well-scoped for a data retrieval server.
Completeness4/5
Covers major Coinglass indicators (funding, whales, liquidations, long/short, OI). Minor gap: funding rate history is not explicitly provided, but core functionality is present.
Maintenance
ActivityInactive
ResponsivenessNo issues