Skip to content

Limits & Constraints

LimitValueNotes
Search resultsMax 50 (GraphQL), max 25 (Core tools)Default 10
Discover resultsMax 50 per queryDefault 10
Recent resultsMax 50 per queryDefault 15
Documents queryMax 100 per pageDefault 25
Sync runs queryMax 100 per pageDefault 20
Batch ingestMax 50 documentsPer ingestDocuments call
Source nested queriesDefault 5recentDocuments, syncRuns (topAuthors defaults to 20)
LimitValue
MCP session TTL (HTTP transport)1 hour
Worker execution timeout~30 seconds
WebSocket idleHibernates (no timeout; sleeps until next message)

Documents and sync runs use offset-based pagination with limit and offset parameters.

  • No cursor-based pagination is available.
  • There is no enforced maximum offset, but very large offsets produce slower queries.
  • Use the hasMore field in paginated responses to determine if more results exist.
  • The totalCount field returns the total number of matching records.
ConstraintDetails
Document ID format16-character hex string
External IDMust be unique per feed (deduplicated by the (feedId, externalId) pair)
Content typestext, transcript, highlight, bookmark
TagsJSON string array, no enforced limit on count
Preview textFirst ~300 words of document content
Vector dimensions1024 (bge-m3 model)

Trove does not enforce per-user rate limits at the application level. Cloudflare’s platform DDoS protection applies at the infrastructure level.

For high-volume ingestion, batch documents into groups of 50 (the maximum per request) and allow reasonable delays between requests to avoid overwhelming the ingest pipeline.