Tools & MCP — UI surfaces¶
Target
This page describes intended behaviour or structure. No implementation is claimed unless a section is explicitly marked Current implementation or Evidence.
Screens fed by the platform¶
| Studio work area | Screen | Read model | Commands |
|---|---|---|---|
| Assets | Tool descriptors: kind, side-effect and risk class, server, health, limits, audit requirements | GET /factory/tools, GET /factory/tools/{toolId} |
DryRunTool |
| Assets | MCP servers: direction, transport, authentication, state, bindings; capability discovery results | GET /factory/mcp-servers, GET /factory/mcp-servers/{serverId}/capabilities |
RegisterMcpServer, DiscoverMcpCapabilities, ActivateMcpServer (publication-class), RetireMcpServer |
| Operations & usage | Run detail → tool receipts (tool, version, effective class, decision, approval, outcome, hashes, sandbox) | GET /factory/runs/{runId}/tool-receipts, GET /factory/tool-invocations/{invocationId} |
none |
| Operations & usage | Uncertain effects queue for Operators | ToolEffectUncertain through the BFF |
ConfirmToolEffect |
| Governance & administration | Shell allow-list and block-list, egress allow-list, per-tenant tool allow-lists (policy views) | options and policy read models | through Governance |
State families shown¶
| Family | Values |
|---|---|
| Invocation | Received, Validated, Authorized, AwaitingApproval, Brokered, Executing, Observed, Uncertain, Failed, Denied, Cancelled |
| Side-effect class | read, sandbox, shared-write, external, production, publication, spend |
| Risk class | ReadOnly, ReversibleWrite, IrreversibleWrite, Production, Financial, SecuritySensitive |
| MCP server | Registered, Verified, Active, Degraded, Retired |
| Sandbox kind | Container, MicroVm, KubernetesJob, IsolatedWindows, RestrictedRunner, None |
Rules the clients must honour¶
- The class is shown before the call in dry-runs and approval screens, with the environment-raised class when it differs from the declared one.
- Receipts are the truth of what happened, including denied and uncertain calls; the Studio never infers an effect from a model's message.
- Uncertain is an operator decision, with the receipt and the external evidence side by side and no retry control until confirmed.
- Unbound MCP tools are visible but disabled, with the reason (no descriptor, changed schema, server degraded).
IDE MCP clients¶
VS Code, Claude Code and Cursor connect to the Factory's exposed MCP server (authenticated) and see the capabilities their scope allows: knowledge search, repository read tools and run tools; the same receipts and classes apply, and gated calls return the approval request for the user to resolve in the Studio or the IDE.
CLI and VS Code extension¶
factory tools list|describe|dry-run, factory mcp servers|discover|activate, factory runs tool-receipts <runId>, factory tools confirm-effect <invocationId>.