@ironflowsh/mcp 0.8.0 → 0.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -1
- package/build/api.d.ts +1 -0
- package/build/api.d.ts.map +1 -1
- package/build/api.js +13 -0
- package/build/api.js.map +1 -1
- package/build/budget.d.ts +3 -0
- package/build/budget.d.ts.map +1 -0
- package/build/budget.js +61 -0
- package/build/budget.js.map +1 -0
- package/build/query.d.ts +21 -0
- package/build/query.d.ts.map +1 -0
- package/build/query.js +93 -0
- package/build/query.js.map +1 -0
- package/build/schemas.d.ts +3 -0
- package/build/schemas.d.ts.map +1 -0
- package/build/schemas.js +480 -0
- package/build/schemas.js.map +1 -0
- package/build/server.d.ts +1 -0
- package/build/server.d.ts.map +1 -1
- package/build/server.js +38 -4
- package/build/server.js.map +1 -1
- package/build/shape.d.ts +35 -0
- package/build/shape.d.ts.map +1 -0
- package/build/shape.js +56 -0
- package/build/shape.js.map +1 -0
- package/build/snapshot.d.ts +22 -0
- package/build/snapshot.d.ts.map +1 -0
- package/build/snapshot.js +40 -0
- package/build/snapshot.js.map +1 -0
- package/build/tools.d.ts.map +1 -1
- package/build/tools.js +93 -13
- package/build/tools.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
# @ironflowsh/mcp
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
[](https://smithery.ai/servers/ironflow/hyperliquid)
|
|
4
|
+
|
|
5
|
+
MCP server for [Ironflow](https://ironflow.sh): read-only Hyperliquid market data and wallet analytics for Claude, Cursor and any MCP client. It covers native perps, HIP-3 builder markets, HIP-4 outcome markets and spot. 36 tools, all read-only, including `run_query` for read-only SQL over every Hyperliquid fill, wallet, funding and liquidation table.
|
|
4
6
|
|
|
5
7
|
No API key needed to start: keyless calls get 10 requests per minute and 24 hours of history. A free key from [ironflow.sh/key](https://ironflow.sh/key) raises that to 60 requests per minute and 30 days.
|
|
6
8
|
|
|
@@ -67,6 +69,8 @@ To host the HTTP server yourself: `npx -y -p @ironflowsh/mcp ironflow-mcp-http`
|
|
|
67
69
|
|
|
68
70
|
## Tools
|
|
69
71
|
|
|
72
|
+
**Ask anything (SQL):** `describe_data` lists the queryable tables, columns and example queries; `run_query` runs one read-only ClickHouse SELECT over them (every fill, per-wallet daily totals, behaviour labels, funding, mark and oracle prices, open interest, liquidations, builder-code fills, transfers, vault flows); `get_wallet_behavior` returns 30-day trading-style labels per wallet. Keyless queries see the last 24 hours; a free key sees 30 days.
|
|
73
|
+
|
|
70
74
|
**Market data:** `get_price`, `get_recent_trades`, `get_candles`, `get_funding_rates`, `get_open_interest`, `get_liquidations`, `get_liquidation_summary`, `get_fills`, `get_mark_prices`, `get_vault_operations`, `list_markets`, `get_markets_snapshot`
|
|
71
75
|
|
|
72
76
|
**Market analytics:** `get_funding_stats`, `get_pnl_leaderboard`, `get_market_top_wallets`, `get_wallet_labels`, `get_liquidation_levels` and `get_vault_leaderboard` (these two need a Builder or Enterprise key)
|
package/build/api.d.ts
CHANGED
|
@@ -8,6 +8,7 @@ export declare class IronflowAPI {
|
|
|
8
8
|
private headers;
|
|
9
9
|
private apiError;
|
|
10
10
|
get(path: string, params?: Record<string, string>): Promise<unknown>;
|
|
11
|
+
post(path: string, body: unknown): Promise<unknown>;
|
|
11
12
|
getPrice(market: string): Promise<string>;
|
|
12
13
|
getRecentTrades(market: string, limit?: string): Promise<unknown>;
|
|
13
14
|
getCandles(market: string, interval?: string, limit?: string): Promise<unknown>;
|
package/build/api.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"AAKA,qBAAa,WAAW;IACtB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,MAAM,CAAC,CAAS;IACxB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,YAAY,CAAC,CAAS;gBAK5B,OAAO,SAAmB,EAC1B,MAAM,CAAC,EAAE,MAAM,EACf,MAAM,SAAiB,EACvB,OAAO,SAAY,EACnB,YAAY,CAAC,EAAE,MAAM;IASvB,OAAO,CAAC,OAAO;YAcD,QAAQ;IAiBhB,GAAG,CACP,IAAI,EAAE,MAAM,EACZ,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,GAClC,OAAO,CAAC,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
|
package/build/api.js
CHANGED
|
@@ -64,6 +64,19 @@ export class IronflowAPI {
|
|
|
64
64
|
}
|
|
65
65
|
return res.text();
|
|
66
66
|
}
|
|
67
|
+
// post sends a JSON body and returns the parsed JSON response.
|
|
68
|
+
async post(path, body) {
|
|
69
|
+
const url = new URL(path, this.baseUrl);
|
|
70
|
+
const res = await fetch(url.toString(), {
|
|
71
|
+
method: "POST",
|
|
72
|
+
headers: this.headers(),
|
|
73
|
+
body: JSON.stringify(body),
|
|
74
|
+
});
|
|
75
|
+
if (!res.ok) {
|
|
76
|
+
throw await this.apiError(res);
|
|
77
|
+
}
|
|
78
|
+
return res.json();
|
|
79
|
+
}
|
|
67
80
|
// ─── Convenience methods ──────────────────────────────────────────────
|
|
68
81
|
async getPrice(market) {
|
|
69
82
|
const resp = (await this.get("/v1/mark-prices", { market, limit: "1" }));
|
package/build/api.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"budget.d.ts","sourceRoot":"","sources":["../src/budget.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,gBAAgB,QAAS,CAAC;AA+BvC,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,SAAmB,GAAG,MAAM,CA0B/E"}
|
package/build/budget.js
ADDED
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
// Size budget for tool results. MCP clients cap a single tool result (Claude
|
|
2
|
+
// Code at 25k tokens; JSON full of hex addresses and numbers runs about 2.2
|
|
3
|
+
// characters per token, so ~55k characters already fails) and fail the call
|
|
4
|
+
// when it is larger, so a broad query would return nothing at all. Results are
|
|
5
|
+
// sent as compact JSON, and anything still over budget has its largest list
|
|
6
|
+
// or map trimmed from the end (lists are ranked, so the head is kept) with a
|
|
7
|
+
// note telling the model how to narrow the query.
|
|
8
|
+
export const MAX_RESULT_CHARS = 40_000;
|
|
9
|
+
const isPlainObject = (v) => typeof v === "object" && v !== null && !Array.isArray(v);
|
|
10
|
+
// collections lists the arrays and maps at the root and one level down.
|
|
11
|
+
function collections(root) {
|
|
12
|
+
const out = [];
|
|
13
|
+
const visit = (owner, prefix, depth) => {
|
|
14
|
+
for (const [key, v] of Object.entries(owner)) {
|
|
15
|
+
if (Array.isArray(v) || isPlainObject(v)) {
|
|
16
|
+
out.push({ owner, key, path: prefix + key, size: JSON.stringify(v).length });
|
|
17
|
+
}
|
|
18
|
+
if (isPlainObject(v) && depth === 0)
|
|
19
|
+
visit(v, `${prefix}${key}.`, 1);
|
|
20
|
+
}
|
|
21
|
+
};
|
|
22
|
+
visit(root, "", 0);
|
|
23
|
+
return out;
|
|
24
|
+
}
|
|
25
|
+
const countOf = (v) => (Array.isArray(v) ? v.length : Object.keys(v).length);
|
|
26
|
+
function keepFirst(v, n) {
|
|
27
|
+
if (Array.isArray(v))
|
|
28
|
+
return v.slice(0, n);
|
|
29
|
+
return Object.fromEntries(Object.entries(v).slice(0, n));
|
|
30
|
+
}
|
|
31
|
+
// fitToBudget serializes value as compact JSON no longer than maxChars when
|
|
32
|
+
// trimming can get it there.
|
|
33
|
+
export function fitToBudget(value, maxChars = MAX_RESULT_CHARS) {
|
|
34
|
+
let text = JSON.stringify(value);
|
|
35
|
+
if (text.length <= maxChars || !isPlainObject(value))
|
|
36
|
+
return text;
|
|
37
|
+
const root = { ...value };
|
|
38
|
+
const trimmed = new Map();
|
|
39
|
+
for (let round = 0; round < 30 && text.length > maxChars; round++) {
|
|
40
|
+
// The largest collection that still has something to cut.
|
|
41
|
+
const target = collections(root)
|
|
42
|
+
.filter((c) => countOf(c.owner[c.key]) > 1)
|
|
43
|
+
.sort((a, b) => b.size - a.size)[0];
|
|
44
|
+
if (!target)
|
|
45
|
+
break;
|
|
46
|
+
const current = target.owner[target.key];
|
|
47
|
+
const count = countOf(current);
|
|
48
|
+
const excess = text.length - maxChars * 0.95;
|
|
49
|
+
const keep = Math.max(1, Math.min(count - 1, Math.floor(count * (1 - excess / target.size))));
|
|
50
|
+
target.owner[target.key] = keepFirst(current, keep);
|
|
51
|
+
const prev = trimmed.get(target.path);
|
|
52
|
+
trimmed.set(target.path, { from: prev?.from ?? count, to: keep });
|
|
53
|
+
root.truncated = [...trimmed]
|
|
54
|
+
.map(([path, t]) => `${path} trimmed from ${t.from} to ${t.to} entries`)
|
|
55
|
+
.join("; ")
|
|
56
|
+
.concat(". The result was too large for one tool call; narrow the query (market, address, window, limit or search) to see the rest.");
|
|
57
|
+
text = JSON.stringify(root);
|
|
58
|
+
}
|
|
59
|
+
return text;
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=budget.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"budget.js","sourceRoot":"","sources":["../src/budget.ts"],"names":[],"mappings":"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"}
|
package/build/query.d.ts
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { IronflowAPI } from "./api.js";
|
|
2
|
+
export declare const BEHAVIOR_LABELS: readonly ["market_maker", "high_frequency", "whale", "directional", "consistent_winner", "big_loser", "revenge_sizing", "often_liquidated", "hip3_trader", "spot_trader", "prediction_trader"];
|
|
3
|
+
export declare const BEHAVIOR_SORT_KEYS: readonly ["volume", "pnl", "fills", "liquidations"];
|
|
4
|
+
type BehaviorSort = (typeof BEHAVIOR_SORT_KEYS)[number];
|
|
5
|
+
export declare const MAX_BEHAVIOR_ADDRESSES = 50;
|
|
6
|
+
export declare const MAX_BEHAVIOR_LIMIT = 100;
|
|
7
|
+
export interface BehaviorQuery {
|
|
8
|
+
addresses: string[];
|
|
9
|
+
label: string;
|
|
10
|
+
sortBy: BehaviorSort;
|
|
11
|
+
limit: number;
|
|
12
|
+
minVolumeUsd: number;
|
|
13
|
+
}
|
|
14
|
+
export declare function behaviorSQL(q: BehaviorQuery): string;
|
|
15
|
+
export declare function runQuery(api: IronflowAPI, sql: string, maxRows: number): Promise<unknown>;
|
|
16
|
+
export declare function rowsToObjects(result: {
|
|
17
|
+
columns: string[];
|
|
18
|
+
rows: unknown[][];
|
|
19
|
+
}): Record<string, unknown>[];
|
|
20
|
+
export {};
|
|
21
|
+
//# sourceMappingURL=query.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../src/query.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAEvC,eAAO,MAAM,eAAe,gMAYlB,CAAC;AAEX,eAAO,MAAM,kBAAkB,qDAAsD,CAAC;AACtF,KAAK,YAAY,GAAG,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC;AASxD,eAAO,MAAM,sBAAsB,KAAK,CAAC;AACzC,eAAO,MAAM,kBAAkB,MAAM,CAAC;AAItC,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,YAAY,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;CACtB;AAID,wBAAgB,WAAW,CAAC,CAAC,EAAE,aAAa,GAAG,MAAM,CAuCpD;AAcD,wBAAsB,QAAQ,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAY/F;AAID,wBAAgB,aAAa,CAAC,MAAM,EAAE;IAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IAAC,IAAI,EAAE,OAAO,EAAE,EAAE,CAAA;CAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAEzG"}
|
package/build/query.js
ADDED
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
// SQL query tools: run_query passes the caller's SQL to POST /v1/query;
|
|
2
|
+
// get_wallet_behavior builds a fixed query over hl.wallet_behavior from
|
|
3
|
+
// validated inputs (addresses, a label from a fixed list), so no caller text
|
|
4
|
+
// is ever spliced into SQL.
|
|
5
|
+
export const BEHAVIOR_LABELS = [
|
|
6
|
+
"market_maker",
|
|
7
|
+
"high_frequency",
|
|
8
|
+
"whale",
|
|
9
|
+
"directional",
|
|
10
|
+
"consistent_winner",
|
|
11
|
+
"big_loser",
|
|
12
|
+
"revenge_sizing",
|
|
13
|
+
"often_liquidated",
|
|
14
|
+
"hip3_trader",
|
|
15
|
+
"spot_trader",
|
|
16
|
+
"prediction_trader",
|
|
17
|
+
];
|
|
18
|
+
export const BEHAVIOR_SORT_KEYS = ["volume", "pnl", "fills", "liquidations"];
|
|
19
|
+
const SORT_COLUMN = {
|
|
20
|
+
volume: "volume_usd",
|
|
21
|
+
pnl: "realized_pnl_usd",
|
|
22
|
+
fills: "fills",
|
|
23
|
+
liquidations: "liquidations",
|
|
24
|
+
};
|
|
25
|
+
export const MAX_BEHAVIOR_ADDRESSES = 50;
|
|
26
|
+
export const MAX_BEHAVIOR_LIMIT = 100;
|
|
27
|
+
const ADDRESS_RE = /^0x[0-9a-f]{40}$/;
|
|
28
|
+
// behaviorSQL returns the SELECT for get_wallet_behavior. Every input is
|
|
29
|
+
// validated here; anything unexpected throws instead of reaching SQL.
|
|
30
|
+
export function behaviorSQL(q) {
|
|
31
|
+
const where = [];
|
|
32
|
+
if (q.addresses.length > 0) {
|
|
33
|
+
if (q.addresses.length > MAX_BEHAVIOR_ADDRESSES) {
|
|
34
|
+
throw new Error(`at most ${MAX_BEHAVIOR_ADDRESSES} addresses per call`);
|
|
35
|
+
}
|
|
36
|
+
const addrs = q.addresses.map((a) => a.trim().toLowerCase());
|
|
37
|
+
for (const a of addrs) {
|
|
38
|
+
if (!ADDRESS_RE.test(a))
|
|
39
|
+
throw new Error(`not a wallet address: ${a}`);
|
|
40
|
+
}
|
|
41
|
+
where.push(`address IN (${addrs.map((a) => `'${a}'`).join(", ")})`);
|
|
42
|
+
}
|
|
43
|
+
if (q.label) {
|
|
44
|
+
if (!BEHAVIOR_LABELS.includes(q.label)) {
|
|
45
|
+
throw new Error(`label must be one of: ${BEHAVIOR_LABELS.join(", ")}`);
|
|
46
|
+
}
|
|
47
|
+
where.push(`has(labels, '${q.label}')`);
|
|
48
|
+
}
|
|
49
|
+
if (!Number.isFinite(q.minVolumeUsd) || q.minVolumeUsd < 0) {
|
|
50
|
+
throw new Error("min_volume_usd must be zero or more");
|
|
51
|
+
}
|
|
52
|
+
if (q.minVolumeUsd > 0)
|
|
53
|
+
where.push(`volume_usd >= ${Math.floor(q.minVolumeUsd)}`);
|
|
54
|
+
const limit = Math.min(Math.max(1, Math.floor(q.limit)), MAX_BEHAVIOR_LIMIT);
|
|
55
|
+
const col = SORT_COLUMN[q.sortBy];
|
|
56
|
+
if (!col)
|
|
57
|
+
throw new Error(`sort_by must be one of: ${BEHAVIOR_SORT_KEYS.join(", ")}`);
|
|
58
|
+
return [
|
|
59
|
+
"SELECT address, labels, active_days, round(volume_usd) AS volume_usd, fills,",
|
|
60
|
+
" round(realized_pnl_usd) AS realized_pnl_usd, round(maker_share, 3) AS maker_share,",
|
|
61
|
+
" round(flow_imbalance, 3) AS flow_imbalance, round(avg_fill_usd) AS avg_fill_usd,",
|
|
62
|
+
" round(fills_per_day, 1) AS fills_per_day, round(green_day_share, 3) AS green_day_share,",
|
|
63
|
+
" round(profit_factor, 2) AS profit_factor, markets_traded, liquidations,",
|
|
64
|
+
" round(revenge_ratio, 2) AS revenge_ratio, as_of",
|
|
65
|
+
"FROM hl.wallet_behavior",
|
|
66
|
+
where.length ? `WHERE ${where.join(" AND ")}` : "",
|
|
67
|
+
`ORDER BY ${col} DESC`,
|
|
68
|
+
`LIMIT ${limit}`,
|
|
69
|
+
]
|
|
70
|
+
.filter(Boolean)
|
|
71
|
+
.join("\n");
|
|
72
|
+
}
|
|
73
|
+
// runQuery calls POST /v1/query and returns a compact shape: column names
|
|
74
|
+
// once, then positional rows.
|
|
75
|
+
export async function runQuery(api, sql, maxRows) {
|
|
76
|
+
const res = (await api.post("/v1/query", { sql, max_rows: maxRows }));
|
|
77
|
+
return {
|
|
78
|
+
columns: res.columns.map((c) => c.name),
|
|
79
|
+
column_types: res.columns.map((c) => c.type),
|
|
80
|
+
rows: res.rows,
|
|
81
|
+
row_count: res.row_count,
|
|
82
|
+
truncated: res.truncated,
|
|
83
|
+
stats: res.stats,
|
|
84
|
+
limits: res.limits,
|
|
85
|
+
budget_remaining_seconds: res.budget_remaining_seconds,
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
// rowsToObjects turns positional rows into objects keyed by column name,
|
|
89
|
+
// for tools whose callers read single wallets.
|
|
90
|
+
export function rowsToObjects(result) {
|
|
91
|
+
return result.rows.map((r) => Object.fromEntries(result.columns.map((c, i) => [c, r[i]])));
|
|
92
|
+
}
|
|
93
|
+
//# sourceMappingURL=query.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"query.js","sourceRoot":"","sources":["../src/query.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"AAMA,MAAM,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAgH7C,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAichD,CAAC"}
|