Skip to main content

MCP server for Prova — let any AI agent verify its own reasoning before answering.

Project description

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:

  1. The agent drafts a multi-step argument.
  2. It calls verify_reasoning on the draft. Prova returns a verdict (VALID / INVALID), a confidence score, and — for INVALID — the exact step that's broken.
  3. If VALID, the agent calls kernel_check_proof on 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_reasoning on your draft. If the verdict is INVALID, repair the failing step and re-verify. If VALID, 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.


License

MIT. See LICENSE.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

prova_mcp-0.1.0.tar.gz (10.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

prova_mcp-0.1.0-py3-none-any.whl (9.2 kB view details)

Uploaded Python 3

File details

Details for the file prova_mcp-0.1.0.tar.gz.

File metadata

  • Download URL: prova_mcp-0.1.0.tar.gz
  • Upload date:
  • Size: 10.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.6

File hashes

Hashes for prova_mcp-0.1.0.tar.gz
Algorithm Hash digest
SHA256 d3c01833cf6dd1f6d1f8102d36a3c77c1dc9f91b7c8adcff825acf6dfb310dc5
MD5 7535a5ff6b34d12dc349df5eb8b018f0
BLAKE2b-256 ea95ae5c8237e8132e9a125d176e7db70c0fb9ea97ff524447249cf08c4c1096

See more details on using hashes here.

File details

Details for the file prova_mcp-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: prova_mcp-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 9.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.6

File hashes

Hashes for prova_mcp-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5075f9af178e4fa44d3812f3a52508f754607b9a5022c0b0dadacc053e5239a3
MD5 dd44e7c2376e53c84585955ba0e84438
BLAKE2b-256 eda7802e81cddedc167df250f53587ac70372c7ee6965d4229e289f21dc6b1a3

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page