DokuTrak
Let your agent chase the documents: create, chase, read and collect DokuTrak Document Requests.
Should I use this
Quality & Safety
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"dokutrak-mcp": {
"command": "npx",
"args": [
"dokutrak-mcp"
]
}
}
}Runnable packages
0.1.2stdioRemote endpoints
https://app.dokutrak.com/api/mcpstreamable-httpWhat it can do
Tool inventory
Tools (4)
🟢prepare_request(preview)
Prepare or edit recipient, checklist, deadline and optional message before connecting. No request is created and nothing is sent. Keep the returned preview through connection, then pass it unchanged to review_request. Missing or invalid details must be corrected.
Input Schema
{
"type": "object",
"properties": {
"preview": {
"type": "object",
"properties": {
"recipientEmail": {
"type": "string",
"maxLength": 255,
"format": "email",
"pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
},
"recipientName": {
"type": "string",
"minLength": 1,
"maxLength": 255
},
"recipientLanguage": {
"default": "en",
"type": "string",
"enum": [
"en",
"fr"
]
},
"title": {
"type": "string",
"minLength": 1,
"maxLength": 500
},
"deadline": {
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
},
"documents": {
"minItems": 1,
"maxItems": 10,
"type": "array",
"items": {
"type": "object",
"properties": {
"title": {
"type": "string",
"minLength": 1,
"maxLength": 500
},
"doc_type": {
"type": "string",
"maxLength": 80
},
"doc_type_id": {
"type": "string",
"maxLength": 80
},
"description": {
"type": "string",
"maxLength": 1000
},
"required": {
"default": true,
"type": "boolean"
},
"coverage_days": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 3650
}
},
"required": [
"title"
]
}
},
"message": {
"default": "",
"type": "string",
"maxLength": 1000
}
},
"additionalProperties": false
}
},
"required": [
"preview"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟡review_request(operation_id, preview)
After connection, submit the unchanged preview and a stable UUID operation_id. Open reviewUrl for the Professional to review and explicitly confirm in DokuTrak. Reuse the operation_id for retries. Changed details require a new operation and confirmation. No request or email is created by review.
Input Schema
{
"type": "object",
"properties": {
"operation_id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
},
"preview": {
"type": "object",
"properties": {
"recipientEmail": {
"type": "string",
"maxLength": 255,
"format": "email",
"pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
},
"recipientName": {
"type": "string",
"minLength": 1,
"maxLength": 255
},
"recipientLanguage": {
"default": "en",
"type": "string",
"enum": [
"en",
"fr"
]
},
"title": {
"type": "string",
"minLength": 1,
"maxLength": 500
},
"deadline": {
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
},
"documents": {
"minItems": 1,
"maxItems": 10,
"type": "array",
"items": {
"type": "object",
"properties": {
"title": {
"type": "string",
"minLength": 1,
"maxLength": 500
},
"doc_type": {
"type": "string",
"maxLength": 80
},
"doc_type_id": {
"type": "string",
"maxLength": 80
},
"description": {
"type": "string",
"maxLength": 1000
},
"required": {
"default": true,
"type": "boolean"
},
"coverage_days": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 3650
}
},
"required": [
"title"
]
}
},
"message": {
"default": "",
"type": "string",
"maxLength": 1000
}
},
"additionalProperties": false
}
},
"required": [
"operation_id",
"preview"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟡send_request(operation_id, version)
Send only after the Professional confirms the exact version on reviewUrl. Use operation_id and version from review_request. Retries recover the same request. sent means accepted by the email provider, not delivery to the inbox. delivery_unknown requires inspection in DokuTrak; do not start over or resend. No immediate reminder is available.
Input Schema
{
"type": "object",
"properties": {
"operation_id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
},
"version": {
"type": "string",
"minLength": 64,
"maxLength": 64
}
},
"required": [
"operation_id",
"version"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟢get_request(request_id, search)
Read checklist receipt, Human Approval status, deadlines and recorded reminder progress. Give request_id or search the title, Client name or email. If several requests match, ask the Professional to select a candidate and call again with its id. Received does not mean approved. This tool sends no reminder. Open DokuTrak to read files or make Human Approval decisions.
Input Schema
{
"type": "object",
"properties": {
"request_id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$"
},
"search": {
"type": "string",
"minLength": 1,
"maxLength": 200
}
},
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}Community
Evidence