@gala-chain/launchpad-mcp-server 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.env.example +13 -0
- package/.eslintrc.json +20 -0
- package/README.md +178 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +17 -0
- package/dist/index.js.map +1 -0
- package/dist/server.d.ts +32 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +151 -0
- package/dist/server.js.map +1 -0
- package/dist/tools/balance/index.d.ts +12 -0
- package/dist/tools/balance/index.d.ts.map +1 -0
- package/dist/tools/balance/index.js +182 -0
- package/dist/tools/balance/index.js.map +1 -0
- package/dist/tools/creation/index.d.ts +9 -0
- package/dist/tools/creation/index.d.ts.map +1 -0
- package/dist/tools/creation/index.js +154 -0
- package/dist/tools/creation/index.js.map +1 -0
- package/dist/tools/index.d.ts +10 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +27 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/pools/fetchPoolDetails.d.ts +6 -0
- package/dist/tools/pools/fetchPoolDetails.d.ts.map +1 -0
- package/dist/tools/pools/fetchPoolDetails.js +25 -0
- package/dist/tools/pools/fetchPoolDetails.js.map +1 -0
- package/dist/tools/pools/fetchPools.d.ts +6 -0
- package/dist/tools/pools/fetchPools.d.ts.map +1 -0
- package/dist/tools/pools/fetchPools.js +44 -0
- package/dist/tools/pools/fetchPools.js.map +1 -0
- package/dist/tools/pools/index.d.ts +14 -0
- package/dist/tools/pools/index.d.ts.map +1 -0
- package/dist/tools/pools/index.js +215 -0
- package/dist/tools/pools/index.js.map +1 -0
- package/dist/tools/social/index.d.ts +8 -0
- package/dist/tools/social/index.d.ts.map +1 -0
- package/dist/tools/social/index.js +70 -0
- package/dist/tools/social/index.js.map +1 -0
- package/dist/tools/trading/index.d.ts +12 -0
- package/dist/tools/trading/index.d.ts.map +1 -0
- package/dist/tools/trading/index.js +270 -0
- package/dist/tools/trading/index.js.map +1 -0
- package/dist/tools/transfers/index.d.ts +8 -0
- package/dist/tools/transfers/index.d.ts.map +1 -0
- package/dist/tools/transfers/index.js +81 -0
- package/dist/tools/transfers/index.js.map +1 -0
- package/dist/types/mcp.d.ts +37 -0
- package/dist/types/mcp.d.ts.map +1 -0
- package/dist/types/mcp.js +5 -0
- package/dist/types/mcp.js.map +1 -0
- package/dist/utils/error-handler.d.ts +15 -0
- package/dist/utils/error-handler.d.ts.map +1 -0
- package/dist/utils/error-handler.js +50 -0
- package/dist/utils/error-handler.js.map +1 -0
- package/dist/utils/response-formatter.d.ts +19 -0
- package/dist/utils/response-formatter.d.ts.map +1 -0
- package/dist/utils/response-formatter.js +46 -0
- package/dist/utils/response-formatter.js.map +1 -0
- package/package.json +73 -0
- package/test-mcp.js +89 -0
package/.env.example
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# Gala Launchpad MCP Server Configuration
|
|
2
|
+
|
|
3
|
+
# Required: Your Ethereum wallet private key (with 0x prefix)
|
|
4
|
+
PRIVATE_KEY=0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef
|
|
5
|
+
|
|
6
|
+
# Optional: Environment (development or production)
|
|
7
|
+
ENVIRONMENT=development
|
|
8
|
+
|
|
9
|
+
# Optional: Enable debug logging (true or false)
|
|
10
|
+
DEBUG=false
|
|
11
|
+
|
|
12
|
+
# Optional: Request timeout in milliseconds
|
|
13
|
+
TIMEOUT=30000
|
package/.eslintrc.json
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
{
|
|
2
|
+
"extends": [
|
|
3
|
+
"eslint:recommended",
|
|
4
|
+
"plugin:@typescript-eslint/recommended"
|
|
5
|
+
],
|
|
6
|
+
"parser": "@typescript-eslint/parser",
|
|
7
|
+
"parserOptions": {
|
|
8
|
+
"ecmaVersion": 2022,
|
|
9
|
+
"sourceType": "module"
|
|
10
|
+
},
|
|
11
|
+
"plugins": ["@typescript-eslint"],
|
|
12
|
+
"env": {
|
|
13
|
+
"node": true,
|
|
14
|
+
"es2022": true
|
|
15
|
+
},
|
|
16
|
+
"rules": {
|
|
17
|
+
"@typescript-eslint/no-explicit-any": "off",
|
|
18
|
+
"@typescript-eslint/no-unused-vars": ["warn", { "argsIgnorePattern": "^_" }]
|
|
19
|
+
}
|
|
20
|
+
}
|
package/README.md
ADDED
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
# @gala-chain/launchpad-mcp-server
|
|
2
|
+
|
|
3
|
+
MCP (Model Context Protocol) server for Gala Launchpad SDK - Enables AI agents to interact with Gala Launchpad.
|
|
4
|
+
|
|
5
|
+
## 🚀 Features
|
|
6
|
+
|
|
7
|
+
- **27 AI-accessible tools** for complete Gala Launchpad integration
|
|
8
|
+
- **Type-safe** - Full TypeScript support with validated inputs
|
|
9
|
+
- **Production-ready** - Built on [@gala-chain/launchpad-sdk v3.0.2](https://www.npmjs.com/package/@gala-chain/launchpad-sdk)
|
|
10
|
+
- **Easy setup** - Works with Claude Desktop and other MCP clients
|
|
11
|
+
- **Comprehensive** - Pool management, trading, balances, token creation, comments, transfers
|
|
12
|
+
|
|
13
|
+
## 📦 Installation
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
npm install -g @gala-chain/launchpad-mcp-server
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## 🏁 Quick Start
|
|
20
|
+
|
|
21
|
+
### Claude Desktop Configuration
|
|
22
|
+
|
|
23
|
+
Add to your `claude_desktop_config.json`:
|
|
24
|
+
|
|
25
|
+
```json
|
|
26
|
+
{
|
|
27
|
+
"mcpServers": {
|
|
28
|
+
"gala-launchpad": {
|
|
29
|
+
"command": "npx",
|
|
30
|
+
"args": ["-y", "@gala-chain/launchpad-mcp-server"],
|
|
31
|
+
"env": {
|
|
32
|
+
"PRIVATE_KEY": "0x1234567890abcdef...",
|
|
33
|
+
"ENVIRONMENT": "development"
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
**Environment Variables:**
|
|
41
|
+
- `PRIVATE_KEY` (required) - Your Ethereum wallet private key
|
|
42
|
+
- `ENVIRONMENT` (optional) - `development` or `production` (default: development)
|
|
43
|
+
- `DEBUG` (optional) - `true` to enable debug logging
|
|
44
|
+
- `TIMEOUT` (optional) - Request timeout in milliseconds (default: 30000)
|
|
45
|
+
|
|
46
|
+
### Using with Claude Desktop
|
|
47
|
+
|
|
48
|
+
1. **Install**: `npm install -g @gala-chain/launchpad-mcp-server`
|
|
49
|
+
2. **Configure**: Add server to `claude_desktop_config.json` (see above)
|
|
50
|
+
3. **Restart Claude Desktop**
|
|
51
|
+
4. **Use tools**: Ask Claude to interact with Gala Launchpad!
|
|
52
|
+
|
|
53
|
+
## 🛠️ Available Tools (27 Total)
|
|
54
|
+
|
|
55
|
+
### Pool Management (8 tools)
|
|
56
|
+
- `gala_launchpad_fetch_pools` - Fetch token pools with filtering
|
|
57
|
+
- `gala_launchpad_fetch_pool_details` - Get detailed pool state
|
|
58
|
+
- `gala_launchpad_fetch_token_distribution` - Get holder distribution
|
|
59
|
+
- `gala_launchpad_fetch_token_badges` - Get achievement badges
|
|
60
|
+
- `gala_launchpad_fetch_volume_data` - Get OHLCV charting data
|
|
61
|
+
- `gala_launchpad_check_token_name` - Check name availability
|
|
62
|
+
- `gala_launchpad_check_token_symbol` - Check symbol availability
|
|
63
|
+
- `gala_launchpad_resolve_vault_address` - Get GalaChain vault address
|
|
64
|
+
|
|
65
|
+
### Trading Operations (6 tools)
|
|
66
|
+
- `gala_launchpad_calculate_buy_amount` - Calculate buy amounts
|
|
67
|
+
- `gala_launchpad_calculate_sell_amount` - Calculate sell amounts
|
|
68
|
+
- `gala_launchpad_buy_tokens` - Execute token purchase
|
|
69
|
+
- `gala_launchpad_sell_tokens` - Execute token sale
|
|
70
|
+
- `gala_launchpad_fetch_trades` - Get trade history
|
|
71
|
+
- `gala_launchpad_calculate_initial_buy` - Calculate initial buy
|
|
72
|
+
|
|
73
|
+
### Balance & Portfolio (6 tools)
|
|
74
|
+
- `gala_launchpad_fetch_gala_balance` - Get GALA balance
|
|
75
|
+
- `gala_launchpad_fetch_token_balance` - Get token balance
|
|
76
|
+
- `gala_launchpad_fetch_tokens_held` - Get portfolio holdings
|
|
77
|
+
- `gala_launchpad_fetch_tokens_created` - Get created tokens
|
|
78
|
+
- `gala_launchpad_fetch_profile` - Get user profile
|
|
79
|
+
- `gala_launchpad_update_profile` - Update profile
|
|
80
|
+
|
|
81
|
+
### Token Creation (3 tools)
|
|
82
|
+
- `gala_launchpad_launch_token` - Create new token pool
|
|
83
|
+
- `gala_launchpad_upload_token_image` - Upload token image from filesystem
|
|
84
|
+
- `gala_launchpad_upload_profile_image` - Upload profile image from filesystem
|
|
85
|
+
|
|
86
|
+
### Comments & Social (2 tools)
|
|
87
|
+
- `gala_launchpad_post_comment` - Post comment on token
|
|
88
|
+
- `gala_launchpad_fetch_comments` - Get token comments
|
|
89
|
+
|
|
90
|
+
### Token Transfers (2 tools)
|
|
91
|
+
- `gala_launchpad_transfer_gala` - Transfer GALA tokens
|
|
92
|
+
- `gala_launchpad_transfer_token` - Transfer launchpad tokens
|
|
93
|
+
|
|
94
|
+
## 💡 Example Usage
|
|
95
|
+
|
|
96
|
+
Ask Claude (or your AI assistant):
|
|
97
|
+
|
|
98
|
+
> "Fetch the 10 most recent token pools on Gala Launchpad"
|
|
99
|
+
|
|
100
|
+
> "What's my GALA balance?"
|
|
101
|
+
|
|
102
|
+
> "Calculate how many tokens I'd get if I buy with 100 GALA on dragnrkti"
|
|
103
|
+
|
|
104
|
+
> "Buy 50 GALA worth of rocketri tokens with 5% slippage"
|
|
105
|
+
|
|
106
|
+
> "Show me all tokens I'm holding"
|
|
107
|
+
|
|
108
|
+
## 🔧 Development
|
|
109
|
+
|
|
110
|
+
### Local Development
|
|
111
|
+
|
|
112
|
+
```bash
|
|
113
|
+
# Clone repository
|
|
114
|
+
git clone https://gitlab.com/gala-games/defi/launchpad/sdk.git
|
|
115
|
+
cd launchpad-sdk/packages/mcp-server
|
|
116
|
+
|
|
117
|
+
# Install dependencies
|
|
118
|
+
npm install
|
|
119
|
+
|
|
120
|
+
# Build
|
|
121
|
+
npm run build
|
|
122
|
+
|
|
123
|
+
# Run in development mode
|
|
124
|
+
npm run dev
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
### Testing
|
|
128
|
+
|
|
129
|
+
```bash
|
|
130
|
+
npm test
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
## 📚 Documentation
|
|
134
|
+
|
|
135
|
+
- [MCP Tool Specification](../../packages/sdk/docs/MCP-TOOL-SPECIFICATION.md) - Complete tool reference
|
|
136
|
+
- [AI Agent Guide](../../packages/sdk/docs/AI-AGENT-GUIDE.md) - Integration patterns
|
|
137
|
+
- [SDK Documentation](../sdk/README.md) - Underlying SDK reference
|
|
138
|
+
|
|
139
|
+
## 🔐 Security
|
|
140
|
+
|
|
141
|
+
**Important Security Notes:**
|
|
142
|
+
|
|
143
|
+
1. **Private Keys** - Never commit private keys to version control
|
|
144
|
+
2. **Environment Variables** - Store credentials in `claude_desktop_config.json` securely
|
|
145
|
+
3. **Wallet Safety** - Use separate wallets for development and production
|
|
146
|
+
4. **Amount Limits** - Consider setting up trading limits for automated agents
|
|
147
|
+
|
|
148
|
+
## 🐛 Troubleshooting
|
|
149
|
+
|
|
150
|
+
### "SDK not initialized"
|
|
151
|
+
- Ensure `PRIVATE_KEY` is set in environment variables
|
|
152
|
+
- Check that private key format is valid (0x + 64 hex characters)
|
|
153
|
+
|
|
154
|
+
### "Tool not found"
|
|
155
|
+
- Restart Claude Desktop after configuration changes
|
|
156
|
+
- Verify server is listed in Claude Desktop settings
|
|
157
|
+
|
|
158
|
+
### "Connection failed"
|
|
159
|
+
- Check DEBUG=true logs for detailed error messages
|
|
160
|
+
- Verify network connectivity to Gala Launchpad backends
|
|
161
|
+
|
|
162
|
+
## 📄 License
|
|
163
|
+
|
|
164
|
+
MIT License - see [LICENSE](../../LICENSE) file for details.
|
|
165
|
+
|
|
166
|
+
## 🤝 Contributing
|
|
167
|
+
|
|
168
|
+
Contributions welcome! Please read [CONTRIBUTING.md](../../CONTRIBUTING.md) for guidelines.
|
|
169
|
+
|
|
170
|
+
## 📞 Support
|
|
171
|
+
|
|
172
|
+
- **Issues**: [GitLab Issues](https://gitlab.com/gala-games/defi/launchpad/sdk/-/issues)
|
|
173
|
+
- **Documentation**: [Full Documentation](../../packages/sdk/docs/)
|
|
174
|
+
- **SDK Package**: [@gala-chain/launchpad-sdk](https://www.npmjs.com/package/@gala-chain/launchpad-sdk)
|
|
175
|
+
|
|
176
|
+
---
|
|
177
|
+
|
|
178
|
+
**Built with ❤️ for the Gala ecosystem**
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA;;GAEG"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* Gala Launchpad MCP Server Entry Point
|
|
4
|
+
*/
|
|
5
|
+
import { LaunchpadMCPServer } from './server.js';
|
|
6
|
+
async function main() {
|
|
7
|
+
const server = new LaunchpadMCPServer();
|
|
8
|
+
try {
|
|
9
|
+
await server.start();
|
|
10
|
+
}
|
|
11
|
+
catch (error) {
|
|
12
|
+
console.error('[MCP Server] Fatal error:', error);
|
|
13
|
+
process.exit(1);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
main();
|
|
17
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA;;GAEG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEjD,KAAK,UAAU,IAAI;IACjB,MAAM,MAAM,GAAG,IAAI,kBAAkB,EAAE,CAAC;IAExC,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;IACvB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,KAAK,CAAC,CAAC;QAClD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,IAAI,EAAE,CAAC"}
|
package/dist/server.d.ts
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Gala Launchpad MCP Server
|
|
3
|
+
*
|
|
4
|
+
* Provides MCP tools for AI agents to interact with Gala Launchpad
|
|
5
|
+
*/
|
|
6
|
+
export declare class LaunchpadMCPServer {
|
|
7
|
+
private server;
|
|
8
|
+
private sdk;
|
|
9
|
+
private debug;
|
|
10
|
+
constructor();
|
|
11
|
+
/**
|
|
12
|
+
* Initialize SDK with AgentConfig
|
|
13
|
+
*/
|
|
14
|
+
initialize(): Promise<void>;
|
|
15
|
+
/**
|
|
16
|
+
* Setup tool handlers
|
|
17
|
+
*/
|
|
18
|
+
private setupToolHandlers;
|
|
19
|
+
/**
|
|
20
|
+
* Setup error handlers
|
|
21
|
+
*/
|
|
22
|
+
private setupErrorHandlers;
|
|
23
|
+
/**
|
|
24
|
+
* Start the MCP server
|
|
25
|
+
*/
|
|
26
|
+
start(): Promise<void>;
|
|
27
|
+
/**
|
|
28
|
+
* Cleanup resources
|
|
29
|
+
*/
|
|
30
|
+
cleanup(): void;
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=server.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAWH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,GAAG,CAA6B;IACxC,OAAO,CAAC,KAAK,CAAU;;IAqBvB;;OAEG;IACG,UAAU;IAiChB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAmDzB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAsB1B;;OAEG;IACG,KAAK;IAYX;;OAEG;IACH,OAAO;CAQR"}
|
package/dist/server.js
ADDED
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Gala Launchpad MCP Server
|
|
3
|
+
*
|
|
4
|
+
* Provides MCP tools for AI agents to interact with Gala Launchpad
|
|
5
|
+
*/
|
|
6
|
+
import { Server } from '@modelcontextprotocol/sdk/server/index.js';
|
|
7
|
+
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
|
|
8
|
+
import { ListToolsRequestSchema, CallToolRequestSchema, } from '@modelcontextprotocol/sdk/types.js';
|
|
9
|
+
import { AgentConfig } from '@gala-chain/launchpad-sdk';
|
|
10
|
+
import { tools } from './tools/index.js';
|
|
11
|
+
export class LaunchpadMCPServer {
|
|
12
|
+
server;
|
|
13
|
+
sdk = null;
|
|
14
|
+
debug;
|
|
15
|
+
constructor() {
|
|
16
|
+
this.debug = process.env.DEBUG === 'true';
|
|
17
|
+
this.server = new Server({
|
|
18
|
+
name: '@gala-chain/launchpad-mcp-server',
|
|
19
|
+
version: '1.0.0',
|
|
20
|
+
}, {
|
|
21
|
+
capabilities: {
|
|
22
|
+
tools: {},
|
|
23
|
+
},
|
|
24
|
+
});
|
|
25
|
+
this.setupToolHandlers();
|
|
26
|
+
this.setupErrorHandlers();
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Initialize SDK with AgentConfig
|
|
30
|
+
*/
|
|
31
|
+
async initialize() {
|
|
32
|
+
try {
|
|
33
|
+
if (this.debug) {
|
|
34
|
+
console.error('[MCP Server] Initializing SDK...');
|
|
35
|
+
}
|
|
36
|
+
const { sdk, validation } = await AgentConfig.quickSetup({
|
|
37
|
+
environment: process.env.ENVIRONMENT || 'development',
|
|
38
|
+
privateKey: process.env.PRIVATE_KEY,
|
|
39
|
+
timeout: parseInt(process.env.TIMEOUT || '30000', 10),
|
|
40
|
+
debug: this.debug,
|
|
41
|
+
autoValidate: true,
|
|
42
|
+
});
|
|
43
|
+
this.sdk = sdk;
|
|
44
|
+
if (this.debug) {
|
|
45
|
+
console.error('[MCP Server] SDK initialized successfully');
|
|
46
|
+
if (validation) {
|
|
47
|
+
console.error(`[MCP Server] Validation - Ready: ${validation.ready}`);
|
|
48
|
+
console.error(`[MCP Server] Validation - Can Trade: ${validation.capabilities.canTrade}`);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
if (validation && !validation.ready) {
|
|
52
|
+
console.error('[MCP Server] Warning: SDK not ready', validation.issues);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
catch (error) {
|
|
56
|
+
console.error('[MCP Server] Failed to initialize SDK:', error);
|
|
57
|
+
throw error;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Setup tool handlers
|
|
62
|
+
*/
|
|
63
|
+
setupToolHandlers() {
|
|
64
|
+
// Register tools/list handler
|
|
65
|
+
this.server.setRequestHandler(ListToolsRequestSchema, async () => {
|
|
66
|
+
if (this.debug) {
|
|
67
|
+
console.error(`[MCP Server] Listing ${tools.length} tools`);
|
|
68
|
+
}
|
|
69
|
+
return {
|
|
70
|
+
tools: tools.map((tool) => ({
|
|
71
|
+
name: tool.name,
|
|
72
|
+
description: tool.description,
|
|
73
|
+
inputSchema: tool.inputSchema,
|
|
74
|
+
})),
|
|
75
|
+
};
|
|
76
|
+
});
|
|
77
|
+
// Register tools/call handler
|
|
78
|
+
this.server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
79
|
+
const toolName = request.params.name;
|
|
80
|
+
const args = request.params.arguments || {};
|
|
81
|
+
if (this.debug) {
|
|
82
|
+
console.error(`[MCP Server] Executing tool: ${toolName}`);
|
|
83
|
+
console.error(`[MCP Server] Arguments:`, JSON.stringify(args, null, 2));
|
|
84
|
+
}
|
|
85
|
+
const tool = tools.find((t) => t.name === toolName);
|
|
86
|
+
if (!tool) {
|
|
87
|
+
throw new Error(`Tool not found: ${toolName}`);
|
|
88
|
+
}
|
|
89
|
+
if (!this.sdk) {
|
|
90
|
+
throw new Error('SDK not initialized. Please ensure PRIVATE_KEY environment variable is set.');
|
|
91
|
+
}
|
|
92
|
+
try {
|
|
93
|
+
const result = await tool.handler(this.sdk, args);
|
|
94
|
+
if (this.debug) {
|
|
95
|
+
console.error(`[MCP Server] Tool execution successful: ${toolName}`);
|
|
96
|
+
}
|
|
97
|
+
return result;
|
|
98
|
+
}
|
|
99
|
+
catch (error) {
|
|
100
|
+
console.error(`[MCP Server] Tool execution failed: ${toolName}`, error);
|
|
101
|
+
throw error;
|
|
102
|
+
}
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Setup error handlers
|
|
107
|
+
*/
|
|
108
|
+
setupErrorHandlers() {
|
|
109
|
+
this.server.onerror = (error) => {
|
|
110
|
+
console.error('[MCP Server] Protocol error:', error);
|
|
111
|
+
};
|
|
112
|
+
process.on('SIGINT', () => {
|
|
113
|
+
if (this.debug) {
|
|
114
|
+
console.error('[MCP Server] Received SIGINT, shutting down...');
|
|
115
|
+
}
|
|
116
|
+
this.cleanup();
|
|
117
|
+
process.exit(0);
|
|
118
|
+
});
|
|
119
|
+
process.on('SIGTERM', () => {
|
|
120
|
+
if (this.debug) {
|
|
121
|
+
console.error('[MCP Server] Received SIGTERM, shutting down...');
|
|
122
|
+
}
|
|
123
|
+
this.cleanup();
|
|
124
|
+
process.exit(0);
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Start the MCP server
|
|
129
|
+
*/
|
|
130
|
+
async start() {
|
|
131
|
+
await this.initialize();
|
|
132
|
+
const transport = new StdioServerTransport();
|
|
133
|
+
await this.server.connect(transport);
|
|
134
|
+
if (this.debug) {
|
|
135
|
+
console.error('[MCP Server] Gala Launchpad MCP server running on stdio');
|
|
136
|
+
console.error(`[MCP Server] Registered ${tools.length} tools`);
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* Cleanup resources
|
|
141
|
+
*/
|
|
142
|
+
cleanup() {
|
|
143
|
+
if (this.sdk) {
|
|
144
|
+
this.sdk.cleanup();
|
|
145
|
+
if (this.debug) {
|
|
146
|
+
console.error('[MCP Server] SDK cleaned up');
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
//# sourceMappingURL=server.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Balance & Portfolio Tools
|
|
3
|
+
*/
|
|
4
|
+
import type { MCPTool } from '../../types/mcp.js';
|
|
5
|
+
export declare const fetchGalaBalanceTool: MCPTool;
|
|
6
|
+
export declare const fetchTokenBalanceTool: MCPTool;
|
|
7
|
+
export declare const fetchTokensHeldTool: MCPTool;
|
|
8
|
+
export declare const fetchTokensCreatedTool: MCPTool;
|
|
9
|
+
export declare const fetchProfileTool: MCPTool;
|
|
10
|
+
export declare const updateProfileTool: MCPTool;
|
|
11
|
+
export declare const balanceTools: MCPTool[];
|
|
12
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tools/balance/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAKlD,eAAO,MAAM,oBAAoB,EAAE,OAiBlC,CAAC;AAGF,eAAO,MAAM,qBAAqB,EAAE,OA0BnC,CAAC;AAGF,eAAO,MAAM,mBAAmB,EAAE,OAgCjC,CAAC;AAGF,eAAO,MAAM,sBAAsB,EAAE,OAgCpC,CAAC;AAGF,eAAO,MAAM,gBAAgB,EAAE,OAiB9B,CAAC;AAGF,eAAO,MAAM,iBAAiB,EAAE,OAgC/B,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,OAAO,EAOjC,CAAC"}
|
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Balance & Portfolio Tools
|
|
3
|
+
*/
|
|
4
|
+
import { formatSuccess } from '../../utils/response-formatter.js';
|
|
5
|
+
import { withErrorHandling } from '../../utils/error-handler.js';
|
|
6
|
+
// 1. Fetch GALA Balance
|
|
7
|
+
export const fetchGalaBalanceTool = {
|
|
8
|
+
name: 'gala_launchpad_fetch_gala_balance',
|
|
9
|
+
description: 'Get GALA balance for a wallet',
|
|
10
|
+
inputSchema: {
|
|
11
|
+
type: 'object',
|
|
12
|
+
properties: {
|
|
13
|
+
walletAddress: {
|
|
14
|
+
type: 'string',
|
|
15
|
+
pattern: '^(0x[a-fA-F0-9]{40}|eth\\|[a-fA-F0-9]{40})$',
|
|
16
|
+
description: 'Wallet address (optional, defaults to SDK wallet)',
|
|
17
|
+
},
|
|
18
|
+
},
|
|
19
|
+
},
|
|
20
|
+
handler: withErrorHandling(async (sdk, args) => {
|
|
21
|
+
const result = await sdk.fetchGalaBalance(args.walletAddress);
|
|
22
|
+
return formatSuccess(result);
|
|
23
|
+
}),
|
|
24
|
+
};
|
|
25
|
+
// 2. Fetch Token Balance
|
|
26
|
+
export const fetchTokenBalanceTool = {
|
|
27
|
+
name: 'gala_launchpad_fetch_token_balance',
|
|
28
|
+
description: 'Get launchpad token balance',
|
|
29
|
+
inputSchema: {
|
|
30
|
+
type: 'object',
|
|
31
|
+
properties: {
|
|
32
|
+
tokenName: {
|
|
33
|
+
type: 'string',
|
|
34
|
+
pattern: '^[a-z0-9_-]{2,20}$',
|
|
35
|
+
description: 'Token name',
|
|
36
|
+
},
|
|
37
|
+
walletAddress: {
|
|
38
|
+
type: 'string',
|
|
39
|
+
pattern: '^(0x[a-fA-F0-9]{40}|eth\\|[a-fA-F0-9]{40})$',
|
|
40
|
+
description: 'Wallet address',
|
|
41
|
+
},
|
|
42
|
+
},
|
|
43
|
+
required: ['tokenName', 'walletAddress'],
|
|
44
|
+
},
|
|
45
|
+
handler: withErrorHandling(async (sdk, args) => {
|
|
46
|
+
const result = await sdk.fetchTokenBalance({
|
|
47
|
+
tokenName: args.tokenName,
|
|
48
|
+
address: args.walletAddress,
|
|
49
|
+
});
|
|
50
|
+
return formatSuccess(result);
|
|
51
|
+
}),
|
|
52
|
+
};
|
|
53
|
+
// 3. Fetch Tokens Held
|
|
54
|
+
export const fetchTokensHeldTool = {
|
|
55
|
+
name: 'gala_launchpad_fetch_tokens_held',
|
|
56
|
+
description: 'Get all tokens held by a wallet',
|
|
57
|
+
inputSchema: {
|
|
58
|
+
type: 'object',
|
|
59
|
+
properties: {
|
|
60
|
+
address: {
|
|
61
|
+
type: 'string',
|
|
62
|
+
pattern: '^(0x[a-fA-F0-9]{40}|eth\\|[a-fA-F0-9]{40})$',
|
|
63
|
+
description: 'Wallet address',
|
|
64
|
+
},
|
|
65
|
+
page: {
|
|
66
|
+
type: 'number',
|
|
67
|
+
minimum: 1,
|
|
68
|
+
description: 'Page number (default: 1)',
|
|
69
|
+
},
|
|
70
|
+
limit: {
|
|
71
|
+
type: 'number',
|
|
72
|
+
minimum: 1,
|
|
73
|
+
maximum: 100,
|
|
74
|
+
description: 'Results per page (default: 20)',
|
|
75
|
+
},
|
|
76
|
+
},
|
|
77
|
+
required: ['address'],
|
|
78
|
+
},
|
|
79
|
+
handler: withErrorHandling(async (sdk, args) => {
|
|
80
|
+
const result = await sdk.fetchTokensHeld({
|
|
81
|
+
page: args.page || 1,
|
|
82
|
+
limit: args.limit || 20,
|
|
83
|
+
});
|
|
84
|
+
return formatSuccess(result);
|
|
85
|
+
}),
|
|
86
|
+
};
|
|
87
|
+
// 4. Fetch Tokens Created
|
|
88
|
+
export const fetchTokensCreatedTool = {
|
|
89
|
+
name: 'gala_launchpad_fetch_tokens_created',
|
|
90
|
+
description: 'Get all tokens created by a wallet',
|
|
91
|
+
inputSchema: {
|
|
92
|
+
type: 'object',
|
|
93
|
+
properties: {
|
|
94
|
+
address: {
|
|
95
|
+
type: 'string',
|
|
96
|
+
pattern: '^(0x[a-fA-F0-9]{40}|eth\\|[a-fA-F0-9]{40})$',
|
|
97
|
+
description: 'Wallet address',
|
|
98
|
+
},
|
|
99
|
+
page: {
|
|
100
|
+
type: 'number',
|
|
101
|
+
minimum: 1,
|
|
102
|
+
description: 'Page number (default: 1)',
|
|
103
|
+
},
|
|
104
|
+
limit: {
|
|
105
|
+
type: 'number',
|
|
106
|
+
minimum: 1,
|
|
107
|
+
maximum: 100,
|
|
108
|
+
description: 'Results per page (default: 20)',
|
|
109
|
+
},
|
|
110
|
+
},
|
|
111
|
+
required: ['address'],
|
|
112
|
+
},
|
|
113
|
+
handler: withErrorHandling(async (sdk, args) => {
|
|
114
|
+
const result = await sdk.fetchTokensCreated({
|
|
115
|
+
page: args.page || 1,
|
|
116
|
+
limit: args.limit || 20,
|
|
117
|
+
});
|
|
118
|
+
return formatSuccess(result);
|
|
119
|
+
}),
|
|
120
|
+
};
|
|
121
|
+
// 5. Fetch Profile
|
|
122
|
+
export const fetchProfileTool = {
|
|
123
|
+
name: 'gala_launchpad_fetch_profile',
|
|
124
|
+
description: 'Get user profile data',
|
|
125
|
+
inputSchema: {
|
|
126
|
+
type: 'object',
|
|
127
|
+
properties: {
|
|
128
|
+
walletAddress: {
|
|
129
|
+
type: 'string',
|
|
130
|
+
pattern: '^(0x[a-fA-F0-9]{40}|eth\\|[a-fA-F0-9]{40})$',
|
|
131
|
+
description: 'Wallet address (optional, defaults to SDK wallet)',
|
|
132
|
+
},
|
|
133
|
+
},
|
|
134
|
+
},
|
|
135
|
+
handler: withErrorHandling(async (sdk, args) => {
|
|
136
|
+
const result = await sdk.fetchProfile(args.walletAddress);
|
|
137
|
+
return formatSuccess(result);
|
|
138
|
+
}),
|
|
139
|
+
};
|
|
140
|
+
// 6. Update Profile
|
|
141
|
+
export const updateProfileTool = {
|
|
142
|
+
name: 'gala_launchpad_update_profile',
|
|
143
|
+
description: 'Update user profile',
|
|
144
|
+
inputSchema: {
|
|
145
|
+
type: 'object',
|
|
146
|
+
properties: {
|
|
147
|
+
fullName: {
|
|
148
|
+
type: 'string',
|
|
149
|
+
maxLength: 50,
|
|
150
|
+
pattern: '^[a-zA-Z\\s]+$',
|
|
151
|
+
description: 'Full name',
|
|
152
|
+
},
|
|
153
|
+
profileImage: {
|
|
154
|
+
type: 'string',
|
|
155
|
+
description: 'Profile image URL or empty string',
|
|
156
|
+
},
|
|
157
|
+
walletAddress: {
|
|
158
|
+
type: 'string',
|
|
159
|
+
pattern: '^(0x[a-fA-F0-9]{40}|eth\\|[a-fA-F0-9]{40})$',
|
|
160
|
+
description: 'Wallet address',
|
|
161
|
+
},
|
|
162
|
+
},
|
|
163
|
+
required: ['fullName', 'profileImage', 'walletAddress'],
|
|
164
|
+
},
|
|
165
|
+
handler: withErrorHandling(async (sdk, args) => {
|
|
166
|
+
const result = await sdk.updateProfile({
|
|
167
|
+
fullName: args.fullName,
|
|
168
|
+
profileImage: args.profileImage,
|
|
169
|
+
walletAddress: args.walletAddress,
|
|
170
|
+
});
|
|
171
|
+
return formatSuccess(result);
|
|
172
|
+
}),
|
|
173
|
+
};
|
|
174
|
+
export const balanceTools = [
|
|
175
|
+
fetchGalaBalanceTool,
|
|
176
|
+
fetchTokenBalanceTool,
|
|
177
|
+
fetchTokensHeldTool,
|
|
178
|
+
fetchTokensCreatedTool,
|
|
179
|
+
fetchProfileTool,
|
|
180
|
+
updateProfileTool,
|
|
181
|
+
];
|
|
182
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/balance/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Token Creation Tools
|
|
3
|
+
*/
|
|
4
|
+
import type { MCPTool } from '../../types/mcp.js';
|
|
5
|
+
export declare const launchTokenTool: MCPTool;
|
|
6
|
+
export declare const uploadTokenImageTool: MCPTool;
|
|
7
|
+
export declare const uploadProfileImageTool: MCPTool;
|
|
8
|
+
export declare const creationTools: MCPTool[];
|
|
9
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tools/creation/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAKlD,eAAO,MAAM,eAAe,EAAE,OAgF7B,CAAC;AAGF,eAAO,MAAM,oBAAoB,EAAE,OA+BlC,CAAC;AAGF,eAAO,MAAM,sBAAsB,EAAE,OA4BpC,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,OAAO,EAIlC,CAAC"}
|