Skip to main content
This page documents the tool family an agent uses to call composerID over the Model Context Protocol (MCP). It is for teams wiring a chatbot or an autonomous agent into a workforce decision flow. Each tool restates one Intent API operation as a tool call, so the schemas, scopes and guarantees are the ones the API reference documents.
The tool family below is a documented contract: each tool mirrors one Intent API operation and is held to that operation’s request and response schemas. composerID does not yet run a hosted MCP server. An agent reaches these tools through the REST operation each one names, served today by the reference sandbox. Separately, the “Connect to MCP” option in the menu on every page of these docs connects an assistant to the Mintlify-hosted documentation server, which searches and reads this documentation. It does not call the Intent API.

The front-door rule

An agent may browse and read the destination system freely. When a decision is required it calls intent_create; it never creates records in the destination directly. composerID then mints the Intent ID, plans, preflights and publishes, and the destination system keeps its role as the system of record.

Tools

Mirrors POST /v1/intent (scope intents:write). Input schema IntentCreateRequest: a payload object of canonical intent fields such as channel, role_title, start_date, location and quantity. Output schema IntentRecord. The intent_id it returns never changes; later amendments bump intent_version.
Mirrors PATCH /v1/intent/{intent_id} (scope intents:write). Input schema IntentPatchRequest; output schema IntentRecord. A patch bumps the intent’s version.
Mirrors POST /v1/plan (scope intents:write). Input schema PlanGenerateRequest; output schema PlanGenerateResponse.
Mirrors POST /v1/preflight (scope intents:write). Input schema PreflightRequest; output schema PreflightResponse. When the tenant’s mandatory fields are not satisfied the REST operation answers 422 with an enrichment_request, surfaced before anything is published.
Mirrors POST /v1/publish (scope publish). Input schema PublishRequest; output schema PublishReceipt. Publishing is idempotent on {intent_id}-{intent_version}-{target_system}: a replayed publish returns the stored receipt with replayed: true and never creates a second record in the destination.

Guardrails

Each transition requires a minimum viable intent. Overrides are never silent: they are recorded as explicit events in the intent’s timeline.
If the target system needs fields the intent lacks, emit an enrichment_request rather than failing the publish. The gap goes back to the requester through POST /v1/enrichment-request, and the answers fill it without a version bump.
Raw platform calls are allowed through POST /v1/passthrough (scope passthrough), but every one carries the intent_id, the version and a rationale, recorded in the timeline.

Next steps

Authentication

The scope each tool’s REST operation requires.

API reference

The Intent API the tools mirror, generated from its OpenAPI document.

Quickstart

Run the sandbox the tools call today.