# Documents and approvals MCP tools

This page documents **25 tools** in the documents and approvals group. Return to the [complete MCP tool reference](/docs/developers/api/mcp/tools) to browse another group.

Select a tool to inspect its schemas and behavior. Schema links open the exact definition in GitHub.

### `listMeasureDocuments` — List Measure Documents

List documents linked to a measure.

- **Input:** [`ListMeasureDocumentsInput`](https://github.com/getprobo/probo/blob/main/pkg/server/api/mcp/v1/specification.yaml#L2649-L2665)
- **Output:** [`ListMeasureDocumentsOutput`](https://github.com/getprobo/probo/blob/main/pkg/server/api/mcp/v1/specification.yaml#L2667-L2678)
- **Behavior:** Read only · Non-destructive · Idempotent · Closed world
- **Source:** [specification.yaml · L17159–L17170 ↗](https://github.com/getprobo/probo/blob/main/pkg/server/api/mcp/v1/specification.yaml#L17159-L17170)

### `listControlDocuments` — List Control Documents

List documents linked to a control.

- **Input:** [`ListControlDocumentsInput`](https://github.com/getprobo/probo/blob/main/pkg/server/api/mcp/v1/specification.yaml#L6768-L6784)
- **Output:** [`ListControlDocumentsOutput`](https://github.com/getprobo/probo/blob/main/pkg/server/api/mcp/v1/specification.yaml#L6786-L6797)
- **Behavior:** Read only · Non-destructive · Idempotent · Closed world
- **Source:** [specification.yaml · L18071–L18082 ↗](https://github.com/getprobo/probo/blob/main/pkg/server/api/mcp/v1/specification.yaml#L18071-L18082)

### `listDocuments` — List Documents

List documents for the organization. By default only ACTIVE documents are returned; pass status filter to include ARCHIVED.

- **Input:** [`ListDocumentsInput`](https://github.com/getprobo/probo/blob/main/pkg/server/api/mcp/v1/specification.yaml#L8209-L8254)
- **Output:** [`ListDocumentsOutput`](https://github.com/getprobo/probo/blob/main/pkg/server/api/mcp/v1/specification.yaml#L8256-L8267)
- **Behavior:** Read only · Non-destructive · Idempotent · Closed world
- **Source:** [specification.yaml · L18371–L18382 ↗](https://github.com/getprobo/probo/blob/main/pkg/server/api/mcp/v1/specification.yaml#L18371-L18382)

### `getDocument` — Get Document

Get a document by ID.

- **Input:** [`GetDocumentInput`](https://github.com/getprobo/probo/blob/main/pkg/server/api/mcp/v1/specification.yaml#L8269-L8276)
- **Output:** [`GetDocumentOutput`](https://github.com/getprobo/probo/blob/main/pkg/server/api/mcp/v1/specification.yaml#L8278-L8284)
- **Behavior:** Read only · Non-destructive · Idempotent · Closed world
- **Source:** [specification.yaml · L18383–L18394 ↗](https://github.com/getprobo/probo/blob/main/pkg/server/api/mcp/v1/specification.yaml#L18383-L18394)

### `addDocument` — Add Document

Add a new document to the organization.

- **Input:** [`AddDocumentInput`](https://github.com/getprobo/probo/blob/main/pkg/server/api/mcp/v1/specification.yaml#L8286-L8314)
- **Output:** [`AddDocumentOutput`](https://github.com/getprobo/probo/blob/main/pkg/server/api/mcp/v1/specification.yaml#L8316-L8326)
- **Behavior:** Writes data · Non-destructive · Non-idempotent · Closed world
- **Source:** [specification.yaml · L18395–L18406 ↗](https://github.com/getprobo/probo/blob/main/pkg/server/api/mcp/v1/specification.yaml#L18395-L18406)

### `updateDocument` — Update Document

Update an existing document.

- **Input:** [`UpdateDocumentInput`](https://github.com/getprobo/probo/blob/main/pkg/server/api/mcp/v1/specification.yaml#L8328-L8352)
- **Output:** [`UpdateDocumentOutput`](https://github.com/getprobo/probo/blob/main/pkg/server/api/mcp/v1/specification.yaml#L8354-L8362)
- **Behavior:** Writes data · Non-destructive · Idempotent · Closed world
- **Source:** [specification.yaml · L18407–L18418 ↗](https://github.com/getprobo/probo/blob/main/pkg/server/api/mcp/v1/specification.yaml#L18407-L18418)

### `deleteDocumentDraft` — Delete Document Draft

Delete the latest draft version of a document, reverting to the last published version. Cannot delete the initial v0.1 draft.

- **Input:** [`DeleteDocumentDraftInput`](https://github.com/getprobo/probo/blob/main/pkg/server/api/mcp/v1/specification.yaml#L8364-L8371)
- **Output:** [`DeleteDocumentDraftOutput`](https://github.com/getprobo/probo/blob/main/pkg/server/api/mcp/v1/specification.yaml#L8373-L8379)
- **Behavior:** Writes data · Destructive · Idempotent · Closed world
- **Source:** [specification.yaml · L18419–L18430 ↗](https://github.com/getprobo/probo/blob/main/pkg/server/api/mcp/v1/specification.yaml#L18419-L18430)

### `archiveDocument` — Archive Document

Archive a document to prevent further modifications.

- **Input:** [`ArchiveDocumentInput`](https://github.com/getprobo/probo/blob/main/pkg/server/api/mcp/v1/specification.yaml#L8381-L8388)
- **Output:** [`ArchiveDocumentOutput`](https://github.com/getprobo/probo/blob/main/pkg/server/api/mcp/v1/specification.yaml#L8390-L8396)
- **Behavior:** Writes data · Non-destructive · Idempotent · Closed world
- **Source:** [specification.yaml · L18431–L18442 ↗](https://github.com/getprobo/probo/blob/main/pkg/server/api/mcp/v1/specification.yaml#L18431-L18442)

### `unarchiveDocument` — Unarchive Document

Unarchive a document to allow modifications again.

- **Input:** [`UnarchiveDocumentInput`](https://github.com/getprobo/probo/blob/main/pkg/server/api/mcp/v1/specification.yaml#L8398-L8405)
- **Output:** [`UnarchiveDocumentOutput`](https://github.com/getprobo/probo/blob/main/pkg/server/api/mcp/v1/specification.yaml#L8407-L8413)
- **Behavior:** Writes data · Non-destructive · Idempotent · Closed world
- **Source:** [specification.yaml · L18443–L18454 ↗](https://github.com/getprobo/probo/blob/main/pkg/server/api/mcp/v1/specification.yaml#L18443-L18454)

### `listDocumentVersions` — List Document Versions

List all versions for a document.

- **Input:** [`ListDocumentVersionsInput`](https://github.com/getprobo/probo/blob/main/pkg/server/api/mcp/v1/specification.yaml#L8415-L8439)
- **Output:** [`ListDocumentVersionsOutput`](https://github.com/getprobo/probo/blob/main/pkg/server/api/mcp/v1/specification.yaml#L8441-L8453)
- **Behavior:** Read only · Non-destructive · Idempotent · Closed world
- **Source:** [specification.yaml · L18455–L18466 ↗](https://github.com/getprobo/probo/blob/main/pkg/server/api/mcp/v1/specification.yaml#L18455-L18466)

### `getDocumentVersion` — Get Document Version

Get a document version by ID.

- **Input:** [`GetDocumentVersionInput`](https://github.com/getprobo/probo/blob/main/pkg/server/api/mcp/v1/specification.yaml#L8455-L8462)
- **Output:** [`GetDocumentVersionOutput`](https://github.com/getprobo/probo/blob/main/pkg/server/api/mcp/v1/specification.yaml#L8464-L8471)
- **Behavior:** Read only · Non-destructive · Idempotent · Closed world
- **Source:** [specification.yaml · L18467–L18478 ↗](https://github.com/getprobo/probo/blob/main/pkg/server/api/mcp/v1/specification.yaml#L18467-L18478)

### `publishDocument` — Publish Document

Publish the latest draft of a document. Set minor=true to publish a minor version (no approval flow). When minor=false, providing approver_ids triggers an approval request as a new major version; otherwise the draft is published immediately as a new major version.

- **Input:** [`PublishDocumentInput`](https://github.com/getprobo/probo/blob/main/pkg/server/api/mcp/v1/specification.yaml#L8473-L8488)
- **Output:** [`PublishDocumentOutput`](https://github.com/getprobo/probo/blob/main/pkg/server/api/mcp/v1/specification.yaml#L8490-L8503)
- **Behavior:** Writes data · Non-destructive · Idempotent · Closed world
- **Source:** [specification.yaml · L18479–L18490 ↗](https://github.com/getprobo/probo/blob/main/pkg/server/api/mcp/v1/specification.yaml#L18479-L18490)

### `deleteDocument` — Delete Document

Delete a document.

- **Input:** [`DeleteDocumentInput`](https://github.com/getprobo/probo/blob/main/pkg/server/api/mcp/v1/specification.yaml#L8505-L8512)
- **Output:** [`DeleteDocumentOutput`](https://github.com/getprobo/probo/blob/main/pkg/server/api/mcp/v1/specification.yaml#L8514-L8521)
- **Behavior:** Writes data · Destructive · Idempotent · Closed world
- **Source:** [specification.yaml · L18491–L18502 ↗](https://github.com/getprobo/probo/blob/main/pkg/server/api/mcp/v1/specification.yaml#L18491-L18502)

### `listDocumentVersionSignatures` — List Document Version Signatures

List all signatures for a document version.

- **Input:** [`ListDocumentVersionSignaturesInput`](https://github.com/getprobo/probo/blob/main/pkg/server/api/mcp/v1/specification.yaml#L8523-L8555)
- **Output:** [`ListDocumentVersionSignaturesOutput`](https://github.com/getprobo/probo/blob/main/pkg/server/api/mcp/v1/specification.yaml#L8557-L8568)
- **Behavior:** Read only · Non-destructive · Idempotent · Closed world
- **Source:** [specification.yaml · L18503–L18514 ↗](https://github.com/getprobo/probo/blob/main/pkg/server/api/mcp/v1/specification.yaml#L18503-L18514)

### `getDocumentVersionSignature` — Get Document Version Signature

Get a document version signature by ID.

- **Input:** [`GetDocumentVersionSignatureInput`](https://github.com/getprobo/probo/blob/main/pkg/server/api/mcp/v1/specification.yaml#L8570-L8577)
- **Output:** [`GetDocumentVersionSignatureOutput`](https://github.com/getprobo/probo/blob/main/pkg/server/api/mcp/v1/specification.yaml#L8579-L8585)
- **Behavior:** Read only · Non-destructive · Idempotent · Closed world
- **Source:** [specification.yaml · L18515–L18526 ↗](https://github.com/getprobo/probo/blob/main/pkg/server/api/mcp/v1/specification.yaml#L18515-L18526)

### `requestDocumentVersionSignature` — Request Document Version Signature

Request a signature for a document version.

- **Input:** [`RequestDocumentVersionSignatureInput`](https://github.com/getprobo/probo/blob/main/pkg/server/api/mcp/v1/specification.yaml#L8587-L8598)
- **Output:** [`RequestDocumentVersionSignatureOutput`](https://github.com/getprobo/probo/blob/main/pkg/server/api/mcp/v1/specification.yaml#L8600-L8606)
- **Behavior:** Writes data · Non-destructive · Non-idempotent · Closed world
- **Source:** [specification.yaml · L18527–L18538 ↗](https://github.com/getprobo/probo/blob/main/pkg/server/api/mcp/v1/specification.yaml#L18527-L18538)

### `cancelSignatureRequest` — Cancel Signature Request

Cancel a document version signature request.

- **Input:** [`CancelSignatureRequestInput`](https://github.com/getprobo/probo/blob/main/pkg/server/api/mcp/v1/specification.yaml#L8608-L8615)
- **Output:** [`CancelSignatureRequestOutput`](https://github.com/getprobo/probo/blob/main/pkg/server/api/mcp/v1/specification.yaml#L8617-L8624)
- **Behavior:** Writes data · Destructive · Idempotent · Closed world
- **Source:** [specification.yaml · L18539–L18550 ↗](https://github.com/getprobo/probo/blob/main/pkg/server/api/mcp/v1/specification.yaml#L18539-L18550)

### `voidDocumentVersionApproval` — Void Document Version Approval

Void a pending document version approval request.

- **Input:** [`VoidDocumentVersionApprovalInput`](https://github.com/getprobo/probo/blob/main/pkg/server/api/mcp/v1/specification.yaml#L8626-L8633)
- **Output:** [`VoidDocumentVersionApprovalOutput`](https://github.com/getprobo/probo/blob/main/pkg/server/api/mcp/v1/specification.yaml#L8635-L8641)
- **Behavior:** Writes data · Destructive · Idempotent · Closed world
- **Source:** [specification.yaml · L18551–L18562 ↗](https://github.com/getprobo/probo/blob/main/pkg/server/api/mcp/v1/specification.yaml#L18551-L18562)

### `approveDocumentVersion` — Approve Document Version

Approve a document version pending approval as the authenticated user.

- **Input:** [`ApproveDocumentVersionInput`](https://github.com/getprobo/probo/blob/main/pkg/server/api/mcp/v1/specification.yaml#L8643-L8653)
- **Output:** [`ApproveDocumentVersionOutput`](https://github.com/getprobo/probo/blob/main/pkg/server/api/mcp/v1/specification.yaml#L8655-L8661)
- **Behavior:** Writes data · Non-destructive · Non-idempotent · Closed world
- **Source:** [specification.yaml · L18563–L18574 ↗](https://github.com/getprobo/probo/blob/main/pkg/server/api/mcp/v1/specification.yaml#L18563-L18574)

### `rejectDocumentVersion` — Reject Document Version

Reject a document version pending approval as the authenticated user.

- **Input:** [`RejectDocumentVersionInput`](https://github.com/getprobo/probo/blob/main/pkg/server/api/mcp/v1/specification.yaml#L8663-L8673)
- **Output:** [`RejectDocumentVersionOutput`](https://github.com/getprobo/probo/blob/main/pkg/server/api/mcp/v1/specification.yaml#L8675-L8681)
- **Behavior:** Writes data · Non-destructive · Non-idempotent · Closed world
- **Source:** [specification.yaml · L18575–L18586 ↗](https://github.com/getprobo/probo/blob/main/pkg/server/api/mcp/v1/specification.yaml#L18575-L18586)

### `signDocument` — Sign Document

Sign a document version as the authenticated user.

- **Input:** [`SignDocumentInput`](https://github.com/getprobo/probo/blob/main/pkg/server/api/mcp/v1/specification.yaml#L8683-L8690)
- **Output:** [`SignDocumentOutput`](https://github.com/getprobo/probo/blob/main/pkg/server/api/mcp/v1/specification.yaml#L8692-L8698)
- **Behavior:** Writes data · Non-destructive · Non-idempotent · Closed world
- **Source:** [specification.yaml · L18587–L18598 ↗](https://github.com/getprobo/probo/blob/main/pkg/server/api/mcp/v1/specification.yaml#L18587-L18598)

### `listDocumentVersionApprovalQuorums` — List Document Version Approval Quorums

List approval quorums for a document version.

- **Input:** [`ListDocumentVersionApprovalQuorumsInput`](https://github.com/getprobo/probo/blob/main/pkg/server/api/mcp/v1/specification.yaml#L8700-L8716)
- **Output:** [`ListDocumentVersionApprovalQuorumsOutput`](https://github.com/getprobo/probo/blob/main/pkg/server/api/mcp/v1/specification.yaml#L8718-L8729)
- **Behavior:** Read only · Non-destructive · Idempotent · Closed world
- **Source:** [specification.yaml · L19343–L19354 ↗](https://github.com/getprobo/probo/blob/main/pkg/server/api/mcp/v1/specification.yaml#L19343-L19354)

### `getDocumentVersionApprovalQuorum` — Get Document Version Approval Quorum

Get a document version approval quorum by ID.

- **Input:** [`GetDocumentVersionApprovalQuorumInput`](https://github.com/getprobo/probo/blob/main/pkg/server/api/mcp/v1/specification.yaml#L8731-L8738)
- **Output:** [`GetDocumentVersionApprovalQuorumOutput`](https://github.com/getprobo/probo/blob/main/pkg/server/api/mcp/v1/specification.yaml#L8740-L8746)
- **Behavior:** Read only · Non-destructive · Idempotent · Closed world
- **Source:** [specification.yaml · L19355–L19366 ↗](https://github.com/getprobo/probo/blob/main/pkg/server/api/mcp/v1/specification.yaml#L19355-L19366)

### `listDocumentVersionApprovalDecisions` — List Document Version Approval Decisions

List approval decisions for an approval quorum.

- **Input:** [`ListDocumentVersionApprovalDecisionsInput`](https://github.com/getprobo/probo/blob/main/pkg/server/api/mcp/v1/specification.yaml#L8748-L8772)
- **Output:** [`ListDocumentVersionApprovalDecisionsOutput`](https://github.com/getprobo/probo/blob/main/pkg/server/api/mcp/v1/specification.yaml#L8774-L8785)
- **Behavior:** Read only · Non-destructive · Idempotent · Closed world
- **Source:** [specification.yaml · L19367–L19378 ↗](https://github.com/getprobo/probo/blob/main/pkg/server/api/mcp/v1/specification.yaml#L19367-L19378)

### `getDocumentVersionApprovalDecision` — Get Document Version Approval Decision

Get a document version approval decision by ID.

- **Input:** [`GetDocumentVersionApprovalDecisionInput`](https://github.com/getprobo/probo/blob/main/pkg/server/api/mcp/v1/specification.yaml#L8787-L8794)
- **Output:** [`GetDocumentVersionApprovalDecisionOutput`](https://github.com/getprobo/probo/blob/main/pkg/server/api/mcp/v1/specification.yaml#L8796-L8802)
- **Behavior:** Read only · Non-destructive · Idempotent · Closed world
- **Source:** [specification.yaml · L19379–L19390 ↗](https://github.com/getprobo/probo/blob/main/pkg/server/api/mcp/v1/specification.yaml#L19379-L19390)
