graph-polymarket-mcp 1.4.0 → 1.6.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 CHANGED
@@ -14,6 +14,8 @@
14
14
 
15
15
  Exposes 20 tools that AI agents (Claude, Cursor, etc.) can use to query market data, trader P&L, positions, activity, orderbook trades, open interest, market resolution status, and trader profiles.
16
16
 
17
+ **v1.6.0** — five tools now cross-query multiple subgraphs in parallel to flag unreliable P&L, dead-money OI, and orderbook-only wallets that would otherwise produce misleading data.
18
+
17
19
  </div>
18
20
 
19
21
  > Published to the [MCP Registry](https://registry.modelcontextprotocol.io/v0.1/servers?search=io.github.PaulieB14/graph-polymarket-mcp) as `io.github.PaulieB14/graph-polymarket-mcp`
@@ -71,6 +73,43 @@ Set the environment variable `GRAPH_API_KEY` before running.
71
73
 
72
74
  Use the stdio transport with `npx graph-polymarket-mcp` as the command, passing `GRAPH_API_KEY` as an environment variable.
73
75
 
76
+ ### OpenClaw / Remote Agents (SSE)
77
+
78
+ Start the server with the HTTP transport:
79
+
80
+ ```bash
81
+ # Dual transport — stdio + SSE on port 3851
82
+ GRAPH_API_KEY=your-key npx graph-polymarket-mcp --http
83
+
84
+ # SSE only (for remote/server deployments)
85
+ GRAPH_API_KEY=your-key npx graph-polymarket-mcp --http-only
86
+
87
+ # Custom port
88
+ MCP_HTTP_PORT=4000 GRAPH_API_KEY=your-key npx graph-polymarket-mcp --http
89
+ ```
90
+
91
+ Then point your agent at the SSE endpoint:
92
+
93
+ ```json
94
+ {
95
+ "mcpServers": {
96
+ "graph-polymarket": {
97
+ "url": "http://localhost:3851/sse"
98
+ }
99
+ }
100
+ }
101
+ ```
102
+
103
+ ### Transport Modes
104
+
105
+ | Invocation | Transports | Use case |
106
+ |---|---|---|
107
+ | `npx graph-polymarket-mcp` | stdio | Claude Desktop, Cursor, Claude Code |
108
+ | `npx graph-polymarket-mcp --http` | stdio + SSE :3851 | Dual — local + remote agents |
109
+ | `npx graph-polymarket-mcp --http-only` | SSE :3851 | OpenClaw, remote deployments |
110
+
111
+ A `/health` endpoint is available at `http://localhost:3851/health` when HTTP transport is active.
112
+
74
113
  ## Available Tools
75
114
 
76
115
  ### Core Tools
@@ -83,24 +122,24 @@ Use the stdio transport with `npx graph-polymarket-mcp` as the command, passing
83
122
 
84
123
  ### Domain-Specific Tools
85
124
 
86
- | Tool | Description | Subgraph |
87
- |------|-------------|----------|
125
+ | Tool | Description | Subgraphs |
126
+ |------|-------------|-----------|
88
127
  | `get_market_data` | Get market/condition data with outcomes and resolution status | Main |
89
128
  | `get_global_stats` | Get platform stats: market counts + real volume/fees/trades | Main + Orderbook |
90
129
  | `get_account_pnl` | Get a trader's P&L and performance metrics (winRate, profitFactor, maxDrawdown) | Beefy P&L |
91
- | `get_top_traders` | Leaderboard of top traders ranked by PnL, winRate, volume, or profitFactor | Beefy P&L |
130
+ | `get_top_traders` | Leaderboard ranked by PnL, winRate, volume, or profitFactor. Cross-refs Orderbook to flag rows where OB volume exceeds Beefy-tracked volume and surface OB-only traders absent from the leaderboard. | Beefy P&L + Orderbook |
92
131
  | `get_daily_stats` | Daily volume, fees, trader counts, and market activity (1–90 days) | Beefy P&L |
93
132
  | `get_market_positions` | Top holders for a specific outcome token with their P&L | Beefy P&L |
94
- | `get_user_positions` | Get a user's current token positions | Slimmed P&L |
95
- | `get_recent_activity` | Get recent splits, merges, and redemptions | Activity |
133
+ | `get_user_positions` | Current token positions. Cross-refs Orderbook: flags ⚠ orderbook-only entry when `totalBought=0` but OB volume exists, and ⚠ mixed entry when OB volume > 2× split collateral. | Slimmed P&L + Orderbook |
134
+ | `get_recent_activity` | Unified chronological feed interleaving splits, merges, and redemptions with orderbook fills. Supports optional address filter. | Activity + Orderbook |
96
135
  | `get_orderbook_trades` | Get recent order fills with maker/taker filtering | Orderbook |
97
- | `get_market_open_interest` | Top markets ranked by USDC locked in outstanding positions | Open Interest |
136
+ | `get_market_open_interest` | Top markets ranked by USDC locked in outstanding positions. Cross-refs Main subgraph to flag ⚠ dead money OI on resolved markets (losing-side tokens that will never be redeemed on-chain). | Open Interest + Main |
98
137
  | `get_oi_history` | Hourly OI snapshots for a specific market (for charting trends) | Open Interest |
99
138
  | `get_global_open_interest` | Total platform-wide open interest and market count | Open Interest |
100
139
  | `get_market_resolution` | UMA oracle resolution status with filtering by status | Resolution |
101
140
  | `get_disputed_markets` | Markets disputed during oracle resolution (high-signal events) | Resolution |
102
141
  | `get_market_revisions` | Moderator interventions and updates on market resolution | Resolution |
103
- | `get_trader_profile` | Full trader profile: first seen, CTF events, USDC flows | Traders |
142
+ | `get_trader_profile` | Full trader profile combining CTF events and USDC flows with Orderbook fills. Classifies wallet as hybrid / orderbook-only / split-collateral-only and warns when P&L subgraphs are unreliable. | Traders + Orderbook |
104
143
  | `get_trader_usdc_flows` | USDC deposit/withdrawal history with direction filtering | Traders |
105
144
 
106
145
  ## Subgraphs
@@ -122,16 +161,18 @@ Once connected, an AI agent can:
122
161
 
123
162
  - "What are the current Polymarket global stats?"
124
163
  - "Show me the latest 20 orderbook trades"
125
- - "What are the positions for address 0x...?"
164
+ - "What are the positions for address 0x...?" *(flags if wallet entered via OB buys only)*
126
165
  - "Get the P&L for trader 0x...?"
127
166
  - "Query the main subgraph for all conditions with more than 100 trades"
128
- - "Which markets have the most open interest right now?"
167
+ - "Which markets have the most open interest right now?" *(flags dead-money OI on resolved markets)*
129
168
  - "Show me the OI trend for market 0x..."
130
169
  - "What's the total open interest across all Polymarket markets?"
131
170
  - "Show me disputed markets on Polymarket"
132
171
  - "What's the resolution status of market 0x...?"
133
- - "Show me the full trading history for wallet 0x..."
172
+ - "Show me the full trading history for wallet 0x..." *(includes OB fills + entry type classification)*
134
173
  - "Track USDC deposits and withdrawals for trader 0x..."
174
+ - "Who are the top traders?" *(flags any with OB volume not captured by Beefy P&L)*
175
+ - "Show me recent activity for address 0x..." *(unified feed: splits + merges + OB fills)*
135
176
 
136
177
  ## Development
137
178
 
package/build/index.js CHANGED
@@ -1,12 +1,14 @@
1
1
  #!/usr/bin/env node
2
2
  import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
3
3
  import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
4
+ import { SSEServerTransport } from "@modelcontextprotocol/sdk/server/sse.js";
5
+ import express from "express";
4
6
  import { z } from "zod";
5
7
  import { querySubgraph } from "./graphClient.js";
6
8
  import { SUBGRAPHS, SUBGRAPH_NAMES } from "./subgraphs.js";
7
9
  const server = new McpServer({
8
10
  name: "graph-polymarket-mcp",
9
- version: "1.4.0",
11
+ version: "1.6.0",
10
12
  });
11
13
  // Helper to format tool responses
12
14
  function textResult(data) {
@@ -170,19 +172,38 @@ server.registerTool("get_user_positions", {
170
172
  },
171
173
  }, async ({ account }) => {
172
174
  try {
173
- const query = `{
174
- userPositions(where: { user: "${account.toLowerCase()}" }, first: 100) {
175
- id
176
- user
177
- tokenId
178
- amount
179
- avgPrice
180
- realizedPnl
181
- totalBought
175
+ const addr = account.toLowerCase();
176
+ const posQuery = `{
177
+ userPositions(where: { user: "${addr}" }, first: 100) {
178
+ id user tokenId amount avgPrice realizedPnl totalBought
182
179
  }
183
180
  }`;
184
- const data = await querySubgraph(SUBGRAPHS.slimmed_pnl.ipfsHash, query);
185
- return textResult(data);
181
+ const obQuery = `{
182
+ account(id: "${addr}") {
183
+ id collateralVolume numTrades numBuys numSells
184
+ }
185
+ }`;
186
+ const [posData, obData] = await Promise.all([
187
+ querySubgraph(SUBGRAPHS.slimmed_pnl.ipfsHash, posQuery),
188
+ querySubgraph(SUBGRAPHS.orderbook.ipfsHash, obQuery).catch(() => null),
189
+ ]);
190
+ const pd = posData;
191
+ const totalBought = (pd.userPositions ?? []).reduce((sum, p) => sum + parseFloat(p.totalBought || "0"), 0);
192
+ const od = obData;
193
+ const obVolume = parseFloat(od?.account?.collateralVolume || "0");
194
+ const obTrades = parseInt(od?.account?.numTrades || "0");
195
+ let reliabilityWarning;
196
+ if (obVolume > 0 && totalBought === 0) {
197
+ reliabilityWarning = `⚠ orderbook-only entry — no split collateral detected. OB volume: $${obVolume.toFixed(2)} across ${obTrades} trades. P&L from totalBought/avgPrice fields is unreliable.`;
198
+ }
199
+ else if (obVolume > 0 && obVolume > totalBought * 2 && obVolume - totalBought > 1000) {
200
+ reliabilityWarning = `⚠ mixed entry — OB volume ($${obVolume.toFixed(2)}) significantly exceeds split collateral ($${totalBought.toFixed(2)}). Some positions entered via orderbook buys; P&L may be understated.`;
201
+ }
202
+ return textResult({
203
+ positions: pd.userPositions ?? [],
204
+ orderbookAccount: od?.account ?? null,
205
+ ...(reliabilityWarning ? { reliabilityWarning } : {}),
206
+ });
186
207
  }
187
208
  catch (error) {
188
209
  return errorResult(error);
@@ -199,35 +220,64 @@ server.registerTool("get_recent_activity", {
199
220
  },
200
221
  }, async ({ first, account }) => {
201
222
  try {
202
- const stakeholderWhere = account
203
- ? `, where: { stakeholder: "${account.toLowerCase()}" }`
204
- : "";
205
- const redeemerWhere = account
206
- ? `, where: { redeemer: "${account.toLowerCase()}" }`
207
- : "";
208
- const query = `{
223
+ const addr = account?.toLowerCase();
224
+ const stakeholderWhere = addr ? `, where: { stakeholder: "${addr}" }` : "";
225
+ const redeemerWhere = addr ? `, where: { redeemer: "${addr}" }` : "";
226
+ const activityQuery = `{
209
227
  splits(first: ${first}, orderBy: timestamp, orderDirection: desc${stakeholderWhere}) {
210
- id
211
- stakeholder
212
- amount
213
- timestamp
228
+ id stakeholder amount timestamp
214
229
  }
215
230
  merges(first: ${first}, orderBy: timestamp, orderDirection: desc${stakeholderWhere}) {
216
- id
217
- stakeholder
218
- amount
219
- timestamp
231
+ id stakeholder amount timestamp
220
232
  }
221
233
  redemptions(first: ${first}, orderBy: timestamp, orderDirection: desc${redeemerWhere}) {
222
- id
223
- redeemer
224
- payout
225
- indexSets
226
- timestamp
234
+ id redeemer payout indexSets timestamp
227
235
  }
228
236
  }`;
229
- const data = await querySubgraph(SUBGRAPHS.activity.ipfsHash, query);
230
- return textResult(data);
237
+ // Fetch OB fills: if account-filtered, query as maker + taker separately; else recent fills
238
+ const obQuery = addr
239
+ ? `{
240
+ makerFills: orderFilledEvents(first: ${first}, orderBy: timestamp, orderDirection: desc, where: { maker: "${addr}" }) {
241
+ id maker taker price side fee makerAmountFilled takerAmountFilled timestamp
242
+ }
243
+ takerFills: orderFilledEvents(first: ${first}, orderBy: timestamp, orderDirection: desc, where: { taker: "${addr}" }) {
244
+ id maker taker price side fee makerAmountFilled takerAmountFilled timestamp
245
+ }
246
+ }`
247
+ : `{
248
+ orderFilledEvents(first: ${first}, orderBy: timestamp, orderDirection: desc) {
249
+ id maker taker price side fee makerAmountFilled takerAmountFilled timestamp
250
+ }
251
+ }`;
252
+ const [actData, obData] = await Promise.all([
253
+ querySubgraph(SUBGRAPHS.activity.ipfsHash, activityQuery),
254
+ querySubgraph(SUBGRAPHS.orderbook.ipfsHash, obQuery).catch(() => null),
255
+ ]);
256
+ const ad = actData;
257
+ const od = obData;
258
+ const events = [
259
+ ...(ad.splits ?? []).map((e) => ({ eventType: "split", ...e })),
260
+ ...(ad.merges ?? []).map((e) => ({ eventType: "merge", ...e })),
261
+ ...(ad.redemptions ?? []).map((e) => ({ eventType: "redemption", ...e })),
262
+ ];
263
+ const rawFills = od
264
+ ? addr
265
+ ? [
266
+ ...(od.makerFills ?? []).map((e) => ({ eventType: "ob_fill_maker", ...e })),
267
+ ...(od.takerFills ?? []).map((e) => ({ eventType: "ob_fill_taker", ...e })),
268
+ ]
269
+ : (od.orderFilledEvents ?? []).map((e) => ({ eventType: "ob_fill", ...e }))
270
+ : [];
271
+ // Deduplicate fills (same fill can appear as both maker and taker)
272
+ const seen = new Set();
273
+ for (const e of rawFills) {
274
+ if (!seen.has(e.id)) {
275
+ seen.add(e.id);
276
+ events.push(e);
277
+ }
278
+ }
279
+ events.sort((a, b) => parseInt(b.timestamp) - parseInt(a.timestamp));
280
+ return textResult({ feed: events.slice(0, first * 2) });
231
281
  }
232
282
  catch (error) {
233
283
  return errorResult(error);
@@ -364,29 +414,50 @@ server.registerTool("get_top_traders", {
364
414
  },
365
415
  }, async ({ first, orderBy, minTrades }) => {
366
416
  try {
367
- const query = `{
417
+ const beefyQuery = `{
368
418
  accounts(
369
419
  first: ${first},
370
420
  orderBy: ${orderBy},
371
421
  orderDirection: desc,
372
422
  where: { numTrades_gte: "${minTrades}" }
373
423
  ) {
374
- id
375
- numTrades
376
- collateralVolume
377
- totalRealizedPnl
378
- totalUnrealizedPnl
379
- totalFeesPaid
380
- winRate
381
- profitFactor
382
- maxDrawdown
383
- numWinningPositions
384
- numLosingPositions
385
- lastTradedTimestamp
424
+ id numTrades collateralVolume totalRealizedPnl totalUnrealizedPnl
425
+ totalFeesPaid winRate profitFactor maxDrawdown
426
+ numWinningPositions numLosingPositions lastTradedTimestamp
386
427
  }
387
428
  }`;
388
- const data = await querySubgraph(SUBGRAPHS.beefy_pnl.ipfsHash, query);
389
- return textResult(data);
429
+ // Fetch top OB-volume accounts to surface OB-only traders absent from Beefy rankings
430
+ const obQuery = `{
431
+ accounts(first: ${first}, orderBy: collateralVolume, orderDirection: desc) {
432
+ id collateralVolume numTrades
433
+ }
434
+ }`;
435
+ const [beefyData, obData] = await Promise.all([
436
+ querySubgraph(SUBGRAPHS.beefy_pnl.ipfsHash, beefyQuery),
437
+ querySubgraph(SUBGRAPHS.orderbook.ipfsHash, obQuery).catch(() => null),
438
+ ]);
439
+ const bd = beefyData;
440
+ const od = obData;
441
+ const beefyIds = new Set((bd.accounts ?? []).map((a) => a.id));
442
+ const obById = new Map((od?.accounts ?? []).map((a) => [a.id, a]));
443
+ // Flag beefy rows where OB-tracked volume significantly exceeds Beefy-tracked volume
444
+ const annotated = (bd.accounts ?? []).map((a) => {
445
+ const ob = obById.get(a.id);
446
+ const beefyVol = parseFloat(a.collateralVolume || "0");
447
+ const obVol = ob ? parseFloat(ob.collateralVolume) : null;
448
+ const flag = obVol !== null && obVol > beefyVol * 1.5 && obVol - beefyVol > 1000
449
+ ? `⚠ OB volume ($${obVol.toFixed(0)}) exceeds Beefy-tracked volume ($${beefyVol.toFixed(0)}) — P&L ranking may be incomplete`
450
+ : undefined;
451
+ return { ...a, ...(flag ? { reliabilityWarning: flag } : {}) };
452
+ });
453
+ // Surface high-volume OB traders completely absent from Beefy leaderboard
454
+ const obOnlyTraders = (od?.accounts ?? [])
455
+ .filter((a) => !beefyIds.has(a.id))
456
+ .map((a) => ({ address: a.id, obVolume: a.collateralVolume, obTrades: a.numTrades, note: "not tracked by Beefy P&L subgraph — P&L unavailable" }));
457
+ return textResult({
458
+ traders: annotated,
459
+ ...(obOnlyTraders.length > 0 ? { obOnlyTradersNotInLeaderboard: obOnlyTraders } : {}),
460
+ });
390
461
  }
391
462
  catch (error) {
392
463
  return errorResult(error);
@@ -445,21 +516,46 @@ server.registerTool("get_market_open_interest", {
445
516
  },
446
517
  }, async ({ first, orderBy, orderDirection }) => {
447
518
  try {
448
- const query = `{
519
+ const oiQuery = `{
449
520
  marketOpenInterests(first: ${first}, orderBy: ${orderBy}, orderDirection: ${orderDirection}) {
450
- id
451
- conditionId
452
- amount
453
- amountRaw
454
- splitCount
455
- mergeCount
456
- redemptionCount
457
- createdAtTimestamp
458
- lastUpdatedTimestamp
521
+ id conditionId amount amountRaw splitCount mergeCount redemptionCount
522
+ createdAtTimestamp lastUpdatedTimestamp
459
523
  }
460
524
  }`;
461
- const data = await querySubgraph(SUBGRAPHS.open_interest.ipfsHash, query);
462
- return textResult(data);
525
+ const oiData = await querySubgraph(SUBGRAPHS.open_interest.ipfsHash, oiQuery);
526
+ const od = oiData;
527
+ const conditionIds = (od.marketOpenInterests ?? []).map((m) => m.conditionId).filter(Boolean);
528
+ // Cross-ref Main subgraph: payoutDenominator > 0 means market is resolved
529
+ const resolutionMap = new Map();
530
+ if (conditionIds.length > 0) {
531
+ const ids = conditionIds.map((id) => `"${id}"`).join(", ");
532
+ const mainQuery = `{ conditions(where: { id_in: [${ids}] }) { id payoutDenominator } }`;
533
+ const mainData = await querySubgraph(SUBGRAPHS.main.ipfsHash, mainQuery).catch(() => null);
534
+ if (mainData) {
535
+ const md = mainData;
536
+ for (const c of md.conditions ?? []) {
537
+ resolutionMap.set(c.id, parseInt(c.payoutDenominator || "0") > 0);
538
+ }
539
+ }
540
+ }
541
+ const annotated = (od.marketOpenInterests ?? []).map((m) => {
542
+ if (resolutionMap.get(m.conditionId)) {
543
+ return {
544
+ ...m,
545
+ warning: `⚠ dead money — market resolved. $${parseFloat(m.amount).toFixed(2)} OI represents worthless losing-side tokens that will never be redeemed on-chain.`,
546
+ };
547
+ }
548
+ return m;
549
+ });
550
+ const deadMoneyTotal = (od.marketOpenInterests ?? [])
551
+ .filter((m) => resolutionMap.get(m.conditionId))
552
+ .reduce((sum, m) => sum + parseFloat(m.amount || "0"), 0);
553
+ return textResult({
554
+ markets: annotated,
555
+ ...(deadMoneyTotal > 0
556
+ ? { deadMoneyOI: `$${deadMoneyTotal.toFixed(2)} of displayed OI is from resolved markets (losing tokens — not redeemable on-chain)` }
557
+ : {}),
558
+ });
463
559
  }
464
560
  catch (error) {
465
561
  return errorResult(error);
@@ -636,32 +732,68 @@ server.registerTool("get_trader_profile", {
636
732
  }, async ({ address, eventLimit }) => {
637
733
  try {
638
734
  const addr = address.toLowerCase();
639
- const query = `{
735
+ const tradersQuery = `{
640
736
  trader(id: "${addr}") {
641
- id
642
- firstSeenBlock
643
- firstSeenTimestamp
737
+ id firstSeenBlock firstSeenTimestamp
644
738
  ctfEvents(first: ${eventLimit}, orderBy: timestamp, orderDirection: desc) {
645
- id
646
- eventType
647
- conditionId
648
- amounts
649
- blockNumber
650
- timestamp
739
+ id eventType conditionId amounts blockNumber timestamp
651
740
  }
652
741
  usdcTransfers(first: ${eventLimit}, orderBy: timestamp, orderDirection: desc) {
653
- id
654
- from
655
- to
656
- amount
657
- isInbound
658
- blockNumber
659
- timestamp
742
+ id from to amount isInbound blockNumber timestamp
660
743
  }
661
744
  }
662
745
  }`;
663
- const data = await querySubgraph(SUBGRAPHS.traders.ipfsHash, query);
664
- return textResult(data);
746
+ const obQuery = `{
747
+ makerFills: orderFilledEvents(first: ${eventLimit}, orderBy: timestamp, orderDirection: desc, where: { maker: "${addr}" }) {
748
+ id maker taker price side fee makerAmountFilled takerAmountFilled timestamp
749
+ }
750
+ takerFills: orderFilledEvents(first: ${eventLimit}, orderBy: timestamp, orderDirection: desc, where: { taker: "${addr}" }) {
751
+ id maker taker price side fee makerAmountFilled takerAmountFilled timestamp
752
+ }
753
+ account(id: "${addr}") {
754
+ id collateralVolume numTrades
755
+ }
756
+ }`;
757
+ const [tradersData, obData] = await Promise.all([
758
+ querySubgraph(SUBGRAPHS.traders.ipfsHash, tradersQuery),
759
+ querySubgraph(SUBGRAPHS.orderbook.ipfsHash, obQuery).catch(() => null),
760
+ ]);
761
+ const od = obData;
762
+ // Deduplicate and merge fills
763
+ const seen = new Set();
764
+ const allFills = [
765
+ ...(od?.makerFills ?? []).map((e) => ({ ...e, role: "maker" })),
766
+ ...(od?.takerFills ?? []).map((e) => ({ ...e, role: "taker" })),
767
+ ]
768
+ .filter((e) => {
769
+ if (seen.has(e.id))
770
+ return false;
771
+ seen.add(e.id);
772
+ return true;
773
+ })
774
+ .sort((a, b) => parseInt(b.timestamp) - parseInt(a.timestamp));
775
+ const td = tradersData;
776
+ const hasCTFEvents = (td.trader?.ctfEvents?.length ?? 0) > 0;
777
+ const hasOBFills = allFills.length > 0;
778
+ const obVolume = parseFloat(od?.account?.collateralVolume || "0");
779
+ let entryType;
780
+ if (hasCTFEvents && hasOBFills)
781
+ entryType = "hybrid (split collateral + orderbook buys)";
782
+ else if (!hasCTFEvents && hasOBFills)
783
+ entryType = "⚠ orderbook-only — no split collateral detected";
784
+ else if (hasCTFEvents && !hasOBFills)
785
+ entryType = "split-collateral only";
786
+ else
787
+ entryType = "no activity detected";
788
+ return textResult({
789
+ ...tradersData,
790
+ orderbookFills: allFills,
791
+ orderbookAccount: od?.account ?? null,
792
+ entryType,
793
+ ...(obVolume > 0 && !hasCTFEvents
794
+ ? { pnlWarning: `⚠ wallet entered entirely via orderbook buys ($${obVolume.toFixed(2)} OB volume) — P&L from Slimmed/Beefy subgraphs is unreliable` }
795
+ : {}),
796
+ });
665
797
  }
666
798
  catch (error) {
667
799
  return errorResult(error);
@@ -819,12 +951,50 @@ server.registerPrompt("oi_analysis", {
819
951
  ],
820
952
  }));
821
953
  // ---------------------------------------------------------------------------
954
+ // HTTP/SSE Transport
955
+ // ---------------------------------------------------------------------------
956
+ function startHttpTransport(port) {
957
+ const app = express();
958
+ const sessions = new Map();
959
+ app.get("/sse", async (req, res) => {
960
+ const transport = new SSEServerTransport("/messages", res);
961
+ sessions.set(transport.sessionId, transport);
962
+ res.on("close", () => {
963
+ sessions.delete(transport.sessionId);
964
+ });
965
+ await server.connect(transport);
966
+ });
967
+ app.post("/messages", async (req, res) => {
968
+ const sessionId = req.query.sessionId;
969
+ const transport = sessions.get(sessionId);
970
+ if (!transport) {
971
+ res.status(400).json({ error: "Invalid or expired session" });
972
+ return;
973
+ }
974
+ await transport.handlePostMessage(req, res);
975
+ });
976
+ app.get("/health", (_req, res) => {
977
+ res.json({ status: "ok", server: "graph-polymarket-mcp" });
978
+ });
979
+ app.listen(port, () => {
980
+ console.error(`SSE transport listening on http://localhost:${port}/sse`);
981
+ });
982
+ }
983
+ // ---------------------------------------------------------------------------
822
984
  // Start server
823
985
  // ---------------------------------------------------------------------------
824
986
  async function main() {
825
- const transport = new StdioServerTransport();
826
- await server.connect(transport);
827
- console.error("Graph Polymarket MCP server running on stdio");
987
+ const httpPort = process.env.MCP_HTTP_PORT || (process.argv.includes("--http") ? "3851" : null);
988
+ const httpOnly = process.argv.includes("--http-only");
989
+ if (httpPort || httpOnly) {
990
+ const port = parseInt(httpPort || "3851", 10);
991
+ startHttpTransport(port);
992
+ }
993
+ if (!httpOnly) {
994
+ const transport = new StdioServerTransport();
995
+ await server.connect(transport);
996
+ }
997
+ console.error("Graph Polymarket MCP server running");
828
998
  }
829
999
  main().catch((error) => {
830
1000
  console.error("Fatal error:", error);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "graph-polymarket-mcp",
3
- "version": "1.4.0",
3
+ "version": "1.6.0",
4
4
  "mcpName": "io.github.PaulieB14/graph-polymarket-mcp",
5
- "description": "MCP server for querying Polymarket data via The Graph subgraphs",
5
+ "description": "MCP server for querying Polymarket data via The Graph subgraphs — supports stdio and SSE transports",
6
6
  "type": "module",
7
7
  "bin": {
8
8
  "graph-polymarket-mcp": "build/index.js"
@@ -11,6 +11,8 @@
11
11
  "scripts": {
12
12
  "build": "tsc && chmod 755 build/index.js",
13
13
  "start": "node build/index.js",
14
+ "start:http": "node build/index.js --http",
15
+ "start:http-only": "node build/index.js --http-only",
14
16
  "prepublishOnly": "npm run build"
15
17
  },
16
18
  "files": [
@@ -18,12 +20,17 @@
18
20
  ],
19
21
  "keywords": [
20
22
  "mcp",
23
+ "mcp-server",
24
+ "model-context-protocol",
21
25
  "polymarket",
22
26
  "thegraph",
23
27
  "subgraph",
24
28
  "prediction-market",
25
29
  "ai",
26
- "claude"
30
+ "claude",
31
+ "ai-agent",
32
+ "openclaw",
33
+ "sse"
27
34
  ],
28
35
  "author": "PaulieB14",
29
36
  "license": "MIT",
@@ -37,9 +44,11 @@
37
44
  },
38
45
  "dependencies": {
39
46
  "@modelcontextprotocol/sdk": "^1.12.1",
47
+ "express": "^4.21.0",
40
48
  "zod": "^3.24.0"
41
49
  },
42
50
  "devDependencies": {
51
+ "@types/express": "^5.0.0",
43
52
  "@types/node": "^22.0.0",
44
53
  "typescript": "^5.7.0"
45
54
  },