assetCLI
Enables natural language interaction for token launches, liquidity management, and treasury operations on Solana via the Model Context Protocol.
README
<div align="center">
<h3>Winner of the Solana MCP AI Agent Competition</h3>
<a href="https://x.com/sendaifun/status/1902788122552963460" target="_blank" rel="noopener noreferrer">
<img src="https://github.com/user-attachments/assets/a3d93722-ce5e-4922-980a-df42f9a7be20" alt="Tweet screenshot" width="600" />
</a>
</div>
assetCLI - Goldman Sachs for AI Agents
assetCLI is a comprehensive AI-native platform for token launches, liquidity management, and team treasury operations on Solana. It leverages the Model Context Protocol (MCP) to provide natural language interactions for all operations.
!assetCLI
We have no token on Pump.fun, daos.fun or any other platform.
š Features
- Token Launch: Create tokens with bonding curves for fair price discovery
- Flexible Base Asset: Use any SPL_TOKEN or TOKEN_22 standard token as the base for your bonding curve, not just native SOL
- Advanced Bonding Curve Math: Utilizes pump science and a linear bonding curve (X=Y*Z, X constant) for AMM price discovery
- InterfaceAccount Support: Full compatibility with both SPL_TOKEN and TOKEN_22 standards for mints and token accounts
- Raydium Integration: Raydium CPI for CPMM pool creation and locking, with both mainnet and devnet builds (devnet via feature flag)
- Metaplex Metadata: On-chain Metaplex program integration for project token metadata
- SystemAccount Signer PDA: Bonding curve operations use a SystemAccount signer PDA for secure, programmatic actions
- Ordered Pair Validation: CPMM pool creation checks ordered pairs on both client and contract sides
- Custom Authority & Vault: Use authority_address and vault_address for asset transfers, enabling use beyond Squads, Realms DAO, etc.
- Localnet Scripts: Scripts for local development, including cloning bpf-upgradable programs and system accounts for CPIs
- Squads Multisig Integration: Secure team treasury management
- Automatic Raydium Migration: Seamless transition to DEX when bonding curves complete
- Perana/Numeraire Integration: Access to stable pool swaps and liquidity provisioning
- Treasury Management: Fund and manage multisig vaults
- Wallet Management: Import, create, and fund wallets
- Model Context Protocol (MCP): Natural language interaction for all operations
Model Context Protocol (MCP) Interface
assetCLI uses the powerful Model Context Protocol (MCP) interface that allows natural language interaction through compatible AI clients like Claude Desktop.
Setting Up the MCP Interface
Prerequisites
- A compatible MCP client (e.g., Claude Desktop)
- Node.js (v16+)
- pnpm (recommended)
Configuration
Setting up Claude Desktop MCP server
- Clone the repository and install dependencies:
# Clone the repository
git clone https://github.com/assetCLI/assetCLI.git
cd assetCLI
# Install dependencies
pnpm install
# Build the project
pnpm build
- Change the Claude Desktop MCP server settings:
For MacOS:
code ~/Library/Application\ Support/Claude/claude_desktop_config.json
For Windows:
code $env:AppData\Claude\claude_desktop_config.json
The final configuration should look like the following:
{
"mcpServers": {
"assetCLI": {
"command": "node",
"args": ["$(pwd)/dist/mcp-server.js"]
}
}
}
Using Natural Language Commands
The MCP interface supports natural language commands. Here are examples of what you can ask:
Configuration and Setup
Set my cluster to devnet
Import my wallet from ~/.config/solana/id.json
Show me my wallet information
What's the current configuration?
Multisig Management
Create a new multisig wallet called "Project Treasury" with 3 members and a threshold of 2
Show me details about my multisig
Fund my multisig with 0.5 SOL
Bonding Curve Operations
Initialize the bonding curve protocol
Create a new bonding curve token named "Community Token" with symbol "CMT"
Get information about the bonding curve for mint address xyz789
Buy 2 WSOL worth of tokens from the bonding curve
Sell 100 tokens back to the bonding curve
Simulate swapping 1 WSOL for tokens to see expected output
Check if a bonding curve is complete
Migrate a completed bonding curve to Raydium
List all available bonding curve tokens
Perana Pool Operations
List all available Perana pools
Get information about the tripool
Swap 10 USDC for USDT through the Perana pool
Add liquidity to the susd pool
Remove liquidity from the tripool
Wallet Operations
Show my wallet balance
Create a new wallet
Get token balances in my wallet
Utility Operations
Look up transaction signature xyz789
What happened in transaction abc123?
Demo
<div align="center"> <h4>Watch assetCLI in action with MCP-powered natural language commands</h4> <a href="https://x.com/dorkydhruv/status/1901066331400925538"> <img src="./docs/images/embed.png" alt="assetCLI Demo Video" width="600"/> </a> <p>Follow us on <a href="https://www.youtube.com/@assetCLI" target="_blank">YouTube</a> for more demos and tutorials</p> </div>
šļø Project Structure
assetCLI/
āāā programs/
ā āāā bonding-curve/ # Solana program for bonding curves
āāā src/
ā āāā mcp/ # MCP tools and resources
ā ā āāā bonding-curve.ts # Bonding curve MCP tools
ā ā āāā config-and-wallet.ts # Wallet configuration tools
ā ā āāā multisig.ts # Multisig MCP tools
ā ā āāā perana-tools.ts # Perana integration tools
ā ā āāā agent-tools.ts # Solana-agent-kit DeFi tools
ā āāā services/ # Core business logic
ā ā āāā bonding-curve-service.ts # Bonding curve implementation
ā ā āāā multisig-service.ts # Squads multisig implementation
ā ā āāā perana-service.ts # Perana/Numeraire service
ā āāā utils/ # Utility functions
ā āāā types/ # TypeScript type definitions
ā āāā debug/ # Debug scripts for testing
ā āāā mcp-server.ts # MCP server implementation
āāā tests/ # Test files
āāā dist/ # Compiled output
š§© Architecture
The application integrates multiple key components:
- Bonding Curve Protocol: For token launches with automatic liquidity and price discovery, supporting both SPL_TOKEN and TOKEN_22 standards
- Raydium Integration: Raydium CPI for CPMM pool creation and locking, with ordered pair validation
- Metaplex Metadata: On-chain metadata for project tokens
- SystemAccount Signer PDA: Secure, programmatic operations for the bonding curve
- Custom Authority & Vault: Flexible asset management for advanced use cases
- Squads Multisig: For multi-signature transaction approval and team treasury management
- Perana/Numeraire: For stable pool operations and liquidity management
- Model Context Protocol (MCP): For AI-assisted interactions and operations
- Solana-Agent-Kit: Extended DeFi and on-chain operations via MCP
- Localnet Scripts: For local development and testing, including program and account setup
Key workflows include:
- Token Launch: Create a token with bonding curve economics, optionally managed by a Squads multisig
- Bonding Phase: Users buy tokens through the bonding curve, with prices increasing as more tokens are purchased
- Completion & Migration: Once the bonding curve goal is reached, automatic migration to Raydium DEX
- Stable Pool Operations: Interact with Perana's Numeraire pools for stable asset management
- DeFi Operations: Use solana-agent-kit for advanced on-chain actions
š ļø Development
To set up a development environment:
# Clone the repository
git clone https://github.com/assetCLI/assetCLI-init.git
cd assetCLI-init
# Install dependencies
pnpm install
# Build the project
pnpm build
š Troubleshooting
- Insufficient funds errors: Ensure your wallet has enough SOL
- Transaction errors: Verify that you're using correct account addresses
- "Account not found" errors: The blockchain might be congested; try again
- MCP connection issues: Verify the MCP server is running and accessible
- Natural language parsing errors: Try using more specific language or make your request more explicit
- Bonding curve errors: Check that you've initialized the bonding curve protocol
- BN conversion errors: Ensure decimal amounts are handled properly
- Perana pool errors: Verify you're using valid pool names or addresses
- CPMM/Curve errors: Ensure ordered pairs and base assets are correct
- Localnet issues: Use provided scripts for localnet setup and program deployment
š License
This project is licensed under the MIT License - see the LICENSE file for details.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.