mcpField
L
leanforge-mcp

leanforge-mcp

本地服务
github.com/sandraschi科研与教育35 天前更新

关于 leanforge-mcp

leanforge-mcp 是一个 MCP 服务,可提交 Lean 4 定理或文件并获取经编译器检查的证明。它面向探索形式化证明自动化的用户,提供任务跟踪、直接验证和 Mathlib 定理搜索。

主要功能

  1. 01异步提交定理和 Lean 文件
  2. 02生成经 Lean 编译器检查的证明
  3. 03跟踪任务并查看证明尝试
  4. 04直接编译验证 Lean 代码
  5. 05用自然语言搜索 Mathlib 定理
  6. 06使用支持的内核验证证明

适用场景

  1. 01为带 sorry 占位符的定理寻找证明
  2. 02提交 MiniF2F 问题并稍后查看任务
  3. 03证明任务停滞时检查尝试过程
  4. 04测试 tactic 证明是否能编译

MCP 相关

它将定理提交、证明状态、任务与尝试检查、Lean 验证、证明复核和 Mathlib 搜索作为 MCP 工具提供。服务通过 stdio 与 MCP 客户端通信。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库
安装包
mcpbleanforge-mcp-v0.1.1.mcpb

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

leanforge-mcp

Python FastMCP Lean 4 Mathlib License: MIT Status: Phase B complete AlphaProof Nexus

用于在 Lean 4 中进行 AI 驱动形式化证明搜索的 MCP 服务。提交带有 sorry 的定理,即可获得机器验证的证明。本项目实现了 AlphaProof Nexus 中的 Agent A(DeepMind,2026 年 5 月)。

技术栈: Python 3.12+ · FastMCP 3.4+ · FastAPI · React/Vite · Tailwind · Zustand · Biome · Lean 4 / Mathlib


目录


功能介绍

输入一个带有 sorry 占位符的 Lean 4 定理。系统会循环运行 N 个并行 Agent:大模型提出证明修改,Lean 编译器负责判定,再将错误反馈给大模型。第一个生成不含 sorry 且编译通过的 Agent 即获胜。

-- Input
theorem sum_formula (n : ℕ) : 2 * ∑ i ∈ Finset.range (n + 1), i = n * (n + 1) := by
  sorry

-- Output (machine-verified)
theorem sum_formula (n : ℕ) : 2 * ∑ i ∈ Finset.range (n + 1), i = n * (n + 1) := by
  induction n with
  | zero => simp
  | succ n ih => rw [Finset.sum_range_succ]; ring_nf; linarith

编译器是唯一的判定标准——只要不含 sorry 且编译通过,证明就是正确的。


快速安装

git clone https://github.com/sandraschi/leanforge-mcp
cd leanforge-mcp
uv sync
Copy-Item config.example.toml config.toml

然后添加到 claude_desktop_config.json:

{
  "mcpServers": {
    "leanforge": {
      "command": "uv",
      "args": ["--directory", "C:\\path\\to\\leanforge-mcp", "run", "python", "-m", "leanforge_mcp"],
      "env": { "DEEPSEEK_API_KEY": "...", "ANTHROPIC_API_KEY": "..." }
    }
  }
}

Lean + Mathlib 工作区设置请参见 INSTALL.md(约 4 GB,一次性设置;截至 2026-07-09,已在 Goliath 上完成配置并验证)。


你可以做什么

"Prove that the sum of the first n natural numbers is n*(n+1)/2"

"Submit this MiniF2F problem and check back in 10 minutes"

"Show me all the proof attempts for job abc-123 -- why is it stuck?"

"Run validate_lean on this tactic proof to see if it compiles"

工具

工具描述
submit_theorem提交定理陈述 → 作业 ID(异步)
submit_lean_file提交包含 sorry 占位符的完整 .lean 文件
get_proof_status轮询作业状态;完成后返回证明
list_attempts检查每个 Agent/轮次的尝试轨迹
list_jobs列出所有作业及其状态摘要
validate_lean直接编译 Lean 4——不跟踪作业
verify_proof使用已验证的内核(con-leche、con-ron)重新检查已证明的文件——需要 Lean >= 4.35.0 的工作区,参见 docs/VERIFIED_KERNELS.md
cancel_job取消正在运行的作业
leanforge_shutdown正常关闭服务(取消正在运行的作业并退出)
get_mathlib_search使用自然语言搜索 Mathlib 定理

要求

  • Python 3.11+
  • 通过 elan 安装 Lean 4(winget install leanprover.elan)
  • 带有缓存 oleans 的 Mathlib 工作区(约 4 GB,一次性设置——参见 INSTALL.md)
  • Ollama 和 deepseek-prover-v2:7b,用于 tier-1(本地、免费)
  • 用于 tier-2/3 的 DeepSeek 或 Anthropic API 密钥(可选)

端口与配置

组件值
MCP 服务stdio(uv run python -m leanforge_mcp)
Web 后端(FastAPI)http://127.0.0.1:10867
Web 前端(Vite)http://127.0.0.1:10868
配置文件config.toml(从 config.example.toml 复制;已被 git 忽略)
环境变量DEEPSEEK_API_KEY(tier 2)、ANTHROPIC_API_KEY(tier 3)——参见 .env.example;密钥保留在服务环境中,不会出现在浏览器中

文档

文档内容
INSTALL.md前置条件、Lean 工作区设置、Claude Desktop 配置
docs/ONBOARDING.md新手设置:成本、常见陷阱、健全性检查
docs/CONFIGURATION.md所有配置选项和环境变量
docs/TOOLS.md完整的工具参考,含参数和示例
docs/ARCHITECTURE.md证明循环、层级升级、任务生命周期、SQLite 架构
docs/LEAN.mdLean 4 语言参考、策略指南、参考书目、链接集
docs/VERIFIED_KERNELS.mdverify_proof 存在的原因、con-leche/con-ron 是什么、工作区升级路径
docs/LEAN_PRIMER.md面向工程师的 Lean 4 快速入门(简版)
docs/ALPHAPROOF_NEXUS.md技术介绍:AlphaProof Nexus 论文解析
docs/COVERAGE_GAP.md为什么 DeepMind 获得了 MSM 覆盖,而初创公司不会
docs/BENCHMARK_RESULTS.mdMiniF2F、PutnamBench、Erdős 结果
docs/DEVELOPMENT.md贡献、开发环境设置、测试命令
docs/TROUBLESHOOTING.md常见错误及修复方法
llms-full.txt完整的 LLM 上下文:工具、端点、配置、端口

路线图

阶段内容状态
A核心循环:LLM 提出方案,Lean 进行判断,并反馈错误已完成
B强化正确性、处理边界情况、调整超时已完成(2026-07-09) -- 防篡改保护已修复默认参数截断和诱饵重复项攻击问题,已修复跨进程任务归属和取消问题,并加入无状态提示词缓解措施。真实硬件上的 56/56 项测试均通过。参见 docs/ASSESSMENT_2026-06-24.md
C性能和安全性:REPL 工作进程池(编译时间才是真正的瓶颈)、LLM 超时/重试、令牌/成本核算(任何批量运行前的硬性门槛)进行中 -- 参见 TODO.md
D多 Agent 并行调度(论文中的 Agent B)-- 并行运行 N 个循环,由最先完成者胜出计划中
E自我批判步骤 -- LLM 在编译前检查自己的证明,及早发现明显错误计划中
FWeb 应用证明探索器 -- 以交互式树状视图展示尝试过的证明路径,并实时流式显示策略计划中
G前提选择 -- 生成策略前,在 Mathlib 中搜索相关引理计划中
H累积式上下文窗口管理 -- 对较长的错误链进行智能摘要,而不是盲目拼接计划中
I基准测试仪表板 -- 在 Web 应用页面中按模型/配置跟踪 MiniF2F、PutnamBench、Erdős 结果延伸计划
J人在回路 -- Agent 陷入困境时,暂停并展示当前状态,以便人类提供提示延伸计划
K证明缓存 -- 对子证明去重,让重复引理能够即时编译延伸计划
各阶段的作用

A + B 让你可以提交一个定理,并在另一端获得证明。 它能用,也很实用,但它是单线程的,每轮都要完整编译一次,而且没有开销控制——Phase C 弥补了这些不足。

D 改变了局面:N 个并行 Agent 意味着,耗时会从“一个 LLM 要多久”缩短到“N 个 LLM 中最快的一个要多久”。 对于 LLM 会走进死胡同的难题,这意味着耗时从 5 分钟缩短到 30 秒。

E 可防止 LLM 在明显错误的策略上浪费编译时间。 实现成本很低(每次尝试只需额外调用一次 LLM),论文显示,仅在 Agent A 上,它就能将求解率提高约 15 个百分点。

F 是面向用户的价值所在:你不必盯着“status: running”并反复轮询,而是可以实时查看 LLM 尝试各种策略,看到它放弃了哪些路径,并了解它最终成功或失败的原因。

G 针对最常见的失败模式:LLM 为当前上下文中不存在的引理编写了正确的策略。前提选择(生成策略前进行的一项小型检索步骤)能大幅减少这种情况。

H 虽不可见,却至关重要:随着 LLM 累积 10+ 次失败尝试,错误上下文会超出模型的上下文窗口。智能摘要能保留相关信息,同时避免无关内容淹没 LLM。

完整的差距分析:docs/ASSESSMENT_2026-06-24.md


许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。