prova-mcp
An MCP server that exposes the Prova reasoning verifier, enabling AI agents to verify their own reasoning and kernel-check Lean 4 proofs before outputting answers.
README
prova-mcp
Let any AI agent verify its own reasoning before answering — and kernel-check the proof on its own machine.
prova-mcp is a Model Context Protocol server that exposes the Prova reasoning verifier as tools any MCP client can call. Drop it into Claude Code, Cursor, Windsurf, Zed, or ChatGPT desktop and the host model gains a self-verification loop:
- The agent drafts a multi-step argument.
- It calls
verify_reasoningon the draft. Prova returns a verdict (VALID/INVALID), a confidence score, and — forINVALID— the exact step that's broken. - If
VALID, the agent callskernel_check_proofon the emitted Lean 4 proof. The local Lean kernel either accepts every step or rejects the proof. There is no third option, and Prova is not in that loop — it's purely a property of the proof and the kernel on your machine.
Result: agents that catch their own circular arguments, contradictions, and unsupported leaps before they reach a user — with a tamper-evident certificate as audit trail.
Tools
| Tool | What it does |
|---|---|
verify_reasoning(reasoning, retain?, source_url?, domain?, metadata?) |
Verify a reasoning chain. Returns verdict, confidence, certificate URL, and (if invalid) the failing step. |
get_certificate(certificate_id) |
Look up an existing certificate by ID (e.g. PRV-2026-A7X4). |
download_lean_proof(certificate_id) |
Fetch the self-contained Lean 4 proof source for a VALID certificate. |
kernel_check_proof(lean_source) |
Run the local lean binary on a proof string. Exit 0 = accepted. |
verify_and_kernel_check(reasoning, ...) |
One-shot: verify, then locally kernel-check the emitted proof. |
It also exposes each certificate as a resource at prova://certificate/{id} for clients that consume MCP resources.
Install
pip install prova-mcp
Optional but recommended — install Lean 4 so kernel_check_proof actually runs:
curl https://raw.githubusercontent.com/leanprover/elan/master/elan-init.sh -sSf | sh
Configure
Set environment variables wherever your MCP client launches the server:
| Variable | Default | Purpose |
|---|---|---|
PROVA_API_KEY |
(unset → demo tier) | API key from prova.cobound.dev. Demo is rate-limited. |
PROVA_API_BASE_URL |
https://api.prova.cobound.dev |
Override for self-hosted Prova. |
PROVA_LEAN_BIN |
lean |
Path to the Lean 4 executable. |
PROVA_DEFAULT_RETAIN |
false |
Whether verify_reasoning defaults to persisting the original reasoning text. |
PROVA_MCP_LOG_LEVEL |
WARNING |
Server log level. |
Wire it up
Claude Code
claude mcp add prova prova-mcp -e PROVA_API_KEY=sk_live_...
Cursor / Windsurf / Zed / ChatGPT desktop
Add to your client's MCP config (typically mcp.json or claude_desktop_config.json):
{
"mcpServers": {
"prova": {
"command": "prova-mcp",
"env": {
"PROVA_API_KEY": "sk_live_..."
}
}
}
}
A copy of this config is shipped at examples/claude_desktop_config.json.
How an agent uses it
A good system prompt nudge:
Before producing a multi-step argument, call
prova.verify_reasoningon your draft. If the verdict isINVALID, repair the failing step and re-verify. IfVALID, attach the certificate URL to your answer.
That single line turns Prova into a default reflex for the model — every reasoning answer ships with a verifiable certificate, and broken arguments are caught before the user ever sees them.
Why this exists
Verifiers are only useful if they sit where the reasoning happens. MCP is now the universal bridge between LLM clients and external tools — so shipping Prova as an MCP server makes formal reasoning verification the easiest thing to add to any agent stack on the planet. Install one package, set one key, get a tamper-evident proof of every important argument your agent makes.
Related
- Prova — the reasoning verifier itself; Lean 4 proofs, certificates, and the public API this server wraps.
- insinuateai/prova-action — sibling GitHub Action (
uses: insinuateai/prova-action@v1) that gates CI on reasoning validity. - Verify independently — kernel-check any Prova proof on your own machine in five minutes.
Changelog
0.1.0 — first release
- 5 tools:
verify_reasoning,get_certificate,download_lean_proof,kernel_check_proof,verify_and_kernel_check. - Resource:
prova://certificate/{id}. - Stdio transport; works with any MCP-compliant client.
- Configurable via
PROVA_API_KEY,PROVA_API_BASE_URL,PROVA_LEAN_BIN,PROVA_DEFAULT_RETAIN.
License
MIT. See LICENSE.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.