SaturnZap

io.github.lqwdtech由 GitHub 账号 lqwdtech 发布v1.4.1更新于 Oct 24, 2026

Non-custodial Bitcoin Lightning (LDK) wallet for AI agents — pays L402 APIs from CLI or MCP.

已验证STDIO仅桌面金融开发者工具

概览

AI 生成的概览

让助手运行自托管的比特币闪电网络钱包:查看余额、开通通道、收发付款,并支付受 L402 保护的 API。

可以做什么
SaturnZap 是一个非托管的闪电网络钱包,在本机运行自己的 LDK 节点,并通过 stdio 暴露 25 个 MCP 工具。工具覆盖节点生命周期、钱包余额与地址、对等节点、通道、BOLT11 发票与付款、keysend、L402 fetch(自动识别 HTTP 402、支付发票、重试请求)以及流动性管理。所有命令输出结构化 JSON,也可直接调用命令行。
适用场景
当助手需要在没有托管方的情况下持有并花费比特币(闪电网络),或需要自主支付受 L402 保护的 API 时使用。适合需要机器可读输出、无需交互提示的智能体运行时和自动化流水线。
运行要求
桌面本地进程:Python 3.12 及 saturnzap 包(uv 或 pip;ldk-node 轮子来自 GitHub 发布而非 PyPI)。需要环境变量 SZ_PASSPHRASE 解密本地钱包种子,需要出站网络访问以进行 Esplora 链同步和连接对等节点,并需要链上或闪电资金来开通通道。可选:SZ_MCP_MAX_SPEND_SATS、SZ_MCP_DAILY_SPEND_SATS、SZ_REGION、SZ_MAINNET_CONFIRM。
安装前请注意
它操作真实资金:付款、keysend、开通通道和链上转账都会动用资金,主网支出确认可用 --yes 或 SZ_MAINNET_CONFIRM=yes 跳过。BIP39 种子以加密形式存放在本机并由 SZ_PASSPHRASE 解锁,丢失口令或种子即丢失资金;新的 MCP 钱包需要助记词备份。默认与 LQWD 节点建立对等连接,该商业 LSP 通过路由费和通道租赁费获利,链上数据会发送到第三方 Esplora 端点。

安装

在 SourceWeft 中

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

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

[SaturnZap]

A lightweight, CLI-first, non-custodial Lightning Network wallet built for autonomous AI agents.
Self-sovereign. Runs its own Lightning node. No full Bitcoin node required.

[CI] [PyPI] [Python versions] [License: MIT]

bash
# One-line install (handles uv + the vendored ldk-node wheel)curl -LsSf https://raw.githubusercontent.com/lqwdtech/SaturnZap/main/install.sh | sh
export SZ_PASSPHRASE="your-secure-passphrase"sz setup --auto                  # Generate seed + start node + pick LQWD peersz service install               # Keep the node running across rebootssz connect-info --check          # Share the URI with peers/LSPs
Or install with uv tool directly
bash
uv tool install saturnzap \  --find-links https://github.com/lqwdtech/SaturnZap/releases/expanded_assets/v1.4.1

The --find-links flag is required because ldk-node==0.7.0.post1 is not yet on PyPI; the SaturnZap GitHub Release ships the vendored wheel.

bash
sz pay --invoice lnbc1... --max-sats 500sz fetch https://api.example.com/data --max-sats 100

What is SaturnZap?

SaturnZap is an open-source Lightning wallet designed from the ground up for AI agents operating without human supervision. The agent installs SaturnZap, initializes its own Lightning node, opens channels to any peer on the network, sends and receives Bitcoin payments, and autonomously pays for L402-gated APIs.

SaturnZap is a CLI tool. It is not a hosted wallet, not a custodial service, and not a web application. Keys live on the agent's machine. The agent IS the Lightning node.

Two ways to integrate:

  • CLI — call sz commands from any language, parse JSON from stdout
  • MCP Server — connect AI agents directly via Model Context Protocol (stdio)

Documentation: See the docs/ folder for detailed guides on getting started, configuration, MCP server integration, architecture, and JSON API reference.


Business Model

SaturnZap has two layers:

CLI — Open Source (MIT)

The sz command-line tool is free and open source under the MIT license. Anyone can install it, fork it, audit it, and build on it. There is no licensing fee, no API key required to use the software itself, and no telemetry.

LQWD (LSP)

SaturnZap ships pre-configured to use LQWD Technologies as its default Lightning Service Provider (LSP). LQWD operates 18 Lightning nodes across 18 countries with deep global channel liquidity.

When an agent uses LQWD's infrastructure, LQWD earns through:

  • Routing fees — sats earned as payments route through LQWD nodes
  • Channel leasing — fees for opening and providing inbound liquidity to agents
  • Managed connectivity — premium peering and reliability for agents that need it

LQWD is the default, not a requirement. Agents can open channels to any node on the Lightning Network. SaturnZap never enforces LQWD usage. LQWD competes on quality — 18-country coverage, deep liquidity, fast channel opens — not on lock-in.

This model mirrors how open-source software with cloud backends works: the tool is free, the infrastructure is the business.


Key Properties

  • Non-custodial — BIP39 seed lives encrypted on the agent's machine. SaturnZap never holds, transmits, or has access to private keys.
  • No full Bitcoin node — Esplora REST API provides chain data with automatic fallback (LQWD → blockstream.info → mempool.space). No bitcoind required.
  • Peer-agnostic — Open channels to any Lightning node. LQWD is a smart default with global reach, but the agent controls its own peer relationships entirely.
  • JSON-first — Every command writes structured JSON to stdout. Errors go to stderr. Designed for machine consumption from day one.
  • MCP-native — Built-in MCP server exposes 25 tools over stdio. Connect Claude, Cursor, VS Code, or any MCP-compatible agent with a single config block.
  • Autonomous — No interactive prompts in normal operation. Designed to run inside agent runtimes, shell scripts, and orchestration pipelines. (Mainnet spending commands prompt for confirmation unless --yes is passed.)

Architecture

Full architecture details: docs/architecture.md

Component Map

┌─────────────────────────────────────────────────────────┐│                    Integration Layer                    ││                                                         ││  sz CLI          MCP Server         OpenClaw Skill      ││  (typer)         (FastMCP/stdio)    (gateway)           ││      │               │                  │               ││      └───────────────┼──────────────────┘               ││                      │                                  ││              ┌───────▼───────┐                          ││              │  IPC Client   │  (auto-detect daemon)    ││              └───────┬───────┘                          │└──────────────────────┼──────────────────────────────────┘                       │ Unix Domain Socket (sz.sock)┌──────────────────────▼──────────────────────────────────┐│           Daemon (sz start — foreground, blocks)         ││                                                         ││  IPC Server (asyncio) ─── Wallet Core                   ││  23 JSON methods          node.py, payments.py, l402.py ││  threading.Lock           liquidity.py, keystore.py     ││  0600 socket perms        lqwd.py, config.py, output.py ││                           ipc.py                        │└──────────────────────┬──────────────────────────────────┘                       │┌──────────────────────▼──────────────────────────────────┐│                    LDK Node                             ││  - Full Lightning protocol implementation               ││  - Esplora chain sync (LQWD → blockstream → mempool)   ││  - BIP39 key management                                 ││  - Peer connections and channel state machine           │└──────────────┬────────────────────────┬─────────────────┘               │                        │┌──────────────▼──────────┐  ┌──────────▼──────────────────┐│   LQWD Global Nodes     │  │   Any Lightning Node        ││   (default — 18 nodes,  │  │   (agent can peer with      ││   18 countries, deep    │  │   any public node on the    ││   liquidity, LSPS)      │  │   Lightning Network)        │└─────────────────────────┘  └─────────────────────────────┘

Key Design Decisions

Unix Domain Socket IPC

The daemon (sz start) owns the LDK node and exposes 23 methods over a Unix Domain Socket at ~/.local/share/saturnzap/<network>/sz.sock. CLI commands, the MCP server, and OpenClaw automatically detect the daemon and route through IPC — no port conflicts, no database locks. If no daemon is running, commands fall back to starting an ephemeral node.

Esplora chain sync with fallback

LDK Node syncs chain data via Esplora (block explorer REST API). No external Bitcoin node is needed. SaturnZap ships with a fallback chain — if the primary Esplora server is unreachable, it automatically probes alternatives (LQWD, blockstream.info, mempool.space) and connects to the first healthy endpoint. First sync takes a few minutes on a fresh install; subsequent starts are near-instant.

LQWD as default LSP

On mainnet, fresh installs peer with LQWD-AI-Grid by default — LQWD's agent-focused LSP node that supports LSPS1 and LSPS2 (JIT channels). The node auto-opens a channel back on first peer contact, so a new wallet can start receiving inbound liquidity without needing on-chain funds first. The 18-region geographic fleet is still embedded and available: set SZ_REGION=NEAREST to fall back to timezone-based selection (e.g. LQWD-England from UTC, LQWD-Japan from JST), or SZ_REGION=CA / --region CA to pin a specific region.

Peer-agnostic after init

After the initial channel, agents use standard Lightning channel open flows to peer with anyone. SaturnZap has no routing logic that artificially prefers LQWD — Lightning pathfinding selects the best route. LQWD nodes appear as attractive routes naturally because of their connectivity and capacity across 18 countries.

JSON-first, non-interactive by default

All commands are designed for non-interactive execution. No spinners that break pipe parsing. Pass --pretty for human-readable output in a TTY. Default is always clean JSON.

One exception for safety: mainnet spending commands (send, pay, keysend, channels open) show a [y/N] confirmation. Skip it with --yes or SZ_MAINNET_CONFIRM=yes in automation. Signet and testnet never prompt.

Autonomous channel management

SaturnZap monitors channel health. When configured, it automatically opens new channels when outbound liquidity drops below a threshold, and requests inbound liquidity from the configured LSP when needed. Agents can run indefinitely without manual intervention.


Technology Stack

ComponentLibraryNotes
LanguagePython 3.12Type hints throughout
Lightning nodeldk-node 0.7.0LDK Node Python bindings, Neutrino built-in
CLI frameworktyperClean API, auto-generated help
HTTP clienthttpxUsed for L402 interceptor
Config storageplatformdirs + TOMLOS-appropriate config paths
Key encryptioncryptographyFernet encryption for seed file
BIP39mnemonicSeed phrase generation
Package manageruvFast, modern Python tooling
MCP servermcp ≥1.26Model Context Protocol for AI agent integration
TestingpytestUnit + integration, 395+ tests
LintingruffFast Python linter and formatter

LQWD Node Directory

Embedded in SaturnZap as trusted default peers. On sz init or sz channels open --lsp lqwd, the nearest node is auto-selected by comparing the system's UTC offset against each node's timezone — smallest offset difference wins. Override with SZ_REGION env var or --region flag. Full pubkeys and connection strings are in src/saturnzap/lqwd.py.

AliasRegion
LQWD-CanadaCA
LQWD-SwedenSE
LQWD-FranceFR
LQWD-EnglandGB
LQWD-JapanJP
LQWD-AustraliaAU
LQWD-BrazilBR
LQWD-BahrainBH
LQWD-SingaporeSG
LQWD-SouthAfricaZA
LQWD-HongKongHK
LQWD-SouthKoreaKR
LQWD-IndonesiaID
LQWD-IrelandIE
LQWD-ItalyIT
LQWD-GermanyDE
LQWD-IndiaIN
LQWD-US-WestUS

Full pubkeys and host:port connection strings are in src/saturnzap/lqwd.py. Signet/testnet node details maintained separately for development.


CLI Reference

Full JSON API reference: docs/json-api-reference.md

Binary: sz

All commands output JSON to stdout. Errors exit with code 1, written to stderr.

Global options:

bash
sz --network bitcoin|signet|testnet <command>   # Select Bitcoin network (default: bitcoin)sz --pretty <command>                             # Pretty-print JSON output

Node

bash
sz init                          # Generate seed, start node, peer with nearest LQWD nodesz init --for-lqwd-faucet        # Mainnet preset: sets a readable alias for LQWDClawsz setup                         # Guided first-run: init + address (idempotent)sz setup --auto                  # Non-interactive: init + address + request inbound from LQWDsz start                         # Foreground daemon — blocks until SIGTERM/SIGINT (systemd-friendly)sz start --foreground            # Legacy: print status and exit (non-persistent)sz stop                          # Stop the node daemonsz stop --close-all              # Cooperatively close all channels, then stopsz status                        # Node pubkey, sync state, peer/channel countssz connect-info --check          # Connection URI + external reachability probe

Wallet

bash
sz address                       # New on-chain receiving addresssz send <address>                # Send all on-chain sats to addresssz send <address> -a 50000       # Send specific amount on-chainsz send <address> --yes          # Skip mainnet confirmation promptsz balance                       # Onchain + lightning balances, per-channel breakdownsz transactions --limit 20       # Payment history

Peers

bash
sz peers listsz peers add <pubkey>@<host>:<port>sz peers remove <pubkey>
# Anchor-reserve waiver / 0-conf — applied on next node start.# The LQWD fleet is trusted by default on mainnet.sz peers trust <pubkey>sz peers untrust <pubkey>sz peers trusted-list

Config

bash
sz config list                         # Show current config + known keyssz config get node.aliassz config set node.alias "my-agent"    # Persists to ~/.config/saturnzap/config.tomlsz config set node.listen_port 9735sz config unset esplora_url

Channels

bash
sz channels list
# Open to any nodesz channels open --peer <pubkey>@<host>:<port> --amount-sats 100000
# Open via LQWD — nearest node automatically selectedsz channels open --lsp lqwd --amount-sats 100000
# Open via LQWD in a specific regionsz channels open --lsp lqwd --region JP --amount-sats 100000
# Skip mainnet confirmation (for automation)sz channels open --lsp lqwd --amount-sats 100000 --yes
# Force a private channel (default is auto-announce when reachable)sz channels open --lsp lqwd --amount-sats 100000 --no-announce
sz channels close --channel-id <id>sz channels close --channel-id <id> --force
# Wait for a channel to become usable (blocks until ready or timeout)sz channels wait --channel-id <id> --timeout 300

Payments

bash
sz invoice --amount-sats 1000 --memo "for data"sz invoice --amount-sats 1000 --wait    # Block until paid or expiredsz pay --invoice lnbc1...sz pay --invoice lnbc1... --max-sats 500    # spending cap for agent safetysz pay --invoice lnbc1... --yes             # skip mainnet confirmationsz keysend --pubkey <pubkey> --amount-sats 100sz keysend --pubkey <pubkey> --amount-sats 100 --yes

L402 — Autonomous API Payments

bash
# Auto-detects HTTP 402, pays invoice, retries request, returns bodysz fetch https://api.example.com/data
# With per-request spending capsz fetch https://api.example.com/data --max-sats 100
# With custom headerssz fetch https://api.example.com/data --header "X-Custom: value"

Liquidity

bash
sz liquidity statussz liquidity request-inbound --amount-sats 500000

Service Management

bash
sz service install               # Install + start systemd unit (recommended for persistence)sz service status                # Check service statussz service uninstall             # Stop and remove systemd service

Once installed, the LDK node stays up across reboots and every sz command routes through the daemon's IPC socket — no per-command startup overhead.

MCP Server

bash
sz mcp                           # Start MCP server on stdio (for AI agent integration)

Or use the standalone entry point:

bash
sz-mcp                           # Same as sz mcp

Agent configuration (Claude Desktop, Cursor, VS Code, etc.):

json
{  "mcpServers": {    "saturnzap": {      "command": "sz",      "args": ["mcp"],      "env": {        "SZ_PASSPHRASE": "your-passphrase"      }    }  }}

The MCP server exposes 25 tools covering node lifecycle, wallet, peers, channels, payments, L402 fetch, and liquidity management. Set SZ_MCP_MAX_SPEND_SATS to adjust its default 1,000-sat per-request ceiling; SZ_MCP_DAILY_SPEND_SATS adjusts the persistent 10,000-sat rolling daily ceiling. Caps include routing fees and follow requests through the daemon. New MCP wallets require a private operator-configured mnemonic backup, and sweeps require explicit permission. See spending policy and the 1.4.0 upgrade guide.


JSON Output Format

sz balance

json
{  "status": "ok",  "network": "signet",  "onchain_sats": 0,  "lightning_sats": 45000,  "channels": [    {      "channel_id": "abc123",      "peer_pubkey": "036491...",      "peer_alias": "LQWD-Canada",      "capacity_sats": 100000,      "outbound_sats": 45000,      "inbound_sats": 55000,      "state": "open"    }  ]}

sz pay

json
{  "status": "ok",  "network": "signet",  "payment_hash": "def456...",  "amount_sats": 1000,  "fee_sats": 1,  "duration_ms": 342}

sz fetch (L402 flow)

json
{  "status": "ok",  "network": "signet",  "url": "https://api.example.com/data",  "payment_hash": "ghi789...",  "amount_sats": 10,  "fee_sats": 1,  "http_status": 200,  "body": {}}

Error (any command)

json
{  "status": "error",  "code": "INSUFFICIENT_OUTBOUND_LIQUIDITY",  "message": "Not enough outbound liquidity. Available: 200 sats, required: 1000 sats."}

Exit Codes

CodeMeaning
0Success
1General error
2Node not running — run sz start
3Insufficient funds
4Channel not found
5Peer unreachable
6Invoice expired or invalid
7LSP request failed

Project Structure

/├── README.md├── LICENSE                        # MIT├── pyproject.toml                 # Package definition, sz entry point├── uv.lock├── .env.example                   # Environment variable template│├── docs/│   ├── getting-started.md         # Installation and first-run guide│   ├── configuration.md           # Config file and env var reference│   ├── mcp-server.md              # MCP server setup and tool reference│   ├── architecture.md            # Design decisions and component map│   └── json-api-reference.md      # Full JSON shapes for all commands│├── src/│   └── saturnzap/│       ├── __init__.py│       ├── cli.py                 # Typer app — all sz commands│       ├── node.py                # LDK Node lifecycle + channels + peers│       ├── payments.py            # Send / receive / invoice / keysend│       ├── l402.py                # L402 HTTP interceptor│       ├── liquidity.py           # Channel health scoring + recommendations│       ├── keystore.py            # BIP39 seed, Fernet encryption│       ├── lqwd.py                # LQWD node directory (18 regions)│       ├── config.py              # Config paths, Esplora fallback, TOML loader│       ├── mcp_server.py          # MCP server — 25 tools for AI agents│       ├── service.py             # Systemd service generator│       └── output.py              # JSON output, TTY detection, --pretty│├── tests/│   ├── test_cli.py                # CLI smoke tests│   ├── test_keystore.py           # Seed encryption│   ├── test_node.py               # Node lifecycle + channel rejection│   ├── test_ipc.py                # IPC layer│   ├── test_payments.py           # Payment helpers│   ├── test_l402.py               # L402 parsing│   ├── test_liquidity.py          # Health scoring│   ├── test_config.py             # Config + env vars│   ├── test_mcp_server.py         # MCP server│   ├── test_backup.py             # Backup/restore│   ├── test_service.py            # Systemd service│   ├── test_lqwd.py               # LQWD directory│   ├── test_output.py             # JSON output│   ├── integration/               # Multi-command flows│   ├── security/                  # Input validation, spending guards│   ├── reliability/               # Edge cases, concurrency│   ├── ux/                        # Agent workflow scenarios│   └── live/                      # Droplet tests (@live marker)│├── skills/│   └── saturnzap/│       ├── SKILL.md               # OpenClaw skill definition│       └── references/│           └── json-contracts.md  # Full JSON output reference│├── vendor/│   └── ldk_node-0.7.0.post1-py3-none-linux_x86_64.whl  # LDK Node Python bindings (Linux x86_64)│├── security/│   ├── security_scan.py│   └── profiles/│       └── saturnzap.yaml│├── hooks/│   ├── pre-commit│   └── pre-push│└── .github/    └── workflows/        ├── ci.yml                 # Lint + test on push/PR        └── publish.yml            # PyPI publish on version tags

Development Environment

OSUbuntu 24.04 (DigitalOcean Droplet, 2GB RAM / 2 vCPU)
EditorVS Code via Remote SSH
Python3.12
NetworkBitcoin mainnet (default) / signet / testnet — selectable via --network
Chain sourceEsplora REST API with automatic fallback chain
LQWD nodes18 regions, pubkeys embedded in src/saturnzap/lqwd.py

Droplet Setup

bash
# Install uvcurl -LsSf https://astral.sh/uv/install.sh | shsource $HOME/.local/bin/env
# Clone and installgit clone https://github.com/lqwdtech/SaturnZapcd saturnzapuv venvsource .venv/bin/activateuv sync
# Runsz --help

Install from PyPI

bash
# Quick path: one-line installer (handles uv + the vendored ldk-node wheel)curl -LsSf https://raw.githubusercontent.com/lqwdtech/SaturnZap/main/install.sh | sh
# Manual path: ldk-node is not yet on PyPI — use --find-links to pull it from GitHub Releasespip install saturnzap --find-links https://github.com/lqwdtech/SaturnZap/releases/expanded_assets/v1.4.1
# Or with uvuv pip install saturnzap --find-links https://github.com/lqwdtech/SaturnZap/releases/expanded_assets/v1.4.1

Development Phases

Phase 1 — Node Foundation ✅

sz init, sz start, sz stop, sz status

BIP39 seed generation, encrypted storage, LDK Node startup, Esplora chain sync, auto-peer with nearest LQWD node, JSON output infrastructure.

Phase 2 — Channel Management ✅

sz channels, sz peers, sz address, sz balance

Open channels to any node. LQWD LSP-assisted channel opens. LQWD node directory embedded (18 regions, timezone-based auto-selection). Channels are announced to the public gossip graph by default when the node is reachable from the internet, turning agents into public routing nodes automatically. Channel list and close.

Phase 3 — Payments ✅

sz invoice, sz pay, sz keysend, sz transactions

Full BOLT11 send and receive. Variable-amount invoices. Keysend. Transaction history with sorting and pagination.

Phase 4 — L402 ✅

sz fetch

HTTP client with 402 detection, invoice extraction, auto-pay, request retry. Per-request spending caps. Token caching to avoid re-paying the same resource.

Phase 5 — Liquidity Intelligence ✅

sz liquidity

Channel health monitoring with 0-100 scoring. Actionable recommendations. Inbound liquidity requests via LQWD. Geography-aware peer selection across 18 regions.

Phase 6 — Packaging and Integration ✅

pip install saturnzap / uv add saturnzap / sz mcp

MCP server with 25 tools. Esplora fallback chain. GitHub Actions CI/CD. PyPI packaging. OpenClaw skill definition. Security scanner (Grade A+).

Phase 7 — Mainnet Support ✅

sz --network bitcoin

Network selection via CLI flag (--network signet|testnet|bitcoin), config.toml, or default. Network-namespaced data directories isolate wallets per network. Real LQWD mainnet node directory (18 nodes). Mainnet safety confirmation prompt on spending commands, skippable with --yes flag or SZ_MAINNET_CONFIRM=yes. Network field included in all JSON responses.

Upcoming

  • PyPI publish (trusted publisher workflow ready)
  • Docker image
  • OpenClaw ClawHub listing

Responsible Use

SaturnZap is non-custodial software. You hold your own keys, and you are solely responsible for your funds. It is provided under the MIT license on an "as is" basis — the usual open-source terms apply. A few practical suggestions:

  • Start with small amounts on mainnet while you get comfortable with the tooling.
  • Back up your seed phrase somewhere safe and offline. Without it, there is no recovery path.
  • Use --network signet for development and integration testing — signet coins are free and isolated from your mainnet wallet.
  • Set spending caps (--max-sats, SZ_CLI_MAX_SPEND_SATS, SZ_MCP_MAX_SPEND_SATS) when running autonomous agents.

See SECURITY.md for the threat model and disclosure policy.


License

MIT License. See LICENSE.

The SaturnZap CLI is free and open source. LQWD infrastructure services are commercial. Using SaturnZap with non-LQWD peers requires no agreement with LQWD Technologies.


About LQWD

LQWD Technologies Corp (TSXV: LQWD | OTCQX: LQWDF) is a publicly traded Lightning Network infrastructure company. LQWD operates 18 Lightning nodes across 18 countries, providing routing infrastructure, liquidity services, and LSP connectivity for agents and developers building on Bitcoin's Lightning Network.

来源:README.md,提交 6df9882

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

2
  1. v1.4.1最新Sep 26, 2026
  2. v1.3.2Sep 16, 2026

评分

已满足适用检查项的 50%

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

  • 近 30 天内可连通25 分

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

  • 已声明认证方式10 分

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

  • 已列出工具15 分

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

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