The Provely MCP server has 4 tools. This page lists each tool and each argument from the tool definitions of the server.

Which tools does the server have?

ToolTitleWhat it does
provely_beginBegin a Provely operationOpen a Provely operation before you do a side-effecting action. Returns the operation id and the correlation and idempotency metadata to use in the action. A successful tool call is not proof of completion. Only a verdict from Provely is. PENDING is a normal answer: the action is not done yet.
provely_verifyVerify a Provely operationSubmit the action result, when you have not yet, and ask the Provely runtime to verify the operation against its completion contract. Returns the verdict: VERIFIED, PENDING, CONTRADICTED, FAILED, or UNVERIFIABLE. Report it exactly. A successful tool call is not proof of completion. Only a verdict from Provely is. PENDING is a normal answer: the action is not done yet.
provely_statusRead the status of a Provely operationRead the state and the last verdict of a Provely operation. Use it to resume an operation from any session by id. A successful tool call is not proof of completion. Only a verdict from Provely is. PENDING is a normal answer: the action is not done yet.
provely_receiptFetch the receipt of a Provely operationFetch the signed evidence receipt of a Provely operation. A receipt exists only after a verdict. Validate it offline with the trusted key map of the SDK or the CLI. A successful tool call is not proof of completion. Only a verdict from Provely is. PENDING is a normal answer: the action is not done yet.

Which arguments does provely_begin take?

ArgumentTypeRequiredWhat it holds
contract_idstringyesThe contract identity. Example: stripe.refund.succeeded.
contract_versionstringyesThe contract version. The control plane needs it. Example: 1.4.2.
inputmapnoThe caller input of the contract as a JSON object.
intentstringnoThe intent statement. What the user asked for.
confirmation_idstringnoThe confirmation that a person gave for this contract. A contract that an intent compilation wrote runs only after a person confirms it. Send the identity that the confirmation answered. The server reads the record and refuses an identity that it does not hold. A contract that a person wrote by hand needs no confirmation.
provider_api_versionstringnoThe provider API version in effect for the action.
projectstringnoThe project name. Optional.
idempotency_keystringnoA key that makes a retry of begin safe.

Which arguments does provely_verify take?

ArgumentTypeRequiredWhat it holds
operation_idstringyesThe operation id from begin.
action_resultmapnoSend it once, on the first verify call, when you did not submit it before.
action_result.statusacknowledged | error | unknownyesacknowledged: the provider replied. error: it replied with an error. unknown: no reply.
action_result.evidence_levelE0 | E1noE0 is a bare agent claim. E1 is a relayed provider response. The default follows result.
action_result.resultvaluenoThe provider response body as you received it.
action_result.errormapno-
action_result.error.codestringno-
action_result.error.messagestringno-
action_result.transportmapno-
action_result.transport.protocolstringno-
action_result.transport.status_codeintegerno-
action_result.transport.request_idstringno-
action_result.idempotency_keystringno-
action_result.provider_api_versionstringno-
action_result.started_atstringno-
action_result.completed_atstringno-

Which arguments does provely_status take?

ArgumentTypeRequiredWhat it holds
operation_idstringyesThe operation id from begin.

Which arguments does provely_receipt take?

ArgumentTypeRequiredWhat it holds
operation_idstringyesThe operation id from begin.

How do I register the server?

A local server over stdio: provely mcp
{
  "mcpServers": {
    "provely": {
      "command": "provely",
      "args": [
        "mcp"
      ]
    }
  }
}
The hosted server
{
  "mcpServers": {
    "provely": {
      "type": "http",
      "url": "https://api.provely.sh/mcp",
      "headers": {
        "Authorization": "Bearer <token>"
      }
    }
  }
}
Where this page comes from

A generator writes this page from the files below. A test fails when the page differs from them.

FileCommitCommitted
packages/mcpf5f2e1bf2026-10-17