MCP

给 Code Agent 的两套面:公网远程 guidance MCP(Cloudflare)与包装产品 CLI 的本地 stdio MCP。

ProofForge 提供 MCP-V0:代理可检索文档、选择 target,并在本地执行 doctor/install/build,而无需重实现 solc/leo/nargo。

远程边缘仅做 guidance。编译、私钥与 broadcast 仍在开发机,通过 stdio MCP 或 pf CLI 完成。

远程 · Streamable HTTP

Cloudflare Workers MCP

公网端点(v0 无 API key)。文档、catalog、agent 指令、CLI 速查、Aleo 线上 demo 链接。形态对齐 Solana Developer MCP。

本地 · stdio

Python stdio MCP-V0

为 list-targets、doctor、install、build、inspect、local 启动 proof-forge-next。仅 Python 标准库,无额外 pip 依赖。

tools/mcp/proof_forge_mcp_server.py

边界(先读)

  • 远程 Worker 不 spawn Lean/CLI、不持钥、不 broadcast。
  • MCP 无默认网络 broadcast;产品 CLI network --broadcast 须显式调用。
  • Tool Lock 安装绝不 PATH 回退进 PROOF_FORGE_TOOL_ROOT。
  • 成功不等于 formal / hermetic / 主网 / deployable=true 证据。
  • design-only targets(soroban、icp、openvm)不支持 install。

接入 — 远程

把 Codex、Claude Code 或 mcp-remote 指到公网 /mcp。

# Codex
codex mcp add proof-forge-mcp --url https://proof-forge-mcp.davirain-yin.workers.dev/mcp

# Claude Code
claude mcp add --transport http proof-forge-mcp https://proof-forge-mcp.davirain-yin.workers.dev/mcp

# Cursor / generic local proxy
npx -y mcp-remote https://proof-forge-mcp.davirain-yin.workers.dev/mcp

远程工具(guidance)

边缘工具仅返回文本/JSON 指引。

工具用途
pf_health能力探测:传输层、边界、线上 demo 链接。
pf_list_docs列出打包的产品文档(供 pf_get_doc 的 id)。
pf_get_doc按 id 取回打包文档(安装面、playbook、钱包指南、catalog 等)。
pf_search_docs在打包文档中关键词搜索(Aleo、pf CLI、安装、钱包、targets)。
pf_chain_catalog链客户端 catalog:targets、成熟度、frontendClients / frontendTemplate。
pf_target_info单个 target 说明:catalog 行 + 推荐本地 pf 命令。
pf_agent_instructions给 Code Agent 的规范指令(优先于模型记忆)。
pf_cli_cheatsheet简短 pf / proof-forge-next 命令序列。
pf_aleo_live_demo已发布的 Aleo Testnet 证据(程序、交易、浏览器、asciinema)。

边缘打包的文档

部署时快照;仓库 docs/ 仍是权威源。用 pf_list_docs / pf_get_doc / pf_search_docs。

  • 01-toolchain-install-surface.md

    安装阶梯 → 本机验证 → SDK / MCP

  • 02-external-program-v1.md

    外部 ProgramV1:写合约 → build → inspect

  • 03-hello-dapp-agent-playbook.md

    Hello dApp:Code Agent 剧本(后端 + 制品)

  • 04-chain-client-catalog.md

    多链客户端 / 前端 catalog

  • 05-distribution-and-packages.md

    分发:CLI · Lean 包 · 宿主 SDK/MCP

  • 07-aleo-dapp-frontend-wallet.md

    Aleo dApp 前端:Wallet Adapter · Provable SDK · 与 PF 分工 · 模板

  • aleo-testnet-walkthrough.md

    Demo:Aleo pf 走查(本地 → Testnet)

  • chain-client-catalog.v1.json

    chain-client-catalog.v1

  • mcp-stdio-readme.md

    Stdio MCP-V0 说明

新增 · FCCP 配套

Aleo dApp 前端(Wallet Adapter)

远程 MCP 打包 PRODUCT-ALEO-DAPP-FRONTEND-WALLET,并指向仓库模板 templates/aleo-dapp-ui(钱包 + StateCell UI)。PF 不 vendor/pin @provablehq 包,也不在浏览器代签。

pf_get_doc · 07-aleo-dapp-frontend-wallet.md

新增 · 仓库模板

templates/aleo-dapp-ui

最小 React + Vite UI:把 pf deploy 的 program id 接到官方 Provable Wallet Adapter。默认程序为线上 Testnet demo。不进入 Tool Lock pin。

templates/aleo-dapp-ui

在 GitHub 打开 →
  • React + Vite · AleoWalletProvider + WalletMultiButton
  • Leo / Puzzle / Shield 钱包适配
  • 对 StateCell 形态程序 initialize / increment
  • 经 explorer REST 刷新 public mapping
  • 浏览器不内嵌私钥

快速开始

cd templates/aleo-dapp-ui
cp .env.example .env          # edit VITE_ALEO_PROGRAM_ID if needed
npm install
npm run dev
# → http://127.0.0.1:5173

环境变量(仅公开)

变量默认含义
VITE_ALEO_PROGRAM_IDpfdemo336641.aleo链上 program id
VITE_ALEO_NETWORKtestnettestnet | mainnet | canary
VITE_ALEO_APIhttps://api.explorer.provable.com/v1Explorer REST 基址
VITE_ALEO_FEE_MICROCREDITS100000execute 的 public fee 提示

期望程序形态(StateCell twin)

  • initialize(public u64)
  • increment(public u64)
  • mappings pf_state_0, initialized

接入你自己的 pf 程序

# monorepo / project with pf
pf new hello --target aleo && cd hello
pf build
pf deploy --network testnet --broadcast \
  --private-key-env PF_ALEO_TESTNET_KEY \
  --program-id myapp01

# template
echo 'VITE_ALEO_PROGRAM_ID=myapp01.aleo' > ../templates/aleo-dapp-ui/.env

此处负责钱包 UX 与用户签名交易;编译/打包仍在 pf CLI / stdio MCP。生态 @provablehq 包不是 PF 产品锁版本。

权威边界

后端合约

ProofForge pf / proof-forge-next

仅开发者本机 CLI env;MCP 不持钥

前端钱包 UX

生态 Wallet Adapter(@provablehq/aleo-wallet-adaptor-*)

密钥留在浏览器扩展钱包

前端链逻辑

@provablehq/sdk · @provablehq/wasm

可选本地 prove;生产优先钱包内 prove

推荐包(生态,非 PF 发货)

包名职责
@provablehq/aleo-wallet-adaptor-reactAleoWalletProvider · useWallet
@provablehq/aleo-wallet-adaptor-react-uiWalletModalProvider · WalletMultiButton
@provablehq/aleo-wallet-adaptor-leoLeo Wallet 适配
@provablehq/sdkProgram / Transaction / deploy·execute / RPC

后端 → 前端对接

  1. pf setup · pf new · pf build → .aleo + query descriptor
  2. pf run(本机 VM)→ pf deploy --network testnet(save-only 或 --broadcast)
  3. 把 program id 写入 templates/aleo-dapp-ui .env(无私钥)
  4. npm run dev → 钱包连接 → executeTransaction → explorer

不要

  • 永不把 APrivateKey… 放进前端 bundle / Vercel 浏览器 env
  • 远程 MCP 不得代用户签名
  • 同一应用不要混用 demox-labs 与 @provablehq 两套 adapter

Agent 剧本(前端切片)

  1. F0 pf_chain_catalog target=aleo → frontendTemplate = templates/aleo-dapp-ui
  2. F1 读 07-aleo-dapp-frontend-wallet.md §3–§5 + §11b
  3. F2 打开 templates/aleo-dapp-ui(Vite + WalletMultiButton)
  4. F3 安装 Leo/Puzzle/Shield 扩展 · Testnet 地址
  5. F4 VITE_ALEO_PROGRAM_ID 来自 pf deploy(无密钥)
  6. F5 executeTransaction initialize/increment → explorer

默认 Testnet。Mainnet 是应用自己的产品决策——pf CLI 拒绝 mainnet;与 formal 无关。新 dApp 优先 @provablehq,勿混用 demox-labs。

Stdio 工具(本地 CLI)

各工具只 spawn 产品 CLI / 包引擎(pf_chain_catalog 除外,读静态 JSON)。

工具CLI 映射用途
pf_list_targetsproof-forge-next list-targets [--all] --json列出物化 targets(已实现 / 全部)。
pf_doctorproof-forge-next doctor --json环境 / tool-root 健康检查。
pf_installproof-forge-next install --targets … --yes --json为 targets 安装锁定工具链(默认 --yes,除非 dryRun)。
pf_buildproof-forge-next build <source> --module … --target … -o … --json物化程序。拒绝 broadcast/network 参数。
pf_artifactsproof-forge-next inspect --output-dir <dir> --json检查输出集闭包(路径 / 大小 / 哈希)。
pf_localproof-forge-next local --target … [--mode sandbox] -- --source … --module …本地/sandbox 运行路径。Aleo 为通用接口(需 source+module)。
pf_chain_catalogstatic docs/product/chain-client-catalog.v1.json静态客户端/前端元数据(不 spawn CLI)。

接入 — stdio(Cursor / Claude Desktop)

需要绝对路径。先 lake build 产出 CLI。

{
  "mcpServers": {
    "proof-forge": {
      "command": "/usr/bin/python3",
      "args": [
        "-I",
        "/absolute/path/to/proof_forge/tools/mcp/proof_forge_mcp_server.py"
      ],
      "env": {
        "PROOF_FORGE_ROOT": "/absolute/path/to/proof_forge",
        "PROOF_FORGE_CLI": "/absolute/path/to/proof_forge/.lake/build/bin/proof-forge-next",
        "PROOF_FORGE_TOOL_ROOT": "/absolute/path/to/tool-root/linux-x86_64"
      }
    }
  }
}

PROOF_FORGE_ROOT 须含 scripts/proof_forge_doctor.py。若 root 下已有 .lake/build/bin/proof-forge-next,则 PROOF_FORGE_CLI 可选。

自检 / smoke

/usr/bin/python3 -I tools/mcp/proof_forge_mcp_server.py --self-check
scripts/mcp_smoke.sh

Aleo Testnet 线上 demo

远程 MCP(pf_aleo_live_demo)挂出的工程 demo 证据。不是 formal/hermetic/主网。

私钥永不内嵌。当前 Testnet base fee 需 Leo ≥ 4.4.1。

打开 Aleo 专区 →
开发指南 →开放名单 →