mcpField
S
secondlayer

secondlayer

远程服务
secondlayer.tools金融数据82 天前更新

关于 secondlayer

secondlayer 是面向处理 Stacks 链数据的编码 Agent 的 MCP 服务,提供索引数据读取,以及子图、Webhook、合约发现和归档操作;可连接托管 API 或自有实例。

主要功能

  1. 01查询已索引的事件、转账和区块
  2. 02创建和管理子图
  3. 03配置链事件 Webhook
  4. 04发现合约并获取 ABI
  5. 05检查实例与归档状态

适用场景

  1. 01查看 Stacks 事件和交易
  2. 02构建并查询自定义链上子图
  3. 03为合约活动发送 Webhook 通知

MCP 相关

向 MCP 客户端提供 Stacks 索引、子图、Webhook、合约、实例、归档和账户工具。托管 API 支持 Streamable HTTP 与浏览器登录,也可连接自有实例。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://api.secondlayer.tools/mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

安装包
npm@secondlayer/mcp11.2.4

工具

详细介绍

@secondlayer/mcp

让你的编码 Agent 直接访问 Stacks 数据,可使用托管 API( api.secondlayer.tools)或你自己的实例: Index(解码后的行)、Subgraphs(你定义的表,可从你的账户或实例提供服务), 以及 Streams(原始输入)。仅提供核心路径工具:Index 读取、subgraph 生命周期、 webhook、合约发现与脚手架、实例状态、归档验证/引导,以及托管服务的额度/报价。其他所有功能(单条记录查询、内存池、质押、证明、实时 Streams 读取) 都可通过 REST /v1 + OpenAPI 使用。没有 consume 工具。

托管服务

无需安装:托管 API 通过 Streamable HTTP 提供读取工具,并支持浏览器登录。

claude mcp add --transport http secondlayer https://api.secondlayer.tools/mcp

不支持 OAuth 的客户端可发送 Authorization: Bearer <sk-sl_ key>。Subgraph 部署、webhook、归档、代码生成和实例工具仅限本地使用。参见 /docs/mcp。

安装

bun add @secondlayer/mcp

身份验证

大多数读取操作为公开访问:index_* 和 contracts_find 无需密钥即可使用。Subgraph 工具在访问非回环地址时需要 INSTANCE_TOKEN;通过 HTTP 访问 GET /v1/subgraphs/<name>/<table>({ rows, next_cursor, tip } 游标封装)也需要该令牌;在回环地址上则无需身份验证。没有按 subgraph 区分的公开或私有标志。streams_dumps 无需密钥:转储清单是公开的;该工具只需配置 SL_STREAMS_DUMPS_URL。streams_tip 必须提供密钥(无密钥时返回 401)。实时 Streams 列表读取仅支持 REST(GET /v1/streams/*)。写入操作(部署、重建索引、删除、webhook)需要密钥,且密钥取决于主机:在 https://api.secondlayer.tools 上,服务器会自动使用 SECONDLAYER_API_KEY(sk-sl_*);在其他任何地址上,则使用 secondlayer init 中的 INSTANCE_TOKEN。托管服务的额度/报价也使用 SECONDLAYER_API_KEY。在托管 API 上,subgraph 数据源仅限事件筛选器和 contract_call/contract_deploy(否则返回 422 SOURCE_NOT_HOSTABLE);请设置 startBlock。请先读取 secondlayer://context:它会报告身份验证状态和读取权限级别。

快速开始 — Stdio(IDE)

将以下内容添加到你的 Claude Desktop 或 Cursor 配置中:

{
  "mcpServers": {
    "secondlayer": {
      "command": "bunx",
      "args": ["-p", "@secondlayer/mcp", "secondlayer-mcp"],
      "env": {
        "SECONDLAYER_API_URL": "http://127.0.0.1:3800",
        "INSTANCE_TOKEN": "..."
      }
    }
  }
}

快速开始 — HTTP(远程)

export SECONDLAYER_API_URL=http://127.0.0.1:3800
export INSTANCE_TOKEN=<from secondlayer init>
export SECONDLAYER_MCP_SECRET=your-secret
bunx -p @secondlayer/mcp secondlayer-mcp-http
# Listening on port 3100

环境变量

变量必需项默认值说明
INSTANCE_TOKEN在你的实例上执行写入操作—来自 secondlayer init。在 api.secondlayer.tools 以外的地址上执行写入工具时必需;读取操作为公开访问。不会发送到托管 API。
SECONDLAYER_API_KEY托管 API、credits/quote/latest—sk-sl_*;当 SECONDLAYER_API_URL 为 https://api.secondlayer.tools 时自动使用。
SECONDLAYER_API_URL否http://127.0.0.1:3800实例 API;托管服务使用 https://api.secondlayer.tools。
SECONDLAYER_BINCLI 工具PATH 上的 secondlayerCLI 二进制文件的路径(bootstrap、repair)。
SECONDLAYER_CWDCLI 工具进程工作目录Compose 项目目录。
SECONDLAYER_MCP_PORT否3100HTTP 传输端口。
SECONDLAYER_MCP_SECRET否—用于 HTTP 身份验证的 Bearer 令牌。未设置时禁用。

工具

领域工具
索引(9)index_events、index_ft_transfers、index_nft_transfers、index_contract_calls、index_blocks、index_transactions、index_print_schema、index_discover、batch_query
子图(12)subgraphs_list、subgraphs_status、subgraphs_spec、subgraphs_scaffold、subgraphs_deploy、subgraphs_delete、subgraphs_query、subgraphs_backfill、subgraphs_reindex、subgraphs_stop、subgraphs_operations、subgraphs_gaps
Webhooks(13)webhooks_create、webhooks_list、webhooks_get、webhooks_update、webhooks_delete、webhooks_test、webhooks_pause、webhooks_resume、webhooks_rotate_secret、webhooks_deliveries、webhooks_dead、webhooks_requeue、webhooks_replay
流(2)streams_tip、streams_dumps
合约(2)contracts_find、contracts_get_abi
实例(1)instance_status
归档(5)archive_verify、archive_bootstrap、archive_repair、archive_latest、archive_quote
额度(1)credits_balance(需要 SECONDLAYER_API_KEY)
账户(2)account_whoami、account_create_key(仅当指向 https://api.secondlayer.tools 时)

执行变更后验证:部署/重新索引/回填/停止操作使用 subgraphs_operations, 创建/测试/重放操作使用 webhooks_deliveries。索引为空时: 运行 archive_bootstrap,轮询 instance_status,直到解码器状态正常,然后 运行 archive_verify,再运行 codegen_index_schema。

外围功能(单个区块/交易查询、内存池、质押、证明、 额度/上限、实时 Streams 读取/SSE)仅支持 REST:请参阅 API 主机上的 OpenAPI 规范。实时 Streams 列表读取使用 GET /v1/streams/events。

通过 SECONDLAYER_API_URL 将服务指向你的实例(默认值为 http://127.0.0.1:3800)。写入操作使用 secondlayer init 生成的 INSTANCE_TOKEN。只有当服务指向 https://api.secondlayer.tools 时, 才会显示 account_* 工具。

webhooks_create 触发器

Webhook 由原始链上事件触发。传入 triggers 数组(合约/事件/ 函数/特征),例如 [{ "type": "contract_call", "contractId": "SP....amm", "functionName": "swap-*" }]。若要响应子图行数据,请从你自己的 Postgres 读取表,或轮询子图 API。

subgraphs_query 增强功能
  • fields — 以逗号分隔的列投影(例如 "sender,amount_x")
  • count — 布尔值,返回行数而非行数据
  • 过滤运算符:eq、neq、gt、gte、lt、lte、like
  • 最大限制:200

资源

URI描述
secondlayer://context实时状态 — 当前存在的内容(你的子图、webhook、账户)、你可以执行的操作,以及读取权限级别。请先阅读。
secondlayer://filters子图源过滤器类型及其字段
secondlayer://column-types列类型映射和选项
secondlayer://traitsSIP 特征标准(有效的 trait 值)
secondlayer://chain-triggers链上 webhook 触发器类型及其字段

错误处理

所有工具都会返回结构化错误,并包含 isError: true:

{ "error": { "type": "not_found", "status": 404, "message": "Subgraph not found" } }
错误类型状态码发生情况
unauthorized401API 密钥无效或缺失
not_found404资源不存在
rate_limited429请求过多
server_error5xx服务端故障
error其他验证、打包等错误

打包/部署错误使用描述性前缀:"Bundle failed:"、"Module evaluation failed:"、"Validation failed:"。HTTP 传输会强制执行 1MB 请求体限制(413)和 JSON 解析安全检查(400)。脚手架 ABI 获取超时为 10s。

程序化用法

import { createServer } from "@secondlayer/mcp";

const server = createServer();
// Connect to your own transport

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。