@catalyst-team/poly-mcp 0.1.1 → 0.1.2

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.
Files changed (107) hide show
  1. package/README.md +240 -21
  2. package/dist/errors.d.ts +11 -0
  3. package/dist/errors.d.ts.map +1 -1
  4. package/dist/errors.js +13 -2
  5. package/dist/errors.js.map +1 -1
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js +98 -5
  8. package/dist/index.js.map +1 -1
  9. package/dist/sdk-instance.d.ts +27 -0
  10. package/dist/sdk-instance.d.ts.map +1 -0
  11. package/dist/sdk-instance.js +64 -0
  12. package/dist/sdk-instance.js.map +1 -0
  13. package/dist/server.d.ts +13 -1
  14. package/dist/server.d.ts.map +1 -1
  15. package/dist/server.js +29 -27
  16. package/dist/server.js.map +1 -1
  17. package/dist/tools/guide.d.ts.map +1 -1
  18. package/dist/tools/guide.js +159 -1
  19. package/dist/tools/guide.js.map +1 -1
  20. package/dist/tools/index.d.ts +8 -4
  21. package/dist/tools/index.d.ts.map +1 -1
  22. package/dist/tools/index.js +20 -4
  23. package/dist/tools/index.js.map +1 -1
  24. package/dist/tools/insider-detection.d.ts +175 -0
  25. package/dist/tools/insider-detection.d.ts.map +1 -0
  26. package/dist/tools/insider-detection.js +654 -0
  27. package/dist/tools/insider-detection.js.map +1 -0
  28. package/dist/tools/insider-signals.d.ts +56 -0
  29. package/dist/tools/insider-signals.d.ts.map +1 -0
  30. package/dist/tools/insider-signals.js +170 -0
  31. package/dist/tools/insider-signals.js.map +1 -0
  32. package/dist/tools/market.d.ts +25 -1
  33. package/dist/tools/market.d.ts.map +1 -1
  34. package/dist/tools/market.js +504 -12
  35. package/dist/tools/market.js.map +1 -1
  36. package/dist/tools/onchain.d.ts +240 -0
  37. package/dist/tools/onchain.d.ts.map +1 -0
  38. package/dist/tools/onchain.js +610 -0
  39. package/dist/tools/onchain.js.map +1 -0
  40. package/dist/tools/order.d.ts.map +1 -1
  41. package/dist/tools/order.js +13 -6
  42. package/dist/tools/order.js.map +1 -1
  43. package/dist/tools/trade.d.ts +15 -0
  44. package/dist/tools/trade.d.ts.map +1 -1
  45. package/dist/tools/trade.js +216 -39
  46. package/dist/tools/trade.js.map +1 -1
  47. package/dist/tools/trader.d.ts +4 -1
  48. package/dist/tools/trader.d.ts.map +1 -1
  49. package/dist/tools/trader.js +316 -4
  50. package/dist/tools/trader.js.map +1 -1
  51. package/dist/tools/wallet-classification.d.ts +166 -0
  52. package/dist/tools/wallet-classification.d.ts.map +1 -0
  53. package/dist/tools/wallet-classification.js +455 -0
  54. package/dist/tools/wallet-classification.js.map +1 -0
  55. package/dist/tools/wallet.d.ts +56 -7
  56. package/dist/tools/wallet.d.ts.map +1 -1
  57. package/dist/tools/wallet.js +141 -20
  58. package/dist/tools/wallet.js.map +1 -1
  59. package/dist/types.d.ts +269 -10
  60. package/dist/types.d.ts.map +1 -1
  61. package/dist/wallet-manager.d.ts +67 -0
  62. package/dist/wallet-manager.d.ts.map +1 -0
  63. package/dist/wallet-manager.js +180 -0
  64. package/dist/wallet-manager.js.map +1 -0
  65. package/docs/01-mcp.md +554 -32
  66. package/docs/02-wallet-deep-research.md +344 -0
  67. package/docs/e2e-02/00-gap-analysis.md +211 -0
  68. package/docs/e2e-02/01-test-scenarios.md +530 -0
  69. package/docs/e2e-02/02-implementation-plan.md +190 -0
  70. package/docs/e2e-02/README.md +102 -0
  71. package/docs/reports/simonbanza-strategy-analysis-2025-12-25.md +420 -0
  72. package/docs/reports/smart-money-analysis-2025-12-23-cn.md +840 -0
  73. package/docs/reports/smart-money-trading-strategies-2025-12-25.md +440 -0
  74. package/docs/reports/weekly/01-v2.5.md +352 -0
  75. package/docs/reports/weekly/01.md +402 -0
  76. package/docs/reports/weekly/02-deep.md +558 -0
  77. package/docs/reports/weekly/02.md +505 -0
  78. package/docs/reports/weekly/03.md +437 -0
  79. package/docs/reports/weekly/04.md +418 -0
  80. package/docs/reports/weekly/05.md +485 -0
  81. package/docs/reports/weekly/06.md +436 -0
  82. package/docs/reports/weekly/07.md +381 -0
  83. package/docs/reports/weekly/08.md +502 -0
  84. package/docs/reports/weekly/09.md +441 -0
  85. package/docs/reports/weekly/10.md +511 -0
  86. package/docs/reports/weekly/README.md +188 -0
  87. package/docs/reports/weekly/prompt-v2.5.md +1019 -0
  88. package/docs/reports/weekly/prompt-v3.md +432 -0
  89. package/docs/reports/weekly/prompt.md +841 -0
  90. package/package.json +3 -2
  91. package/src/errors.ts +13 -2
  92. package/src/index.ts +286 -1
  93. package/src/sdk-instance.ts +78 -0
  94. package/src/server.ts +30 -28
  95. package/src/tools/guide.ts +160 -1
  96. package/src/tools/index.ts +65 -0
  97. package/src/tools/insider-detection.ts +899 -0
  98. package/src/tools/insider-signals.ts +213 -0
  99. package/src/tools/market.ts +569 -12
  100. package/src/tools/onchain.ts +738 -0
  101. package/src/tools/order.ts +25 -12
  102. package/src/tools/trade.ts +265 -53
  103. package/src/tools/trader.ts +350 -4
  104. package/src/tools/wallet-classification.ts +587 -0
  105. package/src/tools/wallet.ts +172 -23
  106. package/src/types.ts +294 -11
  107. package/src/wallet-manager.ts +209 -0
package/README.md CHANGED
@@ -14,7 +14,19 @@ get_trader_profile(address) → 分析盈利模式
14
14
  ```
15
15
  **示例问题**: "Top 10 聪明钱主要在哪些市场有持仓?"
16
16
 
17
- ### 2. 交易者深度分析 (Trader Deep Dive)
17
+ ### 2. 内幕检测 (Insider Detection) 🆕
18
+ ```
19
+ get_political_markets → 获取政治市场列表
20
+
21
+ scan_insider_wallets(conditionId) → 扫描市场内的可疑钱包
22
+
23
+ analyze_wallet_insider(address) → 深度分析钱包内幕特征
24
+
25
+ classify_wallet(address, tags) → 对钱包打标签分类
26
+ ```
27
+ **示例问题**: "委内瑞拉相关市场有没有内幕钱包?帮我分析下"
28
+
29
+ ### 3. 交易者深度分析 (Trader Deep Dive)
18
30
  ```
19
31
  get_trader_positions(address) → 持仓分析
20
32
 
@@ -26,7 +38,7 @@ get_trader_trades(address) → 入场时机分析
26
38
  ```
27
39
  **示例问题**: "这个交易者是什么策略类型?他的盈利主要来自哪里?"
28
40
 
29
- ### 3. 跟单交易 (Copy Trading)
41
+ ### 4. 跟单交易 (Copy Trading)
30
42
  ```
31
43
  get_leaderboard → 选择跟单目标
32
44
 
@@ -38,7 +50,7 @@ place_limit_order → 跟进交易
38
50
  ```
39
51
  **示例问题**: "排名第一的交易者最近买了什么?我应该跟吗?"
40
52
 
41
- ### 4. 钱包追踪 (Wallet Tracking)
53
+ ### 5. 钱包追踪 (Wallet Tracking)
42
54
  ```
43
55
  get_trader_trades(address) → 查看今日交易
44
56
 
@@ -48,7 +60,7 @@ get_market(conditionId) → 深入分析相关市场
48
60
  ```
49
61
  **示例问题**: "这个钱包今天有哪些交易?表现如何?"
50
62
 
51
- ### 5. 热门市场发现 (Market Discovery)
63
+ ### 6. 热门市场发现 (Market Discovery)
52
64
  ```
53
65
  search_markets(query, sortBy: 'volume') → 热门市场
54
66
 
@@ -58,17 +70,27 @@ get_leaderboard → 查看哪些聪明钱参与
58
70
  ```
59
71
  **示例问题**: "最近24小时哪些市场交易量最大?聪明钱在买入什么?"
60
72
 
61
- ### 6. 体育市场策略 (Sports Strategy)
73
+ ### 7. 套利检测 (Arbitrage Detection) 🆕
74
+ ```
75
+ detect_arbitrage(conditionId) → 检测套利机会
76
+
77
+ get_realtime_spread(conditionId) → 获取实时价差
78
+
79
+ ctf_split / ctf_merge → 执行套利操作
80
+ ```
81
+ **示例问题**: "这个市场有套利机会吗?"
82
+
83
+ ### 8. 短期加密市场 (Crypto Short-Term) 🆕
62
84
  ```
63
- search_markets(query: 'NBA/NFL') → 体育市场
85
+ scan_crypto_short_term_markets(coin: 'BTC') → 扫描即将结束的市场
64
86
 
65
- get_market(conditionId) → 查看赔率和截止时间
87
+ get_klines(conditionId, interval: '5s') → 获取高频K线
66
88
 
67
- get_orderbook分析价差和深度
89
+ detect_market_signals(conditionId)检测市场信号
68
90
  ```
69
- **示例问题**: "今天有哪些 NBA 比赛可以投注?赔率合理吗?"
91
+ **示例问题**: "找出即将在15分钟内结束的BTC市场"
70
92
 
71
- ### 7. 充值与授权 (Deposit & Auth)
93
+ ### 9. 充值与授权 (Deposit & Auth)
72
94
  ```
73
95
  check_allowances() → 检查授权状态
74
96
 
@@ -80,7 +102,7 @@ deposit_usdc(100) → 充值到交易账户
80
102
  ```
81
103
  **示例问题**: "我的钱包准备好交易了吗?帮我检查授权状态"
82
104
 
83
- ### 8. 执行交易 (Trading)
105
+ ### 10. 执行交易 (Trading)
84
106
  ```
85
107
  get_market(identifier) → 获取市场信息
86
108
 
@@ -92,6 +114,18 @@ place_limit_order(conditionId, "Yes", "BUY", 0.55, 100) → 下单
92
114
  ```
93
115
  **示例问题**: "帮我在这个市场买入 100 USDC 的 Yes"
94
116
 
117
+ ### 11. 链上操作 (CTF Operations) 🆕
118
+ ```
119
+ check_ctf_ready("100") → 检查是否准备好
120
+
121
+ ctf_split(conditionId, "100") → 拆分 USDC 为 YES+NO
122
+
123
+ ctf_merge(conditionId, "100") → 合并 YES+NO 为 USDC
124
+
125
+ ctf_redeem(conditionId) → 赎回获胜的 tokens
126
+ ```
127
+ **示例问题**: "帮我把这个市场的 YES+NO tokens 合并回 USDC"
128
+
95
129
  ---
96
130
 
97
131
  ## 📦 安装
@@ -127,7 +161,7 @@ pnpm -F @catalyst-team/poly-mcp build
127
161
  }
128
162
  ```
129
163
 
130
- #### 交易模式 (需要私钥)
164
+ #### 交易模式 - 单钱包
131
165
  ```json
132
166
  {
133
167
  "mcpServers": {
@@ -142,6 +176,21 @@ pnpm -F @catalyst-team/poly-mcp build
142
176
  }
143
177
  ```
144
178
 
179
+ #### 交易模式 - 多钱包 (推荐)
180
+ ```json
181
+ {
182
+ "mcpServers": {
183
+ "polymarket": {
184
+ "command": "npx",
185
+ "args": ["@catalyst-team/poly-mcp"],
186
+ "env": {
187
+ "POLY_WALLETS": "{\"main\":\"0x...\",\"trading\":\"0x...\",\"arb\":\"0x...\"}"
188
+ }
189
+ }
190
+ }
191
+ }
192
+ ```
193
+
145
194
  #### 本地开发
146
195
  ```json
147
196
  {
@@ -161,13 +210,21 @@ pnpm -F @catalyst-team/poly-mcp build
161
210
 
162
211
  ## 🛠️ 完整工具列表
163
212
 
213
+ ### Guide Tool
214
+ | 工具 | 描述 |
215
+ |------|------|
216
+ | `get_usage_guide` | 🚀 获取使用指南,AI Agent 应首先调用此工具 |
217
+
164
218
  ### Trader Tools (公开数据)
165
219
  | 工具 | 描述 |
166
220
  |------|------|
167
- | `get_trader_positions` | 获取钱包当前持仓和 PnL |
221
+ | `get_trader_positions` | 获取钱包当前持仓和 PnL,支持分页 |
168
222
  | `get_trader_trades` | 获取钱包交易历史 |
223
+ | `get_trader_activity` | 获取完整活动历史 (TRADE/SPLIT/MERGE/REDEEM 等),支持 fetchAll |
169
224
  | `get_trader_profile` | 获取交易者综合分析 |
170
- | `get_leaderboard` | 获取 PnL 排行榜 |
225
+ | `get_trader_closed_positions` | 获取已平仓位和实现盈亏 |
226
+ | `get_leaderboard` | 获取 PnL 排行榜,支持时间周期过滤 |
227
+ | `get_account_value` | 获取账户总价值 |
171
228
 
172
229
  ### Market Tools (公开数据)
173
230
  | 工具 | 描述 |
@@ -176,6 +233,12 @@ pnpm -F @catalyst-team/poly-mcp build
176
233
  | `search_markets` | 关键词搜索市场 |
177
234
  | `get_trending_markets` | 获取热门市场 |
178
235
  | `get_market_trades` | 获取市场最近成交 |
236
+ | `get_klines` | 获取 K 线数据,支持秒级间隔 (1s/5s/15s) |
237
+ | `get_price_history` | 获取价格历史 |
238
+ | `detect_arbitrage` | 检测套利机会 (long/short arb) |
239
+ | `detect_market_signals` | 检测市场信号 (量能/深度/鲸鱼/动量) |
240
+ | `get_realtime_spread` | 获取实时价差和套利利润 |
241
+ | `scan_crypto_short_term_markets` | 扫描短期加密市场 (5m/15m Up/Down) |
179
242
 
180
243
  ### Order Tools (公开数据)
181
244
  | 工具 | 描述 |
@@ -187,12 +250,28 @@ pnpm -F @catalyst-team/poly-mcp build
187
250
  ### Trade Tools (需要私钥)
188
251
  | 工具 | 描述 |
189
252
  |------|------|
190
- | `place_limit_order` | 下限价单 |
253
+ | `place_limit_order` | 下限价单 (GTC/GTD) |
191
254
  | `place_market_order` | 下市价单 |
192
255
  | `cancel_order` | 取消订单 |
256
+ | `cancel_all_orders` | 取消所有订单 |
193
257
  | `get_my_orders` | 查看挂单 |
258
+ | `get_my_trades` | 查看成交历史 |
194
259
 
195
- ### Wallet Tools
260
+ ### Rewards Tools (需要私钥)
261
+ | 工具 | 描述 |
262
+ |------|------|
263
+ | `get_earnings` | 获取做市收益 |
264
+ | `get_current_rewards` | 获取当前奖励市场 |
265
+ | `check_order_scoring` | 检查订单是否在赚取奖励 |
266
+
267
+ ### Wallet Management Tools (多钱包管理)
268
+ | 工具 | 描述 | 需要私钥 |
269
+ |------|------|:--------:|
270
+ | `list_wallets` | 列出所有配置的钱包 | ✅ |
271
+ | `get_active_wallet` | 获取当前活跃钱包 | ✅ |
272
+ | `set_active_wallet` | 切换活跃钱包 | ✅ |
273
+
274
+ ### Wallet Tools (充值/换币)
196
275
  | 工具 | 描述 | 需要私钥 |
197
276
  |------|------|:--------:|
198
277
  | `get_supported_deposit_assets` | 支持的充值资产和链 | ❌ |
@@ -207,10 +286,92 @@ pnpm -F @catalyst-team/poly-mcp build
207
286
  | `get_swap_quote` | 获取换币报价 | ❌ |
208
287
  | `get_available_pools` | 获取可用交易池 | ❌ |
209
288
 
210
- ### Guide Tool
289
+ ### CTF/Onchain Tools (链上操作) 🆕
290
+ | 工具 | 描述 | 需要私钥 |
291
+ |------|------|:--------:|
292
+ | `ctf_split` | 拆分 USDC 为 YES + NO tokens | ✅ |
293
+ | `ctf_merge` | 合并 YES + NO tokens 为 USDC | ✅ |
294
+ | `ctf_redeem` | 赎回获胜的 tokens | ✅ |
295
+ | `get_position_balance` | 获取持仓 token 余额 | ✅ |
296
+ | `get_market_resolution` | 检查市场是否已结算 | ✅ |
297
+ | `check_ctf_ready` | 检查钱包是否准备好 CTF 交易 | ✅ |
298
+ | `estimate_gas` | 估算 gas 费用 | ✅ |
299
+ | `get_gas_price` | 获取当前 gas 价格 | ✅ |
300
+
301
+ ### Insider Detection Tools (内幕检测) 🆕
211
302
  | 工具 | 描述 |
212
303
  |------|------|
213
- | `get_usage_guide` | 🚀 获取使用指南,AI Agent 应首先调用此工具 |
304
+ | `analyze_wallet_insider` | 分析钱包内幕特征,返回 InsiderScore (0-100) |
305
+ | `scan_insider_wallets` | 扫描市场交易,检测可疑钱包 |
306
+ | `get_insider_candidates` | 获取已检测的内幕候选人列表 |
307
+ | `get_political_markets` | 获取政治市场及内幕活动摘要 |
308
+
309
+ ### Insider Signals Tools (内幕信号) 🆕
310
+ | 工具 | 描述 |
311
+ |------|------|
312
+ | `get_insider_signals` | 获取内幕检测信号 (新钱包/大单/集群) |
313
+ | `get_insider_signal_count` | 获取未读信号数量 |
314
+ | `mark_insider_signal_read` | 标记信号为已读 |
315
+ | `mark_all_insider_signals_read` | 标记所有信号为已读 |
316
+
317
+ ### Wallet Classification Tools (钱包分类) 🆕
318
+ | 工具 | 描述 |
319
+ |------|------|
320
+ | `get_tag_definitions` | 获取所有标签定义 (22 个预定义标签,7 个分类) |
321
+ | `add_tag_definition` | 添加新标签定义 |
322
+ | `get_wallet_classification` | 获取钱包分类 |
323
+ | `classify_wallet` | 对钱包打标签分类 |
324
+ | `get_wallets_by_tag` | 按标签获取钱包列表 |
325
+ | `remove_wallet_tag` | 移除钱包标签 |
326
+
327
+ ---
328
+
329
+ ## 🕵️ 内幕检测系统
330
+
331
+ ### InsiderScore 评分体系
332
+
333
+ 基于委内瑞拉/格陵兰案例研究,分析钱包的内幕交易特征:
334
+
335
+ | 特征 | 权重 | 说明 |
336
+ |------|------|------|
337
+ | 新钱包 (<7天) | 15 | 为特定事件新建的钱包 |
338
+ | 无历史 (<3笔) | 10 | 几乎没有交易历史 |
339
+ | 单边押注 | 20 | 只买 YES 或只买 NO |
340
+ | 大额押注 | 15 | 单笔交易超过 $1000 |
341
+ | 时机敏感 | 10 | 在事件前 24h 内交易 |
342
+ | 存款窗口短 (<24h) | 25 | 充值后立即交易 |
343
+ | 价格不敏感 | 10 | 不在乎买入价格 |
344
+ | 两阶段模式 | 15 | 先失败后成功的交易模式 |
345
+
346
+ **加分项**:
347
+ - 高回报倍数 (>=5x): +10
348
+ - 政治市场: +5
349
+ - 突发事件: +10
350
+ - 跨链资金关联: +15
351
+ - 身份暴露 (ENS/SNS): +20
352
+
353
+ ### 风险等级
354
+
355
+ | 等级 | 分数 | 颜色 | 说明 |
356
+ |------|------|------|------|
357
+ | critical | ≥80 | 🔴 红色 | 高度可疑,需要重点关注 |
358
+ | high | ≥60 | 🟡 黄色 | 中度可疑,建议跟踪 |
359
+ | medium | ≥40 | 🟠 橙色 | 轻度可疑,可能是投机者 |
360
+ | low | <40 | 🟢 绿色 | 正常交易者 |
361
+
362
+ ### 标签分类系统
363
+
364
+ 7 个分类,22+ 个预定义标签:
365
+
366
+ | 分类 | 标签示例 |
367
+ |------|---------|
368
+ | trading-style | high-frequency, swing-trader, scalper |
369
+ | market-preference | crypto-focused, politics-focused, sports-focused |
370
+ | scale | whale (>$100k), shark ($10k-$100k), fish (<$10k) |
371
+ | performance | consistently-profitable, break-even, losing |
372
+ | activity | very-active, active, dormant |
373
+ | risk-profile | high-conviction, diversified, risk-averse |
374
+ | special | insider-suspected, copy-worthy, market-maker |
214
375
 
215
376
  ---
216
377
 
@@ -218,9 +379,53 @@ pnpm -F @catalyst-team/poly-mcp build
218
379
 
219
380
  1. **AI Agent 首先调用 `get_usage_guide`** - 获取完整的使用场景指南
220
381
  2. **用 `get_leaderboard` 获取聪明钱地址** - 这是分析的起点
221
- 3. **用 `search_markets` tag 参数过滤** - Politics, Sports, Crypto
222
- 4. **分析持仓时看 `avgPrice` vs `curPrice`** - 判断盈亏状态
223
- 5. **查看 `volume24hr`** - 判断市场活跃度
382
+ 3. **用 `scan_insider_wallets` 检测可疑钱包** - 政治市场特别有用
383
+ 4. **用 `get_klines` 的秒级间隔** - 分析 15 分钟加密市场
384
+ 5. **用 `detect_arbitrage` 发现套利机会** - 结合 `ctf_split/merge` 执行
385
+ 6. **分析持仓时看 `avgPrice` vs `curPrice`** - 判断盈亏状态
386
+ 7. **查看 `volume24hr`** - 判断市场活跃度
387
+
388
+ ---
389
+
390
+ ## 🔐 多钱包配置
391
+
392
+ 支持 3 种方式配置钱包私钥:
393
+
394
+ ### 方式 1: JSON 格式 (推荐)
395
+ ```bash
396
+ export POLY_WALLETS='{"main":"0x123...","trading":"0x456...","arb":"0x789..."}'
397
+ ```
398
+ - 每个钱包有自己的名称
399
+ - 方便管理多个策略钱包
400
+
401
+ ### 方式 2: 单钱包 (向后兼容)
402
+ ```bash
403
+ export POLY_PRIVATE_KEY="0x..."
404
+ ```
405
+ - 钱包名称默认为 `default`
406
+
407
+ ### 方式 3: 索引格式
408
+ ```bash
409
+ export POLY_PRIVATE_KEY_1="0x..."
410
+ export POLY_WALLET_NAME_1="main"
411
+ export POLY_PRIVATE_KEY_2="0x..."
412
+ export POLY_WALLET_NAME_2="trading"
413
+ ```
414
+ - 支持最多 10 个钱包
415
+
416
+ ### 多钱包使用示例
417
+ ```
418
+ # 列出所有钱包
419
+ list_wallets
420
+ → { wallets: [{name: "main", address: "0x...", isActive: true}, ...] }
421
+
422
+ # 切换活跃钱包
423
+ set_active_wallet(wallet: "trading")
424
+ → { success: true, activeWallet: {name: "trading", ...} }
425
+
426
+ # 后续交易将使用 trading 钱包
427
+ place_limit_order(...)
428
+ ```
224
429
 
225
430
  ---
226
431
 
@@ -239,6 +444,19 @@ Polymarket CTF **只接受 USDC.e** (Bridged USDC)!
239
444
 
240
445
  ---
241
446
 
447
+ ## 📂 数据存储
448
+
449
+ MCP Server 会在本地存储一些数据:
450
+
451
+ | 文件 | 位置 | 用途 |
452
+ |------|------|------|
453
+ | 内幕候选人 | `~/.polymarket/insider-candidates.json` | 存储已检测的可疑钱包 |
454
+ | 钱包分类 | `~/.polymarket/wallet-classifications.json` | 存储钱包标签和分类 |
455
+ | 标签定义 | `~/.polymarket/tag-definitions.json` | 存储自定义标签 |
456
+ | 内幕信号 | `./data/signals/` | 存储内幕检测信号 |
457
+
458
+ ---
459
+
242
460
  ## 📦 发布
243
461
 
244
462
  ```bash
@@ -253,6 +471,7 @@ pnpm -F @catalyst-team/poly-mcp publish
253
471
  ## 🔗 相关资源
254
472
 
255
473
  - **poly-sdk**: `@catalyst-team/poly-sdk` - Polymarket SDK
474
+ - **smart-money**: `@catalyst-team/smart-money` - 内幕检测算法
256
475
  - **文档**: `docs/01-mcp.md` - 详细设计文档
257
476
  - **Polymarket**: https://polymarket.com
258
477
 
package/dist/errors.d.ts CHANGED
@@ -25,6 +25,17 @@ export declare class McpToolError extends Error {
25
25
  }
26
26
  export declare function validateAddress(address: string): void;
27
27
  export declare function validateConditionId(conditionId: string): void;
28
+ /**
29
+ * Validate outcome string
30
+ *
31
+ * Accepts any non-empty string since markets can have different outcome names:
32
+ * - Yes/No (standard markets)
33
+ * - Up/Down (crypto short-term markets)
34
+ * - Team A/Team B (sports markets)
35
+ * - Custom outcomes (other markets)
36
+ *
37
+ * @param outcome - The outcome name to validate
38
+ */
28
39
  export declare function validateOutcome(outcome: string): void;
29
40
  export declare function validateSide(side: string): void;
30
41
  export declare function validatePrice(price: number): void;
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,oBAAY,SAAS;IACnB,eAAe,oBAAoB;IACnC,gBAAgB,qBAAqB;IACrC,oBAAoB,yBAAyB;IAC7C,cAAc,mBAAmB;IACjC,YAAY,iBAAiB;IAC7B,aAAa,kBAAkB;IAC/B,aAAa,kBAAkB;IAC/B,cAAc,mBAAmB;CAClC;AAED,qBAAa,YAAa,SAAQ,KAAK;IAE5B,IAAI,EAAE,SAAS;IAEf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;gBAFjC,IAAI,EAAE,SAAS,EACtB,OAAO,EAAE,MAAM,EACR,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,YAAA;IAM1C,UAAU;;;;;;;CASX;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAcrD;AAED,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAc7D;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAQrD;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAQ/C;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAQjD;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAQxE;AAED,wBAAgB,SAAS,CAAC,GAAG,EAAE,OAAO,GAAG,YAAY,CAepD"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,oBAAY,SAAS;IACnB,eAAe,oBAAoB;IACnC,gBAAgB,qBAAqB;IACrC,oBAAoB,yBAAyB;IAC7C,cAAc,mBAAmB;IACjC,YAAY,iBAAiB;IAC7B,aAAa,kBAAkB;IAC/B,aAAa,kBAAkB;IAC/B,cAAc,mBAAmB;CAClC;AAED,qBAAa,YAAa,SAAQ,KAAK;IAE5B,IAAI,EAAE,SAAS;IAEf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;gBAFjC,IAAI,EAAE,SAAS,EACtB,OAAO,EAAE,MAAM,EACR,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,YAAA;IAM1C,UAAU;;;;;;;CASX;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAcrD;AAED,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAc7D;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAQrD;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAQ/C;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAQjD;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAQxE;AAED,wBAAgB,SAAS,CAAC,GAAG,EAAE,OAAO,GAAG,YAAY,CAepD"}
package/dist/errors.js CHANGED
@@ -47,9 +47,20 @@ export function validateConditionId(conditionId) {
47
47
  throw new McpToolError(ErrorCode.INVALID_INPUT, 'Condition ID must start with 0x', { conditionId });
48
48
  }
49
49
  }
50
+ /**
51
+ * Validate outcome string
52
+ *
53
+ * Accepts any non-empty string since markets can have different outcome names:
54
+ * - Yes/No (standard markets)
55
+ * - Up/Down (crypto short-term markets)
56
+ * - Team A/Team B (sports markets)
57
+ * - Custom outcomes (other markets)
58
+ *
59
+ * @param outcome - The outcome name to validate
60
+ */
50
61
  export function validateOutcome(outcome) {
51
- if (!['Yes', 'No'].includes(outcome)) {
52
- throw new McpToolError(ErrorCode.INVALID_INPUT, 'Outcome must be "Yes" or "No"', { outcome });
62
+ if (!outcome || typeof outcome !== 'string' || outcome.trim().length === 0) {
63
+ throw new McpToolError(ErrorCode.INVALID_INPUT, 'Outcome must be a non-empty string (e.g., "Yes", "Up", "Team A")', { outcome });
53
64
  }
54
65
  }
55
66
  export function validateSide(side) {
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,CAAN,IAAY,SASX;AATD,WAAY,SAAS;IACnB,gDAAmC,CAAA;IACnC,kDAAqC,CAAA;IACrC,0DAA6C,CAAA;IAC7C,8CAAiC,CAAA;IACjC,0CAA6B,CAAA;IAC7B,4CAA+B,CAAA;IAC/B,4CAA+B,CAAA;IAC/B,8CAAiC,CAAA;AACnC,CAAC,EATW,SAAS,KAAT,SAAS,QASpB;AAED,MAAM,OAAO,YAAa,SAAQ,KAAK;IAE5B;IAEA;IAHT,YACS,IAAe,EACtB,OAAe,EACR,OAAiC;QAExC,KAAK,CAAC,OAAO,CAAC,CAAC;QAJR,SAAI,GAAJ,IAAI,CAAW;QAEf,YAAO,GAAP,OAAO,CAA0B;QAGxC,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;IAC7B,CAAC;IAED,UAAU;QACR,OAAO;YACL,KAAK,EAAE;gBACL,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,OAAO,EAAE,IAAI,CAAC,OAAO;aACtB;SACF,CAAC;IACJ,CAAC;CACF;AAED,MAAM,UAAU,eAAe,CAAC,OAAe;IAC7C,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAC5C,MAAM,IAAI,YAAY,CACpB,SAAS,CAAC,eAAe,EACzB,qBAAqB,CACtB,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;QACvD,MAAM,IAAI,YAAY,CACpB,SAAS,CAAC,eAAe,EACzB,kDAAkD,EAClD,EAAE,OAAO,EAAE,CACZ,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,WAAmB;IACrD,IAAI,CAAC,WAAW,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE,CAAC;QACpD,MAAM,IAAI,YAAY,CACpB,SAAS,CAAC,aAAa,EACvB,0BAA0B,CAC3B,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QAClC,MAAM,IAAI,YAAY,CACpB,SAAS,CAAC,aAAa,EACvB,iCAAiC,EACjC,EAAE,WAAW,EAAE,CAChB,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,OAAe;IAC7C,IAAI,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QACrC,MAAM,IAAI,YAAY,CACpB,SAAS,CAAC,aAAa,EACvB,+BAA+B,EAC/B,EAAE,OAAO,EAAE,CACZ,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACpC,MAAM,IAAI,YAAY,CACpB,SAAS,CAAC,aAAa,EACvB,8BAA8B,EAC9B,EAAE,IAAI,EAAE,CACT,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,KAAa;IACzC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,GAAG,KAAK,IAAI,KAAK,GAAG,KAAK,EAAE,CAAC;QAChE,MAAM,IAAI,YAAY,CACpB,SAAS,CAAC,aAAa,EACvB,uCAAuC,EACvC,EAAE,KAAK,EAAE,CACV,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,KAAa,EAAE,IAAY;IAChE,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;QAC5C,MAAM,IAAI,YAAY,CACpB,SAAS,CAAC,aAAa,EACvB,GAAG,IAAI,4BAA4B,EACnC,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAClB,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,GAAY;IACpC,IAAI,GAAG,YAAY,YAAY,EAAE,CAAC;QAChC,OAAO,GAAG,CAAC;IACb,CAAC;IACD,IAAI,GAAG,YAAY,KAAK,EAAE,CAAC;QACzB,8BAA8B;QAC9B,IAAI,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;YACvC,OAAO,IAAI,YAAY,CAAC,SAAS,CAAC,YAAY,EAAE,qBAAqB,CAAC,CAAC;QACzE,CAAC;QACD,IAAI,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;YACtC,OAAO,IAAI,YAAY,CAAC,SAAS,CAAC,gBAAgB,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;QACnE,CAAC;QACD,OAAO,IAAI,YAAY,CAAC,SAAS,CAAC,cAAc,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;IACjE,CAAC;IACD,OAAO,IAAI,YAAY,CAAC,SAAS,CAAC,cAAc,EAAE,8BAA8B,CAAC,CAAC;AACpF,CAAC"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAwCxD,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAGtD,MAAM,MAAM,WAAW,GAAG,CACxB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC1B,OAAO,CAAC,OAAO,CAAC,CAAC;AAEtB;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,aAAa,GAAG,WAAW,CAwKhE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,0CAEjC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,gBAAgB,CAE9B,MAAM,EAAE,GAAG,EACX,GAAG,EAAE,aAAa,GACjB,IAAI,CA0BN"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAoFxD,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAGtD,MAAM,MAAM,WAAW,GAAG,CACxB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC1B,OAAO,CAAC,OAAO,CAAC,CAAC;AAEtB;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,aAAa,GAAG,WAAW,CAyZhE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,0CAEjC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,gBAAgB,CAE9B,MAAM,EAAE,GAAG,EACX,GAAG,EAAE,aAAa,GACjB,IAAI,CA0BN"}
package/dist/index.js CHANGED
@@ -28,15 +28,25 @@ import { allToolDefinitions,
28
28
  // Guide handlers
29
29
  createGuideHandlers,
30
30
  // Trader handlers
31
- handleGetTraderPositions, handleGetTraderTrades, handleGetTraderProfile, handleGetLeaderboard,
31
+ handleGetTraderPositions, handleGetTraderTrades, handleGetTraderActivity, handleGetTraderProfile, handleGetLeaderboard, handleGetClosedPositions, handleGetAccountValue,
32
32
  // Market handlers
33
- handleGetMarket, handleSearchMarkets, handleGetTrendingMarkets, handleGetMarketTrades,
33
+ handleGetMarket, handleSearchMarkets, handleGetTrendingMarkets, handleGetMarketTrades, handleGetKLines, handleGetPriceHistory, handleDetectArbitrage, handleDetectMarketSignals, handleGetRealtimeSpread, handleScanCryptoShortTermMarkets,
34
34
  // Order handlers
35
35
  handleGetOrderbook, handleGetBestPrices, handleEstimateExecution,
36
36
  // Trade handlers
37
- handlePlaceLimitOrder, handlePlaceMarketOrder, handleCancelOrder, handleGetMyOrders,
38
- // Wallet handlers
39
- handleGetSupportedAssets, handleGetDepositAddresses, handleDepositUsdc, handleCheckAllowances, handleApproveTrading, handleSwap, handleSwapAndDeposit, handleGetTokenBalances, handleGetWalletBalances, handleGetSwapQuote, handleGetAvailablePools, } from './tools/index.js';
37
+ handlePlaceLimitOrder, handlePlaceMarketOrder, handleCancelOrder, handleGetMyOrders, handleCancelAllOrders, handleGetMyTrades, handleGetEarnings, handleGetCurrentRewards, handleCheckOrderScoring,
38
+ // Wallet management handlers
39
+ handleListWallets, handleGetActiveWallet, handleSetActiveWallet,
40
+ // Wallet deposit/swap handlers
41
+ handleGetSupportedAssets, handleGetDepositAddresses, handleDepositUsdc, handleCheckAllowances, handleApproveTrading, handleSwap, handleSwapAndDeposit, handleGetTokenBalances, handleGetWalletBalances, handleGetSwapQuote, handleGetAvailablePools,
42
+ // Onchain (CTF) handlers
43
+ handleCtfSplit, handleCtfMerge, handleCtfRedeem, handleGetPositionBalance, handleGetMarketResolution, handleCheckCtfReady, handleEstimateGas, handleGetGasPrice,
44
+ // Wallet classification handlers
45
+ handleGetTagDefinitions, handleAddTagDefinition, handleGetWalletClassification, handleClassifyWallet, handleGetWalletsByTag, handleRemoveWalletTag,
46
+ // Insider detection handlers
47
+ handleAnalyzeWalletInsider, handleScanInsiderWallets, handleGetInsiderCandidates, handleGetPoliticalMarkets,
48
+ // Insider signals handlers
49
+ handleGetInsiderSignals, handleGetInsiderSignalCount, handleMarkInsiderSignalRead, handleMarkAllInsiderSignalsRead, } from './tools/index.js';
40
50
  // Re-export types
41
51
  export * from './types.js';
42
52
  export * from './errors.js';
@@ -58,10 +68,16 @@ export function createMcpHandler(sdk) {
58
68
  return await handleGetTraderPositions(sdk, args);
59
69
  case 'get_trader_trades':
60
70
  return await handleGetTraderTrades(sdk, args);
71
+ case 'get_trader_activity':
72
+ return await handleGetTraderActivity(sdk, args);
61
73
  case 'get_trader_profile':
62
74
  return await handleGetTraderProfile(sdk, args);
63
75
  case 'get_leaderboard':
64
76
  return await handleGetLeaderboard(sdk, args);
77
+ case 'get_trader_closed_positions':
78
+ return await handleGetClosedPositions(sdk, args);
79
+ case 'get_account_value':
80
+ return await handleGetAccountValue(sdk, args);
65
81
  // Market Tools
66
82
  case 'get_market':
67
83
  return await handleGetMarket(sdk, args);
@@ -71,6 +87,18 @@ export function createMcpHandler(sdk) {
71
87
  return await handleGetTrendingMarkets(sdk, args);
72
88
  case 'get_market_trades':
73
89
  return await handleGetMarketTrades(sdk, args);
90
+ case 'get_klines':
91
+ return await handleGetKLines(sdk, args);
92
+ case 'get_price_history':
93
+ return await handleGetPriceHistory(sdk, args);
94
+ case 'detect_arbitrage':
95
+ return await handleDetectArbitrage(sdk, args);
96
+ case 'detect_market_signals':
97
+ return await handleDetectMarketSignals(sdk, args);
98
+ case 'get_realtime_spread':
99
+ return await handleGetRealtimeSpread(sdk, args);
100
+ case 'scan_crypto_short_term_markets':
101
+ return await handleScanCryptoShortTermMarkets(sdk, args);
74
102
  // Order Tools
75
103
  case 'get_orderbook':
76
104
  return await handleGetOrderbook(sdk, args);
@@ -87,6 +115,23 @@ export function createMcpHandler(sdk) {
87
115
  return await handleCancelOrder(sdk, args);
88
116
  case 'get_my_orders':
89
117
  return await handleGetMyOrders(sdk, args);
118
+ case 'cancel_all_orders':
119
+ return await handleCancelAllOrders(sdk);
120
+ case 'get_my_trades':
121
+ return await handleGetMyTrades(sdk, args);
122
+ case 'get_earnings':
123
+ return await handleGetEarnings(sdk, args);
124
+ case 'get_current_rewards':
125
+ return await handleGetCurrentRewards(sdk);
126
+ case 'check_order_scoring':
127
+ return await handleCheckOrderScoring(sdk, args);
128
+ // Wallet Management Tools
129
+ case 'list_wallets':
130
+ return await handleListWallets();
131
+ case 'get_active_wallet':
132
+ return await handleGetActiveWallet();
133
+ case 'set_active_wallet':
134
+ return await handleSetActiveWallet(args);
90
135
  // Wallet Tools
91
136
  case 'get_supported_deposit_assets':
92
137
  return await handleGetSupportedAssets(sdk, args);
@@ -110,6 +155,54 @@ export function createMcpHandler(sdk) {
110
155
  return await handleGetSwapQuote(sdk, args);
111
156
  case 'get_available_pools':
112
157
  return await handleGetAvailablePools(sdk);
158
+ // Onchain (CTF) Tools
159
+ case 'ctf_split':
160
+ return await handleCtfSplit(args);
161
+ case 'ctf_merge':
162
+ return await handleCtfMerge(args);
163
+ case 'ctf_redeem':
164
+ return await handleCtfRedeem(args);
165
+ case 'get_position_balance':
166
+ return await handleGetPositionBalance(args);
167
+ case 'get_market_resolution':
168
+ return await handleGetMarketResolution(args);
169
+ case 'check_ctf_ready':
170
+ return await handleCheckCtfReady(args);
171
+ case 'estimate_gas':
172
+ return await handleEstimateGas(args);
173
+ case 'get_gas_price':
174
+ return await handleGetGasPrice();
175
+ // Wallet Classification Tools
176
+ case 'get_tag_definitions':
177
+ return await handleGetTagDefinitions(sdk, args);
178
+ case 'add_tag_definition':
179
+ return await handleAddTagDefinition(sdk, args);
180
+ case 'get_wallet_classification':
181
+ return await handleGetWalletClassification(sdk, args);
182
+ case 'classify_wallet':
183
+ return await handleClassifyWallet(sdk, args);
184
+ case 'get_wallets_by_tag':
185
+ return await handleGetWalletsByTag(sdk, args);
186
+ case 'remove_wallet_tag':
187
+ return await handleRemoveWalletTag(sdk, args);
188
+ // Insider Detection Tools
189
+ case 'analyze_wallet_insider':
190
+ return await handleAnalyzeWalletInsider(sdk, args);
191
+ case 'scan_insider_wallets':
192
+ return await handleScanInsiderWallets(sdk, args);
193
+ case 'get_insider_candidates':
194
+ return await handleGetInsiderCandidates(sdk, args);
195
+ case 'get_political_markets':
196
+ return await handleGetPoliticalMarkets(sdk, args);
197
+ // Insider Signals Tools
198
+ case 'get_insider_signals':
199
+ return await handleGetInsiderSignals(sdk, args);
200
+ case 'get_insider_signal_count':
201
+ return await handleGetInsiderSignalCount(sdk, {});
202
+ case 'mark_insider_signal_read':
203
+ return await handleMarkInsiderSignalRead(sdk, args);
204
+ case 'mark_all_insider_signals_read':
205
+ return await handleMarkAllInsiderSignalsRead(sdk, {});
113
206
  default:
114
207
  throw new McpToolError('INVALID_INPUT', `Unknown tool: ${toolName}`);
115
208
  }
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAGH,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EACL,kBAAkB;AAClB,iBAAiB;AACjB,mBAAmB;AACnB,kBAAkB;AAClB,wBAAwB,EACxB,qBAAqB,EACrB,sBAAsB,EACtB,oBAAoB;AACpB,kBAAkB;AAClB,eAAe,EACf,mBAAmB,EACnB,wBAAwB,EACxB,qBAAqB;AACrB,iBAAiB;AACjB,kBAAkB,EAClB,mBAAmB,EACnB,uBAAuB;AACvB,iBAAiB;AACjB,qBAAqB,EACrB,sBAAsB,EACtB,iBAAiB,EACjB,iBAAiB;AACjB,kBAAkB;AAClB,wBAAwB,EACxB,yBAAyB,EACzB,iBAAiB,EACjB,qBAAqB,EACrB,oBAAoB,EACpB,UAAU,EACV,oBAAoB,EACpB,sBAAsB,EACtB,uBAAuB,EACvB,kBAAkB,EAClB,uBAAuB,GACxB,MAAM,kBAAkB,CAAC;AAE1B,kBAAkB;AAClB,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAQtD;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,GAAkB;IACjD,4CAA4C;IAC5C,MAAM,aAAa,GAAG,mBAAmB,EAAE,CAAC;IAE5C,OAAO,KAAK,EAAE,QAAgB,EAAE,IAA6B,EAAoB,EAAE;QACjF,IAAI,CAAC;YACH,QAAQ,QAAQ,EAAE,CAAC;gBACjB,sCAAsC;gBACtC,KAAK,iBAAiB;oBACpB,OAAO,MAAM,aAAa,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;gBAEnD,eAAe;gBACf,KAAK,sBAAsB;oBACzB,OAAO,MAAM,wBAAwB,CAAC,GAAG,EAAE,IAA2B,CAAC,CAAC;gBAE1E,KAAK,mBAAmB;oBACtB,OAAO,MAAM,qBAAqB,CAAC,GAAG,EAAE,IAIvC,CAAC,CAAC;gBAEL,KAAK,oBAAoB;oBACvB,OAAO,MAAM,sBAAsB,CAAC,GAAG,EAAE,IAA2B,CAAC,CAAC;gBAExE,KAAK,iBAAiB;oBACpB,OAAO,MAAM,oBAAoB,CAAC,GAAG,EAAE,IAGtC,CAAC,CAAC;gBAEL,eAAe;gBACf,KAAK,YAAY;oBACf,OAAO,MAAM,eAAe,CAAC,GAAG,EAAE,IAA8B,CAAC,CAAC;gBAEpE,KAAK,gBAAgB;oBACnB,OAAO,MAAM,mBAAmB,CAAC,GAAG,EAAE,IAIrC,CAAC,CAAC;gBAEL,KAAK,sBAAsB;oBACzB,OAAO,MAAM,wBAAwB,CAAC,GAAG,EAAE,IAG1C,CAAC,CAAC;gBAEL,KAAK,mBAAmB;oBACtB,OAAO,MAAM,qBAAqB,CAAC,GAAG,EAAE,IAGvC,CAAC,CAAC;gBAEL,cAAc;gBACd,KAAK,eAAe;oBAClB,OAAO,MAAM,kBAAkB,CAAC,GAAG,EAAE,IAIpC,CAAC,CAAC;gBAEL,KAAK,iBAAiB;oBACpB,OAAO,MAAM,mBAAmB,CAAC,GAAG,EAAE,IAErC,CAAC,CAAC;gBAEL,KAAK,oBAAoB;oBACvB,OAAO,MAAM,uBAAuB,CAAC,GAAG,EAAE,IAKzC,CAAC,CAAC;gBAEL,cAAc;gBACd,KAAK,mBAAmB;oBACtB,OAAO,MAAM,qBAAqB,CAAC,GAAG,EAAE,IAOvC,CAAC,CAAC;gBAEL,KAAK,oBAAoB;oBACvB,OAAO,MAAM,sBAAsB,CAAC,GAAG,EAAE,IAMxC,CAAC,CAAC;gBAEL,KAAK,cAAc;oBACjB,OAAO,MAAM,iBAAiB,CAAC,GAAG,EAAE,IAA2B,CAAC,CAAC;gBAEnE,KAAK,eAAe;oBAClB,OAAO,MAAM,iBAAiB,CAAC,GAAG,EAAE,IAEnC,CAAC,CAAC;gBAEL,eAAe;gBACf,KAAK,8BAA8B;oBACjC,OAAO,MAAM,wBAAwB,CAAC,GAAG,EAAE,IAE1C,CAAC,CAAC;gBAEL,KAAK,uBAAuB;oBAC1B,OAAO,MAAM,yBAAyB,CAAC,GAAG,CAAC,CAAC;gBAE9C,KAAK,cAAc;oBACjB,OAAO,MAAM,iBAAiB,CAAC,GAAG,EAAE,IAGnC,CAAC,CAAC;gBAEL,KAAK,kBAAkB;oBACrB,OAAO,MAAM,qBAAqB,CAAC,GAAG,CAAC,CAAC;gBAE1C,KAAK,iBAAiB;oBACpB,OAAO,MAAM,oBAAoB,CAAC,GAAG,CAAC,CAAC;gBAEzC,KAAK,MAAM;oBACT,OAAO,MAAM,UAAU,CAAC,GAAG,EAAE,IAK5B,CAAC,CAAC;gBAEL,KAAK,kBAAkB;oBACrB,OAAO,MAAM,oBAAoB,CAAC,GAAG,EAAE,IAItC,CAAC,CAAC;gBAEL,KAAK,oBAAoB;oBACvB,OAAO,MAAM,sBAAsB,CAAC,GAAG,CAAC,CAAC;gBAE3C,KAAK,qBAAqB;oBACxB,OAAO,MAAM,uBAAuB,CAAC,GAAG,EAAE,IAA2B,CAAC,CAAC;gBAEzE,KAAK,gBAAgB;oBACnB,OAAO,MAAM,kBAAkB,CAAC,GAAG,EAAE,IAIpC,CAAC,CAAC;gBAEL,KAAK,qBAAqB;oBACxB,OAAO,MAAM,uBAAuB,CAAC,GAAG,CAAC,CAAC;gBAE5C;oBACE,MAAM,IAAI,YAAY,CACpB,eAA6D,EAC7D,iBAAiB,QAAQ,EAAE,CAC5B,CAAC;YACN,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,YAAY,YAAY,EAAE,CAAC;gBAChC,OAAO,GAAG,CAAC,UAAU,EAAE,CAAC;YAC1B,CAAC;YACD,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,CAAC;QACrC,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB;IAChC,OAAO,kBAAkB,CAAC;AAC5B,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,gBAAgB;AAC9B,8DAA8D;AAC9D,MAAW,EACX,GAAkB;IAElB,MAAM,OAAO,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;IAEtC,8BAA8B;IAC9B,MAAM,CAAC,iBAAiB,CACtB,EAAE,MAAM,EAAE,YAAY,EAAE,EACxB,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,kBAAkB,EAAE,CAAC,CAC5C,CAAC;IAEF,6BAA6B;IAC7B,MAAM,CAAC,iBAAiB,CACtB,EAAE,MAAM,EAAE,YAAY,EAAE,EACxB,KAAK,EAAE,OAA0E,EAAE,EAAE;QACnF,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;QACtD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAEzC,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;iBACtC;aACF;SACF,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * SDK Instance Management
3
+ *
4
+ * Provides singleton instances of poly-sdk services for use across MCP tools.
5
+ * This ensures consistent configuration and efficient resource usage.
6
+ */
7
+ import { MarketService } from '@catalyst-team/poly-sdk';
8
+ /**
9
+ * Get or create shared MarketService instance
10
+ *
11
+ * The MarketService provides:
12
+ * - CLOB market data (getClobMarket)
13
+ * - Token resolution (resolveMarketTokens)
14
+ * - Orderbook data
15
+ * - K-Line aggregation
16
+ *
17
+ * Note: This creates a read-only MarketService without GammaApiClient or DataApiClient.
18
+ * For full functionality, use the PolymarketSDK directly.
19
+ */
20
+ export declare function getMarketService(): MarketService;
21
+ /**
22
+ * Clear all cached SDK instances
23
+ *
24
+ * Useful for testing or when configuration changes.
25
+ */
26
+ export declare function clearSdkInstances(): void;
27
+ //# sourceMappingURL=sdk-instance.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sdk-instance.d.ts","sourceRoot":"","sources":["../src/sdk-instance.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,aAAa,EAId,MAAM,yBAAyB,CAAC;AA4BjC;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,IAAI,aAAa,CAchD;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,IAAI,IAAI,CAIxC"}