Somnia MCP服务器

模型上下文协议(MCP)服务器,使像Claude这样的AI代理能够与Somnia区块链网络进行交互。
使用Amazon Q Developer的Kiro构建 -该项目是使用Kiro的AI驱动的规范驱动开发工作流、代理挂钩和智能代码分析进行架构、设计和记录的。看 KIRO_DEVELOMENT_PROCESS.md 了解详情。
特性
- Somnia官方文档搜索
- 区块链查询(账户、交易、区块)
- 钱包管理和创建
- 加密签名操作
- 通过GOAT SDK的链上工具
______________________________________________________________________
快速开始
先决条件
- Node.js 18+
- pnpm 10.14.0+
安装
# Install dependencies
pnpm install
# Build the project
pnpm build______________________________________________________________________
用法
发展模式
# Run in development mode
pnpm dev生产模式
# Build the project
pnpm build
# Start the server
pnpm start测试
pnpm test清洁建筑
# Remove build artifacts
pnpm clean______________________________________________________________________
配置
环境变量
创建一个 .env 根目录中的文件:
# 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 host看 .env.example 对于模板。
______________________________________________________________________
网络信息
主网
- 链ID: 5031
- RPC URL: https://api.infra.mainnet.somnia.network/
- 浏览器: https://somniascan.io
- 本地令牌: 单目标跟踪
测试网
- 链ID: 50312
- RPC URL: https://dream-rpc.somnia.network/
- 浏览器: https://testnet.somniascan.io
- 本地令牌: STT(测试网)
______________________________________________________________________
项目结构
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 file______________________________________________________________________
Docker支持
使用Docker构建和运行:
# Build Docker image
docker build -t somnia-mcp-server .
# Run container
docker run -p 3000:3000 --env-file .env somnia-mcp-server______________________________________________________________________
部署
MCP服务器
有关Smithery或其他平台的部署说明,请参阅 部署.md.
重要提示: 确保 AGENT_SECRET_KEY 在部署平台中设置为环境变量,而不是在Dockerfile中硬编码。
文档网站
这 docs/ 文件夹包含一个静态HTML文档网站。有关托管说明,请参阅 docs/HOSTING.md.
快速部署:
- GitHub页面(推荐)
- Vercel:
vercel --prod - Netlify:拖放到https://app.netlify.com/drop
- 浪涌:
cd docs && surge
______________________________________________________________________
资源
______________________________________________________________________
贡献
欢迎投稿!拜托:
- 复刻仓库
- 创建要素分支(
git checkout -b feature/amazing-feature) - 提交您的更改(
git commit -m 'Add amazing feature') - 推到分支(
git push origin feature/amazing-feature) - 打开拉取请求
______________________________________________________________________
许可证
MIT许可证
______________________________________________________________________
安全考虑
重要安全注意事项:
- 私钥: 永远不要承诺你的
AGENT_SECRET_KEY到版本控制 - 环境变量: 使用安全的秘密管理进行生产
- API访问: 限制MCP服务器对受信任的AI代理的访问
- 先测试网: 在主网操作之前,始终在Somnia测试网上进行测试
______________________________________________________________________
故障排除
构建错误
# Clear all dependencies and rebuild
pnpm clean
rm -rf node_modules pnpm-lock.yaml
pnpm install
pnpm build连接问题
- 验证RPC URL是否可访问
- 检查网络环境(MAINNET与TESTNET)
- 确保正确的链ID配置
签名失败
- 验证
AGENT_SECRET_KEY格式正确(0x前缀) - 检查私钥是否具有所需权限
- 确保天然气费用有足够的平衡
______________________________________________________________________
Made with ❤️ for the Somnia ecosystem
Built with 🤖 Amazon Q Developer | Kiro
