@catalyst-team/poly-sdk 0.1.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/.env +0 -0
- package/README.md +803 -0
- package/dist/__tests__/clob-api.test.d.ts +5 -0
- package/dist/__tests__/clob-api.test.d.ts.map +1 -0
- package/dist/__tests__/clob-api.test.js +240 -0
- package/dist/__tests__/clob-api.test.js.map +1 -0
- package/dist/__tests__/integration/bridge-client.integration.test.d.ts +11 -0
- package/dist/__tests__/integration/bridge-client.integration.test.d.ts.map +1 -0
- package/dist/__tests__/integration/bridge-client.integration.test.js +260 -0
- package/dist/__tests__/integration/bridge-client.integration.test.js.map +1 -0
- package/dist/__tests__/integration/clob-api.integration.test.d.ts +13 -0
- package/dist/__tests__/integration/clob-api.integration.test.d.ts.map +1 -0
- package/dist/__tests__/integration/clob-api.integration.test.js +170 -0
- package/dist/__tests__/integration/clob-api.integration.test.js.map +1 -0
- package/dist/__tests__/integration/ctf-client.integration.test.d.ts +17 -0
- package/dist/__tests__/integration/ctf-client.integration.test.d.ts.map +1 -0
- package/dist/__tests__/integration/ctf-client.integration.test.js +234 -0
- package/dist/__tests__/integration/ctf-client.integration.test.js.map +1 -0
- package/dist/__tests__/integration/data-api.integration.test.d.ts +9 -0
- package/dist/__tests__/integration/data-api.integration.test.d.ts.map +1 -0
- package/dist/__tests__/integration/data-api.integration.test.js +161 -0
- package/dist/__tests__/integration/data-api.integration.test.js.map +1 -0
- package/dist/__tests__/integration/gamma-api.integration.test.d.ts +9 -0
- package/dist/__tests__/integration/gamma-api.integration.test.d.ts.map +1 -0
- package/dist/__tests__/integration/gamma-api.integration.test.js +170 -0
- package/dist/__tests__/integration/gamma-api.integration.test.js.map +1 -0
- package/dist/__tests__/test-utils.d.ts +92 -0
- package/dist/__tests__/test-utils.d.ts.map +1 -0
- package/dist/__tests__/test-utils.js +143 -0
- package/dist/__tests__/test-utils.js.map +1 -0
- package/dist/clients/bridge-client.d.ts +388 -0
- package/dist/clients/bridge-client.d.ts.map +1 -0
- package/dist/clients/bridge-client.js +587 -0
- package/dist/clients/bridge-client.js.map +1 -0
- package/dist/clients/clob-api.d.ts +318 -0
- package/dist/clients/clob-api.d.ts.map +1 -0
- package/dist/clients/clob-api.js +388 -0
- package/dist/clients/clob-api.js.map +1 -0
- package/dist/clients/ctf-client.d.ts +473 -0
- package/dist/clients/ctf-client.d.ts.map +1 -0
- package/dist/clients/ctf-client.js +915 -0
- package/dist/clients/ctf-client.js.map +1 -0
- package/dist/clients/data-api.d.ts +134 -0
- package/dist/clients/data-api.d.ts.map +1 -0
- package/dist/clients/data-api.js +265 -0
- package/dist/clients/data-api.js.map +1 -0
- package/dist/clients/gamma-api.d.ts +401 -0
- package/dist/clients/gamma-api.d.ts.map +1 -0
- package/dist/clients/gamma-api.js +352 -0
- package/dist/clients/gamma-api.js.map +1 -0
- package/dist/clients/trading-client.d.ts +252 -0
- package/dist/clients/trading-client.d.ts.map +1 -0
- package/dist/clients/trading-client.js +543 -0
- package/dist/clients/trading-client.js.map +1 -0
- package/dist/clients/websocket-manager.d.ts +100 -0
- package/dist/clients/websocket-manager.d.ts.map +1 -0
- package/dist/clients/websocket-manager.js +193 -0
- package/dist/clients/websocket-manager.js.map +1 -0
- package/dist/core/cache-adapter-bridge.d.ts +36 -0
- package/dist/core/cache-adapter-bridge.d.ts.map +1 -0
- package/dist/core/cache-adapter-bridge.js +81 -0
- package/dist/core/cache-adapter-bridge.js.map +1 -0
- package/dist/core/cache.d.ts +40 -0
- package/dist/core/cache.d.ts.map +1 -0
- package/dist/core/cache.js +71 -0
- package/dist/core/cache.js.map +1 -0
- package/dist/core/errors.d.ts +38 -0
- package/dist/core/errors.d.ts.map +1 -0
- package/dist/core/errors.js +84 -0
- package/dist/core/errors.js.map +1 -0
- package/dist/core/rate-limiter.d.ts +31 -0
- package/dist/core/rate-limiter.d.ts.map +1 -0
- package/dist/core/rate-limiter.js +70 -0
- package/dist/core/rate-limiter.js.map +1 -0
- package/dist/core/types.d.ts +314 -0
- package/dist/core/types.d.ts.map +1 -0
- package/dist/core/types.js +19 -0
- package/dist/core/types.js.map +1 -0
- package/dist/core/unified-cache.d.ts +63 -0
- package/dist/core/unified-cache.d.ts.map +1 -0
- package/dist/core/unified-cache.js +114 -0
- package/dist/core/unified-cache.js.map +1 -0
- package/dist/index.d.ts +94 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +258 -0
- package/dist/index.js.map +1 -0
- package/dist/mcp/errors.d.ts +33 -0
- package/dist/mcp/errors.d.ts.map +1 -0
- package/dist/mcp/errors.js +86 -0
- package/dist/mcp/errors.js.map +1 -0
- package/dist/mcp/index.d.ts +62 -0
- package/dist/mcp/index.d.ts.map +1 -0
- package/dist/mcp/index.js +173 -0
- package/dist/mcp/index.js.map +1 -0
- package/dist/mcp/server.d.ts +17 -0
- package/dist/mcp/server.d.ts.map +1 -0
- package/dist/mcp/server.js +155 -0
- package/dist/mcp/server.js.map +1 -0
- package/dist/mcp/tools/guide.d.ts +12 -0
- package/dist/mcp/tools/guide.d.ts.map +1 -0
- package/dist/mcp/tools/guide.js +801 -0
- package/dist/mcp/tools/guide.js.map +1 -0
- package/dist/mcp/tools/index.d.ts +11 -0
- package/dist/mcp/tools/index.d.ts.map +1 -0
- package/dist/mcp/tools/index.js +27 -0
- package/dist/mcp/tools/index.js.map +1 -0
- package/dist/mcp/tools/market.d.ts +11 -0
- package/dist/mcp/tools/market.d.ts.map +1 -0
- package/dist/mcp/tools/market.js +314 -0
- package/dist/mcp/tools/market.js.map +1 -0
- package/dist/mcp/tools/order.d.ts +10 -0
- package/dist/mcp/tools/order.d.ts.map +1 -0
- package/dist/mcp/tools/order.js +258 -0
- package/dist/mcp/tools/order.js.map +1 -0
- package/dist/mcp/tools/trade.d.ts +38 -0
- package/dist/mcp/tools/trade.d.ts.map +1 -0
- package/dist/mcp/tools/trade.js +314 -0
- package/dist/mcp/tools/trade.js.map +1 -0
- package/dist/mcp/tools/trader.d.ts +11 -0
- package/dist/mcp/tools/trader.d.ts.map +1 -0
- package/dist/mcp/tools/trader.js +277 -0
- package/dist/mcp/tools/trader.js.map +1 -0
- package/dist/mcp/tools/wallet.d.ts +274 -0
- package/dist/mcp/tools/wallet.d.ts.map +1 -0
- package/dist/mcp/tools/wallet.js +579 -0
- package/dist/mcp/tools/wallet.js.map +1 -0
- package/dist/mcp/types.d.ts +413 -0
- package/dist/mcp/types.d.ts.map +1 -0
- package/dist/mcp/types.js +5 -0
- package/dist/mcp/types.js.map +1 -0
- package/dist/services/authorization-service.d.ts +97 -0
- package/dist/services/authorization-service.d.ts.map +1 -0
- package/dist/services/authorization-service.js +279 -0
- package/dist/services/authorization-service.js.map +1 -0
- package/dist/services/market-service.d.ts +108 -0
- package/dist/services/market-service.d.ts.map +1 -0
- package/dist/services/market-service.js +458 -0
- package/dist/services/market-service.js.map +1 -0
- package/dist/services/realtime-service.d.ts +82 -0
- package/dist/services/realtime-service.d.ts.map +1 -0
- package/dist/services/realtime-service.js +150 -0
- package/dist/services/realtime-service.js.map +1 -0
- package/dist/services/swap-service.d.ts +217 -0
- package/dist/services/swap-service.d.ts.map +1 -0
- package/dist/services/swap-service.js +695 -0
- package/dist/services/swap-service.js.map +1 -0
- package/dist/services/wallet-service.d.ts +94 -0
- package/dist/services/wallet-service.d.ts.map +1 -0
- package/dist/services/wallet-service.js +173 -0
- package/dist/services/wallet-service.js.map +1 -0
- package/dist/utils/price-utils.d.ts +153 -0
- package/dist/utils/price-utils.d.ts.map +1 -0
- package/dist/utils/price-utils.js +236 -0
- package/dist/utils/price-utils.js.map +1 -0
- package/docs/00-design.md +760 -0
- package/docs/01-mcp.md +2041 -0
- package/docs/02-API.md +1148 -0
- package/docs/e2e/01-trader-tools.md +159 -0
- package/docs/e2e/02-market-tools.md +180 -0
- package/docs/e2e/03-order-tools.md +166 -0
- package/docs/e2e/04-wallet-tools.md +224 -0
- package/docs/e2e/05-trading-tools.md +327 -0
- package/docs/e2e/06-integration-scenarios.md +481 -0
- package/docs/e2e/coordinator.md +376 -0
- package/examples/01-basic-usage.ts +68 -0
- package/examples/02-smart-money.ts +95 -0
- package/examples/03-market-analysis.ts +108 -0
- package/examples/04-kline-aggregation.ts +158 -0
- package/examples/05-follow-wallet-strategy.ts +156 -0
- package/examples/06-services-demo.ts +124 -0
- package/examples/07-realtime-websocket.ts +117 -0
- package/examples/08-trading-orders.ts +278 -0
- package/examples/09-rewards-tracking.ts +187 -0
- package/examples/10-ctf-operations.ts +336 -0
- package/examples/11-live-arbitrage-scan.ts +221 -0
- package/examples/12-trending-arb-monitor.ts +406 -0
- package/examples/README.md +179 -0
- package/package.json +62 -0
- package/scripts/README.md +163 -0
- package/scripts/approvals/approve-erc1155.ts +129 -0
- package/scripts/approvals/approve-neg-risk-erc1155.ts +149 -0
- package/scripts/approvals/approve-neg-risk.ts +102 -0
- package/scripts/approvals/check-all-allowances.ts +150 -0
- package/scripts/approvals/check-allowance.ts +129 -0
- package/scripts/approvals/check-ctf-approval.ts +158 -0
- package/scripts/datas/001-report.md +486 -0
- package/scripts/datas/clone-modal-screenshot.png +0 -0
- package/scripts/deposit/deposit-native-usdc.ts +179 -0
- package/scripts/deposit/deposit-usdc.ts +155 -0
- package/scripts/deposit/swap-usdc-to-usdce.ts +375 -0
- package/scripts/research/research-markets.ts +166 -0
- package/scripts/trading/check-orders.ts +50 -0
- package/scripts/trading/sell-nvidia-positions.ts +206 -0
- package/scripts/trading/test-order.ts +172 -0
- package/scripts/truth.md +440 -0
- package/scripts/verify/test-approve-trading.ts +98 -0
- package/scripts/verify/test-provider-fix.ts +43 -0
- package/scripts/verify/test-search-mcp.ts +113 -0
- package/scripts/verify/verify-all-apis.ts +160 -0
- package/scripts/wallet/check-wallet-balances.ts +75 -0
- package/scripts/wallet/test-wallet-operations.ts +191 -0
- package/scripts/wallet/verify-wallet-tools.ts +124 -0
- package/src/__tests__/clob-api.test.ts +301 -0
- package/src/__tests__/integration/bridge-client.integration.test.ts +314 -0
- package/src/__tests__/integration/clob-api.integration.test.ts +218 -0
- package/src/__tests__/integration/ctf-client.integration.test.ts +331 -0
- package/src/__tests__/integration/data-api.integration.test.ts +194 -0
- package/src/__tests__/integration/gamma-api.integration.test.ts +206 -0
- package/src/__tests__/test-utils.ts +170 -0
- package/src/clients/bridge-client.ts +841 -0
- package/src/clients/clob-api.ts +629 -0
- package/src/clients/ctf-client.ts +1216 -0
- package/src/clients/data-api.ts +469 -0
- package/src/clients/gamma-api.ts +597 -0
- package/src/clients/trading-client.ts +749 -0
- package/src/clients/websocket-manager.ts +267 -0
- package/src/core/cache-adapter-bridge.ts +94 -0
- package/src/core/cache.ts +85 -0
- package/src/core/errors.ts +117 -0
- package/src/core/rate-limiter.ts +74 -0
- package/src/core/types.ts +360 -0
- package/src/core/unified-cache.ts +153 -0
- package/src/index.ts +455 -0
- package/src/mcp/README.md +380 -0
- package/src/mcp/errors.ts +124 -0
- package/src/mcp/index.ts +309 -0
- package/src/mcp/server.ts +183 -0
- package/src/mcp/tools/guide.ts +821 -0
- package/src/mcp/tools/index.ts +73 -0
- package/src/mcp/tools/market.ts +363 -0
- package/src/mcp/tools/order.ts +326 -0
- package/src/mcp/tools/trade.ts +417 -0
- package/src/mcp/tools/trader.ts +322 -0
- package/src/mcp/tools/wallet.ts +683 -0
- package/src/mcp/types.ts +472 -0
- package/src/services/authorization-service.ts +357 -0
- package/src/services/market-service.ts +544 -0
- package/src/services/realtime-service.ts +196 -0
- package/src/services/swap-service.ts +896 -0
- package/src/services/wallet-service.ts +259 -0
- package/src/utils/price-utils.ts +307 -0
- package/tsconfig.json +8 -0
- package/vitest.config.ts +19 -0
- package/vitest.integration.config.ts +18 -0
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Polymarket MCP Tools
|
|
3
|
+
*
|
|
4
|
+
* This module provides MCP (Model Context Protocol) tools for interacting with Polymarket.
|
|
5
|
+
* It can be used to build an MCP server that exposes Polymarket functionality to AI agents.
|
|
6
|
+
*
|
|
7
|
+
* Tool Categories:
|
|
8
|
+
* - Trader Tools: Analyze traders/wallets (positions, trades, profiles, leaderboard)
|
|
9
|
+
* - Market Tools: Discover and analyze markets (get, search, trending, trades)
|
|
10
|
+
* - Order Tools: Analyze orderbooks (depth, best prices, execution estimates)
|
|
11
|
+
* - Trade Tools: Execute trades (limit orders, market orders) - requires API credentials
|
|
12
|
+
* - Wallet Tools: Deposits and authorization management
|
|
13
|
+
*
|
|
14
|
+
* Usage:
|
|
15
|
+
* ```typescript
|
|
16
|
+
* import { PolymarketSDK } from '@prediction-router/poly-sdk';
|
|
17
|
+
* import { createMcpHandler, allToolDefinitions } from '@prediction-router/poly-sdk/mcp';
|
|
18
|
+
*
|
|
19
|
+
* const sdk = new PolymarketSDK();
|
|
20
|
+
* const handler = createMcpHandler(sdk);
|
|
21
|
+
*
|
|
22
|
+
* // Use with MCP server
|
|
23
|
+
* const result = await handler('get_trader_positions', { address: '0x...' });
|
|
24
|
+
* ```
|
|
25
|
+
*/
|
|
26
|
+
import { McpToolError, wrapError } from './errors.js';
|
|
27
|
+
import { allToolDefinitions,
|
|
28
|
+
// Guide handlers
|
|
29
|
+
createGuideHandlers,
|
|
30
|
+
// Trader handlers
|
|
31
|
+
handleGetTraderPositions, handleGetTraderTrades, handleGetTraderProfile, handleGetLeaderboard,
|
|
32
|
+
// Market handlers
|
|
33
|
+
handleGetMarket, handleSearchMarkets, handleGetTrendingMarkets, handleGetMarketTrades,
|
|
34
|
+
// Order handlers
|
|
35
|
+
handleGetOrderbook, handleGetBestPrices, handleEstimateExecution,
|
|
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';
|
|
40
|
+
// Re-export types
|
|
41
|
+
export * from './types.js';
|
|
42
|
+
export * from './errors.js';
|
|
43
|
+
export { allToolDefinitions } from './tools/index.js';
|
|
44
|
+
/**
|
|
45
|
+
* Create an MCP tool handler for the given SDK instance
|
|
46
|
+
*/
|
|
47
|
+
export function createMcpHandler(sdk) {
|
|
48
|
+
// Create guide handlers (no SDK dependency)
|
|
49
|
+
const guideHandlers = createGuideHandlers();
|
|
50
|
+
return async (toolName, args) => {
|
|
51
|
+
try {
|
|
52
|
+
switch (toolName) {
|
|
53
|
+
// Guide Tool - should be called FIRST
|
|
54
|
+
case 'get_usage_guide':
|
|
55
|
+
return await guideHandlers.get_usage_guide(args);
|
|
56
|
+
// Trader Tools
|
|
57
|
+
case 'get_trader_positions':
|
|
58
|
+
return await handleGetTraderPositions(sdk, args);
|
|
59
|
+
case 'get_trader_trades':
|
|
60
|
+
return await handleGetTraderTrades(sdk, args);
|
|
61
|
+
case 'get_trader_profile':
|
|
62
|
+
return await handleGetTraderProfile(sdk, args);
|
|
63
|
+
case 'get_leaderboard':
|
|
64
|
+
return await handleGetLeaderboard(sdk, args);
|
|
65
|
+
// Market Tools
|
|
66
|
+
case 'get_market':
|
|
67
|
+
return await handleGetMarket(sdk, args);
|
|
68
|
+
case 'search_markets':
|
|
69
|
+
return await handleSearchMarkets(sdk, args);
|
|
70
|
+
case 'get_trending_markets':
|
|
71
|
+
return await handleGetTrendingMarkets(sdk, args);
|
|
72
|
+
case 'get_market_trades':
|
|
73
|
+
return await handleGetMarketTrades(sdk, args);
|
|
74
|
+
// Order Tools
|
|
75
|
+
case 'get_orderbook':
|
|
76
|
+
return await handleGetOrderbook(sdk, args);
|
|
77
|
+
case 'get_best_prices':
|
|
78
|
+
return await handleGetBestPrices(sdk, args);
|
|
79
|
+
case 'estimate_execution':
|
|
80
|
+
return await handleEstimateExecution(sdk, args);
|
|
81
|
+
// Trade Tools
|
|
82
|
+
case 'place_limit_order':
|
|
83
|
+
return await handlePlaceLimitOrder(sdk, args);
|
|
84
|
+
case 'place_market_order':
|
|
85
|
+
return await handlePlaceMarketOrder(sdk, args);
|
|
86
|
+
case 'cancel_order':
|
|
87
|
+
return await handleCancelOrder(sdk, args);
|
|
88
|
+
case 'get_my_orders':
|
|
89
|
+
return await handleGetMyOrders(sdk, args);
|
|
90
|
+
// Wallet Tools
|
|
91
|
+
case 'get_supported_deposit_assets':
|
|
92
|
+
return await handleGetSupportedAssets(sdk, args);
|
|
93
|
+
case 'get_deposit_addresses':
|
|
94
|
+
return await handleGetDepositAddresses(sdk);
|
|
95
|
+
case 'deposit_usdc':
|
|
96
|
+
return await handleDepositUsdc(sdk, args);
|
|
97
|
+
case 'check_allowances':
|
|
98
|
+
return await handleCheckAllowances(sdk);
|
|
99
|
+
case 'approve_trading':
|
|
100
|
+
return await handleApproveTrading(sdk);
|
|
101
|
+
case 'swap':
|
|
102
|
+
return await handleSwap(sdk, args);
|
|
103
|
+
case 'swap_and_deposit':
|
|
104
|
+
return await handleSwapAndDeposit(sdk, args);
|
|
105
|
+
case 'get_token_balances':
|
|
106
|
+
return await handleGetTokenBalances(sdk);
|
|
107
|
+
case 'get_wallet_balances':
|
|
108
|
+
return await handleGetWalletBalances(sdk, args);
|
|
109
|
+
case 'get_swap_quote':
|
|
110
|
+
return await handleGetSwapQuote(sdk, args);
|
|
111
|
+
case 'get_available_pools':
|
|
112
|
+
return await handleGetAvailablePools(sdk);
|
|
113
|
+
default:
|
|
114
|
+
throw new McpToolError('INVALID_INPUT', `Unknown tool: ${toolName}`);
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
catch (err) {
|
|
118
|
+
if (err instanceof McpToolError) {
|
|
119
|
+
return err.toResponse();
|
|
120
|
+
}
|
|
121
|
+
return wrapError(err).toResponse();
|
|
122
|
+
}
|
|
123
|
+
};
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Get all tool definitions for MCP registration
|
|
127
|
+
*/
|
|
128
|
+
export function getToolDefinitions() {
|
|
129
|
+
return allToolDefinitions;
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* MCP Server factory (for use with @modelcontextprotocol/sdk)
|
|
133
|
+
*
|
|
134
|
+
* Example usage with MCP SDK:
|
|
135
|
+
* ```typescript
|
|
136
|
+
* import { Server } from '@modelcontextprotocol/sdk/server/index.js';
|
|
137
|
+
* import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
|
|
138
|
+
* import { PolymarketSDK } from '@prediction-router/poly-sdk';
|
|
139
|
+
* import { registerMcpTools } from '@prediction-router/poly-sdk/mcp';
|
|
140
|
+
*
|
|
141
|
+
* const server = new Server(
|
|
142
|
+
* { name: 'poly-mcp', version: '1.0.0' },
|
|
143
|
+
* { capabilities: { tools: {} } }
|
|
144
|
+
* );
|
|
145
|
+
*
|
|
146
|
+
* const sdk = new PolymarketSDK();
|
|
147
|
+
* registerMcpTools(server, sdk);
|
|
148
|
+
*
|
|
149
|
+
* const transport = new StdioServerTransport();
|
|
150
|
+
* await server.connect(transport);
|
|
151
|
+
* ```
|
|
152
|
+
*/
|
|
153
|
+
export function registerMcpTools(
|
|
154
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
155
|
+
server, sdk) {
|
|
156
|
+
const handler = createMcpHandler(sdk);
|
|
157
|
+
// Register list tools handler
|
|
158
|
+
server.setRequestHandler({ method: 'tools/list' }, async () => ({ tools: allToolDefinitions }));
|
|
159
|
+
// Register call tool handler
|
|
160
|
+
server.setRequestHandler({ method: 'tools/call' }, async (request) => {
|
|
161
|
+
const { name, arguments: args = {} } = request.params;
|
|
162
|
+
const result = await handler(name, args);
|
|
163
|
+
return {
|
|
164
|
+
content: [
|
|
165
|
+
{
|
|
166
|
+
type: 'text',
|
|
167
|
+
text: JSON.stringify(result, null, 2),
|
|
168
|
+
},
|
|
169
|
+
],
|
|
170
|
+
};
|
|
171
|
+
});
|
|
172
|
+
}
|
|
173
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mcp/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* Polymarket MCP Server
|
|
4
|
+
*
|
|
5
|
+
* A standalone MCP server that exposes Polymarket functionality to AI agents.
|
|
6
|
+
*
|
|
7
|
+
* Usage:
|
|
8
|
+
* npx @prediction-router/poly-sdk-mcp
|
|
9
|
+
* # or
|
|
10
|
+
* node dist/mcp/server.js
|
|
11
|
+
*
|
|
12
|
+
* Configuration via environment variables:
|
|
13
|
+
* - POLY_PRIVATE_KEY: Wallet private key (required for trading, API credentials are derived automatically)
|
|
14
|
+
* - POLY_CHAIN_ID: Chain ID (137 for mainnet, 80002 for testnet, default: 137)
|
|
15
|
+
*/
|
|
16
|
+
export {};
|
|
17
|
+
//# sourceMappingURL=server.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;GAaG"}
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* Polymarket MCP Server
|
|
4
|
+
*
|
|
5
|
+
* A standalone MCP server that exposes Polymarket functionality to AI agents.
|
|
6
|
+
*
|
|
7
|
+
* Usage:
|
|
8
|
+
* npx @prediction-router/poly-sdk-mcp
|
|
9
|
+
* # or
|
|
10
|
+
* node dist/mcp/server.js
|
|
11
|
+
*
|
|
12
|
+
* Configuration via environment variables:
|
|
13
|
+
* - POLY_PRIVATE_KEY: Wallet private key (required for trading, API credentials are derived automatically)
|
|
14
|
+
* - POLY_CHAIN_ID: Chain ID (137 for mainnet, 80002 for testnet, default: 137)
|
|
15
|
+
*/
|
|
16
|
+
import { Server } from '@modelcontextprotocol/sdk/server/index.js';
|
|
17
|
+
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
|
|
18
|
+
import { CallToolRequestSchema, ListToolsRequestSchema, } from '@modelcontextprotocol/sdk/types.js';
|
|
19
|
+
import { Wallet } from 'ethers';
|
|
20
|
+
import { PolymarketSDK } from '../index.js';
|
|
21
|
+
import { allToolDefinitions } from './tools/index.js';
|
|
22
|
+
import { createMcpHandler } from './index.js';
|
|
23
|
+
/**
|
|
24
|
+
* Create a wallet signer from private key if available
|
|
25
|
+
*/
|
|
26
|
+
function createSigner() {
|
|
27
|
+
const privateKey = process.env.POLY_PRIVATE_KEY;
|
|
28
|
+
if (!privateKey) {
|
|
29
|
+
return undefined;
|
|
30
|
+
}
|
|
31
|
+
try {
|
|
32
|
+
// Ensure private key has 0x prefix
|
|
33
|
+
const formattedKey = privateKey.startsWith('0x') ? privateKey : `0x${privateKey}`;
|
|
34
|
+
return new Wallet(formattedKey);
|
|
35
|
+
}
|
|
36
|
+
catch (error) {
|
|
37
|
+
console.error('Failed to create wallet from POLY_PRIVATE_KEY:', error);
|
|
38
|
+
return undefined;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
// Server metadata
|
|
42
|
+
const SERVER_NAME = 'polymarket-mcp';
|
|
43
|
+
const SERVER_VERSION = '0.1.0';
|
|
44
|
+
/**
|
|
45
|
+
* Create and configure the MCP server
|
|
46
|
+
*/
|
|
47
|
+
function createServer() {
|
|
48
|
+
const server = new Server({
|
|
49
|
+
name: SERVER_NAME,
|
|
50
|
+
version: SERVER_VERSION,
|
|
51
|
+
}, {
|
|
52
|
+
capabilities: {
|
|
53
|
+
tools: {},
|
|
54
|
+
},
|
|
55
|
+
});
|
|
56
|
+
// Create signer from private key if available
|
|
57
|
+
const signer = createSigner();
|
|
58
|
+
// Initialize SDK with environment configuration
|
|
59
|
+
// API credentials are derived automatically from private key via createOrDeriveApiKey()
|
|
60
|
+
const sdk = new PolymarketSDK({
|
|
61
|
+
chainId: process.env.POLY_CHAIN_ID ? parseInt(process.env.POLY_CHAIN_ID) : 137,
|
|
62
|
+
signer,
|
|
63
|
+
});
|
|
64
|
+
// Log trading status
|
|
65
|
+
if (signer) {
|
|
66
|
+
console.error(`Trading enabled for wallet: ${signer.address}`);
|
|
67
|
+
}
|
|
68
|
+
else {
|
|
69
|
+
console.error('Trading disabled (set POLY_PRIVATE_KEY to enable)');
|
|
70
|
+
}
|
|
71
|
+
// Create the tool handler
|
|
72
|
+
const handler = createMcpHandler(sdk);
|
|
73
|
+
// Register list tools handler
|
|
74
|
+
server.setRequestHandler(ListToolsRequestSchema, async () => {
|
|
75
|
+
return {
|
|
76
|
+
tools: allToolDefinitions.map((tool) => ({
|
|
77
|
+
name: tool.name,
|
|
78
|
+
description: tool.description,
|
|
79
|
+
inputSchema: tool.inputSchema,
|
|
80
|
+
})),
|
|
81
|
+
};
|
|
82
|
+
});
|
|
83
|
+
// Register call tool handler
|
|
84
|
+
server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
85
|
+
const { name, arguments: args = {} } = request.params;
|
|
86
|
+
try {
|
|
87
|
+
const result = await handler(name, args);
|
|
88
|
+
// Check if result is an error response
|
|
89
|
+
if (result && typeof result === 'object' && 'error' in result) {
|
|
90
|
+
return {
|
|
91
|
+
content: [
|
|
92
|
+
{
|
|
93
|
+
type: 'text',
|
|
94
|
+
text: JSON.stringify(result, null, 2),
|
|
95
|
+
},
|
|
96
|
+
],
|
|
97
|
+
isError: true,
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
return {
|
|
101
|
+
content: [
|
|
102
|
+
{
|
|
103
|
+
type: 'text',
|
|
104
|
+
text: JSON.stringify(result, null, 2),
|
|
105
|
+
},
|
|
106
|
+
],
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
catch (error) {
|
|
110
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
111
|
+
return {
|
|
112
|
+
content: [
|
|
113
|
+
{
|
|
114
|
+
type: 'text',
|
|
115
|
+
text: JSON.stringify({
|
|
116
|
+
error: {
|
|
117
|
+
code: 'INTERNAL_ERROR',
|
|
118
|
+
message: errorMessage,
|
|
119
|
+
},
|
|
120
|
+
}, null, 2),
|
|
121
|
+
},
|
|
122
|
+
],
|
|
123
|
+
isError: true,
|
|
124
|
+
};
|
|
125
|
+
}
|
|
126
|
+
});
|
|
127
|
+
return server;
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* Main entry point
|
|
131
|
+
*/
|
|
132
|
+
async function main() {
|
|
133
|
+
const server = createServer();
|
|
134
|
+
const transport = new StdioServerTransport();
|
|
135
|
+
// Handle shutdown gracefully
|
|
136
|
+
process.on('SIGINT', async () => {
|
|
137
|
+
await server.close();
|
|
138
|
+
process.exit(0);
|
|
139
|
+
});
|
|
140
|
+
process.on('SIGTERM', async () => {
|
|
141
|
+
await server.close();
|
|
142
|
+
process.exit(0);
|
|
143
|
+
});
|
|
144
|
+
// Connect and run
|
|
145
|
+
await server.connect(transport);
|
|
146
|
+
// Log to stderr (stdout is reserved for MCP protocol)
|
|
147
|
+
console.error(`${SERVER_NAME} v${SERVER_VERSION} started`);
|
|
148
|
+
console.error(`Available tools: ${allToolDefinitions.length}`);
|
|
149
|
+
}
|
|
150
|
+
// Run the server
|
|
151
|
+
main().catch((error) => {
|
|
152
|
+
console.error('Failed to start MCP server:', error);
|
|
153
|
+
process.exit(1);
|
|
154
|
+
});
|
|
155
|
+
//# sourceMappingURL=server.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Usage Guide Tool
|
|
3
|
+
*
|
|
4
|
+
* AI agents should call this tool FIRST to understand how to use Polymarket MCP.
|
|
5
|
+
* Returns common use cases and recommended tool combinations.
|
|
6
|
+
*/
|
|
7
|
+
import type { ToolDefinition } from '../types.js';
|
|
8
|
+
type GuideHandler = (args: Record<string, unknown>) => Promise<unknown>;
|
|
9
|
+
export declare const guideToolDefinitions: ToolDefinition[];
|
|
10
|
+
export declare function createGuideHandlers(): Record<string, GuideHandler>;
|
|
11
|
+
export {};
|
|
12
|
+
//# sourceMappingURL=guide.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"guide.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/guide.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAGlD,KAAK,YAAY,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;AAExE,eAAO,MAAM,oBAAoB,EAAE,cAAc,EA2BhD,CAAC;AAkvBF,wBAAgB,mBAAmB,IAAI,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CA2BlE"}
|