Skip to content

The Agent Surface ​

AI agents are first-class, governed callers of the ontology — not a bypass around it. Manifest exposes the platform to agents over MCP (the Model Context Protocol), and the surface is deliberately thin.

Tools generated from the registry ​

The MCP toolset is generated from the published ontology: read tools per object type, action tools per action type, plus search and object-set tools. The surface holds no schema of its own — when a new version publishes, the tools regenerate. A tool that isn't in the ontology cannot exist; a tool the caller's policy doesn't permit isn't listed.

PDP-filtered listing, one dispatch path ​

  • Listing is policy-filtered. An agent asking "what can I do?" sees only the tools its token's scopes and the PDP admit — discovery itself is governed.
  • Dispatch is single-path. Every tool call routes to the same commands and queries the REST controllers send. The MCP layer owns no execution; an agent's create proposal is validated, guarded, reviewed, and audited exactly like a human's.
  • Obligations apply. Row filters and masking shape what an agent reads; reason-required actions demand a reason argument from the agent just as the REST surface demands a header.

Object sets ​

Agents work over data at set granularity: an object set is a handle over a filtered slice of a type that can be filtered further, aggregated, and traversed along links without streaming rows into context. Large results answer as a reference envelope rather than inlined rows, keeping token budgets sane while the data stays on the platform.

Saved sets and set operations ​

Sets combine: union, intersect and subtract two sets of the same type (or interface) into a new one (CombineSets). For example, "new duplicate candidates minus those already reviewed."

A set can be saved under a name (SaveSet) and reloaded by anyone in the tenant (LoadSavedSet). What is saved is the set's definition, never its members. Loading re-evaluates it for whoever loads it, under their own permissions, against today's ontology.

A saved set's owner can switch on a monitor. The monitor re-evaluates the set on an interval and publishes the instances that entered or left it as manifest.object-set.objects-entered.v1 and objects-exited.v1 events. The full contract is in docs/saved-sets.md.

Manifest — the governed ontology layer.