Guides

Limits

Page size, truncation, rate limits, token lifetime, and the read-only boundary for Elova MCP.

All nine tools are read-only. Repeating a call does not create a second side effect. The tools read Elova's retained records. They do not reach the public web or live n8n.

Annotations on every tool:

AnnotationValueMeaning
readOnlyHinttrueThe tool does not modify Elova or n8n
destructiveHintfalseThe tool does not delete or overwrite
idempotentHinttrueThe same arguments read the same retained view, apart from later collection
openWorldHintfalseThe tool does not search outside Elova

These are client hints. Authorization still runs on every call.

What is never returned

  • n8n URLs and credentials
  • workflow parameters, settings, and credentials
  • node connections and a workflow graph
  • node inputs, outputs, and raw execution payloads
  • error stacks
  • tracing identifiers
  • dedicated identity or email fields
  • aggregate token usage on statistics (usage is always null)

Customer-controlled names and error text can still contain personal information. Review the client before you approve access.

Pages

ToolPage
get_many_workspaceslimit 1–50, default 50. Cursor max 1024 characters
get_many_instancesOne list, at most 20. No cursor
get_many_sync_jobslimit 1–50, default 50, from the newest 100 jobs. No cursor
get_many_executionslimit 1–50, default 50. Cursor max 4096 characters
get_many_workflowslimit 1–50, default 50. Cursor max 4096 characters

Keep the same filters and the same limit when you send cursor. A cursor is bound to the account, approval generation, eligible workspace set, filters, and page size.

  • A changed binding returns VALIDATION_ERROR. That includes a different eligible workspace set, a different limit or filter, or a tampered cursor.
  • Loss of the selected workspace can return NOT_FOUND instead.
  • MCP_CURSOR_STALE means the retained snapshot or source changed. The text is MCP_CURSOR_STALE: Read settings changed. Restart without a cursor.

Discard the cursor and start again without one. Do not treat every authorization change as MCP_CURSOR_STALE.

nextCursor: null means this filter has no further page. It does not mean history is complete. Read coverage.

Truncation inside a record

FlagBound
workflowNameTruncatedExecution label shortened to 100 Unicode code points
nameTruncatedWorkflow name shortened to 200 Unicode code points
nodesTruncatedNode inventory prefix, at most 1000 nodes and 32 KiB
history.truncatedDiagnostic prefix, at most 64 nodes, 128 runs, 16 usage rows per run, and 48 KiB
truncated on sync jobsMore jobs exist in the newest-100 window than limit

nodeCount includes nodes omitted from the inventory. A shortened name is display data. The local UUID remains the selector.

Time and history

  • period is today, 7d, 30d, or all
  • Execution list period defaults to all
  • Undated executions are included only for all
  • Statistics require timeZone. Execution lists default to the workspace zone
  • Statistics return at most 30 buckets
  • coverage.partial is always true
  • Reads do not fill gaps by calling n8n

Request and rate limits

Each running MCP process applies these limits:

  • request body at most 32 KiB
  • response at most 256 KiB
  • request deadline 30 seconds
  • 4 concurrent requests globally
  • 2 concurrent requests per account
  • 60 requests per minute per approval

A limit response is HTTP 429 with Retry-After. Wait and retry the same read. Do not send a write to work around it. There is no write tool.

Connection limits

  • Approval expiry is 1, 7, or 30 days, and never more than 30 days
  • One approval can include at most 50 workspaces
  • The approval page lists at most 200 eligible workspaces
  • An account can have at most 100 active approvals
  • Access tokens last at most 5 minutes
  • A refresh token cannot be reused
  • The shipped identity configuration ends an idle sign-in session after 30 minutes and ends every sign-in session after 30 days

The approval expiry can end access sooner than the sign-in session ceiling.