Seneschal Data

io.github.Rotwang9000由 GitHub 账号 Rotwang9000 发布v0.1.1更新于 Nov 2, 2026

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

已验证Streamable HTTP可网页运行金融安全与监控数据与分析

概览

AI 生成的概览

远程 MCP 服务器,提供 DeFi 清算数据、以太坊区块构建者数据和门罗币/Zcash 支付 webhook,部分工具按次通过 x402 付费。

可以做什么
  • 检查服务健康状态与数据新鲜度,读取汇总统计
  • 查找 Aave、Morpho、Spark、Compound 上可清算的借款人,分页浏览借款人集合,查询单个借款人的最新状态或健康因子历史
  • 查看近期链上清算、以太坊构建者市场份额排行和闪电贷提供方目录
  • 调用付费高级数据:按期望值排序的机会、各构建者出价分布和单事实查询
  • 管理 Private Watch:读取其元数据、用门罗币或 Zcash 查看密钥加 webhook 创建监控、充值额度、获取加密货币充值报价、执行一次性历史扫描
  • 从 BIP-39 助记词派生 Zcash 统一全查看密钥
适用场景
适合需要实时或历史 DeFi 清算与借款人风险数据、以太坊区块构建者市场份额,或门罗币与 Zcash 地址收款监控,且不想自建节点或索引器的场景。
运行要求
远程 Streamable HTTP 端点;免费读取工具无需账号或 API 密钥。付费工具通过 x402 在 Base 上以 USDC 按次结算,需要已充值的钱包和支持 x402 的客户端。Private Watch 需要门罗币或 Zcash 查看密钥以及 webhook 地址。限速为每 IP 每分钟 120 次请求,按 MCP 会话共享。
安装前请注意
多个工具按次收费,Private Watch 按额度计费,代理可能因此产生实际支出。Private Watch 需要把门罗币或 Zcash 查看密钥交给第三方运营者,会暴露收款信息;历史扫描声称不保存密钥。创建监控会登记接收 HMAC 签名事件的 webhook。从助记词派生查看密钥会暴露钱包机密,README 本身也对此发出警告。数据来自单一运营者。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Seneschal Data,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。

交给智能体安装

把这段提示词粘贴到 Claude Code、Codex、Cursor 等智能体,或 SourceWeft 对话中。智能体会读取该服务器的安装指南,先向你展示发布者、端点和登录方式,经你同意后再把它添加到你的客户端。密钥不会写进任何命令。

阅读 https://sourceweft.com/mcp/io.github.Rotwang9000%2Fseneschal-data/install.md,并按其中说明把这个 MCP 服务器接入我的客户端。修改任何配置之前,先告诉我它的发布者、端点和登录方式,等我确认。不要把 API 密钥写进命令或我会提交的文件;问我密钥应从哪里获取。

查看智能体所依据的安装指南

其他 MCP 客户端

把它添加到你客户端的 mcpServers 配置中。

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

README

Seneschal Data API

[ci] [license]

Free, public REST + Model Context Protocol server exposing real-time and historical DeFi liquidation telemetry for Aave, Morpho, Spark and Compound on Ethereum mainnet, plus block-builder market share data from the operator's own slot-by-slot shadow recorder.

Two paid tiers sit on top, both billed per call over x402 micropayments (USDC on Base — no account, no API key):

  • Private Watch (flagship) — give us a Monero or Zcash view key and a webhook URL; we watch the chain on our own full nodes and POST you an HMAC-signed event for every inbound payment. Credit-metered ($0.02/day + $0.005/call), so small receivers pay pennies and you never run a node. Top up in USDC over x402 or pay in Monero/Zcash directly (POST /v1/private/topup-crypto — free quote, no x402, no key; we detect the coin payment with the same view-key scanner the product sells). Drive it from the API, the MCP tools, or the WalletConnect control panel.
  • Premium data — expected-value-ranked liquidation opportunities, per-builder bid distributions, and Penny Oracle atomic single-fact endpoints (DeFi + Monero/Zcash) from $0.001/call.

Live endpoints

WhatURLAuth
REST APIhttps://api.seneschal.spaceNone
MCP (Streamable HTTP)https://mcp.seneschal.spaceNone
Control panel (Private Watch)https://panel.seneschal.spaceWallet
Docshttps://docs.seneschal.space-
Live stats dashboardhttps://stats.seneschal.space-

Rate limit: 120 requests/min/IP at the REST host. The MCP host pipelines requests over a single transport so the same limit applies per session.

Quick start

REST

bash
curl 'https://api.seneschal.space/v1/liquidations/atrisk?max_hf=1.05&min_debt_usd=1000'

MCP — Claude Desktop / Cursor / Continue

Add this to your MCP client config (e.g. ~/.cursor/mcp.json):

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

This server is published to the official MCP Registry as io.github.Rotwang9000/seneschal-data (see server.json), so MCP-aware clients and aggregators can discover it automatically.

Eighteen tools become available to your agent — free read tools, plus paid tools that hand back the exact URL + body to settle over x402:

ToolPurpose
seneschal_healthLiveness + data freshness
seneschal_list_at_risk_borrowersFind liquidatable positions across all DeFi
seneschal_list_borrowersGeneric discovery / pagination over the full borrower set
seneschal_recent_liquidationsRecent on-chain liquidations (won by other liquidators or ourselves)
seneschal_get_borrowerLatest state of one borrower across protocols
seneschal_get_borrower_historyTime-series health-factor traces
seneschal_builder_leaderboardEthereum builder market share (24h, 7d, 30d, all-time)
seneschal_stats_overviewAggregate snapshot powering the public dashboard, incl. operator activity (counts only — no profit fields)
seneschal_flashloan_providersCurated catalogue of mainnet flash-loan providers, incl. LP-side commit-capital paths where applicable
seneschal_paywall_infoFree metadata for the x402 paywall (network, recipient, per-call price)
seneschal_premium_opportunitiesEV-ranked at-risk borrowers with realised market intel (x402, paid)
seneschal_premium_builder_statsPer-builder bid distribution + hourly slot histogram for bundle pricing (x402, paid)
seneschal_qPenny Oracle dispatcher — atomic single facts across DeFi + Monero/Zcash, $0.001/call (x402, paid)
seneschal_private_watch_infoFree metadata for Private Watch: meter, supported chains, NFPT upstream health, security notes
seneschal_private_watch_createSubscribe an XMR/ZEC view key to webhook payment monitoring (x402, paid)
seneschal_private_watch_topupURL + body to top up an existing watch's credit ($0.10 / $1 / $5 tiers)
seneschal_private_watch_topup_cryptoFree quote to top up a watch by paying in Monero/Zcash; poll status until settled (no x402, no key)
seneschal_private_watch_historicalOne-off paid scan returning spendable + spent notes for a view key (x402, paid; key never persists)
seneschal_private_watch_derive_viewkeyFree, rate-limited Zcash UFVK derivation from a BIP-39 mnemonic (with a loud security warning)

REST endpoints

MethodPathNotes
GET/v1/healthLiveness + freshness probe
GET/v1/liquidations/atrisk?protocol&max_hf&min_debt_usd&limit
GET/v1/liquidations/recent?since_ms&protocol&limit
GET/v1/borrowers?protocol&min_hf&max_hf&min_debt_usd&max_debt_usd&sort_by&sort_dir&limit&offset
GET/v1/borrowers/:addressCross-protocol borrower snapshot
GET/v1/borrowers/:address/history`?protocol=aave
GET/v1/builders/leaderboard`?window=24h
GET/v1/stats/overviewAggregate snapshot for dashboards
GET/v1/flashloan/providers?chain&max_fee_bps&multi_asset

Full details, parameter tables, and worked examples at https://docs.seneschal.space.

Why this exists

Seneschal operates an Ethereum block builder (extra_data = Seneschal/0.1) and a vertically-integrated liquidation searcher. The searcher already tracks ~500 Morpho borrowers, 1,300+ Spark borrowers, every Aave V3 mainnet position with non-trivial debt, and the winning builder of every slot since May 2026. Nobody else publishes this combination, so we expose it.

Two protocols, one backend:

  • REST API — dashboards, monitoring tools, anything that speaks HTTP.
  • MCP server — AI agents (Claude, Cursor, Continue, etc.) using the Model Context Protocol.

Local dev

bash
git clone https://github.com/Rotwang9000/seneschal-data-apicd seneschal-data-apinpm installSENESCHAL_MEV_LOGS_DB=/path/to/your-mev-data.sqlite \SENESCHAL_MORPHO_BORROWERS=/path/to/morpho-borrowers.json \SENESCHAL_SPARK_BORROWERS=/path/to/spark-borrowers.json \SENESCHAL_SHADOW_BLOCKS=/path/to/shadow-blocks.jsonl \  node bin/rest.mjs# in another shell:curl http://127.0.0.1:8810/v1/health

Docker

A Dockerfile is provided for self-hosting the MCP server:

bash
docker build -t seneschal-data-api .docker run -p 8811:8811 -v /path/to/your-data:/data seneschal-data-api# point your MCP client at http://localhost:8811/

The data sources are SQLite + JSONL files written by the Seneschal bot. Schemas are documented in src/db.js; if you have your own writer producing the same shapes you can point this server at it.

Tests

bash
npm test

539 jest tests covering the query layer (in-memory SQLite fixtures), the Fastify REST routes (via fastify.inject), the MCP server (both in-process via InMemoryTransport and end-to-end via StreamableHTTPClientTransport), the x402 paywall + bazaar-discovery wiring, the Private Watch credit meter / poller / surge pricing, and the ops watchdog. Plus test/live-smoke.mjs which exercises the live mcp.seneschal.space endpoint over Streamable HTTP.

Architecture

services/data-api/   ← this repository├── bin/│   ├── rest.mjs                  systemd entry — Fastify REST listener│   └── mcp.mjs                   systemd entry — MCP HTTP listener├── src/│   ├── config.js                 env-driven config (ports, paths, limits)│   ├── db.js                     better-sqlite3 read-only handle + JSON cache│   ├── queries.js                pure functions used by both REST and MCP│   ├── rest-server.js            Fastify app: `buildApp()` for tests, `start()` for prod│   └── mcp-server.js             McpServer + StreamableHTTPServerTransport├── docs/                         public docs served at docs.seneschal.space└── test/                         queries / rest-server / mcp-server tests

Shared design rule: both REST and MCP layers are thin wrappers around queries.js. Any new endpoint goes in queries.js first (with tests), then both wrappers in the same commit.

Premium tier (x402 paywall)

src/queries-premium.js plus src/x402.js add per-call payment to a small family of /v1/premium/* endpoints (and seneschal_premium_* MCP tools). The paywall is off unless the operator sets X402_RECIPIENT_ADDRESS. Once set, unsigned requests get HTTP 402 with machine-readable payment requirements, and an x402 facilitator settles a signed EIP-3009 transferWithAuthorization for USDC on Base mainnet.

Configure

Env varDefaultNotes
X402_RECIPIENT_ADDRESS(empty — paywall off)Recipient wallet on the chosen network. 0x-prefixed 20-byte hex.
X402_NETWORKeip155:8453 (Base mainnet)Any CAIP-2 EVM network the facilitator supports.
COINBASE_API_KEY + COINBASE_API_SECRET(empty)Recommended. A CDP API key. When both are set, settlement routes through Coinbase's hosted facilitator (api.cdp.coinbase.com/platform/v2/x402) and the service is auto-listed in the Coinbase x402 Bazaar. No business/KYB verification needed; 1k free settlements/month. Accepts X402_CDP_API_KEY_ID / CDP_API_KEY_ID aliases.
X402_FACILITATOR_URLhttps://facilitator.openx402.aiFallback facilitator used only when no CDP credentials are set.
X402_FEED_PRICE$0.05Money-formatted ($0.05) or atomic units (50000).
X402_PAYWALL_DESCRIPTION…Shown on /, /v1/paywall, and the stats dashboard.
X402_MAX_TIMEOUT_SECONDS120Maximum settlement window per call.

Free metadata endpoint (zero cost, no signature required):

curl https://api.seneschal.space/v1/paywall

returns the live network/recipient/price/route table so agents can budget a session before opening a paid request.

Support

  • Per-call payments (preferred for agents): pay $0.05 USDC on Base to call GET /v1/premium/opportunities. See /v1/paywall for the live recipient + rails.
  • GitHub Sponsors: the Sponsor button at the top of the repo (.github/FUNDING.yml).
  • Direct tips: ETH / BTC addresses are surfaced on stats.seneschal.space once the operator sets SENESCHAL_DONATE_ETH / SENESCHAL_DONATE_BTC.
  • Questions / allow-list bumps: Telegram @OrknetP.

Seneschal runs on a single Helsinki box; every cent helps keep it online.

License

MIT — see LICENSE.

Operator contact

Seneschal is a single-operator Ethereum block builder and searcher running an rbuilder fork from a co-located server in Helsinki. Builder on-chain extra_data is Seneschal/0.1. Contact @OrknetP on Telegram (checked periodically).

来源:README.md,提交 c4d1f97

工具

0
SourceWeft 尚未读取此服务器的工具。

版本历史

1
  1. v0.1.1最新Sep 16, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通必需25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式必需10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分