Soroban MCP Server
Provides structured access to Soroban smart contracts on the Stellar network, including building, testing, deploying, invoking, and inspecting contract state, as well as account and network information.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Soroban MCP Server Deploy my token contract to testnet and give me the contract ID"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Soroban MCP Server
An MCP (Model Context Protocol) server that gives AI coding agents direct, structured access to Soroban smart contracts and the Stellar network — so agents can build, test, deploy, and inspect contracts without shelling out blindly to the CLI and parsing raw text output.
Demo: (drop a terminal recording or gif here once you have a working build)
Why this exists
AI coding agents are increasingly used to write and debug smart contracts, but today they either guess at CLI syntax or parse unstructured terminal output to decide whether a build succeeded, what a contract's state looks like, or why a deployment failed.
This server exposes those operations as typed, validated MCP tools with structured results and clear error messages — making agent-assisted Soroban development faster and more reliable.
Related MCP server: Official Solana MCP Server
Features
Tool | Description |
| Builds a Soroban project; returns structured compiler diagnostics (file, line, error code, message) |
| Runs |
| Deploys a compiled |
| Simulates a contract function call; returns result + resource cost (CPU, memory, fee) |
| Reads a contract's persistent/instance/temporary storage entries |
| Returns balance, sequence number, and signers for a Stellar account |
Resources exposed:
soroban://network/{network}/status— current ledger height and healthsoroban://contract/{id}/abi— contract ABI/spec from on-chain WASM metadatasoroban://contract/{id}/transactions— recent transaction history
Installation
npm install -g soroban-mcp-serverOr run directly without installing:
npx soroban-mcp-serverPrerequisites:
Node.js ≥ 20
stellar-cli on your
PATH(required forbuild_contractanddeploy_contract)
Configuration
Add to your MCP client config (e.g. Claude Code's mcp.json):
{
"mcpServers": {
"soroban": {
"command": "npx",
"args": ["soroban-mcp-server"],
"env": {
"STELLAR_NETWORK": "testnet"
}
}
}
}Env var | Description | Default |
|
|
|
| Override the default RPC endpoint | network default |
| Path to the Soroban/Stellar CLI binary |
|
|
|
|
Usage example
Once connected to your MCP client, an agent can run a full build-test-deploy cycle:
"Build this contract, run the tests, and if they pass, deploy it to testnet and give me the contract ID."
The agent calls build_contract → run_tests → deploy_contract in sequence, using the structured output of each step to decide whether to proceed — without you needing to copy-paste terminal output back and forth.
Tool call examples
Build a contract:
{
"tool": "build_contract",
"arguments": { "project_path": "./contracts/my_token" }
}Run tests with a filter:
{
"tool": "run_tests",
"arguments": { "project_path": "./contracts/my_token", "filter": "test_transfer" }
}Check an account:
{
"tool": "get_account_info",
"arguments": { "public_key": "GABC...", "network": "testnet" }
}Invoke a contract function:
{
"tool": "invoke_contract",
"arguments": {
"contract_id": "CXXX...",
"function_name": "balance",
"args": [{ "type": "address", "value": "GABC..." }],
"network": "testnet"
}
}Error handling
Every tool returns structured errors with a code field instead of raw stack traces:
{
"error": "Insufficient balance to complete the transaction. Fund the account at https://friendbot.stellar.org",
"code": "INSUFFICIENT_BALANCE"
}Known error codes: BUILD_FAILED, WASM_NOT_FOUND, INVALID_WASM, NETWORK_TIMEOUT, NETWORK_UNREACHABLE, RPC_ERROR, INVALID_CONTRACT_ID, CONTRACT_NOT_FOUND, CONTRACT_INVOCATION_FAILED, INSUFFICIENT_BALANCE, ACCOUNT_NOT_FOUND, INVALID_PUBLIC_KEY, CLI_NOT_FOUND, CLI_EXECUTION_FAILED, TEST_EXECUTION_FAILED.
Development
git clone https://github.com/your-org/soroban-mcp-server
cd soroban-mcp-server
npm install
npm run typecheck # TypeScript strict check
npm run lint # ESLint
npm test # Unit tests (all network/CLI calls mocked)
# Live testnet integration tests (requires network access)
INTEGRATION=true npm run test:integrationRoadmap
This project is built to grow alongside the Soroban ecosystem. Planned areas of expansion (and a source of ongoing, scoped contribution issues):
TTL management —
bump_contract_ttltool to extend contract state lifetimesSigning support — submit state-changing transactions, not just simulate them
Additional wallets/signers — Freighter, hardware wallets
Richer error diagnosis — new failure modes as the protocol evolves
Prompt templates — common contract patterns (token, escrow, multisig)
Local devnet support —
quickstartDocker integration for offline development
Contributing
See CONTRIBUTING.md. Issues are labeled by scope and complexity — issues tagged good-first-issue are a great place to start.
License
Available Tools
6 toolsbuild_contractA
Builds a Soroban smart contract project using the Stellar CLI. Returns structured compiler diagnostics (file, line, error code, message) — not raw rustc text.
Inputs: project_path (required), network.
deploy_contractA
Deploys a compiled .wasm file to testnet or futurenet using the Stellar CLI. Returns the contract ID and transaction hash. Mainnet is intentionally not supported here.
Inputs: wasm_path (required), source_account (required), network, ignore_checks.
get_account_infoA
Returns balance, sequence number, and signers for a Stellar account. Includes a testnet funding link if the account is not found.
Inputs: public_key (required), network.
get_contract_stateA
Reads and returns storage entries (persistent, instance, temporary) for a Soroban contract. Keys and values are decoded to human-readable strings where possible.
Inputs: contract_id (required), limit, network, durability.
invoke_contractA
Simulates a Soroban contract function call via RPC. Returns the function result AND simulated resource cost (CPU instructions, memory, min fee). For read-only calls no signing is needed.
Inputs: contract_id (required), function_name (required), args, network, +1 more.
run_testsA
Runs the Soroban contract test suite with cargo test. Returns a structured pass/fail report (test name, status, duration, failure message).
Inputs: project_path (required), filter.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 6 tools
Each tool targets a distinct resource and action: building, testing, account info, contract state, deployment, and invocation. There is no overlap in purpose, and the descriptions make it easy for an agent to select the right tool.
All tool names follow a consistent verb_noun pattern in snake_case (build_contract, run_tests, get_account_info, get_contract_state, deploy_contract, invoke_contract). This creates a predictable and uniform naming convention.
Six tools is a well-scoped count for a Soroban smart contract development server. Each tool covers a core step in the contract lifecycle without being redundant or overwhelming.
The toolset covers the essential workflow: build, test, deploy, invoke, inspect state, and manage account access. While additional tools could be added (e.g., listing contracts), the existing set is sufficient for common development tasks and has no obvious dead ends.
Maintenance
Related MCP Connectors
Native Solana staking for AI agents. 26 MCP tools, one-shot signing, webhooks.
MCP-first toolbox for agents: KV storage, auth, queue, and utility tools. Free in early access.
Agent-native XRPL infrastructure: 19 paid MCP tools, x402 USDC on Base, non-custodial XRPL actions.
Pay-per-use tool marketplace for AI agents. Search, price-check, and call APIs via MCP.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables interaction with Stellar Classic and Soroban smart contracts, allowing users to manage accounts, process payments, and handle asset operations. It provides comprehensive tools for building, deploying, and retrieving the interfaces of smart contracts on the Stellar network.38 npm18MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to access and search up-to-date Solana documentation, get canonical spec references, and fix Anchor/Pinocchio Solana programs via MCP tools.45 npm83MIT

linkd-mcp-serverofficial
AlicenseNot gradedqualityDmaintenanceBridges the Linkdfund smart contract layer to MCP-compatible AI clients, exposing Soroban escrow management, milestone tracking, and cross-layer expenditure audit tools as callable XDR envelopes.ISC- AlicenseNot gradedqualityDmaintenanceAn MCP server that provides Stellar blockchain tools for account queries, Soroban contract simulation, and boilerplate generation within compatible AI IDEs.17 npmISC