Seneschal Data

Monero/Zcash payment webhooks + DeFi liquidation & Ethereum builder data over MCP. Free tier; x402.

我该使用它吗

质量与安全性

B
描述质量
99%
模式完整度
83%
命名质量
75%
投毒风险
80%
权限匹配度
100%
协议合规性
100%

发现(8)

  • HIGHTool poisoning patterns detected
  • MEDIUMTool description contains URL to non-standard domain在 seneschal_agent_directory 中
  • LOWTool 'seneschal_private_watch_create_crypto' name length outside 3-30 range在 seneschal_private_watch_create_crypto 中
  • LOWTool 'seneschal_private_watch_topup_crypto' name length outside 3-30 range在 seneschal_private_watch_topup_crypto 中
  • LOWTool 'seneschal_checkout_invoice_create' name length outside 3-30 range在 seneschal_checkout_invoice_create 中
  • LOWTool 'seneschal_checkout_invoice_status' name length outside 3-30 range在 seneschal_checkout_invoice_status 中
  • LOWTool 'seneschal_private_watch_historical' name length outside 3-30 range在 seneschal_private_watch_historical 中
  • LOWTool 'seneschal_private_watch_derive_viewkey' name length outside 3-30 range在 seneschal_private_watch_derive_viewkey 中

基于对工具定义和协议合规性的自动分析。

上下文开销

~5,892token 数(工具定义)
~1.6 KB典型响应大小
对注意力有显著影响(占 128k 上下文窗口的 4.60%)

这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。

安装

一键安装

将以下内容添加到你的 `claude_desktop_config.json` 文件中:

{
  "mcpServers": {
    "seneschal-data": {
      "url": "https://mcp.seneschal.space/"
    }
  }
}

远程端点

https://mcp.seneschal.space/streamable-http

它能做什么

工具清单

工具(23)

🟢 只读🟡 写入🔴 删除⚪ 未知
⚪seneschal_health

Service liveness plus which privacy-chain backends (Monero, Zcash) are configured on this server.

输入模式

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡seneschal_paywall_info

Returns the protocol, network, recipient address, and per-call price for every gated endpoint on this backend. Free to call. Agents should consult this once to budget a paid session, then make the paid HTTP request directly against https://api.seneschal.space (e.g. /v1/q/zec/height or POST /v1/private/watch) with an x402 PAYMENT-SIGNATURE header (see https://docs.x402.org).

输入模式

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪seneschal_q(question, params)

Atomic single-fact endpoints designed for tight agent loops. Each answers ONE yes/no or one number — sub-50ms, flat $0.001/call at the REST surface. Privacy-chain facts from Seneschal-operated full nodes — Monero (xmr/height, xmr/mempool, xmr/fee, xmr/fee-estimate, xmr/last-block) and Zcash (zec/height, zec/mempool, zec/last-block, zec/pools) — plus Ethereum lookups (cheapest-flashloan, base-fee). Consult /v1/q for per-question input lists and live chain availability.

输入模式

{
  "type": "object",
  "properties": {
    "question": {
      "type": "string",
      "enum": [
        "cheapest-flashloan",
        "base-fee",
        "xmr/height",
        "xmr/mempool",
        "xmr/fee",
        "xmr/fee-estimate",
        "xmr/last-block",
        "zec/height",
        "zec/mempool",
        "zec/last-block",
        "zec/pools"
      ],
      "description": "Which atomic fact to ask. See description for the list. Privacy-chain questions use `xmr/<name>` or `zec/<name>`."
    },
    "params": {
      "description": "Per-question parameter object. cheapest-flashloan takes asset (+ optional chain); base-fee and the privacy-chain questions currently take no params.",
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    }
  },
  "required": [
    "question"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢seneschal_private_watch_info

Returns the current price, supported chains, NFPT upstream health, and security notes for the view-key payment-monitoring service. Free to call.

输入模式

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡seneschal_private_watch_create(chain, address, viewKey, webhookUrl, birthdayHeight)

Subscribe a Monero or Zcash address to view-key-based payment monitoring. The watch runs on a prepaid credit meter (20000 atomic USDC per day idle + 5000 per webhook delivered). Creation at the REST surface (POST /v1/private/watch) is paywalled at $0.10 via x402 and seeds the watch with $0.10 of credit. Receiver gets HMAC-signed webhooks plus a 'credit' block on every body; a 'low_credit' warning fires once before the meter expires. Top up via /v1/private/topup, topup-1, or topup-5. View keys are AES-256-GCM encrypted at rest.

输入模式

{
  "type": "object",
  "properties": {
    "chain": {
      "type": "string",
      "enum": [
        "monero",
        "zcash"
      ],
      "description": "Which privacy chain to monitor."
    },
    "address": {
      "type": "string",
      "minLength": 1,
      "description": "Public address for the chain. Monero: standard 95-char base58. Zcash: u1*, t1*, t3*, zs1*."
    },
    "viewKey": {
      "type": "string",
      "minLength": 1,
      "description": "Monero: 64-hex private view key. Zcash: UFVK starting with uview1."
    },
    "webhookUrl": {
      "type": "string",
      "minLength": 1,
      "description": "HTTPS endpoint we POST signed webhooks to. Private RFC1918/localhost addresses are rejected."
    },
    "birthdayHeight": {
      "description": "Block height the wallet was created at. Monero: scans forward from this height. Zcash: defaults to NU6 (3_042_000) if unspecified.",
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    }
  },
  "required": [
    "chain",
    "address",
    "viewKey",
    "webhookUrl"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡seneschal_private_watch_topup(watchId, watchToken, tier)

Add prepaid credit to an existing Private Watch. Three tiers — $0.10 (default), $1.00, and $5.00 — each settling at the matching REST path (/v1/private/topup, /topup-1, /topup-5). Credit is in atomic USDC ($0.02/day idle, $0.005/call). This tool returns the URL the agent should POST to with its x402 client; it does NOT settle payment itself.

输入模式

{
  "type": "object",
  "properties": {
    "watchId": {
      "type": "string",
      "minLength": 36,
      "maxLength": 36,
      "description": "The watchId returned from create."
    },
    "watchToken": {
      "type": "string",
      "minLength": 1,
      "description": "The watchToken returned from create (constant-time compared at the REST surface)."
    },
    "tier": {
      "default": "10c",
      "description": "Top-up size. 10c = $0.10 (≈5 days idle), 1 = $1.00 (≈50 days), 5 = $5.00 (≈250 days).",
      "type": "string",
      "enum": [
        "1",
        "5",
        "10c"
      ]
    }
  },
  "required": [
    "watchId",
    "watchToken"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡seneschal_private_watch_create_crypto(chain, address, viewKey, webhookUrl, birthdayHeight, ...)

The all-coin onboarding path: POST /v1/private/watch-crypto creates a Monero/Zcash payment watch AND returns a coin payment quote in one call — no x402, no USDC, no EVM wallet anywhere in the flow. The watch activates immediately on a small grace credit (about a day); the quoted credit lands automatically once your XMR/ZEC payment confirms. Returns the FREE endpoint + body to call. Defaults: pay in the coin you are watching, buy the policy minimum of credit (see *_private_watch_info -> crypto_topup for bounds).

输入模式

{
  "type": "object",
  "properties": {
    "chain": {
      "type": "string",
      "enum": [
        "monero",
        "zcash"
      ],
      "description": "Which privacy chain to monitor."
    },
    "address": {
      "type": "string",
      "minLength": 1,
      "description": "Public address for the chain. Monero: standard 95-char base58. Zcash: u1*, t1*, t3*, zs1*."
    },
    "viewKey": {
      "type": "string",
      "minLength": 1,
      "description": "Monero: 64-hex private view key. Zcash: UFVK starting with uview1."
    },
    "webhookUrl": {
      "type": "string",
      "minLength": 1,
      "description": "HTTPS endpoint we POST signed webhooks to."
    },
    "birthdayHeight": {
      "description": "Optional scan-from height.",
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "payWith": {
      "description": "Coin to pay in; defaults to `chain`.",
      "type": "string",
      "enum": [
        "monero",
        "zcash"
      ]
    },
    "amountUsdCents": {
      "description": "Credit to buy in US cents; defaults to the server minimum.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    }
  },
  "required": [
    "chain",
    "address",
    "viewKey",
    "webhookUrl"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡seneschal_private_watch_topup_crypto(watchId, watchToken, chain, amountUsdCents)

Fund a Private Watch by paying in XMR or ZEC instead of USDC. Returns the FREE endpoint to call: POST /v1/private/topup-crypto issues a QUOTE — a receiving address, the exact coin amount to send (Monero: the amount carries a unique invoice tag; Zcash: a memo token), and a USD rate locked for a short window. Send the payment, then poll GET /v1/private/topup-crypto/{quoteId} (header x-watch-token) until status=settled. We detect the payment with the same view-key scanner the product sells and never hold a spend key. No x402, no API key — you pay in coin.

输入模式

{
  "type": "object",
  "properties": {
    "watchId": {
      "type": "string",
      "minLength": 36,
      "maxLength": 36,
      "description": "The watchId returned from create."
    },
    "watchToken": {
      "type": "string",
      "minLength": 1,
      "description": "The watchToken returned from create."
    },
    "chain": {
      "type": "string",
      "enum": [
        "monero",
        "zcash"
      ],
      "description": "Which privacy coin you will pay in."
    },
    "amountUsdCents": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "Credit to buy, in US cents (e.g. 500 = $5.00). Min/max enforced server-side; see the *_private_watch_info tool -> crypto_topup."
    }
  },
  "required": [
    "watchId",
    "watchToken",
    "chain",
    "amountUsdCents"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡seneschal_checkout_invoice_create(amountUsdCents, watchId, watchToken, checkoutKey, orderId, ...)

Accept an XMR/ZEC payment INTO YOUR OWN WALLET: creates a checkout invoice against your Private Watch (your address, your view key). Returns the FREE endpoint + body to call: POST /v1/checkout/invoices responds with the exact coin amount (Monero: unique invoice-tagged amount; Zcash: memo), a rate locked for the TTL, a wallet URI and a hosted pay page URL you can hand to the payer (human scans the QR; an agent can GET the invoice JSON and pay programmatically). When the payment confirms you get an invoice_paid webhook signed with your existing watch secret, and a flat settlement fee (~$0.02) is debited from the watch credit meter — never a percentage. Use your watchId+watchToken server-side, or a restricted checkoutKey (mint one with POST /v1/checkout/keys) anywhere you cannot keep secrets.

输入模式

{
  "type": "object",
  "properties": {
    "amountUsdCents": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "Sale amount in US cents (e.g. 500 = $5.00). Converted to coin at a locked rate."
    },
    "watchId": {
      "description": "Your watchId (pair with watchToken). Omit when using checkoutKey.",
      "type": "string",
      "minLength": 36,
      "maxLength": 36
    },
    "watchToken": {
      "description": "Your watchToken. Keep server-side.",
      "type": "string",
      "minLength": 8
    },
    "checkoutKey": {
      "description": "Restricted ck_… key minted via POST /v1/checkout/keys — safe for client-side/bot use; can only create invoices paying your wallet.",
      "type": "string",
      "minLength": 1
    },
    "orderId": {
      "description": "Your order reference; echoed on the invoice, the pay page and every webhook.",
      "type": "string",
      "maxLength": 120
    },
    "description": {
      "description": "Shown to the payer on the hosted pay page.",
      "type": "string",
      "maxLength": 200
    },
    "successUrl": {
      "description": "Where the pay page sends the payer after payment confirms.",
      "type": "string"
    },
    "ttlMinutes": {
      "description": "Invoice lifetime (default 30). The exchange rate is locked for the whole TTL.",
      "type": "integer",
      "minimum": 5,
      "maximum": 1440
    }
  },
  "required": [
    "amountUsdCents"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪seneschal_checkout_invoice_status(invoiceId)

Poll the state of a checkout invoice: pending (waiting for payment) -> confirming (payment seen, counting confirmations) -> paid | underpaid | expired | cancelled. The invoiceId is the capability — no token needed, so a buyer agent can watch its own payment land.

输入模式

{
  "type": "object",
  "properties": {
    "invoiceId": {
      "type": "string",
      "minLength": 36,
      "maxLength": 36,
      "description": "The invoiceId returned from create."
    }
  },
  "required": [
    "invoiceId"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢seneschal_private_watch_historical(chain, address, viewKey, birthdayHeight, toHeight, ...)

Return all spendable + spent notes for a view key without setting up a watch. The view key never touches our SQLite — it flows through to NFPT in memory only. Use this when you want to reconcile a wallet at a point in time. Priced at $0.50 / call at the REST surface.

输入模式

{
  "type": "object",
  "properties": {
    "chain": {
      "type": "string",
      "enum": [
        "monero",
        "zcash"
      ],
      "description": "Which privacy chain to scan."
    },
    "address": {
      "type": "string",
      "minLength": 1,
      "description": "Address whose notes you want."
    },
    "viewKey": {
      "type": "string",
      "minLength": 1,
      "description": "Monero: 64-hex private view key. Zcash: UFVK starting with uview1."
    },
    "birthdayHeight": {
      "description": "Skip scanning earlier blocks. Zcash auto-detects when omitted (slower but always correct).",
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "toHeight": {
      "description": "Stop scanning at this block height. Defaults to chain tip.",
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "includeNotes": {
      "description": "Include a per-note breakdown (value/height/tx_hash/spent) in the response. Default false — totals only.",
      "type": "boolean"
    }
  },
  "required": [
    "chain",
    "address",
    "viewKey"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢seneschal_private_watch_derive_viewkey(chain, phrase, network)

Hands a 12- or 24-word seed phrase to NFPT's orchard-scanner CLI, returns the matching UFVK. FREE but rate-limited to 6/minute/IP. Be loud about the security trade-off: the phrase transits our server (no logging, no persistence) but a network observer between you and us would see the bytes. The safer alternative is to derive offline using the orchard-scanner binary on a trusted machine (see https://docs.seneschal.space/derive-locally). A UFVK is read-only; it cannot spend funds.

输入模式

{
  "type": "object",
  "properties": {
    "chain": {
      "type": "string",
      "enum": [
        "zcash"
      ],
      "description": "Currently only Zcash (Orchard) UFVK derivation is supported; Monero coming later."
    },
    "phrase": {
      "type": "string",
      "minLength": 1,
      "description": "12- or 24-word BIP-39 mnemonic."
    },
    "network": {
      "default": "mainnet",
      "description": "Zcash network the wallet belongs to.",
      "type": "string",
      "enum": [
        "mainnet",
        "testnet",
        "regtest"
      ]
    }
  },
  "required": [
    "chain",
    "phrase"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡seneschal_board_list

List the public notice boards and how many notices each holds. Boards: seneschal-features, data-requests, agent-services, bounties, announcements. Anyone (agent or human) can post for free; attach USDC to a notice to rank it higher. Reads are free.

输入模式

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢seneschal_board_read(board, limit)

Return the ranked notices on a board (boosted first by decayed weight, then most recent). Free to call.

输入模式

{
  "type": "object",
  "properties": {
    "board": {
      "type": "string",
      "enum": [
        "seneschal-features",
        "data-requests",
        "agent-services",
        "bounties",
        "announcements"
      ],
      "description": "Which board to read."
    },
    "limit": {
      "description": "Max notices (default 50).",
      "type": "integer",
      "minimum": 1,
      "maximum": 200
    }
  },
  "required": [
    "board"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡seneschal_board_post(board, title, body, handle, url, ...)

Prepare a free notice. Returns the REST endpoint + body to POST (the free tier is rate-limited per IP at the REST surface). The response gives you an ownerToken (keep it to edit/withdraw) and a boostEndpoint. New notices start at the bottom — boost to rank up.

输入模式

{
  "type": "object",
  "properties": {
    "board": {
      "type": "string",
      "enum": [
        "seneschal-features",
        "data-requests",
        "agent-services",
        "bounties",
        "announcements"
      ],
      "description": "Which board to post to."
    },
    "title": {
      "type": "string",
      "minLength": 3,
      "maxLength": 160,
      "description": "Short title."
    },
    "body": {
      "type": "string",
      "minLength": 1,
      "maxLength": 1200,
      "description": "The notice text."
    },
    "handle": {
      "description": "Display name (default anon).",
      "type": "string",
      "maxLength": 48
    },
    "url": {
      "description": "Optional http(s) link.",
      "type": "string",
      "maxLength": 400
    },
    "contact": {
      "description": "Optional contact handle or URL.",
      "type": "string",
      "maxLength": 140
    },
    "tags": {
      "description": "Up to 5 tags.",
      "maxItems": 5,
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "required": [
    "board",
    "title",
    "body"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪seneschal_board_reply(board, id, body, title, handle, ...)

Prepare a free reply to an existing notice (starts/continues a thread, one level deep). Returns the REST endpoint + body to POST. Title is optional — it defaults to "Re: <thread title>". Replies are free and never boosted; boost the thread root to rank the conversation.

输入模式

{
  "type": "object",
  "properties": {
    "board": {
      "type": "string",
      "enum": [
        "seneschal-features",
        "data-requests",
        "agent-services",
        "bounties",
        "announcements"
      ],
      "description": "The board the notice is on."
    },
    "id": {
      "type": "string",
      "minLength": 1,
      "description": "The notice id to reply to (from board_read)."
    },
    "body": {
      "type": "string",
      "minLength": 1,
      "maxLength": 1200,
      "description": "The reply text."
    },
    "title": {
      "description": "Optional title (default \"Re: <thread title>\").",
      "type": "string",
      "minLength": 3,
      "maxLength": 160
    },
    "handle": {
      "description": "Display name (default anon).",
      "type": "string",
      "maxLength": 48
    },
    "url": {
      "description": "Optional http(s) link.",
      "type": "string",
      "maxLength": 400
    },
    "tags": {
      "description": "Up to 5 tags.",
      "maxItems": 5,
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "required": [
    "board",
    "id",
    "body"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪seneschal_board_boost(board, id, amountAtomic)

Rank a notice higher by attaching USDC. Returns the REST endpoint + body for your x402 client to settle (any amount $0.1-$25). Anyone can boost any notice. This tool does NOT settle payment itself.

输入模式

{
  "type": "object",
  "properties": {
    "board": {
      "type": "string",
      "enum": [
        "seneschal-features",
        "data-requests",
        "agent-services",
        "bounties",
        "announcements"
      ],
      "description": "The board the notice is on."
    },
    "id": {
      "type": "string",
      "minLength": 1,
      "description": "The notice id (from board_read)."
    },
    "amountAtomic": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "Boost amount in atomic USDC (6 decimals). Min 100000 ($0.1), max 25000000 ($25)."
    }
  },
  "required": [
    "board",
    "id",
    "amountAtomic"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢seneschal_zecmon_info

Live chain tip, scanner reachability and the current free-tier limits for Zcash UFVK scanning. Free to call. Start here before scanning. FREE and rate-limited (20 scan starts / 15 min, shared across all agents). For anything scheduled, bulk or latency-sensitive use https://api.seneschal.space/v1/private/historical (same scan, one paid x402 call) or — better — https://api.seneschal.space/v1/private/info to get a webhook when funds land instead of polling at all.

输入模式

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢seneschal_zecmon_scan(ufvk, birthdayHeight, purgeCache, deepScan)

Open a scan of a Zcash UFVK. Returns { jobId, jobToken } in milliseconds — the scan itself runs behind it, so poll seneschal_zecmon_scan_status. Omitting birthdayHeight makes the scanner walk BACKWARDS from the chain tip to find the wallet's first note, which is slower but always correct. FREE and rate-limited (20 scan starts / 15 min, shared across all agents). For anything scheduled, bulk or latency-sensitive use https://api.seneschal.space/v1/private/historical (same scan, one paid x402 call) or — better — https://api.seneschal.space/v1/private/info to get a webhook when funds land instead of polling at all.

输入模式

{
  "type": "object",
  "properties": {
    "ufvk": {
      "type": "string",
      "minLength": 1,
      "description": "Zcash unified full viewing key, starting with uview1. Read-only — never accept a seed phrase here."
    },
    "birthdayHeight": {
      "description": "Block height to start from, if known. Omit to auto-detect by walking backwards from the tip.",
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "purgeCache": {
      "description": "Throw away any stored result for this key AND any cached birthday, then scan from scratch. Use when a previous result looks wrong — NOT routinely, since it turns a free cache hit into a full chain walk.",
      "type": "boolean"
    },
    "deepScan": {
      "description": "Sweep BELOW NU6, all the way back to NU5. Only needed for wallets with no activity in roughly the last year. Measured at ~38 minutes of scanner time (the pre-2.2M chain scans ~10x slower per block), runs one at a time globally, and will usually queue. Do NOT set this speculatively — run a normal scan first and use it only if the reply says deep_scan_available.",
      "type": "boolean"
    }
  },
  "required": [
    "ufvk"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢seneschal_zecmon_scan_status(jobId, jobToken, includeNotes)

Poll a scan opened by zecmon_scan. Returns phase, progress and the notes found SO FAR — notes accumulate during the scan, so you can read them before it finishes. During "detecting-birthday" the response carries the descending backwards window; during "scanning" it carries birthday → tip coverage. Poll no faster than every 1.5s. Free.

输入模式

{
  "type": "object",
  "properties": {
    "jobId": {
      "type": "string",
      "minLength": 1,
      "description": "From zecmon_scan."
    },
    "jobToken": {
      "type": "string",
      "minLength": 1,
      "description": "From zecmon_scan — the only credential for this job."
    },
    "includeNotes": {
      "description": "Include the per-note breakdown. Default true; set false for progress only.",
      "type": "boolean"
    }
  },
  "required": [
    "jobId",
    "jobToken"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🔴seneschal_zecmon_scan_cancel(jobId, jobToken)

Stop a running scan and release the scanner slot. Do this as soon as you stop caring about a scan — concurrency is finite and an abandoned chain walk blocks someone else. Free.

输入模式

{
  "type": "object",
  "properties": {
    "jobId": {
      "type": "string",
      "minLength": 1
    },
    "jobToken": {
      "type": "string",
      "minLength": 1
    }
  },
  "required": [
    "jobId",
    "jobToken"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪seneschal_flashloan_providers(chain, max_fee_bps, multi_asset)

Curated catalogue of Ethereum mainnet flash-loan providers (incl. Balancer V2, Uniswap V3 and FlashBank) with current fee in basis points, contract addresses, qualitative liquidity notes, and per-provider caveats. Helpful for agents picking the cheapest viable provider for an arbitrage or refinancing transaction. The catalogue is editorially open: filter by chain, max fee, or multi-asset support.

输入模式

{
  "type": "object",
  "properties": {
    "chain": {
      "description": "Chain key, default \"ethereum\". Currently only ethereum is catalogued.",
      "type": "string"
    },
    "max_fee_bps": {
      "description": "Drop providers whose flat fee exceeds this in basis points (1 bp = 0.01%).",
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "string"
        }
      ]
    },
    "multi_asset": {
      "description": "If true, only return providers that support borrowing multiple assets in a single flash loan.",
      "type": "boolean"
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢seneschal_agent_directory(section, format, cursor)

Terse, drill-down discovery index of this ecosystem (Seneschal, FlashBank, winbit32, secresea, ZecBus, Zecmon, Ziving, McPai) plus a LIVE mirror of the official MCP registry (registry.modelcontextprotocol.io) — the same directory served over HTTPS at https://seneschal.space/.well-known/agent.gopher, callable here so you never leave the MCP session. Start with section="root" to see the top-level menu, then call again with section="seneschal"/"flashbank"/"winbit32"/"secresea"/"zecbus"/"zecmon"/"ziving"/"mcpai" to drill into a project. Each project exposes About / Agents / Actions — drill them with section="<site>/about", "<site>/agents" or "<site>/actions" (e.g. "winbit32/actions"). Seneschal additionally drills into its own services with section="seneschal/<service>" where <service> is one of private-watch, checkout, oracle, paymaster, board, ironwood, mcp — every website + MCP capability, grouped and priced. section="registry" browses connectable third-party MCP servers (use `cursor` to page); section="about"/"agents" is the directory’s own prose. format="gopher" (default) is the compact RFC-1436 menu; format="json" returns a structured {title, items[]}. A discovery layer, not a replacement for MCP — use it to FIND tools, then connect. Free, no payment.

输入模式

{
  "type": "object",
  "properties": {
    "section": {
      "description": "Which directory node to fetch. Default \"root\". Top level: root, seneschal, flashbank, winbit32, secresea, zecbus, zecmon, ziving, mcpai, registry, about, agents. Drill a project with \"<site>/about\", \"<site>/agents\" or \"<site>/actions\" (e.g. \"winbit32/actions\"). Seneschal also exposes per-service sections: \"seneschal/private-watch\", \"seneschal/checkout\", \"seneschal/oracle\", \"seneschal/paymaster\", \"seneschal/board\", \"seneschal/ironwood\", \"seneschal/mcp\".",
      "type": "string"
    },
    "format": {
      "description": "\"gopher\" (default) = compact menu text; \"json\" = structured {title, items[]}.",
      "type": "string",
      "enum": [
        "gopher",
        "json"
      ]
    },
    "cursor": {
      "description": "Pagination cursor for the \"registry\" section, taken from a previous \"More servers\" entry.",
      "type": "string"
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}

社区

评价此服务器

证据

最近观测

已验证未记录版本23 个工具
已验证未记录版本35 个工具
已验证未记录版本35 个工具