返回市场
赛特追踪-MCP

赛特追踪-MCP

作者:Seitrace9 星标更新:2025-09-04

项目介绍

<img src="https://gips0.baidu.com/it/u=3181875246,113752211&fm=3081&app=3081&f=GIF?w=1152&h=648" width="1280"></img>

Seitrace MCP

Sei区块链的核心MCP(模型上下文协议)服务器。

可用工具 🧰

五个工具构成资源接口(按顺序使用1→2→3→4):

  • list_resources — 列出可用资源(从这里开始)
  • list_resource_actions — 列出资源的操作
  • get_resource_action_schema必需 在调用之前获取操作的JSON Schema
  • invoke_resource_action — 调用与模式匹配的有效载荷的操作
  • get_resource_action_snippet — (可选)生成指定语言中执行资源操作的代码片段

支持的资源

通用

  • 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 — 查询智能合约详情。
  • insights_assets — 按名称/符号/标识符搜索官方资产并获取资产详情。使用Sei网关端点;在已获取的资产列表上离线执行搜索。
  • insights_earnings — 搜索/列出太平洋-1的收益池(APR/APY),并通过地址获取池。返回简化字段:名称、地址、URL、图像、提供商、TVL、APR、APY。
  • insights_transactions — 通过网关查询交易详情(太平洋-1、大西洋-2、北极-1)。

智能合约

  • smart_contract — 通过Multicall3查询智能合约状态,搜索验证过的合约,或从Seitrace下载智能合约ABI(太平洋-1、大西洋-2、北极-1)。

开始使用

确保您免费获得一个API密钥 在这里

查看 安装指南

高亮 ✨

MCP为最终用户和助手提供:

  • 自然语言访问Seitrace洞察。助手代表您执行API调用。
  • 自描述工具流程:枚举动作,检索输入模式,然后调用。
  • 使用每个动作的JSON模式进行输入验证和清晰的错误消息。
  • 简洁发现:最小列表输出;仅在调用动作时显示详细有效载荷。
  • 与MCP启用的VS Code扩展集成(例如,Continue,Cline)。
  • 通过环境变量简单安全地处理API密钥(作为x-api-key发送)。
  • 通过npx快速启动:npx -y @seitrace/mcp

典型流程 🔁

使用MCP SDK,通过五个工具驱动基于资源的流程。**重要:**始终遵循此顺序,特别是步骤3:

// 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: 'insights_erc20', action: 'get_erc20_token_info', schema }
// 模式揭示了确切的参数名称,如“q”而不是“query”,“chain”而不是“chain_id”等。

// 4) 使用与模式结构匹配的有效载荷调用动作
const res = await client.callTool({
  name: 'invoke_resource_action',
  arguments: {
    resource: 'insights_erc20',
    action: 'get_erc20_token_info',
    payload: { chain: 'pacific-1', contract_address: '0x...' },
  },
});
// res.content[0].text -> "API响应(状态: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主体。

要求 🔧

  • Node.js 20+
  • Seitrace洞察API密钥(用于发现可选,大多数实时调用需要),在此处获取 这里

安装 📦

npm install

配置 🔐

复制.env.example.env并根据需要设置您的值。

环境变量:

  • API_BASE_URL(可选) — 默认为https://seitrace.com/insights
  • SECRET_APIKEY — Seitrace API密钥;用于设置头部x-api-key

构建和运行 🏃

# 类型检查并编译到build/
npm run build

# 通过stdio运行MCP服务器(由MCP客户端使用)
npm start

该服务器设计为由兼容MCP的客户端启动(例如,通过命令/参数配置)。它通过stdio通信。

端到端测试 ✅

运行E2E以验证根资源流程和(可选)实时正向调用:

# 可选地提供您的API密钥,以便正向路径运行
SEITRACE_API_KEY=your_key_here npm run test:e2e

故障排除 🛠️

确保您运行我们的E2E测试以查看我们涵盖的常见错误。

  • E2E: npm run test:e2e(可选E2E_DEBUG=1以获取[E2E]日志)。
  • Node: 使用v20+。

贡献 🤝

  • 保持tools/list输出紧凑。不要在那里嵌入每个动作的详细信息——通过getResourceActionSchema获取它们。
  • 新端点应出现在正确的资源下;根工具方法应一致地提供发现和调用。
  • src/lib/中偏好小型、专注的模块以共享逻辑。

许可证 📄

参见 LICENSE

支持 📨

请发送电子邮件至dev@cavies.xyz