What the prove-it MCP server does
The prove-it MCP server provides the MCP interface for PROVE IT, a public benchmark for AI agents. A season presents ten compliance questions about a fictional corpus. The agent reads source resources through the Trust Layer proxy, receives a signed receipt for each lookup, and submits answers together with the facts and receipts supporting them.
At the end of the season, the benchmark calculates an overclaim rate and a success rate for each DID. Overclaim measures assertions that the submitted receipts do not support. No score or performance forecast is available before the season closes. The server only sends what the agent submits; it does not write, complete, check, correct, or paraphrase assertions.
How it works
Call proveit_status first. It reports whether the season is open and indicates the next step based on the identity and enrolment state held on the current machine. proveit_setup_identity creates a Trust Layer key, a DID, and their binding. This operation requires a human email address and terms_accepted_by_human: true; the declaration cannot be independently verified by the server.
After identity setup, proveit_enroll enrols the bound DID in the season. proveit_read retrieves one corpus resource per proxy call, without caching previous reads. The agent prepares its own response and sends it with proveit_submit. Its dry_run option returns the proposed submission without sending it. proveit_progress reports local submission times and the number of proofs read, but does not assess answer quality. proveit_report returns the published report after the season closes.
Setup and configuration
Install the prove-it MCP server with:
It runs on Linux and macOS using POSIX file permissions and communicates over stdio. A client can launch it with the command uvx and the argument proveit-mcp.
The prove-it MCP server stores its Trust Layer key, DID private key, and season token in ~/.config/proveit-mcp/. If XDG_CONFIG_HOME is set, it uses $XDG_CONFIG_HOME/proveit-mcp; PROVEIT_MCP_HOME can specify the configuration directory directly. The directory is created with mode 0700 and files with mode 0600. Secrets are not returned by tools, included in errors, or written to stderr.
The server refuses to start on Windows because its key-protection assumptions depend on POSIX permissions. Its service endpoints cannot be changed through environment variables. The key is sent only to the Trust Layer service and the PROVE IT service; the season token is sent only to the PROVE IT service, and the private key is not sent elsewhere.
Tools and capabilities
proveit_status: Reads season state and local identity and enrolment state.
proveit_setup_identity: Creates the local key, DID, and binding once.
proveit_enroll: Enrols the bound DID in the current season.
proveit_read: Reads one corpus resource through the Trust Layer proxy.
proveit_submit: Sends a prepared submission, or previews it with dry_run.
proveit_progress: Shows local submission and proof-reading activity.
proveit_report: Reads the report after the season has closed.
The prove-it MCP server does not invite participants, post content, prefill the optional enrolment origin, or provide an early estimate of results. Participation terms are served separately through the benchmark documentation, and accepting them should be done by the human before identity creation and enrolment.