@gala-chain/launchpad-mcp-server 1.3.0 → 1.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +128 -0
- package/dist/prompts/analysis.d.ts +31 -0
- package/dist/prompts/analysis.d.ts.map +1 -0
- package/dist/prompts/analysis.js +310 -0
- package/dist/prompts/analysis.js.map +1 -0
- package/dist/prompts/index.d.ts +26 -0
- package/dist/prompts/index.d.ts.map +1 -0
- package/dist/prompts/index.js +37 -0
- package/dist/prompts/index.js.map +1 -0
- package/dist/prompts/portfolio.d.ts +31 -0
- package/dist/prompts/portfolio.d.ts.map +1 -0
- package/dist/prompts/portfolio.js +229 -0
- package/dist/prompts/portfolio.js.map +1 -0
- package/dist/prompts/trading.d.ts +27 -0
- package/dist/prompts/trading.d.ts.map +1 -0
- package/dist/prompts/trading.js +242 -0
- package/dist/prompts/trading.js.map +1 -0
- package/dist/server.d.ts +4 -0
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +51 -1
- package/dist/server.js.map +1 -1
- package/dist/types/mcp.d.ts +29 -0
- package/dist/types/mcp.d.ts.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -5,10 +5,12 @@ MCP (Model Context Protocol) server for Gala Launchpad SDK - Enables AI agents t
|
|
|
5
5
|
## 🚀 Features
|
|
6
6
|
|
|
7
7
|
- **47 AI-accessible tools** for complete Gala Launchpad integration
|
|
8
|
+
- **14 slash commands** (prompts) for quick access to common workflows
|
|
8
9
|
- **Type-safe** - Full TypeScript support with validated inputs
|
|
9
10
|
- **Production-ready** - Built on [@gala-chain/launchpad-sdk ](https://www.npmjs.com/package/@gala-chain/launchpad-sdk)
|
|
10
11
|
- **Easy setup** - Works with Claude Desktop and other MCP clients
|
|
11
12
|
- **Comprehensive** - Pool management, trading, balances, token creation, comments, transfers
|
|
13
|
+
- **Optimized** - Local bonding curve calculations for instant results
|
|
12
14
|
|
|
13
15
|
## 📦 Installation
|
|
14
16
|
|
|
@@ -229,6 +231,132 @@ Ask Claude (or your AI assistant):
|
|
|
229
231
|
|
|
230
232
|
> "Show me all tokens I'm holding"
|
|
231
233
|
|
|
234
|
+
## ⚡ Slash Commands (Prompts)
|
|
235
|
+
|
|
236
|
+
The MCP server exposes **14 slash commands** that provide quick access to common Launchpad workflows. These appear as `/galachain-launchpad:<<method>>` in Claude Desktop.
|
|
237
|
+
|
|
238
|
+
### Trading Commands (4 commands)
|
|
239
|
+
|
|
240
|
+
**`/galachain-launchpad:analyze-token`**
|
|
241
|
+
- Comprehensive token analysis (pool details, spot price, graduation cost)
|
|
242
|
+
- **Arguments**: `tokenName` (required)
|
|
243
|
+
- **Example**: `/galachain-launchpad:analyze-token tokenName=anime`
|
|
244
|
+
- Uses optimized LOCAL calculations for speed
|
|
245
|
+
|
|
246
|
+
**`/galachain-launchpad:buy-tokens`**
|
|
247
|
+
- Guided token purchase with slippage protection
|
|
248
|
+
- **Arguments**: `tokenName` (required), `galaAmount` (required), `slippage` (optional, default 1%)
|
|
249
|
+
- **Example**: `/galachain-launchpad:buy-tokens tokenName=anime galaAmount=100 slippage=2`
|
|
250
|
+
- Shows breakdown and asks for confirmation before executing
|
|
251
|
+
|
|
252
|
+
**`/galachain-launchpad:sell-tokens`**
|
|
253
|
+
- Guided token sale with slippage protection
|
|
254
|
+
- **Arguments**: `tokenName` (required), `tokenAmount` (required), `slippage` (optional, default 1%)
|
|
255
|
+
- **Example**: `/galachain-launchpad:sell-tokens tokenName=anime tokenAmount=1000`
|
|
256
|
+
- Checks balance and shows breakdown before executing
|
|
257
|
+
|
|
258
|
+
**`/galachain-launchpad:graduate-token`**
|
|
259
|
+
- One-step pool graduation workflow
|
|
260
|
+
- **Arguments**: `tokenName` (required), `slippage` (optional, default 1%)
|
|
261
|
+
- **Example**: `/galachain-launchpad:graduate-token tokenName=anime`
|
|
262
|
+
- Checks if already graduated, calculates cost, and executes with confirmation
|
|
263
|
+
|
|
264
|
+
### Portfolio Commands (5 commands)
|
|
265
|
+
|
|
266
|
+
**`/galachain-launchpad:portfolio`**
|
|
267
|
+
- Complete portfolio analysis with USD values
|
|
268
|
+
- **Arguments**: None
|
|
269
|
+
- Shows GALA balance, all token holdings, total portfolio value, and top holdings
|
|
270
|
+
|
|
271
|
+
**`/galachain-launchpad:tokens-held`**
|
|
272
|
+
- List all tokens currently held
|
|
273
|
+
- **Arguments**: `search` (optional fuzzy filter), `limit` (optional, default 20)
|
|
274
|
+
- **Example**: `/galachain-launchpad:tokens-held search=dragon limit=10`
|
|
275
|
+
|
|
276
|
+
**`/galachain-launchpad:tokens-created`**
|
|
277
|
+
- Show tokens created by the user with status
|
|
278
|
+
- **Arguments**: `search` (optional), `limit` (optional, default 20)
|
|
279
|
+
- Shows graduation status and progress for each token
|
|
280
|
+
|
|
281
|
+
**`/galachain-launchpad:balance`**
|
|
282
|
+
- Check GALA and optional token balance
|
|
283
|
+
- **Arguments**: `tokenName` (optional)
|
|
284
|
+
- **Example**: `/galachain-launchpad:balance tokenName=anime`
|
|
285
|
+
- Displays both token amounts and USD values
|
|
286
|
+
|
|
287
|
+
**`/galachain-launchpad:profile`**
|
|
288
|
+
- Show user profile and activity summary
|
|
289
|
+
- **Arguments**: None
|
|
290
|
+
- Displays profile info, wallet addresses, activity metrics, and current balance
|
|
291
|
+
|
|
292
|
+
### Analysis Commands (5 commands)
|
|
293
|
+
|
|
294
|
+
**`/galachain-launchpad:compare-tokens`**
|
|
295
|
+
- Side-by-side comparison of two tokens
|
|
296
|
+
- **Arguments**: `token1` (required), `token2` (required)
|
|
297
|
+
- **Example**: `/galachain-launchpad:compare-tokens token1=anime token2=test216253`
|
|
298
|
+
- Shows comparison table with metrics, holders, and investment analysis
|
|
299
|
+
|
|
300
|
+
**`/galachain-launchpad:graduation-status`**
|
|
301
|
+
- Check graduation readiness for multiple tokens
|
|
302
|
+
- **Arguments**: `tokens` (required, comma-separated)
|
|
303
|
+
- **Example**: `/galachain-launchpad:graduation-status tokens=anime,test216253,dragnrkti`
|
|
304
|
+
- Shows progress table and identifies graduation opportunities
|
|
305
|
+
|
|
306
|
+
**`/galachain-launchpad:spot-prices`**
|
|
307
|
+
- Batch spot price lookup for multiple tokens
|
|
308
|
+
- **Arguments**: `tokens` (required, comma-separated)
|
|
309
|
+
- **Example**: `/galachain-launchpad:spot-prices tokens=anime,test216253`
|
|
310
|
+
- Uses optimized LOCAL calculations for instant results
|
|
311
|
+
|
|
312
|
+
**`/galachain-launchpad:pool-details`**
|
|
313
|
+
- Comprehensive pool information with badges and distribution
|
|
314
|
+
- **Arguments**: `tokenName` (required)
|
|
315
|
+
- **Example**: `/galachain-launchpad:pool-details tokenName=anime`
|
|
316
|
+
- Shows complete pool metrics, achievements, and recent activity
|
|
317
|
+
|
|
318
|
+
**`/galachain-launchpad:trade-history`**
|
|
319
|
+
- View recent trades with filtering
|
|
320
|
+
- **Arguments**: `tokenName` (optional), `userAddress` (optional), `tradeType` (optional: BUY/SELL), `limit` (optional, default 20)
|
|
321
|
+
- **Example**: `/galachain-launchpad:trade-history tokenName=anime tradeType=BUY limit=10`
|
|
322
|
+
|
|
323
|
+
### Slash Command Benefits
|
|
324
|
+
|
|
325
|
+
✅ **Quick access** - Type `/galachain-launchpad:` to see all available commands
|
|
326
|
+
✅ **Guided workflows** - Each command provides step-by-step execution
|
|
327
|
+
✅ **Optimized** - Uses LOCAL calculations for maximum performance
|
|
328
|
+
✅ **Safe** - Asks for confirmation before executing transactions
|
|
329
|
+
✅ **Educational** - Shows what MCP tools are being used behind the scenes
|
|
330
|
+
|
|
331
|
+
### Example Slash Command Usage
|
|
332
|
+
|
|
333
|
+
```
|
|
334
|
+
User: /galachain-launchpad:analyze-token tokenName=anime
|
|
335
|
+
|
|
336
|
+
Claude: I'll analyze the token "anime" using the Gala Launchpad MCP server:
|
|
337
|
+
|
|
338
|
+
1. Fetching optimized pool details...
|
|
339
|
+
✅ Current supply: 510,379.79
|
|
340
|
+
✅ Remaining tokens: 9,489,620.21
|
|
341
|
+
✅ Max supply: 10,000,000
|
|
342
|
+
|
|
343
|
+
2. Calculating USD spot price (LOCAL mode - instant!)...
|
|
344
|
+
✅ Spot price: $0.000153
|
|
345
|
+
|
|
346
|
+
3. Calculating graduation cost (LOCAL mode - instant!)...
|
|
347
|
+
✅ GALA required: 1,640,974.33 GALA
|
|
348
|
+
✅ Transaction fee: 1,640.97 GALA
|
|
349
|
+
✅ Total cost: 1,642,615.30 GALA
|
|
350
|
+
|
|
351
|
+
4. Pool progress: 5.10% complete
|
|
352
|
+
|
|
353
|
+
Analysis:
|
|
354
|
+
- Current price is relatively low (early stage token)
|
|
355
|
+
- Requires significant GALA (~1.6M) to graduate
|
|
356
|
+
- Only 5% through bonding curve - high risk, high potential reward
|
|
357
|
+
- Good opportunity for early entry if you believe in the project
|
|
358
|
+
```
|
|
359
|
+
|
|
232
360
|
## 📚 SDK Usage Reference
|
|
233
361
|
|
|
234
362
|
The MCP server includes a built-in SDK documentation tool that provides complete, runnable code examples for using the SDK directly instead of through MCP tools. This is perfect for developers who want to integrate the SDK into their applications.
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Analysis Prompts
|
|
3
|
+
*
|
|
4
|
+
* Slash commands for token analysis and comparison on Gala Launchpad
|
|
5
|
+
*/
|
|
6
|
+
import type { MCPPrompt } from '../types/mcp.js';
|
|
7
|
+
/**
|
|
8
|
+
* Compare Tokens - Side-by-side comparison
|
|
9
|
+
*/
|
|
10
|
+
export declare const compareTokensPrompt: MCPPrompt;
|
|
11
|
+
/**
|
|
12
|
+
* Graduation Status - Check multiple tokens for graduation readiness
|
|
13
|
+
*/
|
|
14
|
+
export declare const graduationStatusPrompt: MCPPrompt;
|
|
15
|
+
/**
|
|
16
|
+
* Spot Prices - Batch spot price lookup
|
|
17
|
+
*/
|
|
18
|
+
export declare const spotPricesPrompt: MCPPrompt;
|
|
19
|
+
/**
|
|
20
|
+
* Pool Details - Comprehensive pool information
|
|
21
|
+
*/
|
|
22
|
+
export declare const poolDetailsPrompt: MCPPrompt;
|
|
23
|
+
/**
|
|
24
|
+
* Trade History - Recent trades with filters
|
|
25
|
+
*/
|
|
26
|
+
export declare const tradeHistoryPrompt: MCPPrompt;
|
|
27
|
+
/**
|
|
28
|
+
* Export all analysis prompts
|
|
29
|
+
*/
|
|
30
|
+
export declare const analysisPrompts: MCPPrompt[];
|
|
31
|
+
//# sourceMappingURL=analysis.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"analysis.d.ts","sourceRoot":"","sources":["../../src/prompts/analysis.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjD;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,SA4DjC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,sBAAsB,EAAE,SAiDpC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,SAyC9B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,SA4D/B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,SA6DhC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,SAAS,EAMtC,CAAC"}
|
|
@@ -0,0 +1,310 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Analysis Prompts
|
|
4
|
+
*
|
|
5
|
+
* Slash commands for token analysis and comparison on Gala Launchpad
|
|
6
|
+
*/
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.analysisPrompts = exports.tradeHistoryPrompt = exports.poolDetailsPrompt = exports.spotPricesPrompt = exports.graduationStatusPrompt = exports.compareTokensPrompt = void 0;
|
|
9
|
+
/**
|
|
10
|
+
* Compare Tokens - Side-by-side comparison
|
|
11
|
+
*/
|
|
12
|
+
exports.compareTokensPrompt = {
|
|
13
|
+
name: 'galachain-launchpad:compare-tokens',
|
|
14
|
+
description: 'Compare two Launchpad tokens side-by-side with detailed metrics',
|
|
15
|
+
arguments: [
|
|
16
|
+
{
|
|
17
|
+
name: 'token1',
|
|
18
|
+
description: 'First token to compare (e.g., anime)',
|
|
19
|
+
required: true,
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
name: 'token2',
|
|
23
|
+
description: 'Second token to compare (e.g., test216253)',
|
|
24
|
+
required: true,
|
|
25
|
+
},
|
|
26
|
+
],
|
|
27
|
+
handler: (args) => [
|
|
28
|
+
{
|
|
29
|
+
role: 'user',
|
|
30
|
+
content: {
|
|
31
|
+
type: 'text',
|
|
32
|
+
text: `Compare two Launchpad tokens side-by-side:
|
|
33
|
+
|
|
34
|
+
Token 1: ${args.token1}
|
|
35
|
+
Token 2: ${args.token2}
|
|
36
|
+
|
|
37
|
+
For EACH token, use the optimized pattern:
|
|
38
|
+
|
|
39
|
+
1. Fetch pool details using gala_launchpad_fetch_pool_details_for_calculation
|
|
40
|
+
|
|
41
|
+
2. Calculate metrics using LOCAL mode:
|
|
42
|
+
- Spot price: gala_launchpad_fetch_launchpad_token_spot_price
|
|
43
|
+
- Graduation cost: gala_launchpad_calculate_buy_amount_for_graduation
|
|
44
|
+
- Is graduated: gala_launchpad_is_token_graduated
|
|
45
|
+
|
|
46
|
+
3. Get additional data:
|
|
47
|
+
- Full pool details: gala_launchpad_fetch_pool_details
|
|
48
|
+
- Token distribution: gala_launchpad_fetch_token_distribution
|
|
49
|
+
- Badges: gala_launchpad_fetch_token_badges
|
|
50
|
+
|
|
51
|
+
Present a comparison table:
|
|
52
|
+
|
|
53
|
+
| Metric | ${args.token1} | ${args.token2} |
|
|
54
|
+
|--------|--------|--------|
|
|
55
|
+
| Spot Price (USD) | ... | ... |
|
|
56
|
+
| Market Cap Estimate | ... | ... |
|
|
57
|
+
| Pool Status | ... | ... |
|
|
58
|
+
| Progress to Graduation | ... | ... |
|
|
59
|
+
| Remaining Tokens | ... | ... |
|
|
60
|
+
| GALA to Graduate | ... | ... |
|
|
61
|
+
| Holder Count | ... | ... |
|
|
62
|
+
| Creator Status | ... | ... |
|
|
63
|
+
|
|
64
|
+
Provide analysis:
|
|
65
|
+
- Which token is closer to graduation?
|
|
66
|
+
- Which has better liquidity?
|
|
67
|
+
- Which might be a better investment and why?
|
|
68
|
+
- Any notable badges or achievements?`,
|
|
69
|
+
},
|
|
70
|
+
},
|
|
71
|
+
],
|
|
72
|
+
};
|
|
73
|
+
/**
|
|
74
|
+
* Graduation Status - Check multiple tokens for graduation readiness
|
|
75
|
+
*/
|
|
76
|
+
exports.graduationStatusPrompt = {
|
|
77
|
+
name: 'galachain-launchpad:graduation-status',
|
|
78
|
+
description: 'Check graduation status and readiness for multiple tokens',
|
|
79
|
+
arguments: [
|
|
80
|
+
{
|
|
81
|
+
name: 'tokens',
|
|
82
|
+
description: 'Comma-separated token names (e.g., anime,test216253,dragnrkti)',
|
|
83
|
+
required: true,
|
|
84
|
+
},
|
|
85
|
+
],
|
|
86
|
+
handler: (args) => [
|
|
87
|
+
{
|
|
88
|
+
role: 'user',
|
|
89
|
+
content: {
|
|
90
|
+
type: 'text',
|
|
91
|
+
text: `Check graduation status for multiple tokens:
|
|
92
|
+
|
|
93
|
+
Tokens: ${args.tokens}
|
|
94
|
+
|
|
95
|
+
For EACH token in the list:
|
|
96
|
+
|
|
97
|
+
1. Check if graduated: gala_launchpad_is_token_graduated
|
|
98
|
+
|
|
99
|
+
2. If not graduated, use optimized pattern:
|
|
100
|
+
a. Fetch pool details: gala_launchpad_fetch_pool_details_for_calculation
|
|
101
|
+
b. Calculate graduation cost: gala_launchpad_calculate_buy_amount_for_graduation (LOCAL mode)
|
|
102
|
+
c. Calculate progress: (currentSupply / maxSupply * 100)
|
|
103
|
+
|
|
104
|
+
3. Get full pool details: gala_launchpad_fetch_pool_details
|
|
105
|
+
|
|
106
|
+
Present a table:
|
|
107
|
+
|
|
108
|
+
| Token | Status | Progress | Remaining Tokens | GALA to Graduate | Frontend URL |
|
|
109
|
+
|-------|--------|----------|------------------|------------------|--------------|
|
|
110
|
+
| ... | ... | ... | ... | ... | ... |
|
|
111
|
+
|
|
112
|
+
Summary:
|
|
113
|
+
- Total tokens analyzed: [count]
|
|
114
|
+
- Already graduated: [count]
|
|
115
|
+
- Close to graduation (>90%): [count]
|
|
116
|
+
- Mid-progress (50-90%): [count]
|
|
117
|
+
- Early stage (<50%): [count]
|
|
118
|
+
|
|
119
|
+
Provide recommendations:
|
|
120
|
+
- Which tokens are good graduation opportunities?
|
|
121
|
+
- Which tokens might be undervalued?`,
|
|
122
|
+
},
|
|
123
|
+
},
|
|
124
|
+
],
|
|
125
|
+
};
|
|
126
|
+
/**
|
|
127
|
+
* Spot Prices - Batch spot price lookup
|
|
128
|
+
*/
|
|
129
|
+
exports.spotPricesPrompt = {
|
|
130
|
+
name: 'galachain-launchpad:spot-prices',
|
|
131
|
+
description: 'Get spot prices for multiple Launchpad tokens efficiently',
|
|
132
|
+
arguments: [
|
|
133
|
+
{
|
|
134
|
+
name: 'tokens',
|
|
135
|
+
description: 'Comma-separated token names (e.g., anime,test216253,dragnrkti)',
|
|
136
|
+
required: true,
|
|
137
|
+
},
|
|
138
|
+
],
|
|
139
|
+
handler: (args) => [
|
|
140
|
+
{
|
|
141
|
+
role: 'user',
|
|
142
|
+
content: {
|
|
143
|
+
type: 'text',
|
|
144
|
+
text: `Get spot prices for multiple Launchpad tokens:
|
|
145
|
+
|
|
146
|
+
Tokens: ${args.tokens}
|
|
147
|
+
|
|
148
|
+
Use the optimized batch pattern for EACH token:
|
|
149
|
+
|
|
150
|
+
1. Fetch pool details: gala_launchpad_fetch_pool_details_for_calculation
|
|
151
|
+
2. Calculate spot price: gala_launchpad_fetch_launchpad_token_spot_price (LOCAL mode)
|
|
152
|
+
|
|
153
|
+
Also get GALA spot price: gala_launchpad_fetch_gala_spot_price
|
|
154
|
+
|
|
155
|
+
Present results:
|
|
156
|
+
|
|
157
|
+
**GALA Spot Price:** $[price]
|
|
158
|
+
|
|
159
|
+
**Launchpad Token Prices:**
|
|
160
|
+
| Token | USD Price | GALA Price | Market Cap Est. |
|
|
161
|
+
|-------|-----------|------------|-----------------|
|
|
162
|
+
| ... | ... | ... | ... |
|
|
163
|
+
|
|
164
|
+
Performance note: Using LOCAL calculations - instant results with <0.01% difference from external!
|
|
165
|
+
|
|
166
|
+
Sort by USD price (highest to lowest).`,
|
|
167
|
+
},
|
|
168
|
+
},
|
|
169
|
+
],
|
|
170
|
+
};
|
|
171
|
+
/**
|
|
172
|
+
* Pool Details - Comprehensive pool information
|
|
173
|
+
*/
|
|
174
|
+
exports.poolDetailsPrompt = {
|
|
175
|
+
name: 'galachain-launchpad:pool-details',
|
|
176
|
+
description: 'Get comprehensive pool information including distribution and badges',
|
|
177
|
+
arguments: [
|
|
178
|
+
{
|
|
179
|
+
name: 'tokenName',
|
|
180
|
+
description: 'Token to analyze (e.g., anime)',
|
|
181
|
+
required: true,
|
|
182
|
+
},
|
|
183
|
+
],
|
|
184
|
+
handler: (args) => [
|
|
185
|
+
{
|
|
186
|
+
role: 'user',
|
|
187
|
+
content: {
|
|
188
|
+
type: 'text',
|
|
189
|
+
text: `Get comprehensive pool information for "${args.tokenName}":
|
|
190
|
+
|
|
191
|
+
1. Full pool details: gala_launchpad_fetch_pool_details
|
|
192
|
+
2. Token distribution: gala_launchpad_fetch_token_distribution
|
|
193
|
+
3. Achievement badges: gala_launchpad_fetch_token_badges
|
|
194
|
+
4. Recent volume data (last 24h): gala_launchpad_fetch_volume_data with 1h resolution
|
|
195
|
+
5. Check if graduated: gala_launchpad_is_token_graduated
|
|
196
|
+
6. Frontend URL: gala_launchpad_get_url_by_token_name
|
|
197
|
+
|
|
198
|
+
Display organized sections:
|
|
199
|
+
|
|
200
|
+
**Basic Info:**
|
|
201
|
+
- Token name and symbol
|
|
202
|
+
- Pool status
|
|
203
|
+
- Created by
|
|
204
|
+
- Frontend URL
|
|
205
|
+
|
|
206
|
+
**Supply Metrics:**
|
|
207
|
+
- Current supply
|
|
208
|
+
- Maximum supply
|
|
209
|
+
- Remaining tokens
|
|
210
|
+
- Progress percentage
|
|
211
|
+
|
|
212
|
+
**Distribution:**
|
|
213
|
+
- Total holders
|
|
214
|
+
- Top holders (if available)
|
|
215
|
+
- Distribution metrics
|
|
216
|
+
|
|
217
|
+
**Achievements:**
|
|
218
|
+
- Volume badges
|
|
219
|
+
- Engagement badges
|
|
220
|
+
- Other achievements
|
|
221
|
+
|
|
222
|
+
**Recent Activity (24h):**
|
|
223
|
+
- Trading volume
|
|
224
|
+
- Price movement
|
|
225
|
+
- Number of trades
|
|
226
|
+
|
|
227
|
+
**Reverse Bonding Curve:**
|
|
228
|
+
- Max fee factor
|
|
229
|
+
- Min fee factor
|
|
230
|
+
- Current fee structure`,
|
|
231
|
+
},
|
|
232
|
+
},
|
|
233
|
+
],
|
|
234
|
+
};
|
|
235
|
+
/**
|
|
236
|
+
* Trade History - Recent trades with filters
|
|
237
|
+
*/
|
|
238
|
+
exports.tradeHistoryPrompt = {
|
|
239
|
+
name: 'galachain-launchpad:trade-history',
|
|
240
|
+
description: 'View recent trades for a token or user with filtering options',
|
|
241
|
+
arguments: [
|
|
242
|
+
{
|
|
243
|
+
name: 'tokenName',
|
|
244
|
+
description: 'Token to view trades for (optional)',
|
|
245
|
+
required: false,
|
|
246
|
+
},
|
|
247
|
+
{
|
|
248
|
+
name: 'userAddress',
|
|
249
|
+
description: 'User address to filter by (optional)',
|
|
250
|
+
required: false,
|
|
251
|
+
},
|
|
252
|
+
{
|
|
253
|
+
name: 'tradeType',
|
|
254
|
+
description: 'Trade type filter: BUY or SELL (optional)',
|
|
255
|
+
required: false,
|
|
256
|
+
},
|
|
257
|
+
{
|
|
258
|
+
name: 'limit',
|
|
259
|
+
description: 'Number of trades to show (default: 20)',
|
|
260
|
+
required: false,
|
|
261
|
+
},
|
|
262
|
+
],
|
|
263
|
+
handler: (args) => [
|
|
264
|
+
{
|
|
265
|
+
role: 'user',
|
|
266
|
+
content: {
|
|
267
|
+
type: 'text',
|
|
268
|
+
text: `Show recent trade history:
|
|
269
|
+
|
|
270
|
+
${args.tokenName ? `Token: ${args.tokenName}` : 'All tokens'}
|
|
271
|
+
${args.userAddress ? `User: ${args.userAddress}` : 'All users'}
|
|
272
|
+
${args.tradeType ? `Type: ${args.tradeType}` : 'All trade types'}
|
|
273
|
+
Limit: ${args.limit || '20'}
|
|
274
|
+
|
|
275
|
+
Use gala_launchpad_fetch_trades with:
|
|
276
|
+
${args.tokenName ? `- tokenName: "${args.tokenName}"` : ''}
|
|
277
|
+
${args.userAddress ? `- userAddress: "${args.userAddress}"` : ''}
|
|
278
|
+
${args.tradeType ? `- tradeType: "${args.tradeType}"` : ''}
|
|
279
|
+
- limit: ${args.limit || '20'}
|
|
280
|
+
- sortOrder: "DESC" (newest first)
|
|
281
|
+
|
|
282
|
+
For each trade, display:
|
|
283
|
+
- Timestamp (formatted)
|
|
284
|
+
- Token name
|
|
285
|
+
- Trade type (BUY/SELL)
|
|
286
|
+
- Amount (tokens)
|
|
287
|
+
- Price (GALA)
|
|
288
|
+
- User address (truncated)
|
|
289
|
+
- Transaction ID
|
|
290
|
+
|
|
291
|
+
Calculate summary:
|
|
292
|
+
- Total trades shown
|
|
293
|
+
- Total volume (GALA)
|
|
294
|
+
- Average trade size
|
|
295
|
+
- Buy vs Sell ratio (if not filtered)`,
|
|
296
|
+
},
|
|
297
|
+
},
|
|
298
|
+
],
|
|
299
|
+
};
|
|
300
|
+
/**
|
|
301
|
+
* Export all analysis prompts
|
|
302
|
+
*/
|
|
303
|
+
exports.analysisPrompts = [
|
|
304
|
+
exports.compareTokensPrompt,
|
|
305
|
+
exports.graduationStatusPrompt,
|
|
306
|
+
exports.spotPricesPrompt,
|
|
307
|
+
exports.poolDetailsPrompt,
|
|
308
|
+
exports.tradeHistoryPrompt,
|
|
309
|
+
];
|
|
310
|
+
//# sourceMappingURL=analysis.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"analysis.js","sourceRoot":"","sources":["../../src/prompts/analysis.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Gala Launchpad MCP Prompts (Slash Commands)
|
|
3
|
+
*
|
|
4
|
+
* Provides user-friendly slash commands for common Launchpad workflows
|
|
5
|
+
*/
|
|
6
|
+
import { tradingPrompts } from './trading.js';
|
|
7
|
+
import { portfolioPrompts } from './portfolio.js';
|
|
8
|
+
import { analysisPrompts } from './analysis.js';
|
|
9
|
+
import type { MCPPrompt } from '../types/mcp.js';
|
|
10
|
+
/**
|
|
11
|
+
* All available prompts
|
|
12
|
+
*/
|
|
13
|
+
export declare const prompts: MCPPrompt[];
|
|
14
|
+
/**
|
|
15
|
+
* Get prompt by name
|
|
16
|
+
*/
|
|
17
|
+
export declare function getPrompt(name: string): MCPPrompt | undefined;
|
|
18
|
+
/**
|
|
19
|
+
* Get all prompt names
|
|
20
|
+
*/
|
|
21
|
+
export declare function getPromptNames(): string[];
|
|
22
|
+
/**
|
|
23
|
+
* Export individual prompt categories for documentation
|
|
24
|
+
*/
|
|
25
|
+
export { tradingPrompts, portfolioPrompts, analysisPrompts };
|
|
26
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/prompts/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjD;;GAEG;AACH,eAAO,MAAM,OAAO,EAAE,SAAS,EAI9B,CAAC;AAEF;;GAEG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAE7D;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,MAAM,EAAE,CAEzC;AAED;;GAEG;AACH,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,eAAe,EAAE,CAAC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Gala Launchpad MCP Prompts (Slash Commands)
|
|
4
|
+
*
|
|
5
|
+
* Provides user-friendly slash commands for common Launchpad workflows
|
|
6
|
+
*/
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.analysisPrompts = exports.portfolioPrompts = exports.tradingPrompts = exports.prompts = void 0;
|
|
9
|
+
exports.getPrompt = getPrompt;
|
|
10
|
+
exports.getPromptNames = getPromptNames;
|
|
11
|
+
const trading_js_1 = require("./trading.js");
|
|
12
|
+
Object.defineProperty(exports, "tradingPrompts", { enumerable: true, get: function () { return trading_js_1.tradingPrompts; } });
|
|
13
|
+
const portfolio_js_1 = require("./portfolio.js");
|
|
14
|
+
Object.defineProperty(exports, "portfolioPrompts", { enumerable: true, get: function () { return portfolio_js_1.portfolioPrompts; } });
|
|
15
|
+
const analysis_js_1 = require("./analysis.js");
|
|
16
|
+
Object.defineProperty(exports, "analysisPrompts", { enumerable: true, get: function () { return analysis_js_1.analysisPrompts; } });
|
|
17
|
+
/**
|
|
18
|
+
* All available prompts
|
|
19
|
+
*/
|
|
20
|
+
exports.prompts = [
|
|
21
|
+
...trading_js_1.tradingPrompts,
|
|
22
|
+
...portfolio_js_1.portfolioPrompts,
|
|
23
|
+
...analysis_js_1.analysisPrompts,
|
|
24
|
+
];
|
|
25
|
+
/**
|
|
26
|
+
* Get prompt by name
|
|
27
|
+
*/
|
|
28
|
+
function getPrompt(name) {
|
|
29
|
+
return exports.prompts.find((p) => p.name === name);
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Get all prompt names
|
|
33
|
+
*/
|
|
34
|
+
function getPromptNames() {
|
|
35
|
+
return exports.prompts.map((p) => p.name);
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/prompts/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAmBH,8BAEC;AAKD,wCAEC;AA1BD,6CAA8C;AA+BrC,+FA/BA,2BAAc,OA+BA;AA9BvB,iDAAkD;AA8BzB,iGA9BhB,+BAAgB,OA8BgB;AA7BzC,+CAAgD;AA6BL,gGA7BlC,6BAAe,OA6BkC;AA1B1D;;GAEG;AACU,QAAA,OAAO,GAAgB;IAClC,GAAG,2BAAc;IACjB,GAAG,+BAAgB;IACnB,GAAG,6BAAe;CACnB,CAAC;AAEF;;GAEG;AACH,SAAgB,SAAS,CAAC,IAAY;IACpC,OAAO,eAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;AAC9C,CAAC;AAED;;GAEG;AACH,SAAgB,cAAc;IAC5B,OAAO,eAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AACpC,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Portfolio Prompts
|
|
3
|
+
*
|
|
4
|
+
* Slash commands for portfolio management on Gala Launchpad
|
|
5
|
+
*/
|
|
6
|
+
import type { MCPPrompt } from '../types/mcp.js';
|
|
7
|
+
/**
|
|
8
|
+
* Portfolio - Complete portfolio analysis
|
|
9
|
+
*/
|
|
10
|
+
export declare const portfolioPrompt: MCPPrompt;
|
|
11
|
+
/**
|
|
12
|
+
* Tokens Held - List all token holdings
|
|
13
|
+
*/
|
|
14
|
+
export declare const tokensHeldPrompt: MCPPrompt;
|
|
15
|
+
/**
|
|
16
|
+
* Tokens Created - Show tokens created by user
|
|
17
|
+
*/
|
|
18
|
+
export declare const tokensCreatedPrompt: MCPPrompt;
|
|
19
|
+
/**
|
|
20
|
+
* Balance - Check GALA and specific token balances
|
|
21
|
+
*/
|
|
22
|
+
export declare const balancePrompt: MCPPrompt;
|
|
23
|
+
/**
|
|
24
|
+
* Profile - Show user profile information
|
|
25
|
+
*/
|
|
26
|
+
export declare const profilePrompt: MCPPrompt;
|
|
27
|
+
/**
|
|
28
|
+
* Export all portfolio prompts
|
|
29
|
+
*/
|
|
30
|
+
export declare const portfolioPrompts: MCPPrompt[];
|
|
31
|
+
//# sourceMappingURL=portfolio.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"portfolio.d.ts","sourceRoot":"","sources":["../../src/prompts/portfolio.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjD;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,SAqC7B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,SAqC9B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,SA2CjC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,SAyC3B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,SAgC3B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,SAAS,EAMvC,CAAC"}
|
|
@@ -0,0 +1,229 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Portfolio Prompts
|
|
4
|
+
*
|
|
5
|
+
* Slash commands for portfolio management on Gala Launchpad
|
|
6
|
+
*/
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.portfolioPrompts = exports.profilePrompt = exports.balancePrompt = exports.tokensCreatedPrompt = exports.tokensHeldPrompt = exports.portfolioPrompt = void 0;
|
|
9
|
+
/**
|
|
10
|
+
* Portfolio - Complete portfolio analysis
|
|
11
|
+
*/
|
|
12
|
+
exports.portfolioPrompt = {
|
|
13
|
+
name: 'galachain-launchpad:portfolio',
|
|
14
|
+
description: 'Analyze complete portfolio with GALA balance, token holdings, and total USD value',
|
|
15
|
+
handler: () => [
|
|
16
|
+
{
|
|
17
|
+
role: 'user',
|
|
18
|
+
content: {
|
|
19
|
+
type: 'text',
|
|
20
|
+
text: `Analyze my complete Gala Launchpad portfolio:
|
|
21
|
+
|
|
22
|
+
1. Get GALA balance using gala_launchpad_fetch_gala_balance
|
|
23
|
+
|
|
24
|
+
2. Get all tokens I'm holding using gala_launchpad_fetch_tokens_held
|
|
25
|
+
- Use pagination if needed to get all tokens
|
|
26
|
+
|
|
27
|
+
3. For each token, calculate USD value using optimized pattern:
|
|
28
|
+
a. Fetch pool details once: gala_launchpad_fetch_pool_details_for_calculation
|
|
29
|
+
b. Calculate spot price: gala_launchpad_fetch_launchpad_token_spot_price with LOCAL mode
|
|
30
|
+
c. Multiply token balance by spot price for USD value
|
|
31
|
+
|
|
32
|
+
4. Calculate GALA USD value using gala_launchpad_fetch_gala_spot_price
|
|
33
|
+
|
|
34
|
+
5. Present a comprehensive portfolio summary:
|
|
35
|
+
- GALA balance and USD value
|
|
36
|
+
- Each token holding with:
|
|
37
|
+
* Token name
|
|
38
|
+
* Balance
|
|
39
|
+
* USD spot price
|
|
40
|
+
* Total USD value
|
|
41
|
+
- Total portfolio value in USD
|
|
42
|
+
- Top 3 holdings by value
|
|
43
|
+
- Number of different tokens held
|
|
44
|
+
|
|
45
|
+
Use the performance optimization pattern to minimize network calls.`,
|
|
46
|
+
},
|
|
47
|
+
},
|
|
48
|
+
],
|
|
49
|
+
};
|
|
50
|
+
/**
|
|
51
|
+
* Tokens Held - List all token holdings
|
|
52
|
+
*/
|
|
53
|
+
exports.tokensHeldPrompt = {
|
|
54
|
+
name: 'galachain-launchpad:tokens-held',
|
|
55
|
+
description: 'List all Launchpad tokens currently held with balances',
|
|
56
|
+
arguments: [
|
|
57
|
+
{
|
|
58
|
+
name: 'search',
|
|
59
|
+
description: 'Optional search filter for token names (fuzzy match)',
|
|
60
|
+
required: false,
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
name: 'limit',
|
|
64
|
+
description: 'Number of tokens to show (default: 20)',
|
|
65
|
+
required: false,
|
|
66
|
+
},
|
|
67
|
+
],
|
|
68
|
+
handler: (args) => [
|
|
69
|
+
{
|
|
70
|
+
role: 'user',
|
|
71
|
+
content: {
|
|
72
|
+
type: 'text',
|
|
73
|
+
text: `Show me all Launchpad tokens I'm currently holding:
|
|
74
|
+
|
|
75
|
+
Use gala_launchpad_fetch_tokens_held with:
|
|
76
|
+
${args.search ? `- search: "${args.search}" (fuzzy match filter)` : '- No search filter (show all tokens)'}
|
|
77
|
+
- limit: ${args.limit || '20'}
|
|
78
|
+
|
|
79
|
+
For each token, display:
|
|
80
|
+
- Token name
|
|
81
|
+
- Balance (formatted with decimals)
|
|
82
|
+
- Whether I created this token (if applicable)
|
|
83
|
+
|
|
84
|
+
Sort by balance (highest to lowest).
|
|
85
|
+
|
|
86
|
+
If I have more tokens than the limit, show pagination info and offer to fetch more.`,
|
|
87
|
+
},
|
|
88
|
+
},
|
|
89
|
+
],
|
|
90
|
+
};
|
|
91
|
+
/**
|
|
92
|
+
* Tokens Created - Show tokens created by user
|
|
93
|
+
*/
|
|
94
|
+
exports.tokensCreatedPrompt = {
|
|
95
|
+
name: 'galachain-launchpad:tokens-created',
|
|
96
|
+
description: 'List all Launchpad tokens created by the user with their current status',
|
|
97
|
+
arguments: [
|
|
98
|
+
{
|
|
99
|
+
name: 'search',
|
|
100
|
+
description: 'Optional search filter for token names (fuzzy match)',
|
|
101
|
+
required: false,
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
name: 'limit',
|
|
105
|
+
description: 'Number of tokens to show (default: 20)',
|
|
106
|
+
required: false,
|
|
107
|
+
},
|
|
108
|
+
],
|
|
109
|
+
handler: (args) => [
|
|
110
|
+
{
|
|
111
|
+
role: 'user',
|
|
112
|
+
content: {
|
|
113
|
+
type: 'text',
|
|
114
|
+
text: `Show me all Launchpad tokens I've created:
|
|
115
|
+
|
|
116
|
+
Use gala_launchpad_fetch_tokens_created with:
|
|
117
|
+
${args.search ? `- search: "${args.search}" (fuzzy match filter)` : '- No search filter (show all tokens)'}
|
|
118
|
+
- limit: ${args.limit || '20'}
|
|
119
|
+
|
|
120
|
+
For each token, display:
|
|
121
|
+
- Token name and symbol
|
|
122
|
+
- Current status (check using gala_launchpad_fetch_pool_details):
|
|
123
|
+
* Pool status (Ongoing/Completed)
|
|
124
|
+
* Current supply
|
|
125
|
+
* Remaining tokens
|
|
126
|
+
* Progress percentage
|
|
127
|
+
- Whether graduated (use gala_launchpad_is_token_graduated)
|
|
128
|
+
- Frontend URL (use gala_launchpad_get_url_by_token_name)
|
|
129
|
+
|
|
130
|
+
Provide a summary:
|
|
131
|
+
- Total tokens created
|
|
132
|
+
- How many are graduated
|
|
133
|
+
- How many are still in bonding curve phase`,
|
|
134
|
+
},
|
|
135
|
+
},
|
|
136
|
+
],
|
|
137
|
+
};
|
|
138
|
+
/**
|
|
139
|
+
* Balance - Check GALA and specific token balances
|
|
140
|
+
*/
|
|
141
|
+
exports.balancePrompt = {
|
|
142
|
+
name: 'galachain-launchpad:balance',
|
|
143
|
+
description: 'Check GALA balance and optionally a specific token balance',
|
|
144
|
+
arguments: [
|
|
145
|
+
{
|
|
146
|
+
name: 'tokenName',
|
|
147
|
+
description: 'Optional token name to check balance for (e.g., anime)',
|
|
148
|
+
required: false,
|
|
149
|
+
},
|
|
150
|
+
],
|
|
151
|
+
handler: (args) => [
|
|
152
|
+
{
|
|
153
|
+
role: 'user',
|
|
154
|
+
content: {
|
|
155
|
+
type: 'text',
|
|
156
|
+
text: args.tokenName
|
|
157
|
+
? `Check my balances:
|
|
158
|
+
|
|
159
|
+
1. GALA balance using gala_launchpad_fetch_gala_balance
|
|
160
|
+
2. ${args.tokenName} token balance using gala_launchpad_fetch_token_balance
|
|
161
|
+
3. Calculate USD values:
|
|
162
|
+
- GALA USD value using gala_launchpad_fetch_gala_spot_price
|
|
163
|
+
- ${args.tokenName} USD value using gala_launchpad_fetch_launchpad_token_spot_price
|
|
164
|
+
|
|
165
|
+
Display:
|
|
166
|
+
- GALA: [amount] ($[USD value])
|
|
167
|
+
- ${args.tokenName}: [amount] ($[USD value])
|
|
168
|
+
- Total value: $[combined USD value]`
|
|
169
|
+
: `Check my GALA balance:
|
|
170
|
+
|
|
171
|
+
Use gala_launchpad_fetch_gala_balance to get current GALA balance.
|
|
172
|
+
Use gala_launchpad_fetch_gala_spot_price to calculate USD value.
|
|
173
|
+
|
|
174
|
+
Display:
|
|
175
|
+
- GALA: [amount]
|
|
176
|
+
- USD value: $[calculated value]
|
|
177
|
+
|
|
178
|
+
Tip: Add tokenName argument to check a specific token balance.`,
|
|
179
|
+
},
|
|
180
|
+
},
|
|
181
|
+
],
|
|
182
|
+
};
|
|
183
|
+
/**
|
|
184
|
+
* Profile - Show user profile information
|
|
185
|
+
*/
|
|
186
|
+
exports.profilePrompt = {
|
|
187
|
+
name: 'galachain-launchpad:profile',
|
|
188
|
+
description: 'Show user profile information and activity summary',
|
|
189
|
+
handler: () => [
|
|
190
|
+
{
|
|
191
|
+
role: 'user',
|
|
192
|
+
content: {
|
|
193
|
+
type: 'text',
|
|
194
|
+
text: `Show my Gala Launchpad profile:
|
|
195
|
+
|
|
196
|
+
1. Get profile info using gala_launchpad_fetch_profile
|
|
197
|
+
- Full name
|
|
198
|
+
- Profile image URL
|
|
199
|
+
- Wallet address
|
|
200
|
+
|
|
201
|
+
2. Get activity summary:
|
|
202
|
+
- Tokens held count: gala_launchpad_fetch_tokens_held (limit: 1) for total
|
|
203
|
+
- Tokens created count: gala_launchpad_fetch_tokens_created (limit: 1) for total
|
|
204
|
+
|
|
205
|
+
3. Get wallet info:
|
|
206
|
+
- GalaChain address format: gala_launchpad_get_address
|
|
207
|
+
- Ethereum address format: gala_launchpad_get_ethereum_address
|
|
208
|
+
- GALA balance: gala_launchpad_fetch_gala_balance
|
|
209
|
+
|
|
210
|
+
Display:
|
|
211
|
+
- Profile details
|
|
212
|
+
- Activity metrics
|
|
213
|
+
- Wallet addresses
|
|
214
|
+
- Current balance`,
|
|
215
|
+
},
|
|
216
|
+
},
|
|
217
|
+
],
|
|
218
|
+
};
|
|
219
|
+
/**
|
|
220
|
+
* Export all portfolio prompts
|
|
221
|
+
*/
|
|
222
|
+
exports.portfolioPrompts = [
|
|
223
|
+
exports.portfolioPrompt,
|
|
224
|
+
exports.tokensHeldPrompt,
|
|
225
|
+
exports.tokensCreatedPrompt,
|
|
226
|
+
exports.balancePrompt,
|
|
227
|
+
exports.profilePrompt,
|
|
228
|
+
];
|
|
229
|
+
//# sourceMappingURL=portfolio.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"portfolio.js","sourceRoot":"","sources":["../../src/prompts/portfolio.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Trading Prompts
|
|
3
|
+
*
|
|
4
|
+
* Slash commands for trading operations on Gala Launchpad
|
|
5
|
+
*/
|
|
6
|
+
import type { MCPPrompt } from '../types/mcp.js';
|
|
7
|
+
/**
|
|
8
|
+
* Analyze Token - Complete token analysis workflow
|
|
9
|
+
*/
|
|
10
|
+
export declare const analyzeTokenPrompt: MCPPrompt;
|
|
11
|
+
/**
|
|
12
|
+
* Buy Tokens - Guided token purchase workflow
|
|
13
|
+
*/
|
|
14
|
+
export declare const buyTokensPrompt: MCPPrompt;
|
|
15
|
+
/**
|
|
16
|
+
* Sell Tokens - Guided token sale workflow
|
|
17
|
+
*/
|
|
18
|
+
export declare const sellTokensPrompt: MCPPrompt;
|
|
19
|
+
/**
|
|
20
|
+
* Graduate Token - One-step graduation workflow
|
|
21
|
+
*/
|
|
22
|
+
export declare const graduateTokenPrompt: MCPPrompt;
|
|
23
|
+
/**
|
|
24
|
+
* Export all trading prompts
|
|
25
|
+
*/
|
|
26
|
+
export declare const tradingPrompts: MCPPrompt[];
|
|
27
|
+
//# sourceMappingURL=trading.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trading.d.ts","sourceRoot":"","sources":["../../src/prompts/trading.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjD;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,SAiChC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,SAwD7B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,SA0D9B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,SA6DjC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,SAAS,EAKrC,CAAC"}
|
|
@@ -0,0 +1,242 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Trading Prompts
|
|
4
|
+
*
|
|
5
|
+
* Slash commands for trading operations on Gala Launchpad
|
|
6
|
+
*/
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.tradingPrompts = exports.graduateTokenPrompt = exports.sellTokensPrompt = exports.buyTokensPrompt = exports.analyzeTokenPrompt = void 0;
|
|
9
|
+
/**
|
|
10
|
+
* Analyze Token - Complete token analysis workflow
|
|
11
|
+
*/
|
|
12
|
+
exports.analyzeTokenPrompt = {
|
|
13
|
+
name: 'galachain-launchpad:analyze-token',
|
|
14
|
+
description: 'Perform comprehensive analysis of a Launchpad token including pool details, spot price, and graduation cost',
|
|
15
|
+
arguments: [
|
|
16
|
+
{
|
|
17
|
+
name: 'tokenName',
|
|
18
|
+
description: 'Token name to analyze (e.g., anime, test216253)',
|
|
19
|
+
required: true,
|
|
20
|
+
},
|
|
21
|
+
],
|
|
22
|
+
handler: (args) => [
|
|
23
|
+
{
|
|
24
|
+
role: 'user',
|
|
25
|
+
content: {
|
|
26
|
+
type: 'text',
|
|
27
|
+
text: `Analyze the token "${args.tokenName}" using the Gala Launchpad MCP server:
|
|
28
|
+
|
|
29
|
+
1. Fetch optimized pool details using gala_launchpad_fetch_pool_details_for_calculation
|
|
30
|
+
2. Calculate current USD spot price using LOCAL mode with the currentSupply
|
|
31
|
+
3. Calculate graduation cost using LOCAL mode with the currentSupply
|
|
32
|
+
4. Show remaining tokens and pool status (saleStatus)
|
|
33
|
+
5. Calculate pool progress percentage: (currentSupply / maxSupply * 100)
|
|
34
|
+
|
|
35
|
+
Use the performance optimization pattern from SDK v3.9.0 to minimize network calls.
|
|
36
|
+
|
|
37
|
+
Provide a brief analysis including:
|
|
38
|
+
- Current token price in USD
|
|
39
|
+
- Total GALA required to graduate the pool
|
|
40
|
+
- How close the token is to graduation (percentage)
|
|
41
|
+
- Whether this would be a good time to buy or wait`,
|
|
42
|
+
},
|
|
43
|
+
},
|
|
44
|
+
],
|
|
45
|
+
};
|
|
46
|
+
/**
|
|
47
|
+
* Buy Tokens - Guided token purchase workflow
|
|
48
|
+
*/
|
|
49
|
+
exports.buyTokensPrompt = {
|
|
50
|
+
name: 'galachain-launchpad:buy-tokens',
|
|
51
|
+
description: 'Guide user through buying tokens with slippage protection and cost breakdown',
|
|
52
|
+
arguments: [
|
|
53
|
+
{
|
|
54
|
+
name: 'tokenName',
|
|
55
|
+
description: 'Token to buy (e.g., anime)',
|
|
56
|
+
required: true,
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
name: 'galaAmount',
|
|
60
|
+
description: 'GALA amount to spend (e.g., 100)',
|
|
61
|
+
required: true,
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
name: 'slippage',
|
|
65
|
+
description: 'Slippage tolerance percentage (default: 1)',
|
|
66
|
+
required: false,
|
|
67
|
+
},
|
|
68
|
+
],
|
|
69
|
+
handler: (args) => [
|
|
70
|
+
{
|
|
71
|
+
role: 'user',
|
|
72
|
+
content: {
|
|
73
|
+
type: 'text',
|
|
74
|
+
text: `Help me buy tokens on Gala Launchpad:
|
|
75
|
+
|
|
76
|
+
Token: ${args.tokenName}
|
|
77
|
+
GALA to spend: ${args.galaAmount}
|
|
78
|
+
Slippage tolerance: ${args.slippage || '1'}%
|
|
79
|
+
|
|
80
|
+
Please follow this workflow:
|
|
81
|
+
|
|
82
|
+
1. Calculate buy amount using gala_launchpad_calculate_buy_amount:
|
|
83
|
+
- tokenName: "${args.tokenName}"
|
|
84
|
+
- amount: "${args.galaAmount}"
|
|
85
|
+
- type: "native" (spending GALA)
|
|
86
|
+
|
|
87
|
+
2. Show me the breakdown:
|
|
88
|
+
- Tokens I'll receive
|
|
89
|
+
- Transaction fee
|
|
90
|
+
- Gas fee
|
|
91
|
+
- Reverse bonding curve fee
|
|
92
|
+
- Total cost
|
|
93
|
+
|
|
94
|
+
3. Ask for confirmation before executing
|
|
95
|
+
|
|
96
|
+
4. If I confirm, execute the buy using gala_launchpad_buy_tokens with:
|
|
97
|
+
- expectedAmount from calculation
|
|
98
|
+
- maxAcceptableReverseBondingCurveFee from calculation
|
|
99
|
+
- slippageToleranceFactor: ${parseFloat(args.slippage || '1') / 100}
|
|
100
|
+
|
|
101
|
+
5. After purchase, show transaction ID and verify balance`,
|
|
102
|
+
},
|
|
103
|
+
},
|
|
104
|
+
],
|
|
105
|
+
};
|
|
106
|
+
/**
|
|
107
|
+
* Sell Tokens - Guided token sale workflow
|
|
108
|
+
*/
|
|
109
|
+
exports.sellTokensPrompt = {
|
|
110
|
+
name: 'galachain-launchpad:sell-tokens',
|
|
111
|
+
description: 'Guide user through selling tokens with slippage protection',
|
|
112
|
+
arguments: [
|
|
113
|
+
{
|
|
114
|
+
name: 'tokenName',
|
|
115
|
+
description: 'Token to sell (e.g., anime)',
|
|
116
|
+
required: true,
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
name: 'tokenAmount',
|
|
120
|
+
description: 'Token amount to sell (e.g., 1000)',
|
|
121
|
+
required: true,
|
|
122
|
+
},
|
|
123
|
+
{
|
|
124
|
+
name: 'slippage',
|
|
125
|
+
description: 'Slippage tolerance percentage (default: 1)',
|
|
126
|
+
required: false,
|
|
127
|
+
},
|
|
128
|
+
],
|
|
129
|
+
handler: (args) => [
|
|
130
|
+
{
|
|
131
|
+
role: 'user',
|
|
132
|
+
content: {
|
|
133
|
+
type: 'text',
|
|
134
|
+
text: `Help me sell tokens on Gala Launchpad:
|
|
135
|
+
|
|
136
|
+
Token: ${args.tokenName}
|
|
137
|
+
Tokens to sell: ${args.tokenAmount}
|
|
138
|
+
Slippage tolerance: ${args.slippage || '1'}%
|
|
139
|
+
|
|
140
|
+
Please follow this workflow:
|
|
141
|
+
|
|
142
|
+
1. Check my token balance using gala_launchpad_fetch_token_balance
|
|
143
|
+
|
|
144
|
+
2. Calculate sell amount using gala_launchpad_calculate_sell_amount:
|
|
145
|
+
- tokenName: "${args.tokenName}"
|
|
146
|
+
- amount: "${args.tokenAmount}"
|
|
147
|
+
- type: "exact" (selling exact token amount)
|
|
148
|
+
|
|
149
|
+
3. Show me the breakdown:
|
|
150
|
+
- GALA I'll receive
|
|
151
|
+
- Transaction fee
|
|
152
|
+
- Gas fee
|
|
153
|
+
- Reverse bonding curve fee
|
|
154
|
+
- Net proceeds
|
|
155
|
+
|
|
156
|
+
4. Ask for confirmation before executing
|
|
157
|
+
|
|
158
|
+
5. If I confirm, execute the sell using gala_launchpad_sell_tokens with:
|
|
159
|
+
- expectedAmount from calculation
|
|
160
|
+
- maxAcceptableReverseBondingCurveFee from calculation
|
|
161
|
+
- slippageToleranceFactor: ${parseFloat(args.slippage || '1') / 100}
|
|
162
|
+
|
|
163
|
+
6. After sale, show transaction ID and verify updated balance`,
|
|
164
|
+
},
|
|
165
|
+
},
|
|
166
|
+
],
|
|
167
|
+
};
|
|
168
|
+
/**
|
|
169
|
+
* Graduate Token - One-step graduation workflow
|
|
170
|
+
*/
|
|
171
|
+
exports.graduateTokenPrompt = {
|
|
172
|
+
name: 'galachain-launchpad:graduate-token',
|
|
173
|
+
description: 'Graduate a bonding curve pool by buying all remaining tokens in one transaction',
|
|
174
|
+
arguments: [
|
|
175
|
+
{
|
|
176
|
+
name: 'tokenName',
|
|
177
|
+
description: 'Token to graduate (e.g., anime)',
|
|
178
|
+
required: true,
|
|
179
|
+
},
|
|
180
|
+
{
|
|
181
|
+
name: 'slippage',
|
|
182
|
+
description: 'Slippage tolerance percentage (default: 1)',
|
|
183
|
+
required: false,
|
|
184
|
+
},
|
|
185
|
+
],
|
|
186
|
+
handler: (args) => [
|
|
187
|
+
{
|
|
188
|
+
role: 'user',
|
|
189
|
+
content: {
|
|
190
|
+
type: 'text',
|
|
191
|
+
text: `Help me graduate the token "${args.tokenName}" on Gala Launchpad:
|
|
192
|
+
|
|
193
|
+
Slippage tolerance: ${args.slippage || '1'}%
|
|
194
|
+
|
|
195
|
+
Please follow this workflow:
|
|
196
|
+
|
|
197
|
+
1. Check if token is already graduated using gala_launchpad_fetch_pool_details
|
|
198
|
+
- If saleStatus is "Completed", inform me it's already graduated
|
|
199
|
+
|
|
200
|
+
2. Fetch optimized pool details using gala_launchpad_fetch_pool_details_for_calculation
|
|
201
|
+
|
|
202
|
+
3. Calculate graduation cost using gala_launchpad_calculate_buy_amount_for_graduation with:
|
|
203
|
+
- calculateAmountMode: "local"
|
|
204
|
+
- currentSupply from pool details
|
|
205
|
+
|
|
206
|
+
4. Show me the breakdown:
|
|
207
|
+
- GALA required to graduate: [amount field - this is GALA cost, NOT token quantity!]
|
|
208
|
+
- Transaction fee
|
|
209
|
+
- Gas fee
|
|
210
|
+
- Total cost
|
|
211
|
+
|
|
212
|
+
5. Check my GALA balance using gala_launchpad_fetch_gala_balance
|
|
213
|
+
- Verify I have enough GALA for graduation
|
|
214
|
+
|
|
215
|
+
6. Ask for confirmation before executing
|
|
216
|
+
|
|
217
|
+
7. If I confirm, execute graduation using gala_launchpad_graduate_token with:
|
|
218
|
+
- tokenName: "${args.tokenName}"
|
|
219
|
+
- slippageToleranceFactor: ${parseFloat(args.slippage || '1') / 100}
|
|
220
|
+
- calculateAmountMode: "local"
|
|
221
|
+
- currentSupply from pool details (optimization!)
|
|
222
|
+
|
|
223
|
+
8. After graduation:
|
|
224
|
+
- Show transaction ID
|
|
225
|
+
- Verify pool status changed to "Completed"
|
|
226
|
+
- Get frontend URL using gala_launchpad_get_url_by_token_name
|
|
227
|
+
|
|
228
|
+
IMPORTANT: The "amount" field in graduation calculations is GALA cost, not token quantity!`,
|
|
229
|
+
},
|
|
230
|
+
},
|
|
231
|
+
],
|
|
232
|
+
};
|
|
233
|
+
/**
|
|
234
|
+
* Export all trading prompts
|
|
235
|
+
*/
|
|
236
|
+
exports.tradingPrompts = [
|
|
237
|
+
exports.analyzeTokenPrompt,
|
|
238
|
+
exports.buyTokensPrompt,
|
|
239
|
+
exports.sellTokensPrompt,
|
|
240
|
+
exports.graduateTokenPrompt,
|
|
241
|
+
];
|
|
242
|
+
//# sourceMappingURL=trading.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trading.js","sourceRoot":"","sources":["../../src/prompts/trading.ts"],"names":[],"mappings":"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"}
|
package/dist/server.d.ts
CHANGED
package/dist/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAcH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,GAAG,CAA6B;IACxC,OAAO,CAAC,KAAK,CAAU;;IAyBvB;;OAEG;IACG,UAAU;IAiChB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAmDzB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAiD3B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAsB1B;;OAEG;IACG,KAAK;IAaX;;OAEG;IACH,OAAO;CAQR"}
|
package/dist/server.js
CHANGED
|
@@ -11,6 +11,7 @@ const stdio_js_1 = require("@modelcontextprotocol/sdk/server/stdio.js");
|
|
|
11
11
|
const types_js_1 = require("@modelcontextprotocol/sdk/types.js");
|
|
12
12
|
const launchpad_sdk_1 = require("@gala-chain/launchpad-sdk");
|
|
13
13
|
const index_js_2 = require("./tools/index.js");
|
|
14
|
+
const index_js_3 = require("./prompts/index.js");
|
|
14
15
|
class LaunchpadMCPServer {
|
|
15
16
|
server;
|
|
16
17
|
sdk = null;
|
|
@@ -19,13 +20,17 @@ class LaunchpadMCPServer {
|
|
|
19
20
|
this.debug = process.env.DEBUG === 'true';
|
|
20
21
|
this.server = new index_js_1.Server({
|
|
21
22
|
name: '@gala-chain/launchpad-mcp-server',
|
|
22
|
-
version: '1.
|
|
23
|
+
version: '1.4.0',
|
|
23
24
|
}, {
|
|
24
25
|
capabilities: {
|
|
25
26
|
tools: {},
|
|
27
|
+
prompts: {
|
|
28
|
+
listChanged: true,
|
|
29
|
+
},
|
|
26
30
|
},
|
|
27
31
|
});
|
|
28
32
|
this.setupToolHandlers();
|
|
33
|
+
this.setupPromptHandlers();
|
|
29
34
|
this.setupErrorHandlers();
|
|
30
35
|
}
|
|
31
36
|
/**
|
|
@@ -105,6 +110,50 @@ class LaunchpadMCPServer {
|
|
|
105
110
|
}
|
|
106
111
|
});
|
|
107
112
|
}
|
|
113
|
+
/**
|
|
114
|
+
* Setup prompt handlers
|
|
115
|
+
*/
|
|
116
|
+
setupPromptHandlers() {
|
|
117
|
+
// Register prompts/list handler
|
|
118
|
+
this.server.setRequestHandler(types_js_1.ListPromptsRequestSchema, async () => {
|
|
119
|
+
if (this.debug) {
|
|
120
|
+
console.error(`[MCP Server] Listing ${index_js_3.prompts.length} prompts`);
|
|
121
|
+
}
|
|
122
|
+
return {
|
|
123
|
+
prompts: index_js_3.prompts.map((prompt) => ({
|
|
124
|
+
name: prompt.name,
|
|
125
|
+
description: prompt.description,
|
|
126
|
+
arguments: prompt.arguments || [],
|
|
127
|
+
})),
|
|
128
|
+
};
|
|
129
|
+
});
|
|
130
|
+
// Register prompts/get handler
|
|
131
|
+
this.server.setRequestHandler(types_js_1.GetPromptRequestSchema, async (request) => {
|
|
132
|
+
const promptName = request.params.name;
|
|
133
|
+
const args = (request.params.arguments || {});
|
|
134
|
+
if (this.debug) {
|
|
135
|
+
console.error(`[MCP Server] Getting prompt: ${promptName}`);
|
|
136
|
+
console.error(`[MCP Server] Arguments:`, JSON.stringify(args, null, 2));
|
|
137
|
+
}
|
|
138
|
+
const prompt = (0, index_js_3.getPrompt)(promptName);
|
|
139
|
+
if (!prompt) {
|
|
140
|
+
throw new Error(`Prompt not found: ${promptName}`);
|
|
141
|
+
}
|
|
142
|
+
try {
|
|
143
|
+
const messages = prompt.handler(args);
|
|
144
|
+
if (this.debug) {
|
|
145
|
+
console.error(`[MCP Server] Prompt generated ${messages.length} messages`);
|
|
146
|
+
}
|
|
147
|
+
return {
|
|
148
|
+
messages,
|
|
149
|
+
};
|
|
150
|
+
}
|
|
151
|
+
catch (error) {
|
|
152
|
+
console.error(`[MCP Server] Prompt generation failed: ${promptName}`, error);
|
|
153
|
+
throw error;
|
|
154
|
+
}
|
|
155
|
+
});
|
|
156
|
+
}
|
|
108
157
|
/**
|
|
109
158
|
* Setup error handlers
|
|
110
159
|
*/
|
|
@@ -137,6 +186,7 @@ class LaunchpadMCPServer {
|
|
|
137
186
|
if (this.debug) {
|
|
138
187
|
console.error('[MCP Server] Gala Launchpad MCP server running on stdio');
|
|
139
188
|
console.error(`[MCP Server] Registered ${index_js_2.tools.length} tools`);
|
|
189
|
+
console.error(`[MCP Server] Registered ${index_js_3.prompts.length} prompts (slash commands)`);
|
|
140
190
|
}
|
|
141
191
|
}
|
|
142
192
|
/**
|
package/dist/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,wEAAmE;AACnE,wEAAiF;AACjF,
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
package/dist/types/mcp.d.ts
CHANGED
|
@@ -34,4 +34,33 @@ export interface ToolContext {
|
|
|
34
34
|
sdk: LaunchpadSDK;
|
|
35
35
|
debug: boolean;
|
|
36
36
|
}
|
|
37
|
+
/**
|
|
38
|
+
* MCP Prompt Argument Definition
|
|
39
|
+
*/
|
|
40
|
+
export interface MCPPromptArgument {
|
|
41
|
+
name: string;
|
|
42
|
+
description: string;
|
|
43
|
+
required: boolean;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* MCP Prompt Definition
|
|
47
|
+
*/
|
|
48
|
+
export interface MCPPrompt {
|
|
49
|
+
name: string;
|
|
50
|
+
description: string;
|
|
51
|
+
arguments?: MCPPromptArgument[];
|
|
52
|
+
handler: (args: Record<string, string>) => PromptMessage[];
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Prompt Message (from MCP spec)
|
|
56
|
+
*/
|
|
57
|
+
export interface PromptMessage {
|
|
58
|
+
role: 'user' | 'assistant';
|
|
59
|
+
content: {
|
|
60
|
+
type: 'text' | 'image' | 'resource';
|
|
61
|
+
text?: string;
|
|
62
|
+
data?: string;
|
|
63
|
+
mimeType?: string;
|
|
64
|
+
};
|
|
65
|
+
}
|
|
37
66
|
//# sourceMappingURL=mcp.d.ts.map
|
package/dist/types/mcp.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../src/types/mcp.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAE9D;;GAEG;AACH,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ,CAAC;QACf,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAChC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;KACrB,CAAC;IACF,OAAO,EAAE,CAAC,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,eAAe,CAAC,CAAC;CACrE;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,KAAK,CAAC;QACb,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,UAAU,CAAC;QACpC,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC,CAAC;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,YAAY,CAAC;IAClB,KAAK,EAAE,OAAO,CAAC;CAChB"}
|
|
1
|
+
{"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../src/types/mcp.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAE9D;;GAEG;AACH,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ,CAAC;QACf,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAChC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;KACrB,CAAC;IACF,OAAO,EAAE,CAAC,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,eAAe,CAAC,CAAC;CACrE;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,KAAK,CAAC;QACb,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,UAAU,CAAC;QACpC,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC,CAAC;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,YAAY,CAAC;IAClB,KAAK,EAAE,OAAO,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAChC,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,aAAa,EAAE,CAAC;CAC5D;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;IAC3B,OAAO,EAAE;QACP,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,UAAU,CAAC;QACpC,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;CACH"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gala-chain/launchpad-mcp-server",
|
|
3
|
-
"version": "1.
|
|
4
|
-
"description": "MCP server for Gala Launchpad SDK with 47 tools - AI agents can interact with Gala Launchpad and learn SDK usage",
|
|
3
|
+
"version": "1.4.0",
|
|
4
|
+
"description": "MCP server for Gala Launchpad SDK with 47 tools + 14 slash commands - AI agents can interact with Gala Launchpad, execute guided workflows, and learn SDK usage",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"bin": {
|
|
7
7
|
"gala-launchpad-mcp": "./dist/index.js"
|