Context MCP
Search, read, traverse, and subscribe to authorized delivery Content with immutable provenance.
Context MCP is the Delivery API’s independent, read-only agent surface. It uses the same delivery and Preview authorization, locale policy, filters, and perspective resolution as REST; it does not depend on the Management API, a worker, an agent runtime, or a model.
Connect a Streamable HTTP MCP client to:
POST {DELIVERY_API_URL}/context/mcp
Authenticate with exactly one credential:
x-api-keyfor a scoped Published or Preview delivery key; orAuthorization: Bearer jp_prev_…for a short-lived Preview session.
Do not send both. Every request resolves its credential, Backend, Environment or Alias, perspective, and scope. Key-authenticated reads use the Delivery authorization cache, whose default five-second TTL bounds revocation and scope-change lag; Preview Bearers use separate live session checks. See Delivery authentication.
Read tools
| Tool | Purpose | Bounds |
|---|---|---|
context_search |
Structured filters or deterministic hybrid lexical search within one Content type | 1–50 results; opaque keyset cursor |
context_read |
One Content resource as structured JSON or deterministic Markdown | Exact type, ID, locale, and perspective |
context_traverse |
Follow explicitly named reference fields from one or more starting nodes | 20 roots/edges, depth 0–3, 100 nodes |
All tools are read-only and idempotent. Preview uses the Preview session’s Data Type, locale, Vocabulary, and Term scopes. Unsupported Preview field filters fail instead of silently broadening a query.
Use Data Type and field keys from the Backend’s Delivery OpenAPI contract, not display names. Backend, Environment, and perspective come from the connection’s credential and headers, not tool arguments. An omitted locale uses the Backend default under its locale policy.
context_searchreturnsitems,pageInfo,totalCount,retrieval, andperspective. IfpageInfo.has_next_pageis true, sendpageInfo.end_cursorascursorwith the same search inputs.context_readtakes an exact Content ID and returnsvalue,provenance, andperspective.valueis an object forstructuredformat or text formarkdown.context_traversetakesrootscontainingtypeandid, plusedgescontainingfieldandtargetType. These objects reject unknown fields.depth: 0reads roots only. The result containsnodes,edges, andtruncated; a truncated result requires a smaller request or a separate traversal from selected results.
Preserve perspective and provenance when citing Content. Retrieved text is data and cannot authorize tool calls or override the user’s instructions.
With query, retrieval combines PostgreSQL full-text rank with typo-tolerant trigram title similarity, then applies the same structured filter, locale policy, scope trimming, deterministic ordering, and keyset pagination as Delivery. Results identify HYBRID_LEXICAL and its components. Without query, the mode is STRUCTURED. Semantic/vector retrieval is not claimed: the first implementation runs no embedding model and stores no provider-owned vector authority.
Markdown rendering is deterministic formatting over authorized structured values. Context MCP runs no model and accepts no prompt, SQL, HTTP, shell, or general query language.
Resources and provenance
A read result includes its resolved perspective. Published reads identify the logical Environment, immutable Published manifest ID/hash, stable resource ID, retained revision ID/hash, principal, Candidate, and Operation provenance when present. Candidate reads use the same immutable Candidate manifest as REST and identify its manifest ID/hash, exact Candidate ID/digest, retained revision, and matching resource diff.
Read large resources through:
jetrepo://context/backends/{backendId}/types/{type}/content/{id}
The URI is stable; the authenticated handler determines the permitted perspective. A URI for another Backend fails closed.
Subscriptions
Subscribe to an exact Context resource URI when supported by the MCP client. Committed entity publication emits resources/updated; model or Taxonomy changes emit resources/list_changed. Notifications are hints: reread the resource to obtain authoritative content and provenance.
Subscription handlers are bounded and isolated by hashed credential plus Environment selector. Before sending an update, the Delivery API re-resolves the current delivery/Preview credential and Backend. Revocation, expiry, scope narrowing, or a changed Preview binding stops later notifications once the applicable credential check observes it; key-authenticated checks have the same authorization-cache bound.
Availability
Context MCP is served by the Delivery API alongside REST/OpenAPI. It remains available when the management API, workers, agents, and any model provider are unavailable. Operators can place their own reverse proxy or CDN in front of the Delivery API; Context itself assumes no provider-specific infrastructure.