LeanWarp

io.github.Isagoge-Labs由 GitHub 账号 Isagoge-Labs 发布v0.2.5更新于 Nov 6, 2026

Check and verify Lean 4 proofs on hosted, warm Lean and Mathlib workers.

概览

AI 生成的概览

LeanWarp 在托管的常驻 Lean 与 Mathlib 工作节点上检查和验证 Lean 4 证明,让助手无需本地安装 Lean 即可编译、查看和修补证明。

可以做什么
  • 检查 Lean 文件并报告错误与警告,包括复用未改动部分结果的草稿检查,以及一次最多 64 个文件的批量检查
  • 查看证明中某一位置的目标与局部上下文,并对捕获的目标尝试多个策略而不修改文件
  • 验证某个声明是否恰好证明了给定命题,也支持一次最多 64 条内联证明的批量验证
  • 找出文件中所有 sorry 与 ?_ 空洞,并建议能闭合空洞的策略
  • 把含 sorry 的证明移入新的具名引理,并列出文件新增的声明及其类型和依赖
适用场景
适合助手处理 Lean 4 形式化证明、需要针对 Mathlib 等固定库做真正的内核检查,又不想在本地搭建 Lean 环境的场景。也适合反复修改证明时借助常驻工作节点保持结果与项目锁定工具链一致。
运行要求
作为本地 stdio 进程运行,通过 uv 从 PyPI 安装(uv tool install leanwarp)或用 uvx 直接运行;支持 Linux、macOS 和 WSL。需要通过 LEANWARP_API_KEY 环境变量提供 LeanWarp API 密钥,可用命令行登录获取。需传入项目目录路径,并需要访问托管服务的网络连接。工作节点时间需预付费额度。
安装前请注意
付费服务:工作节点运行期间按秒从预付费额度计费,空闲时间也计费,建议为每个工作区设置消费上限并在完成后停止节点。API 密钥属于机密,不要放进提示词、源文件或工具参数。项目的 .lean 文件会上传到 LeanWarp 服务器,连接前请检查忽略规则。部分命令会把建议的策略或引理写入文件。

安装

在 SourceWeft 中

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

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

其他 MCP 客户端

参照 仓库 中的启动说明。

README

[LeanWarp by Isagoge Labs]

LeanWarp is hosted Lean 4 for formal verification. It checks and verifies proofs on workers that stay warm between edits, against a Lean release and the libraries your project pins. This SDK is how you and your agents use it: the leanwarp command, an MCP server and a Python library.

Get started · Agent setup · Reference · HTTP API · Documentation · Website

What it does

OperationWhat you getCLI
CheckLean's errors and warnings for a file; --draft reuses Lean's work on the unchanged part while you edit.leanwarp check
InspectThe goals and local context at a position in a proof.leanwarp inspect
Try tacticsSeveral tactics from the same captured goal: which close it, which leave goals, which fail. The file is not edited.leanwarp try-tactics
VerifyWhether a declaration proves exactly the statement you give, checked by Lean's kernel.leanwarp verify
HolesEvery sorry and ?_ in a file, with its position, and the goals of the first 16.leanwarp holes
SuggestA tactic that closes a hole, accepted only if nothing else changes and the proof gains no unproved lemma or extra axiom. apply writes it into the file.leanwarp suggest, leanwarp apply
Sorry to lemmaThe proof of each theorem that still has a sorry moved into a new named lemma the theorem then uses; the lemma keeps its sorry. apply writes it.leanwarp sorry2lemma
DeclarationsThe declarations a file adds, with their types and dependencies.leanwarp declarations
Check filesUp to 64 files checked in one operation.leanwarp check-files
Verify batchUp to 64 inline proofs checked in one operation, without uploading them as files; each result keeps its custom_id.leanwarp verify-batch

The reference lists every command and option; leanwarp skill --reference prints it.

Coming soon

These are planned and not available yet:

  • Proof simplification: replace a proof with a shorter one that still checks.
  • have extraction: lift named have blocks into top-level lemmas.
  • Batch repair: fill several holes in one operation.

Install in two steps

1. Install. In a terminal, with uv:

sh
uv tool install leanwarp && leanwarp setup

This installs the leanwarp command and its MCP server from PyPI. leanwarp setup adds the LeanWarp skill and MCP server to Claude Code, Codex and Cursor where they are installed, and the skill to ~/.agents/skills. It runs on Linux, macOS and WSL. You don't need Lean installed: LeanWarp runs Lean and Mathlib for you.

Or paste this into your agent:

Install LeanWarp: run uv tool install leanwarp && leanwarp setup, then ask me to sign in.

Already have LeanWarp 0.2 from GitHub? Its leanwarp-sdk tool owns the leanwarp command, so replace it instead:

sh
uv tool uninstall leanwarp-sdk && uv tool install leanwarp && leanwarp setup

2. Sign in, in your own terminal:

sh
leanwarp auth login

It opens the dashboard to create an API key; paste the key at the hidden prompt. Never paste it into an agent conversation. Then restart your agent.

When a new release is out, results include update_available; run leanwarp update to upgrade and refresh the installed skills.

Quick start

From your Lean project or one of the examples:

sh
leanwarp doctor              # which environment this project runs onleanwarp connect             # create the project's workspaceleanwarp check LeanWarpExample.lean

If a command returns success: null (exit 3), run leanwarp wait until it finishes before submitting another operation. Then verify:

sh
leanwarp verify LeanWarpExample.lean \  --declaration add_zero_example --target '∀ n : Nat, n + 0 = n'

Wait for that operation to finish too, then run leanwarp stop when you are done.

Every command prints one JSON object. Results start with success: true when the check passed or the proof was verified, false when it did not, and null while the work is still running, in which case run leanwarp wait. The exit code says the same thing: 0 passed, 1 did not pass, 2 the command failed, 3 still running.

Use with an agent

Give your agent the project directory and this instruction:

Run leanwarp skill and follow it. Use LeanWarp to check this Lean project and verify proofs against their intended statements. Reuse the workspace while you edit, and run leanwarp stop when you are done.

For MCP clients, add the server leanwarp --project /absolute/path/to/project mcp, or uvx leanwarp --project /absolute/path/to/project mcp without installing. It uses the same key and project state as the CLI. See agent setup. Keep API keys out of prompts, source files and tool arguments.

Your project and its environment

LeanWarp uploads only your .lean files. Lean, Mathlib and every other dependency come from an environment: a Lean release with pinned libraries, already built on LeanWarp's workers. Run leanwarp environments to list them. leanwarp files lists what would upload; patterns in .gitignore and .leanwarpignore leave files out.

leanwarp connect picks the environment for you:

  • If your project's lean-toolchain and lake-manifest.json match an environment, it uses that one, so results agree with your local build.
  • If your project has neither file, as with a folder of .lean files, it uses the only served environment, or the newest served stable Lean release when there are several.
  • If they match no environment, it stops and lists the ones available. Run leanwarp connect --environment NAME to check your files there anyway; they then compile against that environment's Lean and Mathlib.

To start a new project, copy one of the examples, which match the environments LeanWarp serves.

Lean versions and libraries

The LeanWarp engine supports every stable Lean 4 release from 4.26.0, with the Lake libraries a project locks. The hosted service runs it in the environments listed on the website, which today pair Lean with Mathlib. Each one is built and tested before it is served, so your first check starts from compiled libraries. If your project needs another Lean release or library, open an issue with its lean-toolchain and lake-manifest.json.

Billing

You pay from prepaid credit, billed by the second while a worker runs. Run leanwarp resources to see the published worker's starting minute price, whether charges depend on usage, startup credit hold and idle timeout. LeanWarp selects the worker. Use leanwarp connect --max-spend 2 to create a workspace with a $2 cap, or edit an existing cap in the dashboard. Reconnecting without a cap keeps the saved cap.

When the worker uses usage billing, CPU and RAM charges increase independently above their reserved baselines. The starting rate is a paid minimum while the worker runs, including idle time. Bursting depends on available host capacity. Otherwise, the listed minute rate applies for the time the worker runs. Existing workspaces keep their saved billing terms.

A worker starts with your first operation and stays warm between calls. Run leanwarp stop when finished; closing the SDK client or your terminal does not stop it. Unused held credit is released once shutdown and final usage are confirmed. Stopping keeps your uploaded files and completed results; the next operation reconstructs the worker. Set a spending cap for each workspace in the dashboard.

Concepts

TermMeaning
EnvironmentA Lean release with pinned libraries, prebuilt on LeanWarp, such as lean-4.35-mathlib.
WorkspaceYour project's files on LeanWarp. One per project; creating it starts no compute.
WorkerThe machine that runs Lean for a workspace. It starts on demand and stays warm.
OperationOne request, such as a check or a verification, and its result.
RevisionA numbered version of the workspace's files. Each result names the one it checked.
ReceiptThe part of a verification result that records exactly what was checked.

Documentation

The agent instructions ship with the package: leanwarp skill prints the workflow and leanwarp skill --reference the full reference. Run leanwarp --help or leanwarp COMMAND --help for arguments.

来源:README.md,提交 00e43fe

工具

0
SourceWeft 曾在隔离沙箱中以无凭据方式启动该软件包一次,以列出其工具,但未能完成:软件包安装失败。

版本历史

1
  1. v0.2.5最新Nov 6, 2026

评分

已满足适用检查项的 50%

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

  • 近 30 天内可连通25 分

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

  • 已声明认证方式10 分

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

  • 已列出工具15 分

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

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