polymarket-trader-mcp 1.5.1 → 1.5.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.
package/README.md CHANGED
@@ -37,12 +37,6 @@ The most comprehensive MCP server for Polymarket — 48 tools spanning direct tr
37
37
 
38
38
  ## Quick Start
39
39
 
40
- ### One-Line Install
41
-
42
- ```bash
43
- curl -fsSL https://raw.githubusercontent.com/demwick/polymarket-trader-mcp/main/install.sh | bash
44
- ```
45
-
46
40
  ### npm Install
47
41
 
48
42
  ```bash
@@ -295,6 +289,20 @@ docker run -p 3000:3000 -v mcp-data:/app/data \
295
289
 
296
290
  ---
297
291
 
292
+ ## Permissions & Capabilities
293
+
294
+ This package has a transparent, minimal footprint. Full details: **[PERMISSIONS.md](PERMISSIONS.md)**
295
+
296
+ | Category | Scope |
297
+ |----------|-------|
298
+ | **Network** | 3 Polymarket APIs (HTTPS) + 1 WebSocket for live prices + license check |
299
+ | **Filesystem** | Single SQLite database file + `.env` read at startup |
300
+ | **Environment** | API credentials (live mode only), budget config, mode selection |
301
+ | **Processes** | None — no child processes, no shell commands |
302
+ | **Telemetry** | None — no analytics, no tracking, no data sent to third parties |
303
+
304
+ ---
305
+
298
306
  ## Development
299
307
 
300
308
  ```bash
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/db/schema.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAEtC,wBAAgB,YAAY,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAsFxD"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/db/schema.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAEtC,wBAAgB,YAAY,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAoFxD"}
package/dist/db/schema.js CHANGED
@@ -1,7 +1,7 @@
1
1
  export function initializeDb(db) {
2
2
  db.pragma("journal_mode = WAL");
3
- db.exec(`
4
- CREATE TABLE IF NOT EXISTS watchlist (
3
+ const ddl = [
4
+ `CREATE TABLE IF NOT EXISTS watchlist (
5
5
  address TEXT PRIMARY KEY,
6
6
  alias TEXT,
7
7
  roi REAL,
@@ -10,9 +10,8 @@ export function initializeDb(db) {
10
10
  trade_count INTEGER,
11
11
  added_at TEXT DEFAULT (datetime('now')),
12
12
  last_checked TEXT
13
- );
14
-
15
- CREATE TABLE IF NOT EXISTS trades (
13
+ )`,
14
+ `CREATE TABLE IF NOT EXISTS trades (
16
15
  id INTEGER PRIMARY KEY AUTOINCREMENT,
17
16
  trader_address TEXT NOT NULL,
18
17
  market_slug TEXT,
@@ -29,21 +28,18 @@ export function initializeDb(db) {
29
28
  resolved_at TEXT,
30
29
  current_price REAL,
31
30
  exit_reason TEXT
32
- );
33
-
34
- CREATE TABLE IF NOT EXISTS daily_budget (
31
+ )`,
32
+ `CREATE TABLE IF NOT EXISTS daily_budget (
35
33
  date TEXT NOT NULL,
36
34
  spent REAL DEFAULT 0,
37
35
  limit_amount REAL NOT NULL,
38
36
  PRIMARY KEY (date)
39
- );
40
-
41
- CREATE TABLE IF NOT EXISTS config (
37
+ )`,
38
+ `CREATE TABLE IF NOT EXISTS config (
42
39
  key TEXT PRIMARY KEY,
43
40
  value TEXT NOT NULL
44
- );
45
-
46
- CREATE TABLE IF NOT EXISTS agent_cycles (
41
+ )`,
42
+ `CREATE TABLE IF NOT EXISTS agent_cycles (
47
43
  id INTEGER PRIMARY KEY AUTOINCREMENT,
48
44
  agent_name TEXT NOT NULL,
49
45
  strategy TEXT NOT NULL,
@@ -58,9 +54,8 @@ export function initializeDb(db) {
58
54
  actions_taken TEXT,
59
55
  notes TEXT,
60
56
  created_at TEXT DEFAULT (datetime('now'))
61
- );
62
-
63
- CREATE TABLE IF NOT EXISTS market_watchlist (
57
+ )`,
58
+ `CREATE TABLE IF NOT EXISTS market_watchlist (
64
59
  condition_id TEXT PRIMARY KEY,
65
60
  token_id TEXT,
66
61
  title TEXT,
@@ -69,20 +64,22 @@ export function initializeDb(db) {
69
64
  alert_above REAL,
70
65
  last_price REAL,
71
66
  added_at TEXT DEFAULT (datetime('now'))
72
- );
73
-
74
- CREATE INDEX IF NOT EXISTS idx_trades_condition_id ON trades(condition_id);
75
- CREATE INDEX IF NOT EXISTS idx_trades_trader_address ON trades(trader_address);
76
- CREATE INDEX IF NOT EXISTS idx_trades_status ON trades(status);
77
- CREATE INDEX IF NOT EXISTS idx_trades_created_at ON trades(created_at);
78
- CREATE INDEX IF NOT EXISTS idx_daily_budget_date ON daily_budget(date);
79
- `);
67
+ )`,
68
+ `CREATE INDEX IF NOT EXISTS idx_trades_condition_id ON trades(condition_id)`,
69
+ `CREATE INDEX IF NOT EXISTS idx_trades_trader_address ON trades(trader_address)`,
70
+ `CREATE INDEX IF NOT EXISTS idx_trades_status ON trades(status)`,
71
+ `CREATE INDEX IF NOT EXISTS idx_trades_created_at ON trades(created_at)`,
72
+ `CREATE INDEX IF NOT EXISTS idx_daily_budget_date ON daily_budget(date)`,
73
+ ];
74
+ for (const sql of ddl) {
75
+ db.prepare(sql).run();
76
+ }
80
77
  // Migrations — add columns safely
81
78
  const cols = db.prepare("PRAGMA table_info(trades)").all();
82
79
  const colNames = new Set(cols.map((c) => c.name));
83
80
  if (!colNames.has("sl_price"))
84
- db.exec("ALTER TABLE trades ADD COLUMN sl_price REAL");
81
+ db.prepare("ALTER TABLE trades ADD COLUMN sl_price REAL").run();
85
82
  if (!colNames.has("tp_price"))
86
- db.exec("ALTER TABLE trades ADD COLUMN tp_price REAL");
83
+ db.prepare("ALTER TABLE trades ADD COLUMN tp_price REAL").run();
87
84
  }
88
85
  //# sourceMappingURL=schema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/db/schema.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,YAAY,CAAC,EAAqB;IAChD,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;IAEhC,EAAE,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4EP,CAAC,CAAC;IAEH,kCAAkC;IAClC,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC,GAAG,EAAwB,CAAC;IACjF,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAClD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC;QAAE,EAAE,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;IACtF,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC;QAAE,EAAE,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;AACxF,CAAC"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/db/schema.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,YAAY,CAAC,EAAqB;IAChD,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;IAEhC,MAAM,GAAG,GAAG;QACV;;;;;;;;;MASE;QACF;;;;;;;;;;;;;;;;;MAiBE;QACF;;;;;MAKE;QACF;;;MAGE;QACF;;;;;;;;;;;;;;;MAeE;QACF;;;;;;;;;MASE;QACF,4EAA4E;QAC5E,gFAAgF;QAChF,gEAAgE;QAChE,wEAAwE;QACxE,wEAAwE;KACzE,CAAC;IAEF,KAAK,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;QACtB,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;IACxB,CAAC;IAED,kCAAkC;IAClC,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC,GAAG,EAAwB,CAAC;IACjF,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAClD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC;QAAE,EAAE,CAAC,OAAO,CAAC,6CAA6C,CAAC,CAAC,GAAG,EAAE,CAAC;IAC/F,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC;QAAE,EAAE,CAAC,OAAO,CAAC,6CAA6C,CAAC,CAAC,GAAG,EAAE,CAAC;AACjG,CAAC"}
package/dist/index.js CHANGED
File without changes
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "polymarket-trader-mcp",
3
- "version": "1.5.1",
3
+ "version": "1.5.2",
4
4
  "description": "MCP server for Polymarket — trade, analyze markets, copy top traders, and manage your portfolio via AI",
5
5
  "main": "dist/index.js",
6
6
  "bin": {
@@ -19,12 +19,18 @@
19
19
  "type": "module",
20
20
  "keywords": [
21
21
  "mcp",
22
+ "mcp-server",
23
+ "model-context-protocol",
22
24
  "polymarket",
23
- "trading",
24
25
  "prediction-markets",
26
+ "trading",
27
+ "trading-bot",
25
28
  "copy-trading",
26
29
  "ai-agent",
27
- "smart-money"
30
+ "smart-money",
31
+ "claude",
32
+ "ai-trading",
33
+ "portfolio-management"
28
34
  ],
29
35
  "license": "MIT",
30
36
  "repository": {