@flowframe22/mcp-server 0.2.0 → 0.2.3
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/dist/defineTool.d.ts +44 -0
- package/dist/defineTool.js +44 -0
- package/dist/defineTool.js.map +1 -0
- package/dist/tools.js +288 -150
- package/dist/tools.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `defineTool` — DRY wrapper for the FlowFrame MCP tool registration pattern.
|
|
3
|
+
*
|
|
4
|
+
* Every tool in `tools.ts` repeats the same skeleton:
|
|
5
|
+
*
|
|
6
|
+
* server.tool(name, description, inputSchema, async (args) => {
|
|
7
|
+
* try {
|
|
8
|
+
* const env = await client.get<...>(path, query);
|
|
9
|
+
* return formatEnvelope(title, env, body);
|
|
10
|
+
* } catch (err) {
|
|
11
|
+
* return formatError(err as FlowFrameApiError);
|
|
12
|
+
* }
|
|
13
|
+
* });
|
|
14
|
+
*
|
|
15
|
+
* `defineTool` factors out the try/catch + `formatError` boilerplate so a
|
|
16
|
+
* tool definition is just: input schema + `fetch(client, args)` + `format(env, args)`.
|
|
17
|
+
*
|
|
18
|
+
* Intentionally a thin helper. We do NOT take over input validation
|
|
19
|
+
* (zod still runs via `server.tool`), URL building (the FlowFrameClient
|
|
20
|
+
* already handles that), or formatting (callers still produce the
|
|
21
|
+
* `ToolResult` so each tool keeps its bespoke prose). The win is purely
|
|
22
|
+
* removing duplicated error-handling code from each tool.
|
|
23
|
+
*/
|
|
24
|
+
import { z, ZodRawShape } from 'zod';
|
|
25
|
+
import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
26
|
+
import { FlowFrameClient, type Envelope } from './client.js';
|
|
27
|
+
import { type ToolResult } from './formatter.js';
|
|
28
|
+
interface DefineToolConfig<Shape extends ZodRawShape, T> {
|
|
29
|
+
name: string;
|
|
30
|
+
description: string;
|
|
31
|
+
inputSchema: Shape;
|
|
32
|
+
/**
|
|
33
|
+
* Make the actual `/v1/*` call via the shared FlowFrameClient.
|
|
34
|
+
* Throwing FlowFrameApiError (or anything) routes through formatError.
|
|
35
|
+
*/
|
|
36
|
+
fetch: (client: FlowFrameClient, args: z.objectOutputType<Shape, z.ZodTypeAny>) => Promise<Envelope<T>>;
|
|
37
|
+
/**
|
|
38
|
+
* Project the envelope into a ToolResult (text + structuredContent).
|
|
39
|
+
* Use the `formatEnvelope` / `formatPlain` helpers from `./formatter.js`.
|
|
40
|
+
*/
|
|
41
|
+
format: (env: Envelope<T>, args: z.objectOutputType<Shape, z.ZodTypeAny>) => ToolResult;
|
|
42
|
+
}
|
|
43
|
+
export declare function defineTool<Shape extends ZodRawShape, T>(server: McpServer, client: FlowFrameClient, config: DefineToolConfig<Shape, T>): void;
|
|
44
|
+
export {};
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `defineTool` — DRY wrapper for the FlowFrame MCP tool registration pattern.
|
|
3
|
+
*
|
|
4
|
+
* Every tool in `tools.ts` repeats the same skeleton:
|
|
5
|
+
*
|
|
6
|
+
* server.tool(name, description, inputSchema, async (args) => {
|
|
7
|
+
* try {
|
|
8
|
+
* const env = await client.get<...>(path, query);
|
|
9
|
+
* return formatEnvelope(title, env, body);
|
|
10
|
+
* } catch (err) {
|
|
11
|
+
* return formatError(err as FlowFrameApiError);
|
|
12
|
+
* }
|
|
13
|
+
* });
|
|
14
|
+
*
|
|
15
|
+
* `defineTool` factors out the try/catch + `formatError` boilerplate so a
|
|
16
|
+
* tool definition is just: input schema + `fetch(client, args)` + `format(env, args)`.
|
|
17
|
+
*
|
|
18
|
+
* Intentionally a thin helper. We do NOT take over input validation
|
|
19
|
+
* (zod still runs via `server.tool`), URL building (the FlowFrameClient
|
|
20
|
+
* already handles that), or formatting (callers still produce the
|
|
21
|
+
* `ToolResult` so each tool keeps its bespoke prose). The win is purely
|
|
22
|
+
* removing duplicated error-handling code from each tool.
|
|
23
|
+
*/
|
|
24
|
+
import { formatError } from './formatter.js';
|
|
25
|
+
export function defineTool(server, client, config) {
|
|
26
|
+
// The MCP SDK's `server.tool` is heavily overloaded and TypeScript can't
|
|
27
|
+
// narrow our generic `Shape extends ZodRawShape` to the exact `ZodRawShape`
|
|
28
|
+
// shape its `BaseToolCallback` wants. The runtime contract is correct
|
|
29
|
+
// (zod schema in, ToolResult out), so we cast the callback to satisfy
|
|
30
|
+
// the picker. Don't widen this `any` — keep it scoped to the callback.
|
|
31
|
+
const cb = async (args) => {
|
|
32
|
+
try {
|
|
33
|
+
const env = await config.fetch(client, args);
|
|
34
|
+
return config.format(env, args);
|
|
35
|
+
}
|
|
36
|
+
catch (err) {
|
|
37
|
+
return formatError(err);
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
server.tool(config.name, config.description, config.inputSchema,
|
|
41
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
42
|
+
cb);
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=defineTool.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"defineTool.js","sourceRoot":"","sources":["../src/defineTool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAKH,OAAO,EAAE,WAAW,EAAmB,MAAM,gBAAgB,CAAC;AAwB9D,MAAM,UAAU,UAAU,CACxB,MAAiB,EACjB,MAAuB,EACvB,MAAkC;IAElC,yEAAyE;IACzE,4EAA4E;IAC5E,sEAAsE;IACtE,sEAAsE;IACtE,uEAAuE;IACvE,MAAM,EAAE,GAAG,KAAK,EAAE,IAA6C,EAAE,EAAE;QACjE,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YAC7C,OAAO,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAClC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,WAAW,CAAC,GAAwB,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC,CAAC;IACF,MAAM,CAAC,IAAI,CACT,MAAM,CAAC,IAAI,EACX,MAAM,CAAC,WAAW,EAClB,MAAM,CAAC,WAAW;IAClB,8DAA8D;IAC9D,EAAS,CACV,CAAC;AACJ,CAAC"}
|
package/dist/tools.js
CHANGED
|
@@ -7,7 +7,8 @@
|
|
|
7
7
|
* server and one Claude ignores.
|
|
8
8
|
*/
|
|
9
9
|
import { z } from "zod";
|
|
10
|
-
import {
|
|
10
|
+
import { defineTool } from "./defineTool.js";
|
|
11
|
+
import { formatEnvelope, formatError, fmtPct, fmtPrice, fmtUsd } from "./formatter.js";
|
|
11
12
|
const SPEAKER_SLUGS = [
|
|
12
13
|
"donald-trump",
|
|
13
14
|
"jd-vance",
|
|
@@ -22,11 +23,14 @@ export function registerTools(server, client) {
|
|
|
22
23
|
// ─────────────────────────────────────────────────────────────────────────
|
|
23
24
|
// Ping — install/health check
|
|
24
25
|
// ─────────────────────────────────────────────────────────────────────────
|
|
25
|
-
server
|
|
26
|
-
|
|
27
|
-
"
|
|
28
|
-
|
|
29
|
-
|
|
26
|
+
defineTool(server, client, {
|
|
27
|
+
name: "flowframe_ping",
|
|
28
|
+
description: "Health check for the FlowFrame MCP server. Confirms that FLOWFRAME_API_KEY is " +
|
|
29
|
+
"configured correctly and that the FlowFrame API is reachable. Returns the key id " +
|
|
30
|
+
"and tier on success. Use this first if any other FlowFrame tool is failing.",
|
|
31
|
+
inputSchema: {},
|
|
32
|
+
fetch: (c) => c.get("/_ping"),
|
|
33
|
+
format: (env) => {
|
|
30
34
|
const d = env.data;
|
|
31
35
|
const body = [
|
|
32
36
|
`OK — FlowFrame API is reachable.`,
|
|
@@ -34,38 +38,38 @@ export function registerTools(server, client) {
|
|
|
34
38
|
`Tier: ${d.tier}`,
|
|
35
39
|
].join("\n");
|
|
36
40
|
return formatEnvelope("FlowFrame ping:", env, body);
|
|
37
|
-
}
|
|
38
|
-
catch (err) {
|
|
39
|
-
return formatError(err);
|
|
40
|
-
}
|
|
41
|
+
},
|
|
41
42
|
});
|
|
42
43
|
// ─────────────────────────────────────────────────────────────────────────
|
|
43
44
|
// Pulse — FlowFrame's own market analysis feed
|
|
44
45
|
// ─────────────────────────────────────────────────────────────────────────
|
|
45
|
-
server
|
|
46
|
-
"
|
|
47
|
-
"
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
.
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
46
|
+
defineTool(server, client, {
|
|
47
|
+
name: "flowframe_list_pulse",
|
|
48
|
+
description: "List recent FlowFrame Pulse items — short-form analysis written by FlowFrame about " +
|
|
49
|
+
"specific Polymarket and Kalshi markets. Use when the user asks 'what's new on FlowFrame', " +
|
|
50
|
+
"'what is FlowFrame saying about prediction markets lately', or wants original analysis " +
|
|
51
|
+
"rather than raw market data. Returns title, source, publish date, content, the underlying " +
|
|
52
|
+
"Polymarket conditionId (if any), and a permalink. Sorted newest first. " +
|
|
53
|
+
"Do NOT use for market price data — use flowframe_polymarket_movers for that.",
|
|
54
|
+
inputSchema: {
|
|
55
|
+
limit: z
|
|
56
|
+
.number()
|
|
57
|
+
.int()
|
|
58
|
+
.min(1)
|
|
59
|
+
.max(50)
|
|
60
|
+
.optional()
|
|
61
|
+
.describe("Number of items to return (default 10, max 50)."),
|
|
62
|
+
source: z
|
|
63
|
+
.string()
|
|
64
|
+
.optional()
|
|
65
|
+
.describe("Filter by source name (e.g., 'Polymarket', 'Kalshi'). Optional."),
|
|
66
|
+
since: z
|
|
67
|
+
.string()
|
|
68
|
+
.optional()
|
|
69
|
+
.describe("ISO 8601 timestamp; only return items published after this time."),
|
|
70
|
+
},
|
|
71
|
+
fetch: (c, { limit, source, since }) => c.get("/pulse", { limit: limit ?? 10, source, since }),
|
|
72
|
+
format: (env) => {
|
|
69
73
|
if (env.data.length === 0) {
|
|
70
74
|
return formatEnvelope("No FlowFrame Pulse items match those filters.", env, "");
|
|
71
75
|
}
|
|
@@ -82,22 +86,22 @@ export function registerTools(server, client) {
|
|
|
82
86
|
})
|
|
83
87
|
.join("\n\n");
|
|
84
88
|
return formatEnvelope(`FlowFrame Pulse — ${env.data.length} most recent item(s):`, env, body);
|
|
85
|
-
}
|
|
86
|
-
catch (err) {
|
|
87
|
-
return formatError(err);
|
|
88
|
-
}
|
|
89
|
+
},
|
|
89
90
|
});
|
|
90
|
-
server
|
|
91
|
-
"
|
|
92
|
-
"
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
.
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
91
|
+
defineTool(server, client, {
|
|
92
|
+
name: "flowframe_get_pulse_item",
|
|
93
|
+
description: "Fetch a single FlowFrame Pulse item by its slug or uuid. Use after flowframe_list_pulse " +
|
|
94
|
+
"when the user says 'open that one', 'show me the full text', or 'summarize the second " +
|
|
95
|
+
"item' — the slug from the list result goes here. Returns the full content (not truncated), " +
|
|
96
|
+
"title, source, publish date, conditionId, and permalink.",
|
|
97
|
+
inputSchema: {
|
|
98
|
+
identifier: z
|
|
99
|
+
.string()
|
|
100
|
+
.min(1)
|
|
101
|
+
.describe("The Pulse item slug (preferred — looks like 'trump-china-tariff-2026-04-01') or its uuid."),
|
|
102
|
+
},
|
|
103
|
+
fetch: (c, { identifier }) => c.get(`/pulse/${encodeURIComponent(identifier)}`),
|
|
104
|
+
format: (env) => {
|
|
101
105
|
const item = env.data;
|
|
102
106
|
const date = new Date(item.publishedAt).toISOString().slice(0, 10);
|
|
103
107
|
const body = [
|
|
@@ -108,23 +112,23 @@ export function registerTools(server, client) {
|
|
|
108
112
|
(item.content ?? "").trim(),
|
|
109
113
|
].join("\n");
|
|
110
114
|
return formatEnvelope("FlowFrame Pulse item:", env, body);
|
|
111
|
-
}
|
|
112
|
-
catch (err) {
|
|
113
|
-
return formatError(err);
|
|
114
|
-
}
|
|
115
|
+
},
|
|
115
116
|
});
|
|
116
|
-
server
|
|
117
|
-
|
|
118
|
-
"
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
117
|
+
defineTool(server, client, {
|
|
118
|
+
name: "flowframe_get_pulse_for_market",
|
|
119
|
+
description: "Get all FlowFrame Pulse items written about a specific Polymarket market, identified by " +
|
|
120
|
+
"its conditionId (a 0x-prefixed hex string from polymarket.com URLs or any Polymarket API). " +
|
|
121
|
+
"Use when the user references a specific market and asks 'what does FlowFrame say about this'. " +
|
|
122
|
+
"Returns up to 100 items, newest first. Returns an empty list if FlowFrame hasn't covered " +
|
|
123
|
+
"that market or if it's a Kalshi-only market (Kalshi markets aren't matched by conditionId).",
|
|
124
|
+
inputSchema: {
|
|
125
|
+
conditionId: z
|
|
126
|
+
.string()
|
|
127
|
+
.min(3)
|
|
128
|
+
.describe("Polymarket conditionId, e.g. '0x1234...'. Required."),
|
|
129
|
+
},
|
|
130
|
+
fetch: (c, { conditionId }) => c.get(`/pulse/by-market/${encodeURIComponent(conditionId)}`),
|
|
131
|
+
format: (env, { conditionId }) => {
|
|
128
132
|
if (env.data.length === 0) {
|
|
129
133
|
return formatEnvelope(`No FlowFrame Pulse coverage for market ${conditionId}.`, env, "");
|
|
130
134
|
}
|
|
@@ -136,35 +140,35 @@ export function registerTools(server, client) {
|
|
|
136
140
|
})
|
|
137
141
|
.join("\n\n");
|
|
138
142
|
return formatEnvelope(`FlowFrame Pulse coverage for market ${conditionId} (${env.data.length} item(s)):`, env, body);
|
|
139
|
-
}
|
|
140
|
-
catch (err) {
|
|
141
|
-
return formatError(err);
|
|
142
|
-
}
|
|
143
|
+
},
|
|
143
144
|
});
|
|
144
145
|
// ─────────────────────────────────────────────────────────────────────────
|
|
145
146
|
// Movers — Polymarket / Kalshi
|
|
146
147
|
// ─────────────────────────────────────────────────────────────────────────
|
|
147
|
-
server
|
|
148
|
-
"
|
|
149
|
-
"
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
.
|
|
156
|
-
.
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
148
|
+
defineTool(server, client, {
|
|
149
|
+
name: "flowframe_polymarket_movers",
|
|
150
|
+
description: "Top Polymarket markets by recent price change. Use when the user asks 'what's moving on " +
|
|
151
|
+
"Polymarket', 'biggest movers in the last X hours', or wants to find markets where " +
|
|
152
|
+
"consensus has shifted. Returns market title, current price, price at start of window, " +
|
|
153
|
+
"delta in percentage points, 24h volume, and the polymarket.com URL. Sorted by " +
|
|
154
|
+
"abs(delta) descending.",
|
|
155
|
+
inputSchema: {
|
|
156
|
+
window: WindowEnum.optional().describe("Lookback window: 1h, 4h, 12h, or 24h. Default 24h."),
|
|
157
|
+
direction: DirectionEnum.optional().describe("'up' = only markets that moved up, 'down' = only down, 'both' = either direction (default)."),
|
|
158
|
+
limit: z
|
|
159
|
+
.number()
|
|
160
|
+
.int()
|
|
161
|
+
.min(1)
|
|
162
|
+
.max(50)
|
|
163
|
+
.optional()
|
|
164
|
+
.describe("Number of markets to return (default 10, max 50)."),
|
|
165
|
+
},
|
|
166
|
+
fetch: (c, { window, direction, limit }) => c.get("/movers/polymarket", {
|
|
167
|
+
window: window ?? "24h",
|
|
168
|
+
direction: direction ?? "both",
|
|
169
|
+
limit: limit ?? 10,
|
|
170
|
+
}),
|
|
171
|
+
format: (env, { window }) => {
|
|
168
172
|
if (env.data.length === 0) {
|
|
169
173
|
return formatEnvelope("No Polymarket movers match those filters.", env, "");
|
|
170
174
|
}
|
|
@@ -178,10 +182,7 @@ export function registerTools(server, client) {
|
|
|
178
182
|
})
|
|
179
183
|
.join("\n\n");
|
|
180
184
|
return formatEnvelope(`Top ${env.data.length} Polymarket movers (${env.meta.window ?? window ?? "24h"} window):`, env, body);
|
|
181
|
-
}
|
|
182
|
-
catch (err) {
|
|
183
|
-
return formatError(err);
|
|
184
|
-
}
|
|
185
|
+
},
|
|
185
186
|
});
|
|
186
187
|
server.tool("flowframe_kalshi_movers", "Top Kalshi markets by recent price change. Use when the user asks 'what's moving on " +
|
|
187
188
|
"Kalshi'. Returns market title, current price, delta, volume, and Kalshi URL. " +
|
|
@@ -221,30 +222,33 @@ export function registerTools(server, client) {
|
|
|
221
222
|
// ─────────────────────────────────────────────────────────────────────────
|
|
222
223
|
// Smart Money Skew
|
|
223
224
|
// ─────────────────────────────────────────────────────────────────────────
|
|
224
|
-
server
|
|
225
|
-
|
|
226
|
-
"
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
.
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
225
|
+
defineTool(server, client, {
|
|
226
|
+
name: "flowframe_smart_money_skew",
|
|
227
|
+
description: "Find Polymarket markets where the top 30 most-profitable traders (last 30d, ranked by P&L " +
|
|
228
|
+
"from predicting.top) are positioned disproportionately on one side compared to the market " +
|
|
229
|
+
"price. Use this to find markets where 'smart money' disagrees with the consensus. " +
|
|
230
|
+
"Returns: market title, current market price, smart-money implied fair value, edge (in " +
|
|
231
|
+
"percentage points), composite skew score, and per-tier dollar positions (Sharp = top 10, " +
|
|
232
|
+
"Profitable = 11-20, Recreational = 21-30). Sorted by composite score descending. " +
|
|
233
|
+
"For a single market's full breakdown by conditionId, use flowframe_smart_money_skew_for_market.",
|
|
234
|
+
inputSchema: {
|
|
235
|
+
limit: z
|
|
236
|
+
.number()
|
|
237
|
+
.int()
|
|
238
|
+
.min(1)
|
|
239
|
+
.max(50)
|
|
240
|
+
.optional()
|
|
241
|
+
.describe("Number of markets to return (default 10, max 50)."),
|
|
242
|
+
minScore: z
|
|
243
|
+
.number()
|
|
244
|
+
.optional()
|
|
245
|
+
.describe("Filter to markets with composite skew score ≥ this value. Optional."),
|
|
246
|
+
},
|
|
247
|
+
fetch: (c, { limit, minScore }) => c.get("/smart-money/skew", {
|
|
248
|
+
limit: limit ?? 10,
|
|
249
|
+
minScore,
|
|
250
|
+
}),
|
|
251
|
+
format: (env) => {
|
|
248
252
|
if (env.data.length === 0) {
|
|
249
253
|
return formatEnvelope("No smart-money skew signals match those filters.", env, "");
|
|
250
254
|
}
|
|
@@ -258,19 +262,19 @@ export function registerTools(server, client) {
|
|
|
258
262
|
})
|
|
259
263
|
.join("\n\n");
|
|
260
264
|
return formatEnvelope(`Top ${env.data.length} smart-money skew signal(s):`, env, body);
|
|
261
|
-
}
|
|
262
|
-
catch (err) {
|
|
263
|
-
return formatError(err);
|
|
264
|
-
}
|
|
265
|
+
},
|
|
265
266
|
});
|
|
266
|
-
server
|
|
267
|
-
|
|
268
|
-
"
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
267
|
+
defineTool(server, client, {
|
|
268
|
+
name: "flowframe_smart_money_skew_for_market",
|
|
269
|
+
description: "Get the full smart-money skew breakdown for a single Polymarket market by conditionId, " +
|
|
270
|
+
"including per-tier (Sharp / Profitable / Recreational) dollar positions and which side " +
|
|
271
|
+
"each tier is on. Use after flowframe_smart_money_skew when the user wants to drill into " +
|
|
272
|
+
"one specific market.",
|
|
273
|
+
inputSchema: {
|
|
274
|
+
conditionId: z.string().min(3).describe("Polymarket conditionId. Required."),
|
|
275
|
+
},
|
|
276
|
+
fetch: (c, { conditionId }) => c.get(`/smart-money/skew/${encodeURIComponent(conditionId)}`),
|
|
277
|
+
format: (env) => {
|
|
274
278
|
const m = env.data;
|
|
275
279
|
const tiers = m.tiers ?? {};
|
|
276
280
|
const tierLine = (name, t) => {
|
|
@@ -300,10 +304,7 @@ export function registerTools(server, client) {
|
|
|
300
304
|
.filter(Boolean)
|
|
301
305
|
.join("\n");
|
|
302
306
|
return formatEnvelope("Smart-money skew detail:", env, body);
|
|
303
|
-
}
|
|
304
|
-
catch (err) {
|
|
305
|
-
return formatError(err);
|
|
306
|
-
}
|
|
307
|
+
},
|
|
307
308
|
});
|
|
308
309
|
// ─────────────────────────────────────────────────────────────────────────
|
|
309
310
|
// Mentions Hub — political speech transcripts
|
|
@@ -334,8 +335,9 @@ export function registerTools(server, client) {
|
|
|
334
335
|
"context. Use when the user asks 'when did X talk about Y', 'has Powell mentioned tariffs', " +
|
|
335
336
|
"or wants verbatim quotes. Each result includes the transcript title, date, source, event " +
|
|
336
337
|
"format (rally / press conference / interview / etc.), the number of times the keyword " +
|
|
337
|
-
"appears in that transcript, and
|
|
338
|
-
"if you
|
|
338
|
+
"appears in that transcript, and every keyword snippet from that transcript (no per-result " +
|
|
339
|
+
"snippet cap — if a rally has 12 hits, you get all 12 quoted). Call flowframe_list_speakers " +
|
|
340
|
+
"first if you don't know the available speaker slugs.", {
|
|
339
341
|
q: z
|
|
340
342
|
.string()
|
|
341
343
|
.min(2)
|
|
@@ -361,8 +363,13 @@ export function registerTools(server, client) {
|
|
|
361
363
|
}
|
|
362
364
|
const body = env.data
|
|
363
365
|
.map((r, i) => {
|
|
366
|
+
// Render every snippet the API returned. Previously capped at 3
|
|
367
|
+
// (May 2026), which silently dropped quotes when a single
|
|
368
|
+
// transcript contained many hits — e.g. a rally where the
|
|
369
|
+
// speaker said the keyword 12 times only surfaced 3 of them.
|
|
370
|
+
// Snippet count is already bounded server-side per transcript,
|
|
371
|
+
// and the API caps `limit` at 50 transcripts.
|
|
364
372
|
const snippets = (r.snippets ?? [])
|
|
365
|
-
.slice(0, 3)
|
|
366
373
|
.map((s) => ` "${s.trim()}"`)
|
|
367
374
|
.join("\n");
|
|
368
375
|
return [
|
|
@@ -386,15 +393,15 @@ export function registerTools(server, client) {
|
|
|
386
393
|
// Polymarket microstructure snapshot history
|
|
387
394
|
// ─────────────────────────────────────────────────────────────────────────
|
|
388
395
|
const SnapshotIntervalEnum = z.enum(["30m", "1h", "4h", "1d"]);
|
|
389
|
-
server.tool("flowframe_polymarket_snapshot_history", "
|
|
396
|
+
server.tool("flowframe_polymarket_snapshot_history", "[FlowFrame Pro — upgrade at https://flowframe.xyz/pro] " +
|
|
397
|
+
"Historical Polymarket microstructure for a single market: per-snapshot YES/NO price, " +
|
|
390
398
|
"best bid/ask, spread percent, 24h volume, per-hour volume rate, cumulative volume, " +
|
|
391
399
|
"and liquidity. Underlying snapshots are taken every 30 minutes by FlowFrame; pick a " +
|
|
392
400
|
"wider interval (1h/4h/1d) to downsample. Use when the user asks 'how has liquidity " +
|
|
393
401
|
"evolved', 'when did the spread blow out', 'show me the price + volume history', or " +
|
|
394
402
|
"wants any time-series view of a specific Polymarket conditionId. Returns 404 if " +
|
|
395
403
|
"FlowFrame is not currently tracking that market. " +
|
|
396
|
-
"
|
|
397
|
-
"but requires a paid tier for direct REST access.", {
|
|
404
|
+
"Requires FlowFrame Pro or API Starter — free-tier API keys will get a 402 response.", {
|
|
398
405
|
conditionId: z
|
|
399
406
|
.string()
|
|
400
407
|
.min(3)
|
|
@@ -425,9 +432,14 @@ export function registerTools(server, client) {
|
|
|
425
432
|
if (env.data.length === 0) {
|
|
426
433
|
return formatEnvelope(`No snapshot history available for ${conditionId}.`, env, "");
|
|
427
434
|
}
|
|
428
|
-
//
|
|
429
|
-
|
|
430
|
-
|
|
435
|
+
// Render the full series in the text body so LLM clients that
|
|
436
|
+
// don't surface structuredContent (most of them, in practice) can
|
|
437
|
+
// do real correlation analysis. The user already chose interval
|
|
438
|
+
// + limit + since, which bound the result size; we shouldn't
|
|
439
|
+
// second-guess them by sub-sampling on top of that. The API
|
|
440
|
+
// hard-caps `limit` at 500, so worst case is ~500 rows ≈ 40KB
|
|
441
|
+
// ≈ 10K tokens — fine for any modern context window.
|
|
442
|
+
const body = env.data
|
|
431
443
|
.map((p) => ` ${p.timestamp.slice(0, 16).replace("T", " ")} ` +
|
|
432
444
|
`yes=${fmtPrice(p.yesPrice)} ` +
|
|
433
445
|
`spread=${p.spreadPercent === null ? "—" : `${p.spreadPercent.toFixed(2)}%`} ` +
|
|
@@ -439,7 +451,7 @@ export function registerTools(server, client) {
|
|
|
439
451
|
`Interval: ${meta.interval} | Points: ${meta.count} | ` +
|
|
440
452
|
`${(meta.firstAt ?? "").slice(0, 10)} → ${(meta.lastAt ?? "").slice(0, 10)}` +
|
|
441
453
|
(meta.polymarketUrl ? `\n${meta.polymarketUrl}` : "") +
|
|
442
|
-
`\n\
|
|
454
|
+
`\n\nAll ${env.data.length} points:`;
|
|
443
455
|
return formatEnvelope(summary, env, body);
|
|
444
456
|
}
|
|
445
457
|
catch (err) {
|
|
@@ -449,7 +461,8 @@ export function registerTools(server, client) {
|
|
|
449
461
|
// ─────────────────────────────────────────────────────────────────────────
|
|
450
462
|
// Cross-venue: Polymarket × Hyperliquid joined time series
|
|
451
463
|
// ─────────────────────────────────────────────────────────────────────────
|
|
452
|
-
server.tool("flowframe_cross_venue", "
|
|
464
|
+
server.tool("flowframe_cross_venue", "[FlowFrame Pro — upgrade at https://flowframe.xyz/pro] " +
|
|
465
|
+
"Joined Polymarket × Hyperliquid time series. Pairs a prediction-market's price/spread/volume " +
|
|
453
466
|
"with the Hyperliquid perp(s) for the underlying asset(s), bucket-aligned on the 30-minute " +
|
|
454
467
|
"snapshot schedule that FlowFrame runs against both venues. Rows are anchored on Polymarket " +
|
|
455
468
|
"buckets; if a Hyperliquid snapshot is missing for a bucket, that symbol is simply absent " +
|
|
@@ -460,8 +473,7 @@ export function registerTools(server, client) {
|
|
|
460
473
|
"(BTC, ETH, SOL, HYPE) — for equities/FX/commodities, pass an explicit `symbols` argument " +
|
|
461
474
|
"(e.g. 'xyz:AAPL', 'xyz:GOLD'). Returns 404 if FlowFrame isn't tracking the market, or " +
|
|
462
475
|
"400 if no symbol can be auto-detected and none was supplied. " +
|
|
463
|
-
"
|
|
464
|
-
"but requires a paid tier for direct REST access.", {
|
|
476
|
+
"Requires FlowFrame Pro or API Starter — free-tier API keys will get a 402 response.", {
|
|
465
477
|
conditionId: z
|
|
466
478
|
.string()
|
|
467
479
|
.min(3)
|
|
@@ -494,8 +506,16 @@ export function registerTools(server, client) {
|
|
|
494
506
|
return formatEnvelope(`No cross-venue series available for ${conditionId}.`, env, "");
|
|
495
507
|
}
|
|
496
508
|
const symList = meta.symbols ?? [];
|
|
497
|
-
|
|
498
|
-
|
|
509
|
+
// Render the full series in the text body — same reasoning as
|
|
510
|
+
// snapshot_history above. The user picked `days` (1-30) and
|
|
511
|
+
// `interval` deliberately; sub-sampling on top of that strips
|
|
512
|
+
// away the intraday extremes that matter for funding-rate
|
|
513
|
+
// correlation analysis. Worst case (30d × 30m ≈ 1440 rows × 2
|
|
514
|
+
// lines) ≈ 60K tokens — fine for any current context window.
|
|
515
|
+
// If they want it smaller, they can shrink `days` or use a
|
|
516
|
+
// wider `interval`. Full series also remains in
|
|
517
|
+
// structuredContent.data.
|
|
518
|
+
const body = env.data
|
|
499
519
|
.map((p) => {
|
|
500
520
|
const pm = p.polymarket ?? {};
|
|
501
521
|
const hlPart = symList
|
|
@@ -519,7 +539,7 @@ export function registerTools(server, client) {
|
|
|
519
539
|
`Symbols: ${symList.join(", ")}${meta.symbolsAutoDetected ? " (auto-detected)" : ""} | ` +
|
|
520
540
|
`Interval: ${meta.interval} | Days: ${meta.days} | Points: ${meta.count}` +
|
|
521
541
|
(meta.polymarketUrl ? `\n${meta.polymarketUrl}` : "") +
|
|
522
|
-
`\n\
|
|
542
|
+
`\n\nAll ${env.data.length} points:`;
|
|
523
543
|
return formatEnvelope(summary, env, body);
|
|
524
544
|
}
|
|
525
545
|
catch (err) {
|
|
@@ -559,6 +579,124 @@ export function registerTools(server, client) {
|
|
|
559
579
|
}
|
|
560
580
|
});
|
|
561
581
|
// ─────────────────────────────────────────────────────────────────────────
|
|
582
|
+
// Volume-velocity breakout signal (paid)
|
|
583
|
+
// ─────────────────────────────────────────────────────────────────────────
|
|
584
|
+
server.tool("flowframe_breakout_signal", "[FlowFrame Pro — upgrade at https://flowframe.xyz/pro] " +
|
|
585
|
+
"Polymarket markets ranked by volume velocity — markets where 24h volume is large " +
|
|
586
|
+
"relative to all-time volume, i.e. catching fire right now. Tiers: 'breaking' (>6%), " +
|
|
587
|
+
"'trending' (3-6%), 'heating-up' (1-3%). Use when the user asks 'what's catching fire', " +
|
|
588
|
+
"'what's breaking out', 'where is unusual activity', or wants early signals before a " +
|
|
589
|
+
"market shows up in the standard movers feed. Excludes already-resolved markets " +
|
|
590
|
+
"(>95% / <5%), evergreen BTC/ETH price markets, and 2028 presidential markets to keep " +
|
|
591
|
+
"the signal clean. " +
|
|
592
|
+
"Requires FlowFrame Pro or API Starter — free-tier API keys will get a 402 response.", {
|
|
593
|
+
limit: z
|
|
594
|
+
.number()
|
|
595
|
+
.int()
|
|
596
|
+
.min(1)
|
|
597
|
+
.max(100)
|
|
598
|
+
.optional()
|
|
599
|
+
.describe("Max markets to return (1-100, default 25)."),
|
|
600
|
+
minVelocityPercent: z
|
|
601
|
+
.number()
|
|
602
|
+
.min(0)
|
|
603
|
+
.max(100)
|
|
604
|
+
.optional()
|
|
605
|
+
.describe("Minimum velocity (24h vol / total vol × 100). Default 1. Raise to 3+ to filter for trending/breaking only."),
|
|
606
|
+
minVolume24h: z
|
|
607
|
+
.number()
|
|
608
|
+
.min(0)
|
|
609
|
+
.optional()
|
|
610
|
+
.describe("Minimum 24h USDC volume floor. Default 10000."),
|
|
611
|
+
}, async ({ limit, minVelocityPercent, minVolume24h }) => {
|
|
612
|
+
try {
|
|
613
|
+
const env = await client.get("/signals/breakout", {
|
|
614
|
+
limit: limit ?? 25,
|
|
615
|
+
minVelocityPercent: minVelocityPercent ?? 1,
|
|
616
|
+
minVolume24h: minVolume24h ?? 10000,
|
|
617
|
+
});
|
|
618
|
+
if (env.data.length === 0) {
|
|
619
|
+
return formatEnvelope("No markets match those breakout filters.", env, "");
|
|
620
|
+
}
|
|
621
|
+
const body = env.data
|
|
622
|
+
.map((m, i) => {
|
|
623
|
+
const tierTag = m.tier ? `[${m.tier}]` : "";
|
|
624
|
+
const yesPart = m.currentYesPrice == null ? "" : ` yes=${fmtPrice(m.currentYesPrice)}`;
|
|
625
|
+
const chgPart = m.priceChange24hYes == null ? "" : ` Δ24h=${fmtPct(m.priceChange24hYes)}`;
|
|
626
|
+
return [
|
|
627
|
+
`${i + 1}. ${tierTag} velocity=${m.velocityPercent.toFixed(2)}% vol24h=${fmtUsd(m.volume24h)} / total=${fmtUsd(m.volumeTotal)}`,
|
|
628
|
+
` ${m.marketTitle ?? "(untitled)"}${yesPart}${chgPart}`,
|
|
629
|
+
` ${m.polymarketUrl ?? ""}`,
|
|
630
|
+
].join("\n");
|
|
631
|
+
})
|
|
632
|
+
.join("\n\n");
|
|
633
|
+
const meta = env.meta;
|
|
634
|
+
return formatEnvelope(`${env.data.length} breakout markets (>=${meta.minVelocityPercent}% velocity, >=${fmtUsd(meta.minVolume24h)} vol24h):`, env, body);
|
|
635
|
+
}
|
|
636
|
+
catch (err) {
|
|
637
|
+
return formatError(err);
|
|
638
|
+
}
|
|
639
|
+
});
|
|
640
|
+
// ─────────────────────────────────────────────────────────────────────────
|
|
641
|
+
// Spread-widening fragility signal (paid)
|
|
642
|
+
// ─────────────────────────────────────────────────────────────────────────
|
|
643
|
+
server.tool("flowframe_spread_widening_signal", "[FlowFrame Pro — upgrade at https://flowframe.xyz/pro] " +
|
|
644
|
+
"Polymarket markets whose current bid-ask spread is at least N× their 7-day baseline — " +
|
|
645
|
+
"a pre-move fragility precursor. Widening spreads often lead price (market makers pull " +
|
|
646
|
+
"quotes when they think they're about to be picked off). Use when the user asks 'what's " +
|
|
647
|
+
"about to move', 'what's getting fragile', 'where is liquidity drying up', or wants " +
|
|
648
|
+
"leading indicators rather than lagging movers. " +
|
|
649
|
+
"Requires FlowFrame Pro or API Starter — free-tier API keys will get a 402 response.", {
|
|
650
|
+
limit: z
|
|
651
|
+
.number()
|
|
652
|
+
.int()
|
|
653
|
+
.min(1)
|
|
654
|
+
.max(100)
|
|
655
|
+
.optional()
|
|
656
|
+
.describe("Max markets to return (1-100, default 25)."),
|
|
657
|
+
minRatio: z
|
|
658
|
+
.number()
|
|
659
|
+
.min(1.05)
|
|
660
|
+
.optional()
|
|
661
|
+
.describe("Minimum widening ratio (current / baseline). Default 1.5. Raise to 2-3 for the most extreme cases."),
|
|
662
|
+
min24hVolume: z
|
|
663
|
+
.number()
|
|
664
|
+
.min(0)
|
|
665
|
+
.optional()
|
|
666
|
+
.describe("Minimum 24h USDC volume floor. Default 5000."),
|
|
667
|
+
minLiquidity: z
|
|
668
|
+
.number()
|
|
669
|
+
.min(0)
|
|
670
|
+
.optional()
|
|
671
|
+
.describe("Minimum on-book liquidity floor. Default 2000."),
|
|
672
|
+
}, async ({ limit, minRatio, min24hVolume, minLiquidity }) => {
|
|
673
|
+
try {
|
|
674
|
+
const env = await client.get("/signals/spread-widening", {
|
|
675
|
+
limit: limit ?? 25,
|
|
676
|
+
minRatio: minRatio ?? 1.5,
|
|
677
|
+
min24hVolume: min24hVolume ?? 5000,
|
|
678
|
+
minLiquidity: minLiquidity ?? 2000,
|
|
679
|
+
});
|
|
680
|
+
if (env.data.length === 0) {
|
|
681
|
+
return formatEnvelope("No markets match those spread-widening filters.", env, "");
|
|
682
|
+
}
|
|
683
|
+
const body = env.data
|
|
684
|
+
.map((m, i) => {
|
|
685
|
+
return [
|
|
686
|
+
`${i + 1}. ratio=${m.wideningRatio.toFixed(2)}× — current ${m.currentSpreadPercent.toFixed(2)}% vs 7d baseline ${m.baselineSpreadPercent.toFixed(2)}%`,
|
|
687
|
+
` ${m.marketTitle ?? "(untitled)"} yes=${fmtPrice(m.yesPrice)} vol24h=${fmtUsd(m.volume24h)} liq=${fmtUsd(m.liquidity)}`,
|
|
688
|
+
` ${m.polymarketUrl ?? ""}`,
|
|
689
|
+
].join("\n");
|
|
690
|
+
})
|
|
691
|
+
.join("\n\n");
|
|
692
|
+
const meta = env.meta;
|
|
693
|
+
return formatEnvelope(`${env.data.length} markets with spread ≥${meta.minRatio}× their 7d baseline:`, env, body);
|
|
694
|
+
}
|
|
695
|
+
catch (err) {
|
|
696
|
+
return formatError(err);
|
|
697
|
+
}
|
|
698
|
+
});
|
|
699
|
+
// ─────────────────────────────────────────────────────────────────────────
|
|
562
700
|
// Recent large trades from FlowFrame's tracked top-trader wallets
|
|
563
701
|
// ─────────────────────────────────────────────────────────────────────────
|
|
564
702
|
server.tool("flowframe_recent_whale_trades", "Live feed of recent large trades from FlowFrame's tracked top-trader wallets on Polymarket, " +
|
package/dist/tools.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@flowframe22/mcp-server",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.3",
|
|
4
4
|
"description": "Model Context Protocol server for FlowFrame — bring prediction-market intelligence (Polymarket movers, smart-money skew, FlowFrame Pulse, political mentions) into Claude and any MCP-compatible client.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|