Skip to main content

Module exposes

Module exposes 

Source
Expand description

VAPP-180: the MCP tools a package EXPOSES (docs/package-format.md “Exposes”): declarative bindings {name, title, description, input, access, run} a host’s MCP broker lists and runs as the calling person, never code. The format half of the eMCP contract; what a run may reach on a given host is that host’s own check. Mirrors packages/exponential-ui/src/host/exposes.ts line by line; fixtures/host-router.json (validation) replays it.

Structs§

ExposeIssue
One problem with a binding: the eMCP error code, the binding’s index (None = the list) and the package issue.

Constants§

EXPOSE_ACTION_PATTERN
package.exposes.actionPattern.
EXPOSE_AGENT_DEVICES
EXPOSE_AGENT_PROMPT_MAX
EXPOSE_AGENT_SLUG_MAX
package.exposes.agent (#VAPP-236).
EXPOSE_DESCRIPTION_MAX
EXPOSE_DESTRUCTIVE_WORDS
EXPOSE_MAX_TOOLS
EXPOSE_NAME_MAX
EXPOSE_NAME_PATTERN
package.exposes.limits.
EXPOSE_READ_OP_WORDS
EXPOSE_READ_RECORD_OPS
EXPOSE_RECORD_OPS
EXPOSE_RUN_KINDS
EXPOSE_SEPARATOR
EXPOSE_TITLE_MAX

Functions§

expose_action_access
An action reads when the last word of its name is a read word; a verb writes.
expose_issues
Every problem with a package’s exposes, in binding order, with its eMCP code. records and upstreams = the package’s.
expose_name_destructive
A tool or action name holding a destructive word is never exposed.
expose_template_paths
The input paths a run’s templates name (${input.a.b} → a.b), in document order.
validate_package_exposes
Every problem with a package’s exposes (expose_issues as package issues).
validate_upstreams
Every problem with a package’s upstreams: the MCP server names its upstream bindings may call.