Click on "Install 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., "@Somnia MCP Servercheck my wallet balance for the testnet"
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.
Somnia MCP Server
Model Context Protocol (MCP) server that enables AI agents like Claude to interact with the Somnia blockchain network.
Built with Amazon Q Developer's Kiro - This project was architected, designed, and documented using Kiro's AI-powered spec-driven development workflow, agent hooks, and intelligent code analysis. See KIRO_DEVELOPMENT_PROCESS.md for details.
Features
Official Somnia documentation search
Blockchain queries (accounts, transactions, blocks)
Wallet management and creation
Cryptographic signing operations
On-chain tools via GOAT SDK
Quick Start
Prerequisites
Node.js 18+
pnpm 10.14.0+
Installation
# Install dependencies
pnpm install
# Build the project
pnpm buildUsage
Development Mode
# Run in development mode
pnpm devProduction Mode
# Build the project
pnpm build
# Start the server
pnpm startTesting
pnpm testClean Build
# Remove build artifacts
pnpm cleanConfiguration
Environment Variables
Create a .env file in the root directory:
# Network Configuration
ENVIRONMENT=TESTNET # or MAINNET
# Wallet Configuration (required for signing)
AGENT_SECRET_KEY=0x... # Your private key
# Server Configuration
USE_STREAMABLE_HTTP=false # true for HTTP mode
PORT=3000 # HTTP server port
HOST=127.0.0.1 # HTTP server hostSee .env.example for a template.
Network Information
Mainnet
Chain ID: 5031
RPC URL: https://api.infra.mainnet.somnia.network/
Explorer: https://somniascan.io
Native Token: STT
Testnet
Chain ID: 50312
RPC URL: https://dream-rpc.somnia.network/
Explorer: https://testnet.somniascan.io
Native Token: STT (Testnet)
Project Structure
somnia/
├── src/ # Server source code
├── dist/ # Built output
├── .env # Environment variables (gitignored)
├── .env.example # Environment template
├── package.json # Dependencies and scripts
├── tsconfig.json # TypeScript configuration
├── Dockerfile # Docker configuration
├── .dockerignore # Docker ignore patterns
├── smithery.yaml # Smithery configuration
├── somnia-mcp-stdio.example.json # STDIO mode config
├── somnia-mcp-streamable-http.json # HTTP mode config
└── README.md # This fileDocker Support
Build and run with Docker:
# Build Docker image
docker build -t somnia-mcp-server .
# Run container
docker run -p 3000:3000 --env-file .env somnia-mcp-serverDeployment
MCP Server
For deployment instructions to Smithery or other platforms, see DEPLOYMENT.md.
Important: Ensure AGENT_SECRET_KEY is set as an environment variable in your deployment platform, not hardcoded in the Dockerfile.
Documentation Site
The docs/ folder contains a static HTML documentation site. For hosting instructions, see docs/HOSTING.md.
Quick Deploy:
GitHub Pages (recommended)
Vercel:
vercel --prodNetlify: Drag & drop at https://app.netlify.com/drop
Surge:
cd docs && surge
Resources
Amazon Q Developer - AI-powered development tool used to build this project
Contributing
Contributions are welcome! Please:
Fork the repository
Create a feature branch (
git checkout -b feature/amazing-feature)Commit your changes (
git commit -m 'Add amazing feature')Push to the branch (
git push origin feature/amazing-feature)Open a Pull Request
License
MIT License
Security Considerations
Important Security Notes:
Private Keys: Never commit your
AGENT_SECRET_KEYto version controlEnvironment Variables: Use secure secret management for production
API Access: Limit MCP server access to trusted AI agents
Testnet First: Always test on Somnia Testnet before mainnet operations
Troubleshooting
Build Errors
# Clear all dependencies and rebuild
pnpm clean
rm -rf node_modules pnpm-lock.yaml
pnpm install
pnpm buildConnection Issues
Verify RPC URLs are accessible
Check network environment (MAINNET vs TESTNET)
Ensure correct chain ID configuration
Signing Failures
Verify
AGENT_SECRET_KEYis correctly formatted (0x prefix)Check private key has required permissions
Ensure sufficient balance for gas fees