Menace Voice exposes a Streamable HTTP MCP server for Codex, Claude, Cursor, and other compatible clients. It lets an implementation assistant browse the Menace Voice docs, inspect workspace resources, discover current node schemas, create reusable tools, and author workflows as validated SDK TypeScript.
Agent operating principle
Plan with the builder, read the current workspace, discover the current schema, save the smallest complete change, review the resulting draft, and then verify behavior in Menace Voice. A successful save proves the definition passed validation; it does not prove a live conversation.
What the MCP connection can access#
- Documentation: list the docs tree, search by concept, and read a complete page or section before answering product-mechanics questions.
- Workspace catalog: list agents, reusable tools, credentials, knowledge documents, and recordings available to the API key's organization.
- Authoring schema: list node types, read a node type's fields, defaults, limits, examples, and graph constraints, and retrieve voice-prompting guidance.
- Workflow source: project the latest working version to editable Menace Voice workflow TypeScript, then parse and validate the complete source on save.
- Mutations: create a reusable tool, create a new workflow, or save an existing workflow as a new draft.
Understand version behavior#
Creating a new workflow through MCP stores it as published version 1 because there is no earlier production definition to protect. Editing an existing workflow is different: save_workflow writes a new draft and leaves the currently published version serving traffic. The human operator reviews and publishes that draft from the Menace Voice UI.
Names and prompts have different version semantics
A definition change is saved to the draft. A workflow rename is a workflow-level field and can take effect immediately when the name in the edited TypeScript changes. Ask explicitly before renaming an existing agent.
Use a bounded authoring loop#
- Identify the exact agent by listing workflows; never guess an ID from a name fragment.
- Fetch get_workflow_code before any edit so the assistant sees the same latest draft or published working copy as the UI.
- Read node specs and prompt guidance for any node being added or materially changed.
- Preserve existing nodes, edges, variable names, document UUIDs, and tool UUIDs unless the requested behavior requires a change.
- Submit the complete TypeScript source to save_workflow, resolve structured parse or validation errors, and confirm saved is exactly true.
- Open the draft in Menace Voice, run the relevant browser or phone scenario, and publish only after the observable behavior passes.
Follow Agent quickstart to configure a client and complete the first read-only session.