A Model Context Protocol server that provides Stellar blockchain interaction.
🌟 Stellar MCP
A Model Context Protocol server that provides Stellar blockchain interaction capabilities. This server enables LLMs to interact with both Stellar Classic and Soroban smart contracts, manage accounts, and perform various blockchain operations.
🧩 Components
🛠️ Tools
💫 Stellar Classic Operations
stellar_create_account
- Create a new Stellar account
stellar_balance
- Get the balance of a Stellar account
- Input:
account(string): The public key of the account to check balance
stellar_payment
- Send a payment to another account
- Inputs:
destination(string, required): The destination account public keyamount(string, required): The amount to sendsecretKey(string, required): The secret key of the source accountasset(object, optional): Custom asset detailscode(string): The asset codeissuer(string): The asset issuer public key
stellar_transactions
- Get transaction history for an account
- Input:
account(string): The account public key to get transactions for
stellar_create_asset
- Create a new asset on the Stellar network
- Inputs:
code(string, required): The asset codeissuerSecretKey(string, required): The secret key of the issuing accountdistributorSecretKey(string, required): The secret key of the distributing accounttotalSupply(string, required): The total supply of the asset
stellar_change_trust
- Change trustline for an asset
- Inputs:
asset(object, required):code(string, required): The asset codeissuer(string, required): The asset issuer public key
limit(string, required): The trust limitsecretKey(string, required): The secret key of the account changing trust
stellar_create_claimable_balance
- Create a claimable balance that can be claimed by specified accounts under certain conditions
- Inputs:
asset(object, optional): Custom asset details. If not provided, uses native XLMcode(string): The asset code (e.g., "USD", "EUR")issuer(string): The asset issuer public key
amount(string, required): Amount to lock in the claimable balanceclaimants(array, required): List of accounts that can claim this balancedestination(string): Public key of the account that can claimpredicate(object): Conditions for claimingtype(string): One of: "UNCONDITIONAL", "BEFORE_RELATIVE_TIME", "BEFORE_ABSOLUTE_TIME", "NOT", "AND", "OR"value(number or array): For time predicates: seconds/timestamp, for compound predicates: array of predicates
secretKey(string, required): Secret key of the account creating the balance
stellar_claim_claimable_balance
- Claim a claimable balance using its ID
- Inputs:
balanceId(string, required): ID of the claimable balance to claim (returned from createClaimableBalance)secretKey(string, required): Secret key of the claiming account (must be one of the claimants)
stellar_fund_account
- Fund a test account using the Friendbot (testnet only)
- Input:
publicKey(string): The public key of the account to fund
📝 Soroban Smart Contract Operations
soroban_build_and_optimize
- Build and optimize Soroban smart contracts
- Inputs:
contractPath(string, optional): The path to the contract directory. Defaults to current working directory
- Outputs:
- Build logs and compilation status
- List of optimized WASM files
- Optimization results for each contract
- Features:
- Automatically builds contracts using
stellar contract build - Finds all WASM files in the target directory
- Optimizes each WASM file using
stellar contract optimize - Provides detailed logs of the entire process
- Automatically builds contracts using
soroban_deploy
- Deploy Soroban smart contracts to the Stellar network
- Inputs:
wasmPath(string, required): Path to the compiled WASM filesecretKey(string, required): Secret key of the deploying accountconstructorArgs(array, optional): Arguments for contract constructor if applicable- Each argument should be an object with:
name(string): Name of the constructor parametertype(string): Type of the argument (e.g., "Address", "String", etc.)value(string): Value of the argument
- Each argument should be an object with:
- Outputs:
- Contract ID (starts with "C" followed by 55 characters)
- Deployment status messages
- Transaction details
- Features:
- Automatically detects if contract has a constructor
- Validates constructor arguments before deployment
- Throws error if constructor arguments are missing for contracts that require them
- Provides detailed deployment logs and status updates
- Supports both simple contracts and contracts with initialization logic
- Example Usage:
Tools (11)
stellar_create_accountCreate a new Stellar accountstellar_balanceGet the balance of a Stellar accountstellar_paymentSend a payment to another accountstellar_transactionsGet transaction history for an accountstellar_create_assetCreate a new asset on the Stellar networkstellar_change_trustChange trustline for an assetstellar_create_claimable_balanceCreate a claimable balance that can be claimed by specified accountsstellar_claim_claimable_balanceClaim a claimable balance using its IDstellar_fund_accountFund a test account using the Friendbotsoroban_build_and_optimizeBuild and optimize Soroban smart contractssoroban_deployDeploy Soroban smart contracts to the Stellar networkConfiguration
{"mcpServers": {"stellar": {"command": "npx", "args": ["-y", "@syronlabs/stellar-mcp"]}}}