区块链交互服务

Somnia MCP Server是一个使AI代理能够与Somnia区块链网络交互的模型上下文协议服务器,提供文档搜索、区块链查询、钱包管理等功能。

  • by fozagtx
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 fozagtx/somnia-mcp

使用说明

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

资源


贡献

欢迎投稿!拜托:

  1. 复刻仓库
  2. 创建要素分支(git checkout -b feature/amazing-feature)
  3. 提交您的更改(git commit -m 'Add amazing feature')
  4. 推到分支(git push origin feature/amazing-feature)
  5. 打开拉取请求

许可证

MIT许可证


安全考虑

重要安全注意事项:

  1. 私钥: 永远不要承诺你的 AGENT_SECRET_KEY 到版本控制
  2. 环境变量: 使用安全的秘密管理进行生产
  3. API访问: 限制MCP服务器对受信任的AI代理的访问
  4. 先测试网: 在主网操作之前,始终在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