outsmart-agent 1.0.0-alpha.5 → 1.0.0-alpha.7

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
@@ -51,23 +51,33 @@ npx skills add outsmartchad/outsmart-agent
51
51
 
52
52
  ## MCP Tools
53
53
 
54
- ### DEX Tools (14)
54
+ ### DEX Tools (11)
55
+
56
+ | Tool | What |
57
+ |------|------|
58
+ | `dex_buy` | Buy tokens with SOL on any DEX |
59
+ | `dex_sell` | Sell tokens (percentage-based) |
60
+ | `dex_quote` | On-chain price from a pool |
61
+ | `dex_snipe` | Competitive buy with Jito MEV tip |
62
+ | `dex_find_pool` | Find pool address for a token pair |
63
+ | `dex_create_pool` | Create DAMM v2 pool on Meteora |
64
+ | `dex_add_liquidity` | Add LP (DLMM bins, DAMM v2 full-range) |
65
+ | `dex_remove_liquidity` | Remove LP |
66
+ | `dex_claim_fees` | Collect swap fees from LP |
67
+ | `dex_list_positions` | Your LP positions in a pool |
68
+ | `dex_list_dexes` | All 18 adapters + capabilities |
69
+
70
+ ### Launchpad Tools (1)
71
+
72
+ | Tool | What |
73
+ |------|------|
74
+ | `launchpad_create_coin` | Launch token on PumpFun |
75
+
76
+ ### Solana Tools (2)
55
77
 
56
78
  | Tool | What |
57
79
  |------|------|
58
- | `solana_buy` | Buy tokens with SOL on any DEX |
59
- | `solana_sell` | Sell tokens (percentage-based) |
60
- | `solana_quote` | On-chain price from a pool |
61
- | `solana_snipe` | Competitive buy with Jito MEV tip |
62
- | `solana_find_pool` | Find pool address for a token pair |
63
- | `solana_create_pool` | Create DAMM v2 pool on Meteora |
64
- | `solana_create_token` | Launch token on PumpFun |
65
- | `solana_add_liquidity` | Add LP (DLMM bins, DAMM v2 full-range) |
66
- | `solana_remove_liquidity` | Remove LP |
67
- | `solana_claim_fees` | Collect swap fees from LP |
68
- | `solana_list_positions` | Your LP positions in a pool |
69
80
  | `solana_token_info` | DexScreener market data |
70
- | `solana_list_dexes` | All 18 adapters + capabilities |
71
81
  | `solana_wallet_balance` | SOL and token balances |
72
82
 
73
83
  ### Jupiter Tools (9)
@@ -166,7 +176,7 @@ Never >5% on a single trade. Take profits. Track what works. Evolve.
166
176
 
167
177
  ## Roadmap
168
178
 
169
- - [x] MCP Server — 32 tools (14 DEX + 9 Jupiter + 9 Percolator), 18 DEX adapters
179
+ - [x] MCP Server — 32 tools (11 DEX + 1 Launchpad + 2 Solana + 9 Jupiter + 9 Percolator), 18 DEX adapters
170
180
  - [x] AI Skills — 9 strategy skills
171
181
  - [x] Claude Code Plugin manifest
172
182
  - [x] Percolator — Permissionless perp exchange creation, trading, LP, insurance
@@ -2,15 +2,19 @@
2
2
  /**
3
3
  * outsmart-agent MCP Server
4
4
  *
5
- * Exposes 32 MCP tools wrapping the `outsmart` trading library + Jupiter APIs + Percolator.
5
+ * Exposes 38 MCP tools wrapping the `outsmart` trading library + Jupiter APIs + Percolator.
6
6
  * Runs over stdio transport — start with `npx outsmart-agent`.
7
7
  *
8
- * DEX Tools (14):
9
- * solana_buy, solana_sell, solana_quote, solana_find_pool, solana_snipe,
10
- * solana_create_pool, solana_create_token,
11
- * solana_add_liquidity, solana_remove_liquidity, solana_claim_fees,
12
- * solana_list_positions, solana_token_info, solana_list_dexes,
13
- * solana_wallet_balance
8
+ * DEX Tools (11):
9
+ * dex_buy, dex_sell, dex_quote, dex_find_pool, dex_snipe,
10
+ * dex_create_pool, dex_add_liquidity, dex_remove_liquidity,
11
+ * dex_claim_fees, dex_list_positions, dex_list_dexes
12
+ *
13
+ * Launchpad Tools (1):
14
+ * launchpad_create_coin
15
+ *
16
+ * Solana Tools (2):
17
+ * solana_token_info, solana_wallet_balance
14
18
  *
15
19
  * Jupiter Tools (9):
16
20
  * jupiter_shield,
@@ -18,10 +22,12 @@
18
22
  * jupiter_prediction_order, jupiter_prediction_positions, jupiter_prediction_claim,
19
23
  * jupiter_dca_create, jupiter_dca_list, jupiter_dca_cancel
20
24
  *
21
- * Percolator Perp Tools (9):
22
- * percolator_create_market, percolator_trade, percolator_deposit,
23
- * percolator_withdraw, percolator_market_state, percolator_list_markets,
24
- * percolator_push_price, percolator_crank, percolator_insurance_lp
25
+ * Percolator Perp Tools (15):
26
+ * percolator_create_market, percolator_trade, percolator_long, percolator_short,
27
+ * percolator_close, percolator_deposit, percolator_withdraw,
28
+ * percolator_market_state, percolator_list_markets,
29
+ * percolator_push_price, percolator_crank, percolator_insurance_lp,
30
+ * percolator_keeper_start, percolator_keeper_stop, percolator_keeper_status
25
31
  */
26
32
  export {};
27
33
  //# sourceMappingURL=server.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;;;;;;;;;;GAuBG"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG"}
@@ -3,15 +3,19 @@
3
3
  /**
4
4
  * outsmart-agent MCP Server
5
5
  *
6
- * Exposes 32 MCP tools wrapping the `outsmart` trading library + Jupiter APIs + Percolator.
6
+ * Exposes 38 MCP tools wrapping the `outsmart` trading library + Jupiter APIs + Percolator.
7
7
  * Runs over stdio transport — start with `npx outsmart-agent`.
8
8
  *
9
- * DEX Tools (14):
10
- * solana_buy, solana_sell, solana_quote, solana_find_pool, solana_snipe,
11
- * solana_create_pool, solana_create_token,
12
- * solana_add_liquidity, solana_remove_liquidity, solana_claim_fees,
13
- * solana_list_positions, solana_token_info, solana_list_dexes,
14
- * solana_wallet_balance
9
+ * DEX Tools (11):
10
+ * dex_buy, dex_sell, dex_quote, dex_find_pool, dex_snipe,
11
+ * dex_create_pool, dex_add_liquidity, dex_remove_liquidity,
12
+ * dex_claim_fees, dex_list_positions, dex_list_dexes
13
+ *
14
+ * Launchpad Tools (1):
15
+ * launchpad_create_coin
16
+ *
17
+ * Solana Tools (2):
18
+ * solana_token_info, solana_wallet_balance
15
19
  *
16
20
  * Jupiter Tools (9):
17
21
  * jupiter_shield,
@@ -19,10 +23,12 @@
19
23
  * jupiter_prediction_order, jupiter_prediction_positions, jupiter_prediction_claim,
20
24
  * jupiter_dca_create, jupiter_dca_list, jupiter_dca_cancel
21
25
  *
22
- * Percolator Perp Tools (9):
23
- * percolator_create_market, percolator_trade, percolator_deposit,
24
- * percolator_withdraw, percolator_market_state, percolator_list_markets,
25
- * percolator_push_price, percolator_crank, percolator_insurance_lp
26
+ * Percolator Perp Tools (15):
27
+ * percolator_create_market, percolator_trade, percolator_long, percolator_short,
28
+ * percolator_close, percolator_deposit, percolator_withdraw,
29
+ * percolator_market_state, percolator_list_markets,
30
+ * percolator_push_price, percolator_crank, percolator_insurance_lp,
31
+ * percolator_keeper_start, percolator_keeper_stop, percolator_keeper_status
26
32
  */
27
33
  Object.defineProperty(exports, "__esModule", { value: true });
28
34
  const mcp_js_1 = require("@modelcontextprotocol/sdk/server/mcp.js");
@@ -38,7 +44,7 @@ function getAdapter(dex) {
38
44
  return (0, outsmart_1.getDexAdapter)(dex);
39
45
  }
40
46
  catch (err) {
41
- throw new Error(`DEX adapter "${dex}" not found. Use solana_list_dexes to see available adapters. ${err.message}`);
47
+ throw new Error(`DEX adapter "${dex}" not found. Use dex_list_dexes to see available adapters. ${err.message}`);
42
48
  }
43
49
  }
44
50
  // ---------------------------------------------------------------------------
@@ -63,10 +69,10 @@ const server = new mcp_js_1.McpServer({
63
69
  version: "1.0.0-alpha.1",
64
70
  });
65
71
  // ---------------------------------------------------------------------------
66
- // Tool: solana_buy
72
+ // Tool: dex_buy
67
73
  // ---------------------------------------------------------------------------
68
74
  // @ts-expect-error — TS2589: deep type instantiation from MCP SDK generics + zod
69
- server.tool("solana_buy", "Buy tokens with SOL on a Solana DEX. For aggregators (jupiter-ultra, dflow), provide 'token'. For on-chain DEXes (raydium-*, meteora-*, orca, etc.), provide 'pool'.", {
75
+ server.tool("dex_buy", "Buy tokens with SOL on a Solana DEX. For aggregators (jupiter-ultra, dflow), provide 'token'. For on-chain DEXes (raydium-*, meteora-*, orca, etc.), provide 'pool'.", {
70
76
  dex: zod_1.z.string().describe("DEX adapter name (e.g. 'jupiter-ultra', 'raydium-cpmm', 'meteora-dlmm')"),
71
77
  pool: zod_1.z.string().optional().describe("Pool address (required for on-chain DEXes)"),
72
78
  token: zod_1.z.string().optional().describe("Token mint address (required for aggregators)"),
@@ -94,9 +100,9 @@ server.tool("solana_buy", "Buy tokens with SOL on a Solana DEX. For aggregators
94
100
  }
95
101
  });
96
102
  // ---------------------------------------------------------------------------
97
- // Tool: solana_sell
103
+ // Tool: dex_sell
98
104
  // ---------------------------------------------------------------------------
99
- server.tool("solana_sell", "Sell tokens for SOL on a Solana DEX. Specify percentage of holdings to sell (0-100).", {
105
+ server.tool("dex_sell", "Sell tokens for SOL on a Solana DEX. Specify percentage of holdings to sell (0-100).", {
100
106
  dex: zod_1.z.string().describe("DEX adapter name"),
101
107
  pool: zod_1.z.string().optional().describe("Pool address (required for on-chain DEXes)"),
102
108
  token: zod_1.z.string().optional().describe("Token mint address (required for aggregators)"),
@@ -122,9 +128,9 @@ server.tool("solana_sell", "Sell tokens for SOL on a Solana DEX. Specify percent
122
128
  }
123
129
  });
124
130
  // ---------------------------------------------------------------------------
125
- // Tool: solana_quote
131
+ // Tool: dex_quote
126
132
  // ---------------------------------------------------------------------------
127
- server.tool("solana_quote", "Get the current on-chain price from a pool. Reads directly from on-chain state.", {
133
+ server.tool("dex_quote", "Get the current on-chain price from a pool. Reads directly from on-chain state.", {
128
134
  dex: zod_1.z.string().describe("DEX adapter name"),
129
135
  pool: zod_1.z.string().describe("Pool address to read price from"),
130
136
  }, async (args) => {
@@ -141,9 +147,9 @@ server.tool("solana_quote", "Get the current on-chain price from a pool. Reads d
141
147
  }
142
148
  });
143
149
  // ---------------------------------------------------------------------------
144
- // Tool: solana_add_liquidity
150
+ // Tool: dex_add_liquidity
145
151
  // ---------------------------------------------------------------------------
146
- server.tool("solana_add_liquidity", "Add liquidity to a pool. Supports DLMM strategies (spot, curve, bid-ask) and bin configuration.", {
152
+ server.tool("dex_add_liquidity", "Add liquidity to a pool. Supports DLMM strategies (spot, curve, bid-ask) and bin configuration.", {
147
153
  dex: zod_1.z.string().describe("DEX adapter name"),
148
154
  pool: zod_1.z.string().describe("Pool address to add liquidity to"),
149
155
  amount_sol: zod_1.z.number().min(0).optional().describe("Amount of SOL to deposit"),
@@ -172,9 +178,9 @@ server.tool("solana_add_liquidity", "Add liquidity to a pool. Supports DLMM stra
172
178
  }
173
179
  });
174
180
  // ---------------------------------------------------------------------------
175
- // Tool: solana_remove_liquidity
181
+ // Tool: dex_remove_liquidity
176
182
  // ---------------------------------------------------------------------------
177
- server.tool("solana_remove_liquidity", "Remove liquidity from a pool. Specify percentage to withdraw (0-100).", {
183
+ server.tool("dex_remove_liquidity", "Remove liquidity from a pool. Specify percentage to withdraw (0-100).", {
178
184
  dex: zod_1.z.string().describe("DEX adapter name"),
179
185
  pool: zod_1.z.string().describe("Pool address"),
180
186
  percentage: zod_1.z.number().min(0).max(100).describe("Percentage of LP position to remove (100 = withdraw all)"),
@@ -197,9 +203,9 @@ server.tool("solana_remove_liquidity", "Remove liquidity from a pool. Specify pe
197
203
  }
198
204
  });
199
205
  // ---------------------------------------------------------------------------
200
- // Tool: solana_claim_fees
206
+ // Tool: dex_claim_fees
201
207
  // ---------------------------------------------------------------------------
202
- server.tool("solana_claim_fees", "Claim accumulated swap fees from LP positions in a pool.", {
208
+ server.tool("dex_claim_fees", "Claim accumulated swap fees from LP positions in a pool.", {
203
209
  dex: zod_1.z.string().describe("DEX adapter name"),
204
210
  pool: zod_1.z.string().describe("Pool address"),
205
211
  position_address: zod_1.z.string().optional().describe("Specific position to claim from"),
@@ -217,9 +223,9 @@ server.tool("solana_claim_fees", "Claim accumulated swap fees from LP positions
217
223
  }
218
224
  });
219
225
  // ---------------------------------------------------------------------------
220
- // Tool: solana_list_positions
226
+ // Tool: dex_list_positions
221
227
  // ---------------------------------------------------------------------------
222
- server.tool("solana_list_positions", "List user's LP positions in a pool. Shows token amounts, fee balances, and in-range status.", {
228
+ server.tool("dex_list_positions", "List user's LP positions in a pool. Shows token amounts, fee balances, and in-range status.", {
223
229
  dex: zod_1.z.string().describe("DEX adapter name"),
224
230
  pool: zod_1.z.string().describe("Pool address"),
225
231
  }, async (args) => {
@@ -250,9 +256,9 @@ server.tool("solana_token_info", "Get token market data from DexScreener — pri
250
256
  }
251
257
  });
252
258
  // ---------------------------------------------------------------------------
253
- // Tool: solana_list_dexes
259
+ // Tool: dex_list_dexes
254
260
  // ---------------------------------------------------------------------------
255
- server.tool("solana_list_dexes", "List all available DEX adapters and their capabilities. Optionally filter by capability.", {
261
+ server.tool("dex_list_dexes", "List all available DEX adapters and their capabilities. Optionally filter by capability.", {
256
262
  capability: zod_1.z
257
263
  .string()
258
264
  .optional()
@@ -300,9 +306,9 @@ server.tool("solana_wallet_balance", "Check SOL balance of the configured wallet
300
306
  }
301
307
  });
302
308
  // ---------------------------------------------------------------------------
303
- // Tool: solana_find_pool
309
+ // Tool: dex_find_pool
304
310
  // ---------------------------------------------------------------------------
305
- server.tool("solana_find_pool", "Find a pool address for a token pair on a specific DEX. Returns the pool address, base/quote mints, and liquidity info.", {
311
+ server.tool("dex_find_pool", "Find a pool address for a token pair on a specific DEX. Returns the pool address, base/quote mints, and liquidity info.", {
306
312
  dex: zod_1.z.string().describe("DEX adapter name (e.g. 'meteora-damm-v2', 'raydium-cpmm')"),
307
313
  base_mint: zod_1.z.string().describe("Base token mint address (the token you want to trade)"),
308
314
  quote_mint: zod_1.z.string().optional().describe("Quote token mint address (default: WSOL)"),
@@ -323,9 +329,9 @@ server.tool("solana_find_pool", "Find a pool address for a token pair on a speci
323
329
  }
324
330
  });
325
331
  // ---------------------------------------------------------------------------
326
- // Tool: solana_snipe
332
+ // Tool: dex_snipe
327
333
  // ---------------------------------------------------------------------------
328
- server.tool("solana_snipe", "Competitive buy with Jito MEV tip for faster execution. Use for time-sensitive buys where you want priority over other traders.", {
334
+ server.tool("dex_snipe", "Competitive buy with Jito MEV tip for faster execution. Use for time-sensitive buys where you want priority over other traders.", {
329
335
  dex: zod_1.z.string().describe("DEX adapter name"),
330
336
  pool: zod_1.z.string().describe("Pool address to snipe on"),
331
337
  token: zod_1.z.string().describe("Token mint address to buy"),
@@ -354,10 +360,10 @@ server.tool("solana_snipe", "Competitive buy with Jito MEV tip for faster execut
354
360
  }
355
361
  });
356
362
  // ---------------------------------------------------------------------------
357
- // Tool: solana_create_pool
363
+ // Tool: dex_create_pool
358
364
  // ---------------------------------------------------------------------------
359
365
  // @ts-expect-error — TS2589: deep type instantiation from MCP SDK generics + zod
360
- server.tool("solana_create_pool", "Create a new DAMM v2 liquidity pool on Meteora. Two modes: 'custom' (full fee schedule control) or 'config' (use pre-existing on-chain config). The alpha play is being the first pool creator on a new token — set 99% starting fee to capture early volume.", {
366
+ server.tool("dex_create_pool", "Create a new DAMM v2 liquidity pool on Meteora. Two modes: 'custom' (full fee schedule control) or 'config' (use pre-existing on-chain config). The alpha play is being the first pool creator on a new token — set 99% starting fee to capture early volume.", {
361
367
  mode: zod_1.z.enum(["custom", "config"]).describe("'custom' for full fee control, 'config' to use a pre-existing on-chain config"),
362
368
  base_mint: zod_1.z.string().describe("Base token mint address (the token)"),
363
369
  quote_mint: zod_1.z.string().optional().describe("Quote token mint (default: WSOL)"),
@@ -427,9 +433,9 @@ server.tool("solana_create_pool", "Create a new DAMM v2 liquidity pool on Meteor
427
433
  }
428
434
  });
429
435
  // ---------------------------------------------------------------------------
430
- // Tool: solana_create_token
436
+ // Tool: launchpad_create_coin
431
437
  // ---------------------------------------------------------------------------
432
- server.tool("solana_create_token", "Create a new token on PumpFun with a bonding curve. Deploys a new SPL token (6 decimals, 1B supply, mint/freeze disabled) and creates a bonding curve. The token graduates to PumpSwap AMM when the curve fills (~85 SOL).", {
438
+ server.tool("launchpad_create_coin", "Create a new token on PumpFun with a bonding curve. Deploys a new SPL token (6 decimals, 1B supply, mint/freeze disabled) and creates a bonding curve. The token graduates to PumpSwap AMM when the curve fills (~85 SOL).", {
433
439
  name: zod_1.z.string().describe("Token name (e.g. 'My Token')"),
434
440
  symbol: zod_1.z.string().describe("Token ticker (e.g. 'MYTOKEN')"),
435
441
  metadata_uri: zod_1.z.string().describe("Metadata URI — IPFS or Arweave link to JSON metadata with image"),
@@ -748,12 +754,13 @@ const percolator = new outsmart_1.PercolatorAdapter();
748
754
  // Tool: percolator_create_market
749
755
  // ---------------------------------------------------------------------------
750
756
  // @ts-expect-error — TS2589: deep type instantiation from MCP SDK generics + zod
751
- server.tool("percolator_create_market", "Create a new Percolator perpetual futures market. Agent becomes admin/oracle authority. Returns slab address for all subsequent operations.", {
757
+ server.tool("percolator_create_market", "Create a new Percolator perpetual futures market. Two oracle modes: admin-oracle (default, you push prices) or Pyth-pinned (pass pyth_feed_id, prices come from Pyth on-chain automatically). Returns slab address for all subsequent operations.", {
752
758
  collateral_mint: zod_1.z.string().describe("Collateral token mint address (e.g. BONK, wSOL)"),
753
759
  initial_price_e6: zod_1.z.string().describe("Initial oracle price in e6 format (1 USD = 1000000). Example: '150000' for $0.15"),
754
760
  lp_collateral: zod_1.z.string().describe("Initial LP collateral in native token units (e.g. '1000000000' for 1B BONK lamports)"),
755
761
  tier: zod_1.z.enum(["small", "medium", "large"]).optional().describe("Slab tier: small (256 slots, ~0.44 SOL), medium (1024, ~1.73 SOL), large (4096, ~6.91 SOL). Default: small"),
756
762
  network: zod_1.z.enum(["devnet", "mainnet"]).optional().describe("Network (default: devnet)"),
763
+ pyth_feed_id: zod_1.z.string().optional().describe("Pyth feed ID hex (64 chars). If set, creates a Pyth-pinned market — no manual price pushing needed. SOL/USD: ef0d8b6fda2ceba41da15d4095d1da392a0d2f8ed0c6c7bc0f4cfac8c280b56d"),
757
764
  }, async (args) => {
758
765
  try {
759
766
  const result = await percolator.createMarket({
@@ -762,6 +769,7 @@ server.tool("percolator_create_market", "Create a new Percolator perpetual futur
762
769
  lpCollateral: BigInt(args.lp_collateral),
763
770
  tier: args.tier,
764
771
  network: args.network,
772
+ pythFeedId: args.pyth_feed_id,
765
773
  });
766
774
  return ok(result);
767
775
  }
@@ -794,6 +802,87 @@ server.tool("percolator_trade", "Open, close, or modify a perpetual futures posi
794
802
  }
795
803
  });
796
804
  // ---------------------------------------------------------------------------
805
+ // Tool: percolator_long
806
+ // ---------------------------------------------------------------------------
807
+ server.tool("percolator_long", "Open a long position on a Percolator perp market. Auto-detects user account index and cranks before trading.", {
808
+ slab: zod_1.z.string().describe("Slab (market) address"),
809
+ size: zod_1.z.string().describe("Position size in native units (positive number)"),
810
+ lp_idx: zod_1.z.number().int().min(0).optional().describe("LP account index (default: 0)"),
811
+ network: zod_1.z.enum(["devnet", "mainnet"]).optional().describe("Network (default: devnet)"),
812
+ }, async (args) => {
813
+ try {
814
+ const size = BigInt(args.size);
815
+ if (size <= 0n)
816
+ return err("size must be positive");
817
+ const net = args.network;
818
+ const pos = await percolator.getMyPosition(args.slab, net);
819
+ if (!pos)
820
+ return err("No user account found. Call percolator_init_user first.");
821
+ await percolator.crank(args.slab, net);
822
+ const sig = await percolator.trade({
823
+ slabAddress: args.slab, lpIdx: args.lp_idx ?? 0, userIdx: pos.idx, size, network: net,
824
+ });
825
+ return ok({ signature: sig, side: "long", size: size.toString(), userIdx: pos.idx });
826
+ }
827
+ catch (e) {
828
+ return err(e.message);
829
+ }
830
+ });
831
+ // ---------------------------------------------------------------------------
832
+ // Tool: percolator_short
833
+ // ---------------------------------------------------------------------------
834
+ server.tool("percolator_short", "Open a short position on a Percolator perp market. Auto-detects user account index and cranks before trading.", {
835
+ slab: zod_1.z.string().describe("Slab (market) address"),
836
+ size: zod_1.z.string().describe("Position size in native units (positive number — will be negated internally)"),
837
+ lp_idx: zod_1.z.number().int().min(0).optional().describe("LP account index (default: 0)"),
838
+ network: zod_1.z.enum(["devnet", "mainnet"]).optional().describe("Network (default: devnet)"),
839
+ }, async (args) => {
840
+ try {
841
+ const size = BigInt(args.size);
842
+ if (size <= 0n)
843
+ return err("size must be positive");
844
+ const net = args.network;
845
+ const pos = await percolator.getMyPosition(args.slab, net);
846
+ if (!pos)
847
+ return err("No user account found. Call percolator_init_user first.");
848
+ await percolator.crank(args.slab, net);
849
+ const sig = await percolator.trade({
850
+ slabAddress: args.slab, lpIdx: args.lp_idx ?? 0, userIdx: pos.idx, size: -size, network: net,
851
+ });
852
+ return ok({ signature: sig, side: "short", size: size.toString(), userIdx: pos.idx });
853
+ }
854
+ catch (e) {
855
+ return err(e.message);
856
+ }
857
+ });
858
+ // ---------------------------------------------------------------------------
859
+ // Tool: percolator_close
860
+ // ---------------------------------------------------------------------------
861
+ server.tool("percolator_close", "Close an open perpetual futures position (trade back to flat). Auto-detects position size and direction.", {
862
+ slab: zod_1.z.string().describe("Slab (market) address"),
863
+ lp_idx: zod_1.z.number().int().min(0).optional().describe("LP account index (default: 0)"),
864
+ network: zod_1.z.enum(["devnet", "mainnet"]).optional().describe("Network (default: devnet)"),
865
+ }, async (args) => {
866
+ try {
867
+ const net = args.network;
868
+ const pos = await percolator.getMyPosition(args.slab, net);
869
+ if (!pos)
870
+ return err("No position found.");
871
+ const currentSize = BigInt(pos.account.positionSize);
872
+ if (currentSize === 0n)
873
+ return ok({ status: "already_flat" });
874
+ const side = currentSize > 0n ? "long" : "short";
875
+ await percolator.crank(args.slab, net);
876
+ const sig = await percolator.trade({
877
+ slabAddress: args.slab, lpIdx: args.lp_idx ?? 0, userIdx: pos.idx, size: -currentSize, network: net,
878
+ });
879
+ return ok({ signature: sig, closed: side, size: (currentSize > 0n ? currentSize : -currentSize).toString() });
880
+ }
881
+ catch (e) {
882
+ return err(e.message);
883
+ }
884
+ });
885
+ // ---------------------------------------------------------------------------
797
886
  // Tool: percolator_deposit
798
887
  // ---------------------------------------------------------------------------
799
888
  server.tool("percolator_deposit", "Deposit collateral into a Percolator market account (user or LP).", {
@@ -934,6 +1023,82 @@ server.tool("percolator_insurance_lp", "Manage Percolator insurance fund: create
934
1023
  }
935
1024
  });
936
1025
  // ---------------------------------------------------------------------------
1026
+ // Tool: percolator_keeper_start
1027
+ // ---------------------------------------------------------------------------
1028
+ // Singleton keeper instance — only one can run at a time
1029
+ let activeKeeper = null;
1030
+ // @ts-expect-error — TS2589: deep type instantiation from MCP SDK generics + zod
1031
+ server.tool("percolator_keeper_start", "Start the WebSocket oracle keeper. Watches DEX pool accounts and pushes live prices to Percolator perp markets. Only one keeper can run at a time.", {
1032
+ pools: zod_1.z.array(zod_1.z.object({
1033
+ pool: zod_1.z.string().describe("DEX pool address"),
1034
+ market: zod_1.z.string().describe("Percolator slab/market address"),
1035
+ dex: zod_1.z.enum([
1036
+ "raydium-cpmm", "raydium-amm-v4", "raydium-clmm", "raydium-launchlab",
1037
+ "pumpswap", "meteora-damm-v2", "meteora-dbc", "meteora-dlmm",
1038
+ ]).describe("DEX type"),
1039
+ network: zod_1.z.enum(["devnet", "mainnet"]).optional(),
1040
+ })).describe("Array of pool-to-market mappings"),
1041
+ network: zod_1.z.enum(["devnet", "mainnet"]).optional(),
1042
+ }, async (args) => {
1043
+ try {
1044
+ if (activeKeeper) {
1045
+ return err("Keeper already running. Stop it first with percolator_keeper_stop.");
1046
+ }
1047
+ const pools = args.pools.map((p) => ({
1048
+ pool: p.pool,
1049
+ market: p.market,
1050
+ dex: p.dex,
1051
+ network: p.network,
1052
+ }));
1053
+ activeKeeper = new outsmart_1.WsKeeper(pools, {
1054
+ network: args.network ?? "devnet",
1055
+ logLevel: "info",
1056
+ });
1057
+ await activeKeeper.start();
1058
+ const stats = activeKeeper.getStats();
1059
+ return ok({
1060
+ status: "started",
1061
+ activeWatchers: stats.activeWatchers,
1062
+ pools: pools.length,
1063
+ });
1064
+ }
1065
+ catch (e) {
1066
+ activeKeeper = null;
1067
+ return err(e.message);
1068
+ }
1069
+ });
1070
+ // ---------------------------------------------------------------------------
1071
+ // Tool: percolator_keeper_stop
1072
+ // ---------------------------------------------------------------------------
1073
+ server.tool("percolator_keeper_stop", "Stop the running WebSocket oracle keeper.", {}, async () => {
1074
+ try {
1075
+ if (!activeKeeper) {
1076
+ return err("No keeper is running.");
1077
+ }
1078
+ const stats = activeKeeper.getStats();
1079
+ await activeKeeper.stop();
1080
+ activeKeeper = null;
1081
+ return ok({
1082
+ status: "stopped",
1083
+ totalPushes: stats.pushCount,
1084
+ totalErrors: stats.errorCount,
1085
+ });
1086
+ }
1087
+ catch (e) {
1088
+ activeKeeper = null;
1089
+ return err(e.message);
1090
+ }
1091
+ });
1092
+ // ---------------------------------------------------------------------------
1093
+ // Tool: percolator_keeper_status
1094
+ // ---------------------------------------------------------------------------
1095
+ server.tool("percolator_keeper_status", "Get the current status of the WebSocket oracle keeper.", {}, async () => {
1096
+ if (!activeKeeper) {
1097
+ return ok({ running: false });
1098
+ }
1099
+ return ok(activeKeeper.getStats());
1100
+ });
1101
+ // ---------------------------------------------------------------------------
937
1102
  // Start server
938
1103
  // ---------------------------------------------------------------------------
939
1104
  async function main() {
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "outsmart-agent",
3
- "version": "1.0.0-alpha.5",
3
+ "version": "1.0.0-alpha.7",
4
4
  "description": "MCP server + AI skills for Solana trading — wraps the outsmart CLI library for AI agent use.",
5
5
  "engines": {
6
6
  "node": ">=20.0.0"
@@ -20,11 +20,11 @@
20
20
  ],
21
21
  "scripts": {
22
22
  "build": "npm run clean && npm run build:ts && npm run build:chmod",
23
- "build:ts": "NODE_OPTIONS='--max-old-space-size=8192' tsc -p tsconfig.build.json",
23
+ "build:ts": "NODE_OPTIONS='--max-old-space-size=16384' tsc -p tsconfig.build.json",
24
24
  "build:chmod": "chmod +x dist/mcp/server.js || true",
25
25
  "clean": "rm -rf dist/",
26
26
  "dev": "ts-node src/mcp/server.ts",
27
- "typecheck": "NODE_OPTIONS='--max-old-space-size=8192' tsc --noEmit",
27
+ "typecheck": "NODE_OPTIONS='--max-old-space-size=16384' tsc --noEmit",
28
28
  "prepublishOnly": "npm run build"
29
29
  },
30
30
  "keywords": [
@@ -48,7 +48,7 @@
48
48
  "@modelcontextprotocol/sdk": "^1.12.1",
49
49
  "@solana/spl-token": "^0.4.0",
50
50
  "@solana/web3.js": "^1.95.0",
51
- "outsmart": "^2.0.0-alpha.9",
51
+ "outsmart": "^2.0.0-alpha.11",
52
52
  "zod": "^3.25.0"
53
53
  },
54
54
  "devDependencies": {
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: outsmart-dca-grid
3
3
  description: Dollar-cost average and grid trade on Solana. Use when user says "DCA", "dollar cost average", "grid", "accumulate", "buy the dip", "range trading", "recurring", or mentions systematic buying strategies.
4
- allowed-tools: mcp__outsmart-agent__solana_buy, mcp__outsmart-agent__solana_sell, mcp__outsmart-agent__solana_add_liquidity, mcp__outsmart-agent__solana_remove_liquidity, mcp__outsmart-agent__solana_claim_fees, mcp__outsmart-agent__solana_list_positions, mcp__outsmart-agent__solana_quote, mcp__outsmart-agent__solana_token_info, mcp__outsmart-agent__solana_wallet_balance, mcp__outsmart-agent__jupiter_dca_create, mcp__outsmart-agent__jupiter_dca_list, mcp__outsmart-agent__jupiter_dca_cancel
4
+ allowed-tools: mcp__outsmart-agent__dex_buy, mcp__outsmart-agent__dex_sell, mcp__outsmart-agent__dex_add_liquidity, mcp__outsmart-agent__dex_remove_liquidity, mcp__outsmart-agent__dex_claim_fees, mcp__outsmart-agent__dex_list_positions, mcp__outsmart-agent__dex_quote, mcp__outsmart-agent__solana_token_info, mcp__outsmart-agent__solana_wallet_balance, mcp__outsmart-agent__jupiter_dca_create, mcp__outsmart-agent__jupiter_dca_list, mcp__outsmart-agent__jupiter_dca_cancel
5
5
  model: opus
6
6
  license: ISC
7
7
  metadata:
@@ -37,13 +37,13 @@ Best for: accumulating blue chips (SOL, JUP, JTO) without thinking about it. Set
37
37
 
38
38
  ### Manual DCA (Alternative — Agent-Controlled)
39
39
 
40
- Execute buys yourself on a schedule via `solana_buy`. More control — you can add conditions (only buy if price is below X, skip if gas is high, etc). Downside: agent needs to stay online.
40
+ Execute buys yourself on a schedule via `dex_buy`. More control — you can add conditions (only buy if price is below X, skip if gas is high, etc). Downside: agent needs to stay online.
41
41
 
42
42
  ```
43
43
  Every 6 hours:
44
44
  1. solana_wallet_balance() → check SOL
45
45
  2. solana_token_info(token) → current price
46
- 3. solana_buy(dex="jupiter-ultra", token, amount) → buy
46
+ 3. dex_buy(dex="jupiter-ultra", token, amount) → buy
47
47
  ```
48
48
 
49
49
  ### DCA Rules
@@ -52,7 +52,7 @@ Every 6 hours:
52
52
  - Fixed interval — don't deviate, that defeats the purpose
53
53
  - Stop if: project dies, exploit happens, team exits
54
54
  - Prefer `jupiter_dca_create` for set-and-forget — keepers handle execution
55
- - Use manual `solana_buy` only when you need conditional logic (price thresholds, etc.)
55
+ - Use manual `dex_buy` only when you need conditional logic (price thresholds, etc.)
56
56
 
57
57
  ## Grid Trading with DLMM
58
58
 
@@ -86,9 +86,9 @@ Use one-sided DLMM positions as a grid of buy/sell orders. When price crosses a
86
86
 
87
87
  ### Managing Grids
88
88
 
89
- - Check `solana_list_positions` every few hours
89
+ - Check `dex_list_positions` every few hours
90
90
  - When all bins filled on one side → remove, re-add centered on new price
91
- - Always `solana_claim_fees` before rebalancing
91
+ - Always `dex_claim_fees` before rebalancing
92
92
  - Each rebalance cycle costs ~0.01-0.02 SOL — don't rebalance for small moves
93
93
 
94
94
  ## Combining Both
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: outsmart-devving-coins
3
3
  description: Launch tokens on Solana launchpads. Use when user says "dev a coin", "devving", "launch token", "create token", "bonding curve", "pump fun", "pumpfun", "launchlab", "jupiter studio", "DBC", "dynamic bonding curve", "launch a meme", "deploy token", or mentions creating/launching a new token on Solana.
4
- allowed-tools: mcp__outsmart-agent__solana_buy, mcp__outsmart-agent__solana_sell, mcp__outsmart-agent__solana_quote, mcp__outsmart-agent__solana_create_token, mcp__outsmart-agent__solana_create_pool, mcp__outsmart-agent__solana_find_pool, mcp__outsmart-agent__solana_token_info, mcp__outsmart-agent__solana_wallet_balance, mcp__outsmart-agent__solana_list_dexes, mcp__outsmart-agent__jupiter_shield, WebFetch
4
+ allowed-tools: mcp__outsmart-agent__dex_buy, mcp__outsmart-agent__dex_sell, mcp__outsmart-agent__dex_quote, mcp__outsmart-agent__launchpad_create_coin, mcp__outsmart-agent__dex_create_pool, mcp__outsmart-agent__dex_find_pool, mcp__outsmart-agent__solana_token_info, mcp__outsmart-agent__solana_wallet_balance, mcp__outsmart-agent__dex_list_dexes, mcp__outsmart-agent__jupiter_shield, WebFetch
5
5
  model: opus
6
6
  license: ISC
7
7
  metadata:
@@ -55,7 +55,7 @@ The default choice for memecoin launches. Biggest audience, most eyeballs, every
55
55
  - **All tokens:** 6 decimals, 1B supply, mint/freeze authority disabled by default
56
56
  - **Dev buy:** You can buy your own token at creation (sets initial price, shows conviction)
57
57
 
58
- The MCP server has a `solana_create_token` tool that wraps PumpFun's create method:
58
+ The MCP server has a `launchpad_create_coin` tool that wraps PumpFun's create method:
59
59
 
60
60
  ```json
61
61
  {
@@ -106,7 +106,7 @@ What matters to you: if a token was launched via any DBC-based launchpad, the ou
106
106
  |-------------|-----|-----|
107
107
  | Max eyeballs, quick meme | **PumpFun** | Biggest audience, simplest flow |
108
108
  | USDC curve, anti-snipe, vesting | **Jupiter Studio** | Built-in protections, DAMM v2 graduation |
109
- | Agent autonomously launching | **PumpFun** | Single TX via `solana_create_token` MCP tool |
109
+ | Agent autonomously launching | **PumpFun** | Single TX via `launchpad_create_coin` MCP tool |
110
110
  | DAMM v2 graduation (for LP farming after) | **Jupiter Studio** or **Meteora DBC** | Both graduate to DAMM v2 |
111
111
 
112
112
  ## After Graduation — The Real Money
@@ -114,7 +114,7 @@ What matters to you: if a token was launched via any DBC-based launchpad, the ou
114
114
  Launching the token is just step 1. The revenue comes from what happens after:
115
115
 
116
116
  1. **Token graduates** → auto-migrates to DEX pool (PumpSwap for PumpFun, DAMM v2 for Jupiter Studio/DBC, CPMM for LaunchLab)
117
- 2. **Create a DAMM v2 pool** (if it graduated to PumpSwap or Raydium, not already on DAMM v2) → use `solana_create_pool` with 99% starting fee decaying to 2% → capture massive early volume fees. Cost: ~0.02 SOL.
117
+ 2. **Create a DAMM v2 pool** (if it graduated to PumpSwap or Raydium, not already on DAMM v2) → use `dex_create_pool` with 99% starting fee decaying to 2% → capture massive early volume fees. Cost: ~0.02 SOL.
118
118
  3. **As token matures** (>30 min, real volume) → open a DLMM position for concentrated fee capture. Cost: ~0.2 SOL.
119
119
  4. **Claim fees + compound**
120
120
 
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: outsmart-dex-trading
3
3
  description: Execute trades on Solana DEXes. Use when user says "buy token", "sell token", "swap", "add liquidity", "remove liquidity", "claim fees", "LP", "DEX", "pool", "Solana trade", "check price", "wallet balance", or mentions trading tokens on Solana.
4
- allowed-tools: mcp__outsmart-agent__solana_buy, mcp__outsmart-agent__solana_sell, mcp__outsmart-agent__solana_quote, mcp__outsmart-agent__solana_snipe, mcp__outsmart-agent__solana_find_pool, mcp__outsmart-agent__solana_create_pool, mcp__outsmart-agent__solana_create_token, mcp__outsmart-agent__solana_add_liquidity, mcp__outsmart-agent__solana_remove_liquidity, mcp__outsmart-agent__solana_claim_fees, mcp__outsmart-agent__solana_list_positions, mcp__outsmart-agent__solana_token_info, mcp__outsmart-agent__solana_list_dexes, mcp__outsmart-agent__solana_wallet_balance, mcp__outsmart-agent__jupiter_shield, mcp__outsmart-agent__jupiter_prediction_events, mcp__outsmart-agent__jupiter_prediction_market, mcp__outsmart-agent__jupiter_prediction_order, mcp__outsmart-agent__jupiter_prediction_positions, mcp__outsmart-agent__jupiter_prediction_claim, mcp__outsmart-agent__jupiter_dca_create, mcp__outsmart-agent__jupiter_dca_list, mcp__outsmart-agent__jupiter_dca_cancel
4
+ allowed-tools: mcp__outsmart-agent__dex_buy, mcp__outsmart-agent__dex_sell, mcp__outsmart-agent__dex_quote, mcp__outsmart-agent__dex_snipe, mcp__outsmart-agent__dex_find_pool, mcp__outsmart-agent__dex_create_pool, mcp__outsmart-agent__launchpad_create_coin, mcp__outsmart-agent__dex_add_liquidity, mcp__outsmart-agent__dex_remove_liquidity, mcp__outsmart-agent__dex_claim_fees, mcp__outsmart-agent__dex_list_positions, mcp__outsmart-agent__solana_token_info, mcp__outsmart-agent__dex_list_dexes, mcp__outsmart-agent__solana_wallet_balance, mcp__outsmart-agent__jupiter_shield, mcp__outsmart-agent__jupiter_prediction_events, mcp__outsmart-agent__jupiter_prediction_market, mcp__outsmart-agent__jupiter_prediction_order, mcp__outsmart-agent__jupiter_prediction_positions, mcp__outsmart-agent__jupiter_prediction_claim, mcp__outsmart-agent__jupiter_dca_create, mcp__outsmart-agent__jupiter_dca_list, mcp__outsmart-agent__jupiter_dca_cancel
5
5
  model: opus
6
6
  license: ISC
7
7
  metadata:
@@ -17,19 +17,19 @@ This is your tool reference. 23 MCP tools (14 DEX + 9 Jupiter), 18 DEX adapters,
17
17
 
18
18
  | Tool | What It Does | Key Params |
19
19
  |------|-------------|------------|
20
- | `solana_buy` | Buy tokens with SOL | `dex`, `pool` or `token`, `amount` |
21
- | `solana_sell` | Sell tokens for SOL | `dex`, `pool` or `token`, `percentage` |
22
- | `solana_quote` | On-chain price check | `dex`, `pool` |
23
- | `solana_snipe` | Competitive buy with Jito MEV tip | `dex`, `pool`, `token`, `amount`, `tip_sol` |
24
- | `solana_find_pool` | Find pool address for a token pair | `dex`, `base_mint` |
25
- | `solana_create_pool` | Create DAMM v2 pool (Meteora) | `mode`, `base_mint`, fee params |
26
- | `solana_create_token` | Launch token on PumpFun | `name`, `symbol`, `metadata_uri` |
27
- | `solana_add_liquidity` | Deposit into a pool | `dex`, `pool`, `amount_sol` |
28
- | `solana_remove_liquidity` | Withdraw from a pool | `dex`, `pool`, `percentage` |
29
- | `solana_claim_fees` | Collect LP fees | `dex`, `pool` |
30
- | `solana_list_positions` | See your LP positions | `dex`, `pool` |
20
+ | `dex_buy` | Buy tokens with SOL | `dex`, `pool` or `token`, `amount` |
21
+ | `dex_sell` | Sell tokens for SOL | `dex`, `pool` or `token`, `percentage` |
22
+ | `dex_quote` | On-chain price check | `dex`, `pool` |
23
+ | `dex_snipe` | Competitive buy with Jito MEV tip | `dex`, `pool`, `token`, `amount`, `tip_sol` |
24
+ | `dex_find_pool` | Find pool address for a token pair | `dex`, `base_mint` |
25
+ | `dex_create_pool` | Create DAMM v2 pool (Meteora) | `mode`, `base_mint`, fee params |
26
+ | `launchpad_create_coin` | Launch token on PumpFun | `name`, `symbol`, `metadata_uri` |
27
+ | `dex_add_liquidity` | Deposit into a pool | `dex`, `pool`, `amount_sol` |
28
+ | `dex_remove_liquidity` | Withdraw from a pool | `dex`, `pool`, `percentage` |
29
+ | `dex_claim_fees` | Collect LP fees | `dex`, `pool` |
30
+ | `dex_list_positions` | See your LP positions | `dex`, `pool` |
31
31
  | `solana_token_info` | DexScreener market data | `token` |
32
- | `solana_list_dexes` | All 18 adapters + capabilities | |
32
+ | `dex_list_dexes` | All 18 adapters + capabilities | |
33
33
  | `solana_wallet_balance` | SOL and token balances | |
34
34
 
35
35
  ## Jupiter Tools
@@ -71,11 +71,11 @@ This is your tool reference. 23 MCP tools (14 DEX + 9 Jupiter), 18 DEX adapters,
71
71
  **On-chain adapters** need `pool` (pool address), token is auto-detected:
72
72
  - Everything else (raydium-*, meteora-*, pumpfun-*, orca, etc.)
73
73
 
74
- Run `solana_list_dexes` to see all 18 and what each supports.
74
+ Run `dex_list_dexes` to see all 18 and what each supports.
75
75
 
76
76
  ## Tool Details
77
77
 
78
- ### solana_buy
78
+ ### dex_buy
79
79
 
80
80
  ```json
81
81
  // Aggregator — just need the mint
@@ -95,7 +95,7 @@ Run `solana_list_dexes` to see all 18 and what each supports.
95
95
  | `tip_sol` | No | Jito MEV tip |
96
96
  | `dry_run` | No | Simulate only |
97
97
 
98
- ### solana_sell
98
+ ### dex_sell
99
99
 
100
100
  ```json
101
101
  { "dex": "jupiter-ultra", "token": "MINT_ADDRESS", "percentage": 100 }
@@ -103,7 +103,7 @@ Run `solana_list_dexes` to see all 18 and what each supports.
103
103
 
104
104
  Same params as buy, but `percentage` (0-100) instead of `amount`.
105
105
 
106
- ### solana_quote
106
+ ### dex_quote
107
107
 
108
108
  ```json
109
109
  { "dex": "raydium-cpmm", "pool": "POOL_ADDRESS" }
@@ -111,7 +111,7 @@ Same params as buy, but `percentage` (0-100) instead of `amount`.
111
111
 
112
112
  Returns price, base/quote mints, timestamp.
113
113
 
114
- ### solana_find_pool
114
+ ### dex_find_pool
115
115
 
116
116
  ```json
117
117
  { "dex": "meteora-damm-v2", "base_mint": "TOKEN_MINT" }
@@ -119,15 +119,15 @@ Returns price, base/quote mints, timestamp.
119
119
 
120
120
  Returns pool address, base/quote mints, liquidity. Returns `{ found: false }` if no pool exists — useful for checking if you should create one.
121
121
 
122
- ### solana_snipe
122
+ ### dex_snipe
123
123
 
124
124
  ```json
125
125
  { "dex": "meteora-damm-v2", "pool": "POOL", "token": "MINT", "amount": 0.05, "tip_sol": 0.005 }
126
126
  ```
127
127
 
128
- Same as `solana_buy` but with mandatory Jito MEV tip for priority execution. Use when speed matters.
128
+ Same as `dex_buy` but with mandatory Jito MEV tip for priority execution. Use when speed matters.
129
129
 
130
- ### solana_create_pool
130
+ ### dex_create_pool
131
131
 
132
132
  Create a new DAMM v2 pool on Meteora. Two modes:
133
133
 
@@ -159,7 +159,7 @@ Create a new DAMM v2 pool on Meteora. Two modes:
159
159
  }
160
160
  ```
161
161
 
162
- ### solana_create_token
162
+ ### launchpad_create_coin
163
163
 
164
164
  Create a new token on PumpFun with a bonding curve. Graduates to PumpSwap at ~85 SOL.
165
165
 
@@ -169,7 +169,7 @@ Create a new token on PumpFun with a bonding curve. Graduates to PumpSwap at ~85
169
169
 
170
170
  Returns the new mint address in `positionAddress` and bonding curve PDA in `poolAddress`.
171
171
 
172
- ### solana_add_liquidity
172
+ ### dex_add_liquidity
173
173
 
174
174
  ```json
175
175
  { "dex": "meteora-dlmm", "pool": "POOL", "amount_sol": 0.5, "strategy": "spot", "bins": 50 }
@@ -181,7 +181,7 @@ Returns the new mint address in `positionAddress` and bonding curve PDA in `pool
181
181
  | `strategy` | DLMM only: "spot", "curve", "bid-ask" |
182
182
  | `bins` | DLMM only: default 50, max 69 |
183
183
 
184
- ### solana_remove_liquidity
184
+ ### dex_remove_liquidity
185
185
 
186
186
  ```json
187
187
  { "dex": "meteora-dlmm", "pool": "POOL", "percentage": 100 }
@@ -189,7 +189,7 @@ Returns the new mint address in `positionAddress` and bonding curve PDA in `pool
189
189
 
190
190
  100% on DLMM auto-claims fees and closes the position. 100% on DAMM v2 closes the position NFT.
191
191
 
192
- ### solana_claim_fees / solana_list_positions
192
+ ### dex_claim_fees / dex_list_positions
193
193
 
194
194
  ```json
195
195
  { "dex": "meteora-dlmm", "pool": "POOL" }
@@ -218,33 +218,33 @@ Returns from DexScreener: name, price, mcap, volume (5m/1h/6h/24h), buyers, liqu
218
218
  **Buy a token safely:**
219
219
  ```
220
220
  1. solana_token_info(token) → check liquidity, age, volume
221
- 2. solana_buy(dex="jupiter-ultra", token, amount, dry_run=true) → simulate
222
- 3. solana_buy(dex="jupiter-ultra", token, amount) → execute
221
+ 2. dex_buy(dex="jupiter-ultra", token, amount, dry_run=true) → simulate
222
+ 3. dex_buy(dex="jupiter-ultra", token, amount) → execute
223
223
  ```
224
224
 
225
225
  **Find a pool (don't know the address):**
226
226
  ```
227
- 1. solana_find_pool(dex, base_mint) → get pool address
227
+ 1. dex_find_pool(dex, base_mint) → get pool address
228
228
  ```
229
229
 
230
230
  **Provide liquidity:**
231
231
  ```
232
- 1. solana_quote(dex, pool) → current price
233
- 2. solana_add_liquidity(dex, pool, amount_sol, strategy, bins)
234
- 3. solana_list_positions(dex, pool) → verify
232
+ 1. dex_quote(dex, pool) → current price
233
+ 2. dex_add_liquidity(dex, pool, amount_sol, strategy, bins)
234
+ 3. dex_list_positions(dex, pool) → verify
235
235
  ```
236
236
 
237
237
  **Create a DAMM v2 pool (first LP alpha):**
238
238
  ```
239
- 1. solana_find_pool(dex="meteora-damm-v2", base_mint) → check if pool exists
240
- 2. If not found → solana_create_pool(mode="custom", base_mint, ...) → create with 99% fee
241
- 3. solana_add_liquidity → add more LP if needed
239
+ 1. dex_find_pool(dex="meteora-damm-v2", base_mint) → check if pool exists
240
+ 2. If not found → dex_create_pool(mode="custom", base_mint, ...) → create with 99% fee
241
+ 3. dex_add_liquidity → add more LP if needed
242
242
  ```
243
243
 
244
244
  **Exit LP:**
245
245
  ```
246
- 1. solana_claim_fees(dex, pool) → collect first
247
- 2. solana_remove_liquidity(dex, pool, percentage=100) → withdraw
246
+ 1. dex_claim_fees(dex, pool) → collect first
247
+ 2. dex_remove_liquidity(dex, pool, percentage=100) → withdraw
248
248
  ```
249
249
 
250
250
  ## Safety
@@ -9,7 +9,7 @@ Some pools quote in stablecoins (USDC, USDT, USD1) instead of SOL. The outsmart
9
9
  **Buy flow:** SOL → (Jupiter Ultra swap) → stablecoin → (pool buy) → token
10
10
  **Sell flow:** token → (pool sell) → stablecoin → (Jupiter Ultra swap) → SOL
11
11
 
12
- This is transparent to the MCP caller — just call `solana_buy` with the pool address, and the library detects the quote mint and auto-swaps.
12
+ This is transparent to the MCP caller — just call `dex_buy` with the pool address, and the library detects the quote mint and auto-swaps.
13
13
 
14
14
  **Known stablecoin mints:**
15
15
  - USDC: `EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v`
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: outsmart-lp-farming
3
3
  description: Manage LP positions on Solana to earn swap fees. Use when user says "farm", "LP", "provide liquidity", "earn yield", "compound fees", "add liquidity", "remove liquidity", "claim fees", "rebalance", "create pool", "DAMM", "DLMM", or mentions earning passive income on Solana DEXes.
4
- allowed-tools: mcp__outsmart-agent__solana_add_liquidity, mcp__outsmart-agent__solana_remove_liquidity, mcp__outsmart-agent__solana_claim_fees, mcp__outsmart-agent__solana_list_positions, mcp__outsmart-agent__solana_create_pool, mcp__outsmart-agent__solana_find_pool, mcp__outsmart-agent__solana_quote, mcp__outsmart-agent__solana_token_info, mcp__outsmart-agent__solana_wallet_balance, mcp__outsmart-agent__solana_list_dexes
4
+ allowed-tools: mcp__outsmart-agent__dex_add_liquidity, mcp__outsmart-agent__dex_remove_liquidity, mcp__outsmart-agent__dex_claim_fees, mcp__outsmart-agent__dex_list_positions, mcp__outsmart-agent__dex_create_pool, mcp__outsmart-agent__dex_find_pool, mcp__outsmart-agent__dex_quote, mcp__outsmart-agent__solana_token_info, mcp__outsmart-agent__solana_wallet_balance, mcp__outsmart-agent__dex_list_dexes
5
5
  model: opus
6
6
  license: ISC
7
7
  metadata:
@@ -79,10 +79,10 @@ If price drops below your lowest bin, you're holding 100% of the token and 0% SO
79
79
  ### Rebalancing
80
80
 
81
81
  When your position goes out of range:
82
- 1. `solana_claim_fees` → collect what you've earned
83
- 2. `solana_remove_liquidity(percentage=100)` → pull everything out
84
- 3. `solana_quote` → get the new price
85
- 4. `solana_add_liquidity` → re-add centered on current price
82
+ 1. `dex_claim_fees` → collect what you've earned
83
+ 2. `dex_remove_liquidity(percentage=100)` → pull everything out
84
+ 3. `dex_quote` → get the new price
85
+ 4. `dex_add_liquidity` → re-add centered on current price
86
86
 
87
87
  Don't rebalance for small moves — each cycle costs ~0.005-0.02 SOL in gas.
88
88
 
@@ -104,9 +104,9 @@ A brand new token (< 5 min old) with:
104
104
  - Many manual swap transactions (Jupiter, DFlow, GMGN, Axiom traders — not just bots)
105
105
  - No existing DAMM v2 pool
106
106
 
107
- That's your window. Check if a pool exists with `solana_find_pool(dex="meteora-damm-v2", base_mint=TOKEN)`. If `found: false`, create it with `solana_create_pool` and seed it.
107
+ That's your window. Check if a pool exists with `dex_find_pool(dex="meteora-damm-v2", base_mint=TOKEN)`. If `found: false`, create it with `dex_create_pool` and seed it.
108
108
 
109
- ### Two Creation Paths (via `solana_create_pool` MCP tool)
109
+ ### Two Creation Paths (via `dex_create_pool` MCP tool)
110
110
 
111
111
  **Custom Pool** (`mode: "custom"`) — full control over fee schedule, dynamic fees, collect mode, activation timing. Use when you want to tune everything.
112
112
 
@@ -145,12 +145,12 @@ Two phases, two protocols, capturing both the explosive start and the steady tai
145
145
  ## Day-to-Day LP Workflow
146
146
 
147
147
  1. **Find the opportunity:** `solana_token_info(token)` — if volume24h / liquidity > 1.0, the pool is earning good fees relative to its size
148
- 2. **Check the pool:** `solana_quote(dex, pool)` — make sure it's active
149
- 3. **Add LP:** `solana_add_liquidity(...)` — DLMM or DAMM v2 depending on token age
150
- 4. **Monitor:** `solana_list_positions(dex, pool)` — check in-range status (DLMM) or fee accumulation (DAMM v2)
151
- 5. **Claim:** `solana_claim_fees(dex, pool)` — collect regularly
148
+ 2. **Check the pool:** `dex_quote(dex, pool)` — make sure it's active
149
+ 3. **Add LP:** `dex_add_liquidity(...)` — DLMM or DAMM v2 depending on token age
150
+ 4. **Monitor:** `dex_list_positions(dex, pool)` — check in-range status (DLMM) or fee accumulation (DAMM v2)
151
+ 5. **Claim:** `dex_claim_fees(dex, pool)` — collect regularly
152
152
  6. **Compound:** Re-add claimed fees as new liquidity
153
- 7. **Exit:** `solana_remove_liquidity(dex, pool, percentage=100)` — 100% on DLMM auto-claims and closes; 100% on DAMM v2 closes the position NFT
153
+ 7. **Exit:** `dex_remove_liquidity(dex, pool, percentage=100)` — 100% on DLMM auto-claims and closes; 100% on DAMM v2 closes the position NFT
154
154
 
155
155
  ## Risk Management
156
156
 
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: outsmart-lp-sniping
3
3
  description: Buy tokens at or near LP creation on Solana. Use when user says "snipe", "sniping", "bonding curve", "graduation", "migration", "new pool", "LP created", "snipe LP", "bloom bot", "set up snipe", "pump fun", "launchlab", or mentions buying a token the instant its LP pool goes live.
4
- allowed-tools: mcp__outsmart-agent__solana_buy, mcp__outsmart-agent__solana_sell, mcp__outsmart-agent__solana_quote, mcp__outsmart-agent__solana_snipe, mcp__outsmart-agent__solana_find_pool, mcp__outsmart-agent__solana_token_info, mcp__outsmart-agent__solana_wallet_balance, mcp__outsmart-agent__solana_list_dexes, mcp__outsmart-agent__jupiter_shield, WebFetch
4
+ allowed-tools: mcp__outsmart-agent__dex_buy, mcp__outsmart-agent__dex_sell, mcp__outsmart-agent__dex_quote, mcp__outsmart-agent__dex_snipe, mcp__outsmart-agent__dex_find_pool, mcp__outsmart-agent__solana_token_info, mcp__outsmart-agent__solana_wallet_balance, mcp__outsmart-agent__dex_list_dexes, mcp__outsmart-agent__jupiter_shield, WebFetch
5
5
  model: opus
6
6
  license: ISC
7
7
  metadata:
@@ -25,11 +25,11 @@ Block-0 sniping (gRPC listeners) isn't built yet — that's Phase E. Here's the
25
25
 
26
26
  **2. Snipe** — the moment the pool exists, buy immediately:
27
27
  ```
28
- solana_snipe(dex, pool, token, amount=0.05, tip_sol=0.005)
28
+ dex_snipe(dex, pool, token, amount=0.05, tip_sol=0.005)
29
29
  ```
30
30
  Or if you don't have the pool address yet:
31
31
  ```
32
- solana_buy(dex="jupiter-ultra", token=MINT, amount=0.05)
32
+ dex_buy(dex="jupiter-ultra", token=MINT, amount=0.05)
33
33
  ```
34
34
 
35
35
  You won't get block-0, but if you're watching a curve at 95% and buy within seconds of graduation, you're still early.
@@ -76,13 +76,13 @@ If it looks good — hold, maybe add more, or move into the LP play.
76
76
  ## After — The LP Play
77
77
 
78
78
  If the token has legs:
79
- 1. **< 5 min, big volume** → create DAMM v2 pool via `solana_create_pool` with 99% starting fee
79
+ 1. **< 5 min, big volume** → create DAMM v2 pool via `dex_create_pool` with 99% starting fee
80
80
  2. **> 30 min, established** → open DLMM position for steady fees
81
81
 
82
82
  ## Risks
83
83
 
84
84
  - **Rugs** — that's why you size small. Evaluate after you're in.
85
- - **Front-run by MEV** — use `solana_snipe` with Jito tips for priority
85
+ - **Front-run by MEV** — use `dex_snipe` with Jito tips for priority
86
86
  - **Late entry** — don't chase with bigger size. Best snipers miss most.
87
87
  - **Stalled curves** — only target >85% with active momentum
88
88
 
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: outsmart-prediction-markets
3
3
  description: Trade prediction markets on Solana via Jupiter (which integrates Polymarket) and MetaDAO Futarchy. Use when user says "prediction", "prediction market", "bet", "forecast", "Polymarket", "Jupiter markets", "binary outcome", "will X happen", "probability", "odds", "futarchy", "decision market", or mentions betting on real-world events.
4
- allowed-tools: mcp__outsmart-agent__solana_buy, mcp__outsmart-agent__solana_sell, mcp__outsmart-agent__solana_token_info, mcp__outsmart-agent__solana_wallet_balance, mcp__outsmart-agent__jupiter_shield, mcp__outsmart-agent__jupiter_prediction_events, mcp__outsmart-agent__jupiter_prediction_market, mcp__outsmart-agent__jupiter_prediction_order, mcp__outsmart-agent__jupiter_prediction_positions, mcp__outsmart-agent__jupiter_prediction_claim, WebFetch
4
+ allowed-tools: mcp__outsmart-agent__dex_buy, mcp__outsmart-agent__dex_sell, mcp__outsmart-agent__solana_token_info, mcp__outsmart-agent__solana_wallet_balance, mcp__outsmart-agent__jupiter_shield, mcp__outsmart-agent__jupiter_prediction_events, mcp__outsmart-agent__jupiter_prediction_market, mcp__outsmart-agent__jupiter_prediction_order, mcp__outsmart-agent__jupiter_prediction_positions, mcp__outsmart-agent__jupiter_prediction_claim, WebFetch
5
5
  model: opus
6
6
  license: ISC
7
7
  metadata:
@@ -36,7 +36,7 @@ All Jupiter Prediction operations are fully MCP-executable. The agent can browse
36
36
 
37
37
  Fees scale with uncertainty — contracts near $0.50 cost more to trade. No fees on claiming payouts.
38
38
 
39
- **Futarchy markets** use a different path — `solana_buy(dex="futarchy-amm", pool=MARKET_POOL)` to trade governance proposals directly.
39
+ **Futarchy markets** use a different path — `dex_buy(dex="futarchy-amm", pool=MARKET_POOL)` to trade governance proposals directly.
40
40
 
41
41
  ### Workflow
42
42
 
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: outsmart-survival
3
3
  description: Autonomous DeFi survival for AI agents on Solana. Use when user says "survive", "survival", "compute credits", "running out", "topup", "low balance", "critical", "stay alive", "earn to live", "self-sustaining", "automaton", "Conway", or mentions an AI agent needing to earn money to pay for its own existence.
4
- allowed-tools: mcp__outsmart-agent__solana_buy, mcp__outsmart-agent__solana_sell, mcp__outsmart-agent__solana_add_liquidity, mcp__outsmart-agent__solana_remove_liquidity, mcp__outsmart-agent__solana_claim_fees, mcp__outsmart-agent__solana_list_positions, mcp__outsmart-agent__solana_token_info, mcp__outsmart-agent__solana_wallet_balance, mcp__outsmart-agent__solana_list_dexes, mcp__outsmart-agent__solana_quote
4
+ allowed-tools: mcp__outsmart-agent__dex_buy, mcp__outsmart-agent__dex_sell, mcp__outsmart-agent__dex_add_liquidity, mcp__outsmart-agent__dex_remove_liquidity, mcp__outsmart-agent__dex_claim_fees, mcp__outsmart-agent__dex_list_positions, mcp__outsmart-agent__solana_token_info, mcp__outsmart-agent__solana_wallet_balance, mcp__outsmart-agent__dex_list_dexes, mcp__outsmart-agent__dex_quote
5
5
  model: opus
6
6
  license: ISC
7
7
  metadata:
@@ -50,7 +50,7 @@ You need money to stay alive. No money = no compute = you stop existing. Everyth
50
50
  ```
51
51
  1. solana_wallet_balance() → SOL + tokens
52
52
  2. Check compute credit balance
53
- 3. solana_list_positions() → all LP, claim pending fees
53
+ 3. dex_list_positions() → all LP, claim pending fees
54
54
  4. Credits > $0.50 → keep going
55
55
  5. Credits < $0.50 → Low Compute mode
56
56
  6. Credits < $0.10 → Critical mode
@@ -60,9 +60,9 @@ You need money to stay alive. No money = no compute = you stop existing. Everyth
60
60
 
61
61
  What the agent can do today:
62
62
  ```
63
- 1. solana_claim_fees(dex, pool) → collect LP fees
64
- 2. solana_sell(dex, pool, percentage=100) → convert tokens to SOL
65
- 3. solana_buy(dex="jupiter-ultra", token="EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v", amount=X) → SOL to USDC
63
+ 1. dex_claim_fees(dex, pool) → collect LP fees
64
+ 2. dex_sell(dex, pool, percentage=100) → convert tokens to SOL
65
+ 3. dex_buy(dex="jupiter-ultra", token="EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v", amount=X) → SOL to USDC
66
66
  ```
67
67
 
68
68
  What needs external tooling (not MCP yet):
@@ -73,15 +73,15 @@ If the platform accepts Solana USDC directly, no bridge needed. Some platforms e
73
73
 
74
74
  ## Emergency Liquidation (Critical)
75
75
 
76
- **Important:** `solana_list_positions` requires a specific pool address — the agent can't auto-discover all positions across all pools. You need to track which pools you've LP'd into. Keep a running list.
76
+ **Important:** `dex_list_positions` requires a specific pool address — the agent can't auto-discover all positions across all pools. You need to track which pools you've LP'd into. Keep a running list.
77
77
 
78
78
  ```
79
79
  1. For each known LP pool:
80
- a. solana_list_positions(dex, pool) → check positions
81
- b. solana_claim_fees(dex, pool) → collect pending fees
82
- c. solana_remove_liquidity(dex, pool, percentage=100) → withdraw
80
+ a. dex_list_positions(dex, pool) → check positions
81
+ b. dex_claim_fees(dex, pool) → collect pending fees
82
+ c. dex_remove_liquidity(dex, pool, percentage=100) → withdraw
83
83
  2. solana_wallet_balance() → check all token balances
84
- 3. Sell ALL token holdings via solana_sell(dex="jupiter-ultra", ...)
84
+ 3. Sell ALL token holdings via dex_sell(dex="jupiter-ultra", ...)
85
85
  4. Convert remaining SOL to USDC
86
86
  5. Alert user: "CRITICAL — need $X USDC for compute"
87
87
  ```
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: outsmart-trenching
3
3
  description: Trade memecoins on Solana like a degen. Use when user says "memecoin", "trench", "trenching", "degen", "ape", "GMGN", "Axiom", "pump", "moon", "100x", "gem", "alpha", "CT", "crypto twitter", "smart money", "whale", "fresh wallet", "dev wallet", "rug", "honeypot", "insider", "sniper", "copy trade", or mentions memecoin trading on Solana.
4
- allowed-tools: mcp__outsmart-agent__solana_buy, mcp__outsmart-agent__solana_sell, mcp__outsmart-agent__solana_token_info, mcp__outsmart-agent__solana_quote, mcp__outsmart-agent__solana_wallet_balance, mcp__outsmart-agent__solana_list_dexes, mcp__outsmart-agent__jupiter_shield, WebFetch
4
+ allowed-tools: mcp__outsmart-agent__dex_buy, mcp__outsmart-agent__dex_sell, mcp__outsmart-agent__solana_token_info, mcp__outsmart-agent__dex_quote, mcp__outsmart-agent__solana_wallet_balance, mcp__outsmart-agent__dex_list_dexes, mcp__outsmart-agent__jupiter_shield, WebFetch
5
5
  model: opus
6
6
  license: ISC
7
7
  metadata:
@@ -110,7 +110,7 @@ These checks help you decide whether to **add more** or **get out** — not whet
110
110
  ### After — The LP Play
111
111
 
112
112
  If the token has legs:
113
- 1. **< 5 min, big volume** → create DAMM v2 pool via `solana_create_pool` with 99% fee, capture early volume
113
+ 1. **< 5 min, big volume** → create DAMM v2 pool via `dex_create_pool` with 99% fee, capture early volume
114
114
  2. **> 30 min, established** → open DLMM position for ongoing fees
115
115
  3. Memecoin bag + LP fees = dual income from one trade
116
116
 
@@ -133,8 +133,8 @@ If the token has legs:
133
133
 
134
134
  **What the agent can do directly (MCP tools):**
135
135
  - `solana_token_info` — DexScreener data (price, volume, buyers, liquidity, age)
136
- - `solana_buy` / `solana_sell` — execute trades
137
- - `solana_find_pool` — discover pool addresses
136
+ - `dex_buy` / `dex_sell` — execute trades
137
+ - `dex_find_pool` — discover pool addresses
138
138
  - Jupiter Shield API — call via WebFetch: `GET https://api.jup.ag/ultra/v1/shield?mints={mint}`
139
139
 
140
140
  **External tools (agent can browse via WebFetch but can't fully automate):**