Skip to main content

@gala-chain/gala-mcp-server

Version: 1.0.0 release candidate (dist-tag next). Supersedes @gala-chain/launchpad-mcp-server (last release 8.1.0): same tools, same names, same environment variables; the bin is now gala-mcp.

MCP (Model Context Protocol) server for GalaChain: wallets, bridging and wrapping (gala-core-sdk), the Gala Launchpad backend (launchpad-sdk) and the GSwap DEX (gswap-sdk), in toolsets you select.

Setting this up for Claude Code, Claude Desktop or Cursor, or using the omni-tool Claude Code plugin: Use Gala from AI tools.

🚀 Features​

  • 324 tools and 286 prompts (slash commands) in four toolsets you select: load only the part of the Gala stack you use, so the model's context does not carry tools it will never call
  • Type-safe - TypeScript, with every input validated against the schema the tool publishes
  • Built on the Gala SDKs - @gala-chain/gala-core-sdk, @gala-chain/launchpad-sdk and @gala-chain/gswap-sdk
  • Read-only and full-access modes - without PRIVATE_KEY every read works and writes say they need a wallet
  • Real-time monitoring - WebSocket-based watchers for pool and token creation events
  • Works with Claude Desktop, Claude Code and any MCP client over stdio

🧰 Toolsets​

The server is one package with tools grouped by the SDK they use. GALA_TOOLSETS (or --toolsets) picks the groups; the default is all of them. A toolset you do not select is never loaded: its tools are not listed, and its SDK is not even imported (a launchpad-only run never loads gswap-sdk).

ToolsetToolsPromptsSDKsWhat is in it
core4730gala-core-sdkWallet and key tools (create wallet, addresses, key derivation), the session wallet and environment (set_wallet, switch_environment), versions, the GALA balance and GALA transfers (fetch_gala_balance, transfer_gala), cross-chain bridging (GalaChain, Ethereum, Solana), wrap/unwrap, external chain balances, explain_sdk_usage
launchpad242213gala-core-sdk + launchpad-sdkThe launchpad backend: pools and bonding-curve trading, token creation, launchpad token balances and transfers, locks and burns, NFTs, holders, streaming, chat, auth, moderation, overseers, API keys, content flags, WebSocket events
gswap3234gala-core-sdk + gswap-sdkThe GSwap DEX: swap quotes and swaps, pools, liquidity positions and fees, market prices, leaderboard and seasons, pool-creation watcher
composite39launchpad-sdk + gswap-sdkLaunchpad token prices and price history from the DEX market. Not selectable: enabled exactly when launchpad and gswap both are

Tool names do not change with the toolset (they all keep the gala_launchpad_ prefix, DEX tools included), so prompts, docs and plugins refer to the same names whichever toolsets run. The full per-tool classification, with the reason each tool is in its group, is in docs/TOOLSET-CLASSIFICATION.md.

Selecting toolsets​

GALA_TOOLSETS=core,gswap gala-mcp # environment variable
gala-mcp --toolsets launchpad # command line (wins over the variable)
SelectionToolsPrompts
core,launchpad,gswap (default)324286
launchpad242209
gswap3234
core4730
core,launchpad289243
core,gswap7964
launchpad,gswap (+ composite)277250
  • Names are comma separated and case-insensitive; order does not matter. An unknown name, an empty entry (core,,gswap), an empty --toolsets or composite is a startup error that names the valid toolsets: a typo never silently turns tools off.
  • A prompt is listed only when every tool its text names is in the selection, and explain_sdk_usage only offers the topics whose tools are in the selection. That is why launchpad alone lists 209 of its 213 prompts: the others also name a core tool (for example the bridge tools, or the GALA balance). explain_sdk_usage is a core tool; add core to get it.
  • The GALA balance and GALA transfers (gala_launchpad_fetch_gala_balance, gala_launchpad_transfer_gala) are core tools (since 1.0.0-rc.1; they were launchpad's in 1.0.0-rc.0): a launchpad user who needs them selects core,launchpad.
  • The wallet, environment and settings (PRIVATE_KEY, ENVIRONMENT, ...) are shared by every toolset and read the same way whichever toolsets run. set_wallet and switch_environment live in core: without core the wallet is the one from the environment for the whole run.
  • At startup the server logs the enabled toolsets and the tool and prompt counts to stderr.

Which install line​

# everything (default)
claude mcp add "gala" -- env PRIVATE_KEY=0x... ENVIRONMENT=prod npx -y @gala-chain/gala-mcp-server@next
# launchpad only (plus the core tools: wallet, GALA balance and transfer, bridge)
claude mcp add "gala-launchpad" -- env GALA_TOOLSETS=core,launchpad PRIVATE_KEY=0x... ENVIRONMENT=prod npx -y @gala-chain/gala-mcp-server@next
# DEX only (plus the core tools: wallet, GALA balance and transfer, bridge)
claude mcp add "gala-swap" -- env GALA_TOOLSETS=core,gswap PRIVATE_KEY=0x... ENVIRONMENT=prod npx -y @gala-chain/gala-mcp-server@next

@next (or the exact version, 1.0.0-rc.9, as @gala-chain/gala-mcp-server@<version>) is required while 1.0.0 is a release candidate: ^1.0.0 matches no prerelease, and the latest dist-tag can still name an older release candidate.

📦 Installation​

npm install -g @gala-chain/gala-mcp-server@next

1.0.0 is published as a release candidate under the next dist-tag: install @next or the exact version (the exact version, 1.0.0-rc.9, as @gala-chain/gala-mcp-server@<version>); a range such as ^1.0.0 matches no release candidate.

Module Format​

The server is an ES module (dist/index.js, "type": "module", bin gala-mcp) for Node.js 20 or newer. The three Gala SDKs are regular dependencies, installed once each; @solana/web3.js and @solana/spl-token are dependencies too, because the bridge and wrap tools (core's ./bridge) need them. Without them the server still starts and lists every tool; only the bridge and wrap tools answer with an error that names the missing package.

🏁 Quick Start​

Claude Desktop Configuration​

Add to your claude_desktop_config.json:

{
"mcpServers": {
"gala": {
"command": "npx",
"args": ["-y", "@gala-chain/gala-mcp-server@next"],
"env": {
"PRIVATE_KEY": "0x1234567890abcdef...",
"ENVIRONMENT": "prod"
}
}
}
}

Environment Variables:

  • GALA_TOOLSETS (optional) - comma list of core, launchpad, gswap (default: all; see Toolsets)
  • PRIVATE_KEY (optional) - Your Ethereum wallet private key (omit for read-only mode)
  • ENVIRONMENT (optional) - prod or stage (default: prod)
  • TIMEOUT (optional) - Request timeout in milliseconds (default: 30000)
  • ETHEREUM_RPC_URL (optional) - Custom Ethereum RPC URL (default: the SDK's built-in endpoints)
  • SOLANA_RPC_URL (optional) - Custom Solana RPC URL for bridge operations (default: public Solana endpoints)
  • SOLANA_PRIVATE_KEY (optional) - Solana key for bridge operations
  • STREAM_WEBSOCKET_URL (optional) - Custom stream WebSocket endpoint
  • STREAM_ADMIN_API_KEY (optional) - Stream administration access
  • USER_API_KEY (optional) - User API authentication
  • DEBUG (optional) - true to enable debug logging
  • GALA_DOCS_BASE_URL (optional) - the docs site the documentation tools read (default: https://docs.gala.com)
  • GALA_DOCS_CACHE_DIR (optional) - where the fetched docs index is kept (default: the user cache directory)
  • GALA_DOCS_CACHE_TTL_SECONDS (optional) - how long the cached docs index is fresh (default: 3600)
  • GALA_DOCS_OFFLINE (optional) - 1 never asks the docs site; the bundled index answers

The documentation tools (gala_launchpad_search_gala_docs, and the docs field of gala_launchpad_explain_sdk_usage) search the docs site's index and work without it: a bundled copy (at most 300 KB compressed) answers when the site cannot be reached. The site lists every package's agent guide in /llms.txt; the machine-readable tool reference is at /mcp/tools.json.

Using with Claude Desktop​

  1. Install: npm install -g @gala-chain/gala-mcp-server@next
  2. Configure: Add server to claude_desktop_config.json (see above)
  3. Restart Claude Desktop
  4. Use tools: Ask Claude to interact with Gala Launchpad!

🔐 Operational Modes​

The MCP server supports two operational modes with dynamic wallet configuration:

Full-Access Mode (with PRIVATE_KEY)​

  • Execute token trades (buy/sell)
  • Create new tokens
  • Transfer GALA and tokens
  • Update profile information
  • All read operations (fetch pools, prices, balances, etc.)

Setup:

claude mcp add "gala" -- env PRIVATE_KEY=0x... ENVIRONMENT=prod npx -y @gala-chain/gala-mcp-server@next

Read-Only Mode (without PRIVATE_KEY)​

  • Fetch token pools and details
  • Get real-time prices and price history
  • Check balances and portfolio
  • Explore token metadata and distributions
  • Cannot: Execute trades, create tokens, transfer funds (operations requiring wallet signatures)

Setup:

claude mcp add "gala-readonly" -- env ENVIRONMENT=prod npx -y @gala-chain/gala-mcp-server@next

Dynamic Wallet Configuration​

Use the wallet management tools to upgrade or switch wallets at runtime:

  • gala_launchpad_has_wallet - Check current wallet status
  • gala_launchpad_set_wallet - Upgrade from read-only to full-access mode
  • gala_launchpad_get_wallet - Retrieve wallet information

🛠️ Available Tools​

Pool Management, Pricing & Event Watchers​

  • gala_launchpad_fetch_pools - Fetch token pools with filtering
  • gala_launchpad_fetch_all_pools - Fetch all available pools with automatic pagination
  • gala_launchpad_fetch_pool_details - Get detailed pool state
  • gala_launchpad_fetch_pool_details_for_calculation - Get optimized pool details for local calculations
  • gala_launchpad_fetch_composite_pool_data - NEW v2.0 - Fetch a raw GSwap pool snapshot
  • gala_launchpad_fetch_token_distribution - Get holder distribution
  • gala_launchpad_fetch_volume_data - Get OHLCV charting data
  • gala_launchpad_fetch_token_spot_price - Fetch USD spot price for DEX tokens
  • gala_launchpad_fetch_gala_spot_price - Fetch current GALA USD spot price
  • gala_launchpad_fetch_launchpad_token_spot_price - Fetch USD spot price for launchpad token
  • gala_launchpad_fetch_price_history - Fetch historical price snapshots from DEX Backend API
  • gala_launchpad_fetch_all_price_history - Fetch all historical price snapshots with auto-pagination
  • gala_launchpad_fetch_token_details - Fetch comprehensive token metadata
  • gala_launchpad_check_token_name - Check name availability
  • gala_launchpad_check_token_symbol - Check symbol availability
  • gala_launchpad_resolve_vault_address - Get GalaChain vault address
  • gala_launchpad_resolve_token_class_key - Get GalaChain TokenClassKey
  • gala_launchpad_on_dex_pool_creation - Watch for new DEX pool creation events
  • gala_launchpad_on_launchpad_token_creation - Watch for new launchpad token creation events

🔔 Event Watchers - Real-Time Monitoring​

Real-time pool and token discovery with WebSocket-based watchers:

gala_launchpad_on_dex_pool_creation - Watch for DEX Pool Creation

Monitor new liquidity pool creation on GalaSwap DEX with optional filtering:

  • Parameters:

    • minTVL (optional, decimal string) - Only report pools with TVL above this threshold (e.g., "100000" for 100k GALA)
    • tokens (optional, array of strings) - Only report pools containing these token symbols (e.g., ["GALA", "GUSDC"])
    • intervalMs (optional, number) - Polling interval in milliseconds (default: 2000, minimum: 1000)
    • durationSeconds (optional, number) - How long to poll (default: 300 seconds = 5 minutes)
  • Returns:

    • poolsDetected (number) - Count of new pools found matching criteria
    • durationSeconds (number) - How long the watcher ran (in seconds)
    • pools (array of DexPoolData) - Array of detected pool objects with:
      • poolPair - Pool identifier (e.g., "GALA|Unit|none|none/GUSDC|Unit|none|none/10000")
      • token0 / token1 - Token symbols (e.g., "GALA", "GUSDC")
      • tvl - Total value locked in pool (number)
      • fee - Fee percentage as string (e.g., "0.3", "1")
      • volume1d / volume30d - Trading volume metrics
      • apr1d - 1-day APR percentage
  • Use Cases:

    • Monitor high-value pool creation for opportunities
    • Track specific token pair pools
    • Real-time liquidity discovery
    • Automated opportunity alerts
  • Example:

// Watch for new high-TVL pools with GALA
const result = await gala_launchpad_on_dex_pool_creation({
minTVL: "500000", // Only pools with 500k+ GALA TVL
tokens: ["GALA"], // Only GALA pairs
intervalMs: 3000, // Check every 3 seconds
durationSeconds: 600 // Poll for 10 minutes
});

console.log(`Found ${result.poolsDetected} new GALA pools`);
result.pools.forEach(pool => {
console.log(`${pool.tokenA} / ${pool.tokenB}: $${pool.tvl} TVL`);
});

gala_launchpad_on_launchpad_token_creation - Watch for Launchpad Token Creation

Monitor new token launches on Gala Launchpad with optional creator filtering:

  • Parameters:

    • creatorAddress (optional, string) - Only report tokens created by this address (e.g., "eth|...")
    • intervalMs (optional, number) - Polling interval in milliseconds (default: 2000, minimum: 1000)
    • durationSeconds (optional, number) - How long to poll (default: 300 seconds = 5 minutes)
  • Returns:

    • tokensDetected (number) - Count of new tokens found
    • durationSeconds (number) - How long the watcher ran (in seconds)
    • tokens (array of PoolData) - Array of detected token objects with:
      • tokenName - Token name/symbol (e.g., "anime", "dragon")
      • tokenSymbol - Token symbol if different from name
      • creatorAddress - Creator's wallet address (eth| format)
      • totalRaised - GALA amount raised in bonding curve
      • remainingSupply - Tokens still available to purchase
      • saleStatus - "Ongoing" or "Completed" (graduated to DEX)
  • Use Cases:

    • Track specific creators' new token launches
    • Monitor all token creation activity
    • Early opportunity discovery
    • Creator relationship tracking
  • Example:

// Watch for tokens from a specific creator
const result = await gala_launchpad_on_launchpad_token_creation({
creatorAddress: "eth|1234567890abcdef1234567890abcdef12345678",
intervalMs: 2000, // Check every 2 seconds
durationSeconds: 300 // Poll for 5 minutes
});

console.log(`Found ${result.tokensDetected} new tokens from creator`);
result.tokens.forEach(token => {
console.log(`${token.tokenName}: ${token.totalRaised} GALA raised`);
});

Key Characteristics​

  • Polling-based Architecture - Uses client-side polling (no WebSocket), configurable intervals
  • Automatic Deduplication - Never reports the same pool/token twice within a single watch session
  • Client-side Filtering - Optional minTVL and tokens parameters reduce API load
  • Long-running Support - Safely polls for extended periods without memory leaks
  • Error Resilience - Continues polling after transient errors (network timeouts, API errors)
  • Interval Validation - Enforces minimum 1000ms interval to prevent API spam
  • Return Values - Both detect count and full objects for flexible usage

Trading Operations​

  • gala_launchpad_calculate_buy_amount - Calculate buy amounts (network call)
  • gala_launchpad_calculate_sell_amount - Calculate sell amounts (network call)
  • gala_launchpad_calculate_buy_amount_local - Calculate buy amounts (local, instant)
  • gala_launchpad_calculate_buy_amount_external - Calculate buy amounts (explicit network call)
  • gala_launchpad_calculate_sell_amount_local - Calculate sell amounts (local, instant)
  • gala_launchpad_calculate_sell_amount_external - Calculate sell amounts (explicit network call)
  • gala_launchpad_buy - Execute token purchase
  • gala_launchpad_sell - Execute token sale
  • gala_launchpad_fetch_trades - Get trade history
  • gala_launchpad_calculate_initial_buy - Calculate initial buy
  • gala_launchpad_get_bundler_transaction_result - Get transaction status by ID
  • gala_launchpad_calculate_buy_amount_for_graduation - Calculate cost to graduate pool
  • gala_launchpad_graduate_token - One-step pool graduation

🎓 Understanding Graduation Calculations​

CRITICAL: The amount field in gala_launchpad_calculate_buy_amount_for_graduation represents GALA cost, NOT token quantity!

// Example response
{
"amount": "1594263.41948877",
"transactionFee": "1594.26341949",
"gasFee": "1"
}

// ❌ WRONG INTERPRETATION:
// "Need to buy 1,594,263 tokens"

// ✅ CORRECT INTERPRETATION:
// "Need to spend 1,594,263.42 GALA to buy all remaining tokens and graduate the pool"

Amount Field Reference:

Toolamount Field RepresentsExampleMeaning
calculate_buy_amountToken quantity received"16843.758"16,843.76 tokens
calculate_sell_amountGALA amount received"125.50"125.50 GALA
calculate_buy_amount_for_graduationGALA cost to graduate"1594263.419"1,594,263.42 GALA
calculate_initial_buyToken quantity from pre-buy"3663321.363"3,663,321.36 tokens

Key Points:

  • Read the full number as-is - decimal point is NOT shifted
  • Graduation amounts are typically in the hundreds of thousands to millions of GALA
  • Always use graduate_token for convenience - it handles calculations internally
  • Pool status changes from "Ongoing" to "Completed" upon successful graduation

⚡ Performance Optimization for AI Agents​

The following tools now support optional performance parameters to reduce network calls by 66% and speed up operations by ~70%:

  • gala_launchpad_fetch_launchpad_token_spot_price
  • gala_launchpad_calculate_buy_amount_for_graduation
  • gala_launchpad_graduate_token

New Optional Parameters:

  • calculateAmountMode (enum: 'local' | 'external') - Calculation strategy
  • currentSupply (string) - Pre-fetched current token supply

Optimization Pattern:

// ❌ WITHOUT OPTIMIZATION (3 network calls)
const spotPrice1 = await gala_launchpad_fetch_launchpad_token_spot_price({ tokenName: "tinyevil" });
// → Network call #1

const graduation1 = await gala_launchpad_calculate_buy_amount_for_graduation({ tokenName: "tinyevil" });
// → Network call #2

const result1 = await gala_launchpad_graduate_token({ tokenName: "tinyevil" });
// → Network call #3

// ✅ WITH OPTIMIZATION (1 network call + instant local calculations)
// Step 1: Fetch pool details once
const poolDetails = await gala_launchpad_fetch_pool_details_for_calculation({ tokenName: "tinyevil" });
const currentSupply = poolDetails.currentSupply;

// Step 2: Reuse currentSupply for instant local calculations
const spotPrice2 = await gala_launchpad_fetch_launchpad_token_spot_price({
tokenName: "tinyevil",
calculateAmountMode: "local",
currentSupply: currentSupply
});
// → Instant (no network call)

const graduation2 = await gala_launchpad_calculate_buy_amount_for_graduation({
tokenName: "tinyevil",
calculateAmountMode: "local",
currentSupply: currentSupply
});
// → Instant (no network call)

const result2 = await gala_launchpad_graduate_token({
tokenName: "tinyevil",
calculateAmountMode: "local",
currentSupply: currentSupply,
slippageToleranceFactor: 0.01
});
// → Uses local calculation (no redundant pool fetch)

Performance Impact:

PatternNetwork CallsSpeedBest For
Without optimization3 calls~600-900msOne-off operations
With optimization1 call~200msBatch operations, analytics
Reduction66% fewer~70% faster

When to Use Optimization:

  • ✅ Multiple calculations on the same token
  • ✅ Price discovery and analytics
  • ✅ Trading bot logic with frequent calculations
  • ✅ Simulations and backtests
  • ❌ Single one-off calculations (not worth the complexity)

Accuracy: Local calculations match external (network) with <0.01% difference.

DEX Pool Discovery​

Discover and explore GalaSwap DEX liquidity pools with filtering, sorting, and pagination:

  • gala_launchpad_fetch_dex_pools - Discover DEX liquidity pools with pagination, sorting, and search filtering
  • gala_launchpad_fetch_all_dex_pools - Discover ALL DEX liquidity pools with automatic pagination

Features:

  • 🔍 Search filtering - Find pools by token symbol (GALA, GUSDC, etc.)
  • 📊 Sorting options - Sort by TVL, 24h volume, or 30d volume
  • 📄 Pagination - Browse large pool datasets efficiently (max 20 per page)
  • 🚀 Auto-pagination - Fetch all pools automatically with fetchAllDexPools
  • 💰 Complete pool data - TVL, fees, APR, volume metrics, and token pricing

GSwap DEX Trading​

Real-time DEX trading for graduated tokens with slippage protection:

The DEX tools run @gala-chain/gswap-sdk's GSwap client (launchpad-sdk has no DEX client), built from the same environment, swap backend and PRIVATE_KEY as the launchpad SDK and rebuilt when the wallet or the environment changes. Without PRIVATE_KEY it is read-only.

  • gala_launchpad_get_swap_quote_exact_input - Get swap quote for exact input amount
  • gala_launchpad_get_swap_quote_exact_output - Get swap quote for exact desired output
  • gala_launchpad_execute_swap - Execute token swap on GalaSwap DEX with slippage protection (queued on chain; waits for the applied result)
  • gala_launchpad_get_swap_result - Resolve a queued swap by its uniqueKey when the outcome was unknown, without resubmitting
  • gala_launchpad_get_swap_user_assets - Get user token balances across all DEX pools
  • gala_launchpad_get_all_swap_user_assets - NEW v2.0 - Get all user assets with auto-pagination
  • gala_launchpad_get_swap_pool_info - Get liquidity and fee tier information for token pairs
  • gala_launchpad_get_swap_pool_price - NEW v2.0 - Get current price for token pair in DEX pool
  • gala_launchpad_fetch_composite_pool_data - NEW v2.0 - Fetch a raw pool snapshot (liquidity, ticks, price, positions) for pool inspection
  • gala_launchpad_calculate_dex_pool_quote_local - NEW v2.0 - DEX quote via the live GSwap quoting service (legacy naming; not offline)
  • gala_launchpad_calculate_dex_pool_quote_external - NEW v2.0 - DEX quote via the live GSwap quoting service (real-time)
  • Liquidity position tools - Add, remove, collect fees, query positions
  • Leaderboard tools - Top traders, tokens, volume rankings
  • Volume tool - DEX trading volume metrics

Complete DEX Trading Workflow Example:

// Step 1: Get a quote (how much output for 100 GALA input?)
const quote = await gala_launchpad_get_swap_quote_exact_input({
fromToken: 'GALA',
toToken: 'GUSDC',
amount: '100'
});
// Returns: { estimatedOutput: "100.50", feeTier: 3000, priceImpact: "0.23", ... }

// Step 2: Check pool liquidity before large trades
const pool = await gala_launchpad_get_swap_pool_info({
tokenA: 'GALA',
tokenB: 'GUSDC'
});
// Returns: { liquidity: "5000000", feeTiers: [500, 3000, 10000], swapCount: 1234 }

// Step 3: Execute the swap with slippage protection
const result = await gala_launchpad_execute_swap({
fromToken: 'GALA',
toToken: 'GUSDC',
inputAmount: '100',
estimatedOutput: quote.estimatedOutput, // Use quoted amount!
feeTier: quote.feeTier, // Use quoted fee tier!
slippageTolerance: 0.01 // 1% slippage tolerance
});
// Waits for the queued RequestTrade to apply, then returns:
// { submission: { method: "RequestTrade", uniqueKey, transactionId, mode: "queued" },
// confirmation: { transactionId, blockNumber, requestTransactionId,
// result: { token0, token1, fee, sell0Qty, buy1Qty, totalFees, ... } }, ... }
// A chain rejection (e.g. VALIDATION_FAILED slippage) is returned as a tool error.

// Step 4: Check user portfolio after swap
const assets = await gala_launchpad_get_swap_user_assets({
walletAddress: 'eth|...'
});
// Returns: [{ symbol: 'GALA', balance: '900', decimals: 8 }, { symbol: 'GUSDC', balance: '100.45', decimals: 6 }]

Key Characteristics:

  • ✅ Real-time - Integrated with unified WebSocket for instant transaction monitoring
  • ✅ Slippage Protection - Automatic minimum output calculation
  • ✅ Multi-format tokens - Supports simple names ('GALA') or full token IDs ('GALA|Unit|none|none')
  • ✅ Fee Tiers - Automatic detection of available liquidity pools (0.05%, 0.3%, 1.0%)
  • ✅ Environment-aligned - Uses same URLs as LaunchpadSDK (STAGE/PROD cannot be mixed)
  • ✅ Live Quote Calculation - NEW v2.0 - Fresh DEX quotes from the GSwap quoting service on every call

📊 Historical Price Analysis​

gala_launchpad_fetch_price_history - Fetch historical price snapshots for DEX tokens

This tool queries the DEX Backend API for historical token price data, enabling trend analysis and volatility assessment.

Requirements:

  • DEX Backend API must be configured and accessible (automatic with environment configuration)
  • Node.js environment only (not available in browser)
  • Only works for DEX tokens with recorded price snapshots

Parameters:

  • tokenId (required) - Token identifier (string format: "collection|category|type|additionalKey" or object with collection, category, type, additionalKey)
  • from (optional) - Start date (ISO 8601, defaults to 30 days ago)
  • to (optional) - End date (ISO 8601, defaults to now)
  • sortOrder (optional) - Sort order: 'ASC' or 'DESC' (default: DESC for newest-first)
  • page (optional) - Page number for pagination (default: 1)
  • limit (optional) - Results per page, max 50 (default: 10)

Use Cases:

  • Historical price analysis and charting
  • Price trend identification
  • Volatility analysis over time periods
  • Data export for external analytics

Example:

Ask Claude:

"Fetch the last 30 days of hourly price data for GUSDC token"

"Show me GALA token price history from the last 7 days with daily snapshots"


📊 All Historical Price Data (Auto-Paginated)​

gala_launchpad_fetch_all_price_history - Fetch all historical price snapshots (auto-paginated)

Automatically fetches all pages of historical price data and returns complete dataset in single result.

Use Cases:

  • Complete volatility analysis
  • Full historical trend analysis
  • Statistical calculations on entire dataset
  • Data export for backtesting

Example:

Ask Claude:

"Get all price history for GUSDC token from January 2024 and calculate volatility"

Balance & Portfolio​

  • gala_launchpad_fetch_gala_balance - Get GALA balance (core toolset)
  • gala_launchpad_fetch_token_balance - Get token balance
  • gala_launchpad_fetch_tokens_held - Get portfolio holdings
  • gala_launchpad_fetch_tokens_created - Get created tokens
  • gala_launchpad_fetch_profile - Get user profile
  • gala_launchpad_update_profile - Update profile
  • gala_launchpad_get_swap_user_assets - Get user token balances from DEX
  • gala_launchpad_get_all_swap_user_assets - NEW v2.0 - Get all user assets with auto-pagination

Wallet Management​

  • gala_launchpad_has_wallet - Check if wallet is configured
  • gala_launchpad_get_wallet - Get currently configured wallet instance
  • gala_launchpad_set_wallet - Configure wallet for signing operations (upgrade from read-only mode)

Token Creation​

  • gala_launchpad_launch_token - Create new token pool
  • gala_launchpad_upload_token_image - Upload token image from filesystem
  • gala_launchpad_upload_profile_image - Upload profile image from filesystem
  • gala_launchpad_fetch_launch_token_fee - Get current GALA fee to launch a token

Token Transfers​

  • gala_launchpad_transfer_gala - Transfer GALA tokens (core toolset)
  • gala_launchpad_transfer_token - Transfer launchpad tokens

Utility Tools​

  • gala_launchpad_create_wallet - Create new GalaChain wallet
  • gala_launchpad_get_address - Get user's GalaChain address
  • gala_launchpad_get_ethereum_address - Get user's Ethereum address
  • gala_launchpad_get_public_key_from_private_key - NEW v4.0.15 - Derive public key from private key (secp256k1)
  • gala_launchpad_get_ethereum_address_from_private_key - NEW v4.0.15 - Derive Ethereum address from private key
  • gala_launchpad_get_config - Get current SDK configuration
  • gala_launchpad_get_url_by_token_name - Generate frontend URL for a token
  • gala_launchpad_explain_sdk_usage - Get SDK code examples for specific topics
  • gala_launchpad_get_cache_info - Get token metadata cache statistics
  • gala_launchpad_clear_cache - Clear token metadata cache
  • gala_launchpad_has_wallet - Check if wallet is configured
  • gala_launchpad_get_wallet - Get currently configured wallet instance
  • gala_launchpad_set_wallet - Configure wallet for signing operations
  • gala_launchpad_get_environment - Get current MCP server environment
  • gala_launchpad_switch_environment - Switch MCP server environment
  • gala_launchpad_get_version - Get SDK and MCP server version information
  • gala_launchpad_is_token_graduated - Check if token has completed bonding curve
  • gala_launchpad_cleanup - SDK lifecycle cleanup utility

Overseer Tools​

  • gala_launchpad_create_overseer_invite - Create an overseer invite (Admin OR Overseer)
  • gala_launchpad_list_overseer_invites - List all overseer invites with pagination
  • gala_launchpad_get_overseer_invite - Get invite details by code (public endpoint)
  • gala_launchpad_claim_overseer_invite - Claim an overseer invite (JWT)
  • gala_launchpad_revoke_overseer_invite - Revoke an overseer invite
  • gala_launchpad_list_overseers - List all overseers with pagination
  • gala_launchpad_revoke_overseer - Revoke an overseer's access
  • gala_launchpad_get_my_overseer_status - Check own overseer status (JWT)
  • gala_launchpad_get_overseer_summary - Get platform summary for CCTV dashboard (active streams, viewers, pending flags, total pools)
  • gala_launchpad_flush_cache_by_address - Flush cache for a wallet address (Admin OR Overseer)
  • gala_launchpad_flush_cache_by_token - Flush cache for a token (Admin OR Overseer)
  • gala_launchpad_flush_all_cache - Flush ALL cache (Admin OR Overseer, requires confirmation)

Content Flag Tools​

  • gala_launchpad_create_flag - Flag content (chat message, stream, etc.)
  • gala_launchpad_list_flags - List flags for a token with pagination
  • gala_launchpad_dismiss_flag - Dismiss a flag as not actionable
  • gala_launchpad_action_flag - Take action on flagged content

💡 Example Usage​

Ask Claude (or your AI assistant):

"Fetch the 10 most recent token pools on Gala Launchpad"

"What's my GALA balance?"

"Calculate how many tokens I'd get if I buy with 100 GALA on dragnrkti"

"Buy 50 GALA worth of rocketri tokens with 5% slippage"

"Show me all tokens I'm holding"

"Watch for new DEX pool creation for the next 5 minutes"

"Get the current GALA/GUSDC price from the DEX pool"

"Get the platform summary for the CCTV dashboard"

"Create an overseer invite for the new platform team member"

⚡ Slash Commands (Prompts)​

The MCP server exposes 286 slash commands (prompts) for streamlined workflows - every major operation has a corresponding slash command for quick access. These appear as /galachain-launchpad:<<method>> in Claude Desktop.

Trading Commands​

/galachain-launchpad:analyze-token

  • Comprehensive token analysis (pool details, spot price, graduation cost)
  • Arguments: tokenName (required)
  • Example: /galachain-launchpad:analyze-token tokenName=anime
  • Uses optimized LOCAL calculations for speed

/galachain-launchpad:buy-tokens

  • Guided token purchase with slippage protection
  • Arguments: tokenName (required), galaAmount (required), slippage (optional, default 1%)
  • Example: /galachain-launchpad:buy-tokens tokenName=anime galaAmount=100 slippage=2
  • Shows breakdown and asks for confirmation before executing

/galachain-launchpad:sell-tokens

  • Guided token sale with slippage protection
  • Arguments: tokenName (required), tokenAmount (required), slippage (optional, default 1%)
  • Example: /galachain-launchpad:sell-tokens tokenName=anime tokenAmount=1000
  • Checks balance and shows breakdown before executing

/galachain-launchpad:graduate-token

  • One-step pool graduation workflow
  • Arguments: tokenName (required), slippage (optional, default 1%)
  • Example: /galachain-launchpad:graduate-token tokenName=anime
  • Checks if already graduated, calculates cost, and executes with confirmation

Portfolio Commands​

/galachain-launchpad:portfolio

  • Complete portfolio analysis with USD values
  • Arguments: None
  • Shows GALA balance, all token holdings, total portfolio value, and top holdings

/galachain-launchpad:tokens-held

  • List all tokens currently held
  • Arguments: search (optional fuzzy filter), limit (optional, default 20)
  • Example: /galachain-launchpad:tokens-held search=dragon limit=10

/galachain-launchpad:tokens-created

  • Show tokens created by the user with status
  • Arguments: search (optional), limit (optional, default 20)
  • Shows graduation status and progress for each token

/galachain-launchpad:balance

  • Check GALA and optional token balance
  • Arguments: tokenName (optional)
  • Example: /galachain-launchpad:balance tokenName=anime
  • Displays both token amounts and USD values

/galachain-launchpad:profile

  • Show user profile and activity summary
  • Arguments: None
  • Displays profile info, wallet addresses, activity metrics, and current balance

Analysis Commands​

/galachain-launchpad:compare-tokens

  • Side-by-side comparison of two tokens
  • Arguments: token1 (required), token2 (required)
  • Example: /galachain-launchpad:compare-tokens token1=anime token2=test216253
  • Shows comparison table with metrics, holders, and investment analysis

/galachain-launchpad:graduation-status

  • Check graduation readiness for multiple tokens
  • Arguments: tokens (required, comma-separated)
  • Example: /galachain-launchpad:graduation-status tokens=anime,test216253,dragnrkti
  • Shows progress table and identifies graduation opportunities

/galachain-launchpad:spot-prices

  • Batch spot price lookup for multiple tokens
  • Arguments: tokens (required, comma-separated)
  • Example: /galachain-launchpad:spot-prices tokens=anime,test216253
  • Uses optimized LOCAL calculations for instant results

/galachain-launchpad:pool-details

  • Comprehensive pool information with badges and distribution
  • Arguments: tokenName (required)
  • Example: /galachain-launchpad:pool-details tokenName=anime
  • Shows complete pool metrics, achievements, and recent activity

/galachain-launchpad:trade-history

  • View recent trades with filtering
  • Arguments: tokenName (optional), userAddress (optional), tradeType (optional: BUY/SELL), limit (optional, default 20)
  • Example: /galachain-launchpad:trade-history tokenName=anime tradeType=BUY limit=10

/galachain-launchpad:fetch-all-pools

  • Fetch all available pools with auto-pagination
  • Arguments: None
  • Retrieves complete list of all token pools on Launchpad

Creation & Discovery Commands​

/galachain-launchpad:create-token

  • Guided token creation workflow
  • Arguments: tokenName (required), tokenSymbol (required), description (required), websiteUrl (optional), twitterUrl (optional), telegramUrl (optional), imagePath (optional), preBuyGala (optional)
  • Example: /galachain-launchpad:create-token tokenName=mytoken tokenSymbol=MTK description="My awesome token" websiteUrl=https://example.com
  • Validates availability, checks fees, uploads image, and guides through launch process
  • Note: At least one social URL (website, Twitter, or Telegram) is required

/galachain-launchpad:discover-tokens

  • Discover new tokens on Gala Launchpad
  • Arguments: type (optional: recent/popular/near-graduation, default: recent), limit (optional, default: 10), minProgress (optional: graduation %), maxPrice (optional: max USD price)
  • Example: /galachain-launchpad:discover-tokens type=near-graduation minProgress=90 limit=10
  • Helps find investment opportunities with filtering and analysis

Real-Time Monitoring Commands - NEW v2.0​

/galachain-launchpad:watch-dex-pools - NEW v2.0

  • Monitor new DEX pool creation events in real-time via WebSocket
  • Arguments: duration (optional: seconds, default 60), minTVL (optional: minimum TVL filter), tokens (optional: comma-separated token symbols)
  • Example: /galachain-launchpad:watch-dex-pools duration=300 minTVL=100000 tokens=GALA,GUSDC
  • Real-time alerts as new liquidity pools are created

/galachain-launchpad:watch-token-launches - NEW v2.0

  • Monitor new token launch events in real-time via WebSocket
  • Arguments: duration (optional: seconds, default 60), creatorAddress (optional: filter by creator)
  • Example: /galachain-launchpad:watch-token-launches duration=300 creatorAddress=eth|...
  • Discover new tokens immediately as they launch

DEX Pool Discovery Commands​

/galachain-launchpad:fetch-dex-pools

  • Discover DEX liquidity pools with pagination and filtering
  • Arguments: search (optional: token symbol filter), sortBy (optional: tvl/volume30d/volume1d, default: tvl), sortOrder (optional: asc/desc, default: desc), page (optional, default: 1), limit (optional, default: 10, max: 20)
  • Example: /galachain-launchpad:fetch-dex-pools search=GALA sortBy=volume30d limit=10
  • Browse DEX pools with complete metrics: TVL, trading volume, APR, and fee data

/galachain-launchpad:fetch-all-dex-pools

  • Discover ALL available DEX liquidity pools with automatic pagination
  • Arguments: search (optional: token symbol filter), sortBy (optional: tvl/volume30d/volume1d, default: tvl), sortOrder (optional: asc/desc, default: desc)
  • Example: /galachain-launchpad:fetch-all-dex-pools search=GUSDC sortBy=volume1d sortOrder=asc
  • Retrieves the complete list of all DEX pools - perfect for comprehensive analysis and discovery

Pool Management Commands​

/galachain-launchpad:fetch-pools - Fetch token pools with filtering /galachain-launchpad:fetch-pool-details - NEW v2.0 - Get comprehensive bonding curve pool analytics /galachain-launchpad:fetch-pool-details-for-calculation - Get optimized pool details for local calculations /galachain-launchpad:fetch-token-details - Fetch comprehensive token metadata /galachain-launchpad:fetch-token-distribution - Get holder distribution and supply metrics /galachain-launchpad:fetch-volume-data - Get OHLCV (candlestick) data for charting /galachain-launchpad:fetch-gala-spot-price - Fetch current GALA USD spot price /galachain-launchpad:fetch-price-history - Fetch historical price snapshots with pagination /galachain-launchpad:fetch-all-price-history - Fetch all historical price data (auto-paginated) /galachain-launchpad:check-token-name - Check if token name is available /galachain-launchpad:check-token-symbol - Check if token symbol is available /galachain-launchpad:resolve-vault-address - Get GalaChain vault address for a token /galachain-launchpad:resolve-token-class-key - Get GalaChain TokenClassKey for a token

Trading Calculation Commands​

/galachain-launchpad:calculate-buy-amount - Calculate token amounts for buying /galachain-launchpad:calculate-sell-amount - Calculate GALA amounts for selling /galachain-launchpad:fetch-trades - Query trading history with optional filters /galachain-launchpad:calculate-initial-buy - Calculate pre-buy amounts during token creation /galachain-launchpad:get-bundler-transaction-result - Check bundler transaction status by ID /galachain-launchpad:calculate-graduation-cost - Calculate cost to graduate a token pool /galachain-launchpad:calculate-buy-amount-local - Calculate buy amount using LOCAL bonding curve (instant) /galachain-launchpad:calculate-buy-amount-external - Calculate buy amount using EXTERNAL GalaChain call /galachain-launchpad:calculate-sell-amount-local - Calculate sell amount using LOCAL bonding curve /galachain-launchpad:calculate-sell-amount-external - Calculate sell amount using EXTERNAL GalaChain call /galachain-launchpad:is-token-graduated - Check if token has completed bonding curve and graduated to DEX

Balance & Portfolio Commands​

/galachain-launchpad:fetch-gala-balance - Get your GALA balance /galachain-launchpad:fetch-token-balance - Get balance for a specific token /galachain-launchpad:fetch-tokens-created - List tokens you've created with status /galachain-launchpad:update-profile - Update your user profile information

Creation Utility Commands​

/galachain-launchpad:upload-profile-image - Upload profile image from filesystem /galachain-launchpad:fetch-launch-token-fee - Get current GALA fee required to launch a token

Transfer Commands​

/galachain-launchpad:transfer-gala - Transfer GALA tokens to another wallet /galachain-launchpad:transfer-token - Transfer launchpad tokens to another wallet

Utility & System Commands​

/galachain-launchpad:create-wallet - Generate a new wallet with random private key /galachain-launchpad:get-address - Get the GalaChain format address of authenticated wallet /galachain-launchpad:get-ethereum-address - Get the standard Ethereum address format of authenticated wallet /galachain-launchpad:get-config - View current SDK and MCP server configuration /galachain-launchpad:get-url-by-token-name - Get the launchpad frontend URL for a token /galachain-launchpad:explain-sdk-usage - Get detailed SDK usage examples for a topic /galachain-launchpad:get-cache-info - Get token metadata cache statistics /galachain-launchpad:clear-cache - Clear token metadata cache /galachain-launchpad:has-wallet - Check if a wallet is configured in the MCP server /galachain-launchpad:get-wallet - Get the currently configured wallet instance /galachain-launchpad:set-wallet - Configure a wallet for signing operations /galachain-launchpad:get-environment - Get the current MCP server environment

Version Command​

/galachain-launchpad:version

  • Display SDK and MCP server version information
  • Arguments: None
  • Shows current version numbers and release information

Slash Command Benefits​

✅ Quick access - Type /galachain-launchpad: to see all available commands ✅ Guided workflows - Each command provides step-by-step execution ✅ Optimized - Uses LOCAL calculations for maximum performance ✅ Safe - Asks for confirmation before executing transactions ✅ Educational - Shows what MCP tools are being used behind the scenes ✅ Real-time monitoring - NEW v2.0 - WebSocket watchers for pools and token launches

Example Slash Command Usage​

User: /galachain-launchpad:analyze-token tokenName=anime

Claude: I'll analyze the token "anime" using the Gala Launchpad MCP server:

1. Fetching optimized pool details...
✅ Current supply: 510,379.79
✅ Remaining tokens: 9,489,620.21
✅ Max supply: 10,000,000

2. Calculating USD spot price (LOCAL mode - instant!)...
✅ Spot price: $0.000153

3. Calculating graduation cost (LOCAL mode - instant!)...
✅ GALA required: 1,640,974.33 GALA
✅ Transaction fee: 1,640.97 GALA
✅ Total cost: 1,642,615.30 GALA

4. Pool progress: 5.10% complete

Analysis:
- Current price is relatively low (early stage token)
- Requires significant GALA (~1.6M) to graduate
- Only 5% through bonding curve - high risk, high potential reward
- Good opportunity for early entry if you believe in the project

📚 SDK Usage Reference​

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.

Ask Claude for SDK code examples:

"Explain how to buy tokens using the SDK"

"Show me the SDK code for selling tokens"

"How do I use multiple wallets with the SDK?"

"Show me all MCP tools and their SDK method equivalents"

Available topics:

  • buy-tokens - Complete buying workflow
  • sell-tokens - Complete selling workflow
  • pool-graduation - Graduate bonding curve pools
  • fetch-pools - Query pool data
  • balances - Check GALA and token balances
  • token-creation - Launch new tokens
  • multi-wallet - Multi-wallet patterns
  • transfers - Transfer tokens between wallets
  • error-handling - Handle exceptions
  • installation - Install and configure SDK
  • local-calculations - Local vs external bonding curve calculations
  • mcp-to-sdk-mapping - Complete tool-to-method mapping

Each topic returns complete TypeScript code with explanations, making it easy to transition from MCP tools to direct SDK integration.

🔐 Multi-Wallet Support​

All signing operations support an optional privateKey parameter for per-operation wallet overrides. This enables:

  • Testing multi-wallet workflows
  • Simulating different user behaviors
  • Building multi-agent trading systems
  • Operating multiple wallets from a single MCP server

Tools Supporting privateKey Override​

Trading Operations:

  • gala_launchpad_buy - Buy tokens from different wallet
  • gala_launchpad_sell - Sell tokens from different wallet

Token Creation:

  • gala_launchpad_launch_token - Create token from different wallet
  • gala_launchpad_upload_token_image - Upload image for token
  • gala_launchpad_upload_profile_image - Upload profile image

Transfer Operations:

  • gala_launchpad_transfer_gala - Transfer GALA from different wallet (the key signs that one transfer and is never stored)
  • gala_launchpad_transfer_token takes no override: a privateKey is refused (configure the session wallet, set_wallet)

Profile:

  • gala_launchpad_update_profile - Update profile for different wallet

Example: Multi-Wallet Trading Scenario​

Ask Claude:

"Create a scenario where Buster's wallet buys and sells tokens:

  1. Send Buster 1000 GALA from the main wallet
  2. Have Buster buy 100 GALA worth of tinyevil tokens using his private key: 0x1234...
  3. Have Buster sell 50 GALA worth back
  4. Check both wallets' final balances"

Claude will use:

// 1. Main wallet sends GALA to Buster
gala_launchpad_transfer_gala({
recipientAddress: "0xBusterAddress...",
amount: "1000"
// No privateKey - uses main wallet
});

// 2. Buster buys tokens with his wallet
gala_launchpad_buy({
tokenName: "tinyevil",
amount: "100",
type: "native",
expectedAmount: "50000",
slippageToleranceFactor: 0.05,
privateKey: "0x1234..." // Buster's wallet
});

// 3. Buster sells tokens
gala_launchpad_sell({
tokenName: "tinyevil",
amount: "50",
type: "native",
expectedAmount: "48",
slippageToleranceFactor: 0.05,
privateKey: "0x1234..." // Buster's wallet
});

Private Key Format Requirements​

The privateKey parameter must be:

  • Format: '0x' + 64 hexadecimal characters
  • Example: '0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef'
  • Invalid: Raw hex without '0x', mnemonics, or addresses

Security Considerations​

When using privateKey overrides:

  1. Never expose private keys in prompts or logs
  2. Use test wallets for development and testing
  3. Limit fund amounts in test wallets
  4. Monitor operations when testing multi-wallet scenarios
  5. Validate addresses before transfers

🔧 Development​

Local Development​

# From the root of the repository checkout (core, the product SDKs and this server are one pnpm workspace)

# Install dependencies
pnpm install

# Build the SDKs this server resolves through their dist/, then the server
pnpm --filter @gala-chain/gala-core-sdk run build
pnpm --filter @gala-chain/gswap-sdk run build
pnpm --filter @gala-chain/launchpad-sdk run build
pnpm --filter @gala-chain/gala-mcp-server run build

# Run in development mode
pnpm --filter @gala-chain/gala-mcp-server run dev

Layout​

src/session/ wallet, environment and settings, shared by every toolset (the env contract lives here)
src/toolsets/core/ tools, prompts and the client that need only gala-core-sdk
src/toolsets/launchpad/ ... gala-core-sdk + launchpad-sdk
src/toolsets/gswap/ ... gala-core-sdk + gswap-sdk
src/toolsets/composite/ ... launchpad-sdk + gswap-sdk (enabled with both)
src/toolsets/shared/ SDK-free helpers (tool factory, handler factories)
src/toolsets/registry.ts, selection.ts load the enabled toolsets (a dynamic import each), parse GALA_TOOLSETS / --toolsets
src/manifests/ generated tool and prompt manifests (pnpm generate:manifest; CI runs validate:manifest)

A tool belongs to the toolset whose SDKs its handler needs. launchpad and gswap never import each other or composite, core imports no product SDK, and the shared code and src/schemas import none; boundary.test.ts reads the import graph and fails on a violation, and module-graph.test.ts checks what a run actually loads.

Testing​

pnpm --filter @gala-chain/gala-mcp-server exec vitest run --maxWorkers=4 # unit tests (SDKs built first)
pnpm --filter @gala-chain/gala-mcp-server run validate:manifest # manifests current
pnpm --filter @gala-chain/gala-mcp-server run smoke:stdio # starts each selection over stdio, tools/list, clean exit

📚 Documentation​

🔐 Security​

Important Security Notes:

  1. Private Keys - Never commit private keys to version control
  2. Environment Variables - Store credentials in claude_desktop_config.json securely
  3. Wallet Safety - Use separate wallets for development and production
  4. Amount Limits - Consider setting up trading limits for automated agents

🐛 Troubleshooting​

"SDK not initialized"​

  • Ensure PRIVATE_KEY is set in environment variables
  • Check that private key format is valid (0x + 64 hex characters)

"Tool not found"​

  • Restart Claude Desktop after configuration changes
  • Verify server is listed in Claude Desktop settings

"Connection failed"​

  • Check DEBUG=true logs for detailed error messages
  • Verify network connectivity to Gala Launchpad backends

📄 License​

MIT License - see the LICENSE file in the package for details.

🤝 Contributing​

Contributions welcome! Please read CONTRIBUTING.md in the monorepo root for guidelines.

📞 Support​


Built with ❤️ for the Gala ecosystem