Define a Tool in its owning package
Use@voyant-travel/tools and delegate to the package service layer.
Declare the runtime
Export the Tool from the domain package and declare it in that package’s Voyant manifest. The selected deployment graph supplies package-owned context contributions and determines which Tool runtimes are loaded. Do not maintain a secondtools.json, Max manifest, or Cloud catalog. Graph
registration validates the Tool identity, scopes, and deployment risk against
the selected runtime.
Publish through MCP
Managed deployments mount@voyant-travel/mcp at /v1/admin/mcp.
POST /v1/admin/mcpsupports standardinitialize,tools/list, andtools/call.- The caller authenticates with a scoped
voy_*Bearer key. - Unauthorized Tools are neither listed nor callable.
- Tool metadata includes stable capability identity, exact version, scopes, risk policy, and action policy.
Actions and approval
Declare risk as data. When a Tool maps to a guarded Action, the selected graph adds the authoritativeactionPolicy. Max uses that policy for confirmation
and supplies only the invocation controls advertised by the deployment.
The deployment validates actor, target, command fingerprint, confirmation,
idempotency, and approval before the handler runs. Do not recreate those checks
inside a Cloud-specific wrapper.
Presentation
Return typed pure data from the Tool. Max can add a rich presentation for a first-party capability by its stable capability ID. Plain structured results need no Max-specific code.Next steps
Max overview
See how Max fits into managed deployments.
Managed availability
Learn how Max is delivered in Admin.
Framework modules
Find the package that owns your capability.