Docs
Reference

Limits and Quotas

Platform limits and quotas reference for MarkDocket — automation concurrency, agent turn states and expiry, MCP response size caps, file upload constraints, and polling timeouts.

This page documents the hard limits and quotas enforced by MarkDocket across automations, the AI agent, the MCP server, and file handling. Where a limit is soft or configurable, that is noted.

Automations

Concurrent Runs

Each user account may have at most 2 automation runs executing simultaneously. If you trigger a third run while two are already in progress, it will be queued until a slot becomes available.

Async Action Wait Timeout

When an automation node kicks off an async background job (such as a USPTO search or brand-intel scan), the run waits up to 2 hours for that job to reach a terminal state. If the job does not complete within 2 hours, the automation step times out and the run is marked failed at that node.

Billing Suspension

If a billing limit is reached during an automation run, the run is suspended rather than immediately failed. A suspended run can be resumed once the billing condition is resolved.


AI Agent Turns

Each interactive agent turn progresses through a defined lifecycle. Understanding these states helps you interpret errors and plan retries.

Turn States

StateMeaning
authorizingBilling reservation is being created
authorizedBilling reserved; ready for file upload and message commit
uploadingFile attachments are being accepted
runningTurn is actively streaming
completedTurn finished successfully
deniedBilling reservation was rejected
failedTurn encountered an unrecoverable error
expiredTurn timed out before completing
cancelledTurn was cancelled by the user or system

Expiry and Cleanup

Turns that do not advance to running within their authorization window are automatically moved to expired. When a turn expires, any billing reservation held for it is released and any uploaded files that were not committed to a message are cleaned up. The platform performs this sweep in the background; no action is required from you.

File Uploads per Turn

File uploads are scoped to their turn and must be completed before the message is committed. Uploads submitted under the same idempotency key are deduplicated — re-submitting an identical upload does not create a duplicate attachment.


MCP Server

Response Size Cap

Tool results returned through the MCP server are subject to a 1 MB character limit. Before this cap is applied, the server performs domain-aware compaction on certain tool outputs:

  • Polling tools (for example, scan status endpoints): intermediate findings and report markdown fields are stripped from in-progress results, since those fields are only meaningful in the final result.
  • Final result tools: findings are retained in full.
  • Full report tools: the full payload passes through without compaction.

If the compacted result still exceeds the size limit, the response is truncated to the first 150,000 characters and returned with a truncated: true flag. A truncated response is not an error — it is a preview of the full result. To retrieve the complete output, fetch the full report separately using the dedicated report tool.

Why compaction happens before truncation

Stripping fields that are not yet meaningful (such as findings on an in-progress scan) keeps responses within the size cap in the common case without losing information. Truncation is a last resort for genuinely large final results.

Tool Annotations

MCP behavioral hints (readOnlyHint, idempotentHint, destructiveHint) are derived automatically from each tool's HTTP method and whether it is flagged as read-only. You do not need to configure these manually.


CLI and API Key Sessions

API Surface

Personal API key sessions and CLI sessions authenticated with a password call the MarkDocket API directly. Browser OAuth sessions (created by markdocket login using the browser flow) route through the hosted MCP endpoint. OAuth access tokens are resource-bound to the MCP endpoint and cannot be used to call API routes directly.

Write-Mutating Calls

Write-mutating tool calls made with an API key require an Idempotency-Key header. Replaying the same call with the same key returns the original result without performing the action again.


Pricing Fetch Timeout

The live pricing catalog is fetched at page-render time. If the catalog cannot be retrieved within 5 seconds, the pricing page renders a "Pricing temporarily unavailable" message and disables purchase actions. No stale or hardcoded prices are displayed as a fallback.


Summary Table

LimitValueNotes
Automation concurrent runs2 per userAdditional runs are queued
Automation async job wait2 hoursPer node; exceeded → step fails
MCP response size cap1 MB (characters)Domain compaction applied first; then truncated to 150,000 chars with truncated: true
Pricing fetch timeout5 secondsFailure renders unavailable state; no stale fallback

Limits may change

The values on this page reflect the current platform configuration. Specific limits for your plan are shown in your account billing settings.

On this page