oOo0oOo/lean-lsp-mcp
Lean Theorem Prover MCP
lean-lsp-mcp – Lean定理証明器のためのMCPサーバー
概要 – Lean 4言語サーバー上で動作する、Pythonベースの Model Context Protocol (MCP) サーバーです。Leanの診断情報、ゴール、ホバー情報、および一連の検索ツール (LeanSearch, Loogle, Lean Finder, Lean Hammer) を tools として公開し、LLMエージェント (Claude Code, Cursor, Mistral Vibeなど) が呼び出せるようにします。つまり、LLMがコードアシスタントのようにLeanプロジェクトと対話できるようになります。
主な機能
- Leanの診断情報、現在の証明ゴール、項の定義、ホバードキュメントのクエリ。
- 外部検索サービス (LeanSearch, Loogle, Lean Finder, Lean Hammer) を実行して関連する定理を特定。
- 高速なコード実行のためのオプションのREPLベース
lean_run_code。 - 環境変数またはMCPクライアントJSON (VS Code, Cursor, Claude Code, Mistral Vibe) を介して設定可能。
- 3つのトランスポートをサポート:
stdio(デフォルト)、streamable-http、およびレガシーなsse。 - 安全なリモートアクセスのためのOpenAIのSecure MCP Tunnelに対応。
導入方法
- uv Pythonパッケージマネージャーをインストールします (またはNixを使用)。
- Leanプロジェクトがビルド可能であることを確認します (
lake build)。 - オプションのツールをインストールします – ローカル検索用の
ripgrep、高速コード実行用のreplパッケージ、および必要に応じてローカルのLoogleバイナリ。 - MCP対応IDE (VS Code, Cursor, Claude Code, Mistral Vibe) にサーバーエントリを追加します – ほとんどの例では
uvx lean-lsp-mcpを実行する1行の設定で済みます。 - (オプション) 環境変数を設定して、ログの調整、特定のツールの無効化、タイムアウトの調整、または認証の有効化を行います。
典型的なワークフロー
- LLMが “
MyProof.leanの現在のゴールは何ですか?” のようなリクエストを送信します。 - MCPサーバーがLean LSPを呼び出し、ゴール状態を抽出して簡潔なテキストブロックを返します。
- 補題が見つからない場合、LLMは
lean_loogleまたはlean_searchを呼び出して、リモートまたはローカルのインデックスを検索し、一致する定理を返します。 - LLMが証明ステップを試したい場合、
lean_run_code(REPLモード) またはlean_multi_attemptを呼び出してコードスニペットをテストできます。
セキュリティ上の注意
- このサーバーはプロジェクト内の任意のファイルを読み取り、ビルドを実行し、検索ツールのためにネットワークにアクセスできるため、信頼できる環境で実行するか、コンテナ化 (Dockerイメージを提供) してください。
- HTTP経由で公開する場合は、
LEAN_LSP_MCP_TOKENを設定してベアラートークン認証を行うか、OpenAIのSecure MCP Tunnelを使用してください。
利用状況
- エージェントベースの定理証明システムを構築する研究者 (例: Ax-Prover, Numina-Lean-Agent, MerLean, M2F) がこのツールを引用しています。
- Lean Together 2026などのカンファレンスで発表されています。
詳細情報
- PyPIパッケージ:
lean-lsp-mcp - ソースコードとドキュメント: https://github.com/oOo0oOo/lean-lsp-mcp
- ツールの全リストは
docs/tools.mdを参照 - 新しいツールの追加方法は
docs/adding-a-tool.mdに記載されています。
ライセンス – MIT (引用を推奨しますが、必須ではありません)。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト