AI agent'larının Stacks blockchain verilerine erişmesini, subgraph'ları yönetmesini ve bir hosted API veya yerel instance üzerinden webhook'ları yapılandırmasını sağlar.
Ayrıca bilinen adı ryanwaits/secondlayer, @secondlayer/mcp
- Yıldızlar
- 8
- Araçlar
- 2
- İndirmeler, 30 gün
- —
- En son sürüm
- 11.6.6
- Son commit
- 13 Kas 2026
- Lisans
- MIT
secondlayer MCP nedir?
secondlayer bir MCP sunucusudur. AI agent'larının Stacks blockchain verilerine erişmesini, subgraph'ları yönetmesini ve bir hosted API veya yerel instance üzerinden webhook'ları yapılandırmasını sağlar. 2 araç sunar; örneğin fields, count.
Özet, projenin README dosyasından oluşturuldu
secondlayer MCP sunucusu hakkında
Stacks blockchain üzerinde geliştirme yapanlar, AI agent'larına blockchain verilerine ve altyapı yönetimine doğrudan erişim sağlamak için bu sunucuyu kullanabilirler. Agent'ların indeks okumaları yapmasına, subgraph'ların tüm yaşam döngüsünü yönetmesine ve ham zincir olaylarına tepki vermek için webhook'ları yapılandırmasına olanak tanır. Sunucu, tarayıcı üzerinden giriş yapılan bir hosted API'yi ve komut satırı arayüzü ile yönetilen yerel instance'ları destekler.
Kullanıcılar, IDE entegrasyonu için stdio üzerinden bağlanabilir veya uzak kurulumlar için HTTP transport kullanabilirler. Birçok indeks ve kontrat keşif aracı halka açık olsa da, subgraph veya webhook yönetimi yerel kurulumlar için bir INSTANCE_TOKEN veya hosted servis için bir SECONDLAYER_API_KEY gerektirir. Araç seti; subgraph dağıtımı, yeniden indeksleme ve webhook testi gibi yüksek değerli operasyonlara odaklanırken, daha ayrıntılı veri sorgulamaları REST API için ayrılmıştır.
Neler yapabilirsiniz
- 1Subgraph yaşam döngüsünü yönetinBir AI agent, blockchain verilerini düzenlemek için özel subgraph'lar dağıtabilir, yeniden indeksleyebilir veya silebilir.
- 2Webhook yapılandırmalarını otomatize edinGeliştiriciler, belirli kontrat çağrıları veya olayları tetikleyen webhook'lar oluşturması ve test etmesi için bir agent'a talimat verebilir.
- 3Kod çözülmüş blockchain verilerini sorgulayınBir agent, işlemler veya transferler için indeks araçlarını kullanarak çözülmüş satırlardan belirli bilgileri geri getirebilir.
- 4Blockchain arşivlerini doğrulayınSunucu, veri bütünlüğünü sağlamak için agent'ların arşivleri başlatmasına ve doğrulamasına olanak tanır.
Projenin README dosyasından alınmıştır. Her kullanım durumu, oradaki bir alıntı ile kontrol edilir.
secondlayer MCP nasıl yüklenir
Biçimler 10 Kas 2026 tarihinde doğrulandıCursor'a ekleGoose'a eklesecondlayer MCP'yi Claude Code içine yükleyin
$ claude mcp add --env 'SECONDLAYER_API_KEY=<YOUR_SECONDLAYER_API_KEY>' secondlayer -- npx -y @secondlayer/mcpsecondlayer MCP'yi Cursor içine yükleyin
~/.cursor/mcp.json
{
"mcpServers": {
"secondlayer": {
"command": "npx",
"args": [
"-y",
"@secondlayer/mcp"
],
"env": {
"SECONDLAYER_API_KEY": "<YOUR_SECONDLAYER_API_KEY>"
}
}
}
}secondlayer MCP'yi VS Code içine yükleyin
.vscode/mcp.json
{
"servers": {
"secondlayer": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@secondlayer/mcp"
],
"env": {
"SECONDLAYER_API_KEY": "<YOUR_SECONDLAYER_API_KEY>"
}
}
}
}secondlayer MCP'yi VS Code CLI içine yükleyin
$ code --add-mcp '{"name":"secondlayer","type":"stdio","command":"npx","args":["-y","@secondlayer/mcp"],"env":{"SECONDLAYER_API_KEY":"<YOUR_SECONDLAYER_API_KEY>"}}'secondlayer MCP'yi Claude Desktop içine yükleyin
claude_desktop_config.json
{
"mcpServers": {
"secondlayer": {
"command": "npx",
"args": [
"-y",
"@secondlayer/mcp"
],
"env": {
"SECONDLAYER_API_KEY": "<YOUR_SECONDLAYER_API_KEY>"
}
}
}
}secondlayer MCP'yi Codex içine yükleyin
$ codex mcp add secondlayer --env 'SECONDLAYER_API_KEY=<YOUR_SECONDLAYER_API_KEY>' -- npx -y @secondlayer/mcpsecondlayer MCP'yi Codex config.toml içine yükleyin
~/.codex/config.toml
[mcp_servers.secondlayer] command = "npx" args = ["-y", "@secondlayer/mcp"] [mcp_servers.secondlayer.env] SECONDLAYER_API_KEY = "<YOUR_SECONDLAYER_API_KEY>"
secondlayer MCP'yi Gemini CLI içine yükleyin
$ gemini mcp add -s user -e 'SECONDLAYER_API_KEY=<YOUR_SECONDLAYER_API_KEY>' secondlayer npx -- -y @secondlayer/mcpsecondlayer MCP'yi Gemini settings.json içine yükleyin
~/.gemini/settings.json
{
"mcpServers": {
"secondlayer": {
"command": "npx",
"args": [
"-y",
"@secondlayer/mcp"
],
"env": {
"SECONDLAYER_API_KEY": "<YOUR_SECONDLAYER_API_KEY>"
}
}
}
}secondlayer MCP araçları 2
README dosyasından algılandıfieldscount
| fields | — | |
| count | — |
Yapılandırma
SECONDLAYER_API_KEYGizliAccount API key (sk-sl_*) for the hosted API: credits, writes.
INSTANCE_TOKENSECONDLAYER_API_URLInstance API URL. Use https://api.secondlayer.tools for hosted.
SECONDLAYER_MCP_SECRET
| Ad | Açıklama | Sunucu |
|---|---|---|
| SECONDLAYER_API_KEY | Account API key (sk-sl_*) for the hosted API: credits, writes. | Gizli |
| INSTANCE_TOKEN | — | |
| SECONDLAYER_API_URL | Instance API URL. Use https://api.secondlayer.tools for hosted. | |
| SECONDLAYER_MCP_SECRET | — |
Otomatik kontroller
Çalıştırıldı 12 Kas 2026Tam rapor →Otomatik kontrollerimizden geçti. Bu bir güvenlik denetimi değildir: kodu okuyun ve sunucuya ihtiyaç duyduğu en dar erişimi verin. Kontroller nasıl çalışır
- Kaynak deposu bağlantılı ve erişilebilirGeçti
- Açık kaynak lisansı (OSI)Geçti
- Son bir yıl içinde commit veya sürüm mevcutGeçti
- Paket adı popüler bir pakete yakın değilGeçti
- Uzak uç nokta HTTPS kullanıyorGeçti
- Yıkıcı araçlar etiketlenmişGeçti
- Modele yönelik gizli talimat yokGeçti
- Pakette veya bağımlılıklarında kritik uyarı yokGeçti
@secondlayer/mcp
Gives your coding agent direct access to Stacks data, on the hosted API
(api.secondlayer.tools) or on your own instance:
Index (decoded rows), Subgraphs (tables you define, served from your account or instance),
and Streams (raw inputs). Exposes the golden-path tools only: Index reads, the
subgraph lifecycle, webhooks, contract discovery/scaffolding, instance
status, archive verify/bootstrap, and hosted credits/quote. Everything else
(single-record lookups, mempool, PoX, proofs, live Streams reads) is
available over REST /v1 + OpenAPI. There is no consume tool.
Hosted
No install: the hosted API serves the read tools over Streamable HTTP, with a browser sign-in.
claude mcp add --transport http secondlayer https://api.secondlayer.tools/mcp
Clients without OAuth send Authorization: Bearer <sk-sl_ key>. Subgraph
deploys, webhooks, archive, codegen and instance tools are local only. See
/docs/mcp.
Install
bun add @secondlayer/mcp
Auth
Most reads are public: index_* and contracts_find work with no key. Subgraph tools need an INSTANCE_TOKEN past loopback, and so does GET /v1/subgraphs/<name>/<table> over HTTP ({ rows, next_cursor, tip } cursor envelope); on loopback it is open. There is no per-subgraph public or private flag. streams_dumps needs no key: the dumps manifest is public; the tool only needs SL_STREAMS_DUMPS_URL configured. streams_tip is key-mandatory (keyless → 401). Live Streams list reads are REST-only (GET /v1/streams/*). Writes (deploy, reindex, delete, webhooks) need a key, and the key follows the host: on https://api.secondlayer.tools the server uses SECONDLAYER_API_KEY (sk-sl_*) automatically; anywhere else it uses INSTANCE_TOKEN from secondlayer init. Hosted credits/quote use SECONDLAYER_API_KEY too. On the hosted API, subgraph sources are limited to event filters and contract_call/contract_deploy (422 SOURCE_NOT_HOSTABLE otherwise); set startBlock. Read secondlayer://context first: it reports auth state and read-auth tiers.
Quick Start — Stdio (IDE)
Add to your Claude Desktop or Cursor config:
{
"mcpServers": {
"secondlayer": {
"command": "bunx",
"args": ["-p", "@secondlayer/mcp", "secondlayer-mcp"],
"env": {
"SECONDLAYER_API_URL": "http://127.0.0.1:3800",
"INSTANCE_TOKEN": "..."
}
}
}
}
Quick Start — HTTP (Remote)
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
Environment Variables
| Variable | Required | Default | Description |
|---|---|---|---|
INSTANCE_TOKEN |
Writes on your instance | — | From secondlayer init. Required for write tools elsewhere than api.secondlayer.tools; reads are public. Not sent to the hosted API. |
SECONDLAYER_API_KEY |
Hosted API, credits/quote/latest | — | sk-sl_*, used automatically when SECONDLAYER_API_URL is https://api.secondlayer.tools. |
SECONDLAYER_API_URL |
No | http://127.0.0.1:3800 |
Instance API, or https://api.secondlayer.tools for hosted. |
SECONDLAYER_BIN |
CLI tools | secondlayer on PATH |
Path to the CLI binary (bootstrap, repair). |
SECONDLAYER_CWD |
CLI tools | process cwd | Compose project directory. |
SECONDLAYER_MCP_PORT |
No | 3100 |
HTTP transport port. |
SECONDLAYER_MCP_SECRET |
No | — | Bearer token for HTTP auth. Disabled if unset. |
Tools
| Domain | Tools |
|---|---|
| Index (9) | index_events, index_ft_transfers, index_nft_transfers, index_contract_calls, index_blocks, index_transactions, index_print_schema, index_discover, batch_query |
| Subgraphs (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 |
| Streams (2) | streams_tip, streams_dumps |
| Contracts (2) | contracts_find, contracts_get_abi |
| Instance (1) | instance_status |
| Archive (5) | archive_verify, archive_bootstrap, archive_repair, archive_latest, archive_quote |
| Credits (1) | credits_balance (needs SECONDLAYER_API_KEY) |
| Account (4) | account_whoami, account_create_key, account_list_keys, account_rotate_key (only when pointed at https://api.secondlayer.tools) |
Verify after mutating: subgraphs_operations for deploy/reindex/backfill/stop,
webhooks_deliveries for create/test/replay. Empty index:
archive_bootstrap, poll instance_status until decoders are ok, then
archive_verify, then codegen_index_schema.
Periphery surfaces (single block/tx lookups, mempool, PoX, proofs,
credits/caps, live Streams reads/SSE) are REST-only: see the OpenAPI spec at
the API host. Live Streams list reads use GET /v1/streams/events.
Point the server at your instance with SECONDLAYER_API_URL (default
http://127.0.0.1:3800). Writes use INSTANCE_TOKEN from
secondlayer init. account_* tools appear only when the server is pointed at
https://api.secondlayer.tools.
webhooks_create triggers
Webhooks fire on raw chain events. Pass a triggers array (contract / event /
function / trait), e.g. [{ "type": "contract_call", "contractId": "SP....amm", "functionName": "swap-*" }]. To react to subgraph rows, read the
table from your own Postgres or poll the subgraph API.
subgraphs_query enhancements
fields— comma-separated column projection (e.g."sender,amount_x")count— boolean, returns row count instead of rows- Filter operators:
eq,neq,gt,gte,lt,lte,like - Max limit: 200
Resources
| URI | Description |
|---|---|
secondlayer://context |
Live state — what exists (your subgraphs, webhooks, account), what you can do, and read-auth tiers. Read first. |
secondlayer://filters |
Subgraph source filter types and their fields |
secondlayer://column-types |
Column type mappings and options |
secondlayer://traits |
SIP trait standards (valid trait values) |
secondlayer://chain-triggers |
Chain-webhook trigger types and fields |
Error Handling
All tools return structured errors with isError: true:
{ "error": { "type": "not_found", "status": 404, "message": "Subgraph not found" } }
| Error type | Status | When |
|---|---|---|
unauthorized |
401 | Invalid or missing API key |
not_found |
404 | Resource doesn't exist |
rate_limited |
429 | Too many requests |
server_error |
5xx | Server-side failure |
error |
other | Validation, bundling, etc. |
Bundle/deploy errors use descriptive prefixes: "Bundle failed:", "Module evaluation failed:", "Validation failed:". HTTP transport enforces a 1MB body limit (413) and JSON parse safety (400). Scaffold ABI fetch has a 10s timeout.
Programmatic Usage
import { createServer } from "@secondlayer/mcp";
const server = createServer();
// Connect to your own transport
License
MIT
secondlayer MCP soruları
secondlayer MCP'yi Claude Code'a nasıl eklerim?
Terminalinizde claude mcp add --env 'SECONDLAYER_API_KEY=<YOUR_SECONDLAYER_API_KEY>' secondlayer -- npx -y @secondlayer/mcp komutunu çalıştırın. Her projede kullanılabilir olması için --scope user ekleyin.
secondlayer MCP'yi Cursor'a nasıl eklerim?
~/.cursor/mcp.json dosyasını açın ve yukarıdaki yükleme bölümünde gösterilen Cursor yapılandırmasını kullanarak sunucuyu mcpServers altına ekleyin.
secondlayer MCP hangi araçları sunar?
2 araç sunar; bunlar arasında fields, count yer alır.
Tüm araçlar için bir API anahtarına ihtiyacım var mı?
Hayır, index_events ve contracts_find gibi çoğu okuma işlemi halka açıktır ve anahtar gerektirmeden çalışır; ancak subgraph araçları ve yazma işlemleri bir INSTANCE_TOKEN veya API anahtarı gerektirir.
Bunu kendi yerel instance'ımla kullanabilir miyim?
Evet, SECONDLAYER_API_URL ortam değişkenini yapılandırarak sunucuyu kendi instance'ınıza yönlendirebilirsiniz.
secondlayer://context kaynağının amacı nedir?
Mevcut kimlik doğrulama durumunu ve mevcut okuma-yetkilendirme katmanlarını raporlamak için kullanılır.