# 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#L2644-L2660)
- **Output:** [`ListMeasureDocumentsOutput`](https://github.com/getprobo/probo/blob/main/pkg/server/api/mcp/v1/specification.yaml#L2662-L2673)
- **Behavior:** Read only · Non-destructive · Idempotent · Closed world
- **Source:** [specification.yaml · L15817–L15828 ↗](https://github.com/getprobo/probo/blob/main/pkg/server/api/mcp/v1/specification.yaml#L15817-L15828)

### `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#L6715-L6731)
- **Output:** [`ListControlDocumentsOutput`](https://github.com/getprobo/probo/blob/main/pkg/server/api/mcp/v1/specification.yaml#L6733-L6744)
- **Behavior:** Read only · Non-destructive · Idempotent · Closed world
- **Source:** [specification.yaml · L16729–L16740 ↗](https://github.com/getprobo/probo/blob/main/pkg/server/api/mcp/v1/specification.yaml#L16729-L16740)

### `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#L7600-L7645)
- **Output:** [`ListDocumentsOutput`](https://github.com/getprobo/probo/blob/main/pkg/server/api/mcp/v1/specification.yaml#L7647-L7658)
- **Behavior:** Read only · Non-destructive · Idempotent · Closed world
- **Source:** [specification.yaml · L16885–L16896 ↗](https://github.com/getprobo/probo/blob/main/pkg/server/api/mcp/v1/specification.yaml#L16885-L16896)

### `getDocument` — Get Document

Get a document by ID.

- **Input:** [`GetDocumentInput`](https://github.com/getprobo/probo/blob/main/pkg/server/api/mcp/v1/specification.yaml#L7660-L7667)
- **Output:** [`GetDocumentOutput`](https://github.com/getprobo/probo/blob/main/pkg/server/api/mcp/v1/specification.yaml#L7669-L7675)
- **Behavior:** Read only · Non-destructive · Idempotent · Closed world
- **Source:** [specification.yaml · L16897–L16908 ↗](https://github.com/getprobo/probo/blob/main/pkg/server/api/mcp/v1/specification.yaml#L16897-L16908)

### `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#L7677-L7705)
- **Output:** [`AddDocumentOutput`](https://github.com/getprobo/probo/blob/main/pkg/server/api/mcp/v1/specification.yaml#L7707-L7717)
- **Behavior:** Writes data · Non-destructive · Non-idempotent · Closed world
- **Source:** [specification.yaml · L16909–L16920 ↗](https://github.com/getprobo/probo/blob/main/pkg/server/api/mcp/v1/specification.yaml#L16909-L16920)

### `updateDocument` — Update Document

Update an existing document.

- **Input:** [`UpdateDocumentInput`](https://github.com/getprobo/probo/blob/main/pkg/server/api/mcp/v1/specification.yaml#L7719-L7743)
- **Output:** [`UpdateDocumentOutput`](https://github.com/getprobo/probo/blob/main/pkg/server/api/mcp/v1/specification.yaml#L7745-L7753)
- **Behavior:** Writes data · Non-destructive · Idempotent · Closed world
- **Source:** [specification.yaml · L16921–L16932 ↗](https://github.com/getprobo/probo/blob/main/pkg/server/api/mcp/v1/specification.yaml#L16921-L16932)

### `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#L7755-L7762)
- **Output:** [`DeleteDocumentDraftOutput`](https://github.com/getprobo/probo/blob/main/pkg/server/api/mcp/v1/specification.yaml#L7764-L7770)
- **Behavior:** Writes data · Destructive · Idempotent · Closed world
- **Source:** [specification.yaml · L16933–L16944 ↗](https://github.com/getprobo/probo/blob/main/pkg/server/api/mcp/v1/specification.yaml#L16933-L16944)

### `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#L7772-L7779)
- **Output:** [`ArchiveDocumentOutput`](https://github.com/getprobo/probo/blob/main/pkg/server/api/mcp/v1/specification.yaml#L7781-L7787)
- **Behavior:** Writes data · Non-destructive · Idempotent · Closed world
- **Source:** [specification.yaml · L16945–L16956 ↗](https://github.com/getprobo/probo/blob/main/pkg/server/api/mcp/v1/specification.yaml#L16945-L16956)

### `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#L7789-L7796)
- **Output:** [`UnarchiveDocumentOutput`](https://github.com/getprobo/probo/blob/main/pkg/server/api/mcp/v1/specification.yaml#L7798-L7804)
- **Behavior:** Writes data · Non-destructive · Idempotent · Closed world
- **Source:** [specification.yaml · L16957–L16968 ↗](https://github.com/getprobo/probo/blob/main/pkg/server/api/mcp/v1/specification.yaml#L16957-L16968)

### `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#L7806-L7830)
- **Output:** [`ListDocumentVersionsOutput`](https://github.com/getprobo/probo/blob/main/pkg/server/api/mcp/v1/specification.yaml#L7832-L7844)
- **Behavior:** Read only · Non-destructive · Idempotent · Closed world
- **Source:** [specification.yaml · L16969–L16980 ↗](https://github.com/getprobo/probo/blob/main/pkg/server/api/mcp/v1/specification.yaml#L16969-L16980)

### `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#L7846-L7853)
- **Output:** [`GetDocumentVersionOutput`](https://github.com/getprobo/probo/blob/main/pkg/server/api/mcp/v1/specification.yaml#L7855-L7862)
- **Behavior:** Read only · Non-destructive · Idempotent · Closed world
- **Source:** [specification.yaml · L16981–L16992 ↗](https://github.com/getprobo/probo/blob/main/pkg/server/api/mcp/v1/specification.yaml#L16981-L16992)

### `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#L7864-L7879)
- **Output:** [`PublishDocumentOutput`](https://github.com/getprobo/probo/blob/main/pkg/server/api/mcp/v1/specification.yaml#L7881-L7894)
- **Behavior:** Writes data · Non-destructive · Idempotent · Closed world
- **Source:** [specification.yaml · L16993–L17004 ↗](https://github.com/getprobo/probo/blob/main/pkg/server/api/mcp/v1/specification.yaml#L16993-L17004)

### `deleteDocument` — Delete Document

Delete a document.

- **Input:** [`DeleteDocumentInput`](https://github.com/getprobo/probo/blob/main/pkg/server/api/mcp/v1/specification.yaml#L7896-L7903)
- **Output:** [`DeleteDocumentOutput`](https://github.com/getprobo/probo/blob/main/pkg/server/api/mcp/v1/specification.yaml#L7905-L7912)
- **Behavior:** Writes data · Destructive · Idempotent · Closed world
- **Source:** [specification.yaml · L17005–L17016 ↗](https://github.com/getprobo/probo/blob/main/pkg/server/api/mcp/v1/specification.yaml#L17005-L17016)

### `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#L7914-L7946)
- **Output:** [`ListDocumentVersionSignaturesOutput`](https://github.com/getprobo/probo/blob/main/pkg/server/api/mcp/v1/specification.yaml#L7948-L7959)
- **Behavior:** Read only · Non-destructive · Idempotent · Closed world
- **Source:** [specification.yaml · L17017–L17028 ↗](https://github.com/getprobo/probo/blob/main/pkg/server/api/mcp/v1/specification.yaml#L17017-L17028)

### `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#L7961-L7968)
- **Output:** [`GetDocumentVersionSignatureOutput`](https://github.com/getprobo/probo/blob/main/pkg/server/api/mcp/v1/specification.yaml#L7970-L7976)
- **Behavior:** Read only · Non-destructive · Idempotent · Closed world
- **Source:** [specification.yaml · L17029–L17040 ↗](https://github.com/getprobo/probo/blob/main/pkg/server/api/mcp/v1/specification.yaml#L17029-L17040)

### `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#L7978-L7989)
- **Output:** [`RequestDocumentVersionSignatureOutput`](https://github.com/getprobo/probo/blob/main/pkg/server/api/mcp/v1/specification.yaml#L7991-L7997)
- **Behavior:** Writes data · Non-destructive · Non-idempotent · Closed world
- **Source:** [specification.yaml · L17041–L17052 ↗](https://github.com/getprobo/probo/blob/main/pkg/server/api/mcp/v1/specification.yaml#L17041-L17052)

### `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#L7999-L8006)
- **Output:** [`CancelSignatureRequestOutput`](https://github.com/getprobo/probo/blob/main/pkg/server/api/mcp/v1/specification.yaml#L8008-L8015)
- **Behavior:** Writes data · Destructive · Idempotent · Closed world
- **Source:** [specification.yaml · L17053–L17064 ↗](https://github.com/getprobo/probo/blob/main/pkg/server/api/mcp/v1/specification.yaml#L17053-L17064)

### `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#L8017-L8024)
- **Output:** [`VoidDocumentVersionApprovalOutput`](https://github.com/getprobo/probo/blob/main/pkg/server/api/mcp/v1/specification.yaml#L8026-L8032)
- **Behavior:** Writes data · Destructive · Idempotent · Closed world
- **Source:** [specification.yaml · L17065–L17076 ↗](https://github.com/getprobo/probo/blob/main/pkg/server/api/mcp/v1/specification.yaml#L17065-L17076)

### `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#L8034-L8044)
- **Output:** [`ApproveDocumentVersionOutput`](https://github.com/getprobo/probo/blob/main/pkg/server/api/mcp/v1/specification.yaml#L8046-L8052)
- **Behavior:** Writes data · Non-destructive · Non-idempotent · Closed world
- **Source:** [specification.yaml · L17077–L17088 ↗](https://github.com/getprobo/probo/blob/main/pkg/server/api/mcp/v1/specification.yaml#L17077-L17088)

### `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#L8054-L8064)
- **Output:** [`RejectDocumentVersionOutput`](https://github.com/getprobo/probo/blob/main/pkg/server/api/mcp/v1/specification.yaml#L8066-L8072)
- **Behavior:** Writes data · Non-destructive · Non-idempotent · Closed world
- **Source:** [specification.yaml · L17089–L17100 ↗](https://github.com/getprobo/probo/blob/main/pkg/server/api/mcp/v1/specification.yaml#L17089-L17100)

### `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#L8074-L8081)
- **Output:** [`SignDocumentOutput`](https://github.com/getprobo/probo/blob/main/pkg/server/api/mcp/v1/specification.yaml#L8083-L8089)
- **Behavior:** Writes data · Non-destructive · Non-idempotent · Closed world
- **Source:** [specification.yaml · L17101–L17112 ↗](https://github.com/getprobo/probo/blob/main/pkg/server/api/mcp/v1/specification.yaml#L17101-L17112)

### `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#L8091-L8107)
- **Output:** [`ListDocumentVersionApprovalQuorumsOutput`](https://github.com/getprobo/probo/blob/main/pkg/server/api/mcp/v1/specification.yaml#L8109-L8120)
- **Behavior:** Read only · Non-destructive · Idempotent · Closed world
- **Source:** [specification.yaml · L17761–L17772 ↗](https://github.com/getprobo/probo/blob/main/pkg/server/api/mcp/v1/specification.yaml#L17761-L17772)

### `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#L8122-L8129)
- **Output:** [`GetDocumentVersionApprovalQuorumOutput`](https://github.com/getprobo/probo/blob/main/pkg/server/api/mcp/v1/specification.yaml#L8131-L8137)
- **Behavior:** Read only · Non-destructive · Idempotent · Closed world
- **Source:** [specification.yaml · L17773–L17784 ↗](https://github.com/getprobo/probo/blob/main/pkg/server/api/mcp/v1/specification.yaml#L17773-L17784)

### `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#L8139-L8163)
- **Output:** [`ListDocumentVersionApprovalDecisionsOutput`](https://github.com/getprobo/probo/blob/main/pkg/server/api/mcp/v1/specification.yaml#L8165-L8176)
- **Behavior:** Read only · Non-destructive · Idempotent · Closed world
- **Source:** [specification.yaml · L17785–L17796 ↗](https://github.com/getprobo/probo/blob/main/pkg/server/api/mcp/v1/specification.yaml#L17785-L17796)

### `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#L8178-L8185)
- **Output:** [`GetDocumentVersionApprovalDecisionOutput`](https://github.com/getprobo/probo/blob/main/pkg/server/api/mcp/v1/specification.yaml#L8187-L8193)
- **Behavior:** Read only · Non-destructive · Idempotent · Closed world
- **Source:** [specification.yaml · L17797–L17808 ↗](https://github.com/getprobo/probo/blob/main/pkg/server/api/mcp/v1/specification.yaml#L17797-L17808)
