article
README
🚀 Seitrace MCP
Seitrace MCP 是 Sei 区块链必不可少的 MCP(模型上下文协议)服务器,为用户提供便捷的资源查询和操作接口,助力开发者高效开发。
🚀 快速开始
请先点击此处免费获取 API 密钥。
✨ 主要特性
可用工具 🧰
形成基于资源接口的五个工具:
list_resources— 列出可用资源list_resource_actions— 列出某个资源的操作get_resource_action_schema— 获取某个操作的 JSON 模式invoke_resource_action— 使用有效负载调用操作get_resource_action_snippet— 生成指定语言的代码片段以执行资源操作,例如生成带有必要参数调用操作的 JavaScript 代码片段
支持的资源
通用资源
general_faucet- 允许开发者请求水龙头general_rpc_lcd- 允许代理进行通用的 rpc/lcd 查询,并根据需求执行 rpc/lcd 请求general_associations— 查询跨 EVM 和原生 Sei 的混合关联(EOA/资产/交易)。在适用情况下返回简化的指针/被指字段。
洞察资源
insights_address— 查询地址数据:详情、交易、代币转移。insights_erc20— 查询 ERC - 20 代币:信息、余额、转移、持有者。insights_cw20— 查询 CW20 代币:信息、余额、转移、持有者。insights_native— 查询原生代币:信息、转移、余额、持有者。insights_ics20— 查询 ICS20 代币:信息、转移、余额、持有者。insights_erc721— 查询 ERC - 721 代币:信息、持有者、实例、余额、转移。insights_erc1155— 查询 ERC - 1155 代币:信息、持有者、实例、余额、转移。insights_cw721— 查询 CW721 代币:信息、实例、余额、持有者、转移。insights_smart_contract— 查询智能合约详情。
MCP 为终端用户和助手提供的特性
- 以自然语言访问 Seitrace 洞察数据。助手可代表你进行 API 调用。
- 自描述工具流程:枚举操作、检索输入模式,然后调用。
- 使用每个操作的 JSON 模式进行输入验证并提供清晰的错误消息。
- 简洁的发现机制:最小化列表输出;仅在调用操作时提供详细的有效负载。
- 与支持 MCP 的 VS Code 扩展(如 Continue、Cline)集成。
- 通过环境变量(作为
x-api-key发送)进行简单、安全的 API 密钥处理。 - 通过 npx 快速启动:
npx -y @seitrace/mcp。
📦 安装指南
npm install
🔐 配置
将 .env.example 复制为 .env,并根据需要设置值。
环境变量:
API_BASE_URL(可选) — 默认值为https://seitrace.com/insightsSECRET_APIKEY— Seitrace API 密钥;用于设置请求头x-api-key
💻 使用示例
基础用法
使用 MCP SDK 通过五个工具驱动基于资源的流程:
// 1) 发现可用资源
const resources = await client.callTool({ name: 'list_resouces', arguments: {} });
// -> { resources: ['erc20', 'erc721', 'native', ...] }
// 2) 列出某个资源的操作
const actions = await client.callTool({ name: 'list_resouce_actions', arguments: { resource: 'insights_erc20' } });
// -> { resource: 'erc20', actions: [{ name, description }, ...] }
// 3) 获取特定操作的 JSON 模式
const schema = await client.callTool({ name: 'get_resource_action_schema', arguments: { resource: 'insights_erc20', action: 'get_erc20_token_info' } });
// -> { resource: 'erc20', action: 'get_erc20_token_info', schema }
// 4) 使用有效负载调用操作
const res = await client.callTool({ name: 'invoke_resource_action', arguments: { resource: 'insights_erc20', action: 'get_erc20_token_info', payload: { chain_id: 'pacific-1', contract_address: '0x...' } } });
// res.content[0].text -> "API Response (Status: 200):\n{ ... }"
// 5) 可选:为某个操作生成代码片段
const snippet = await client.callTool({ name: 'get_resource_action_snippet', arguments: { resource: 'insights_erc20', action: 'get_erc20_token_info', language: 'node' } });
// -> { resource, action, language, snippet }
服务器会根据操作的模式验证 payload,并在适用时返回格式化的 JSON 响应。
高级用法
可与 VSCode 变体、Claude Desktop / Cursor 一起使用,详情请参阅 mcp。
使用 MCP 客户端时,需配置客户端以启动编译后的服务器二进制文件:
- 命令:
npx - 参数:
["-y", "@seitrace/mcp"] - 环境变量:
SECRET_APIKEY,API_BASE_URL(可选)
连接成功后,客户端将调用 tools/list,返回代表资源接口的五个工具。
🏃 构建与运行
# 类型检查并编译到 build/ 目录
npm run build
# 通过 stdio 运行 MCP 服务器(供 MCP 客户端使用)
npm start
此服务器设计为由兼容 MCP 的客户端启动(例如通过命令/参数配置),并通过 stdio 进行通信。
✅ 端到端测试
运行端到端测试以验证根资源流程,并(可选)进行实时正向调用:
# 可选:提供你的 API 密钥以运行正向路径
SEITRACE_API_KEY=your_key_here npm run test:e2e
🛠️ 故障排除
请确保运行端到端测试以查看常见错误:
- 端到端测试:
npm run test:e2e(可选E2E_DEBUG=1以查看[E2E]日志)。 - Node 版本:使用 v20+。
🤝 贡献指南
- 保持
tools/list输出简洁。不要在其中嵌入每个操作的详细信息,可通过getResourceActionSchema获取。 - 新的端点应出现在正确的资源下;根工具方法应始终提供一致的发现和调用功能。
- 建议在
src/lib/中使用小型、专注的模块来实现共享逻辑。
📄 许可证
详情请参阅 LICENSE
📨 支持
如有问题,请发送邮件至 dev@cavies.xyz
微信扫一扫