Skip to main content
The Shapes Workbench is an MCP server you connect to your AI client to author shapes. A shape is the type model that governs a project’s graph: its entity types, their properties, and the relationships between them. You design that model here, and it compiles into the tool surface your runtime agents use. This page is the surface tour: how a session works, the four modes you open it in, what you can edit, and the one idea that makes the Workbench worth understanding before you start. The operating surface.
The Workbench is the design-time half of Penumbra. To set up the connection, see Connect. For the full tool-by-tool reference, see Authoring.

Connect first

The Workbench is a remote MCP server. Add it to your client, and the shape_workbench_* tools appear in your session.
https://penumbra-shape-workbench-mcp-server.penumbra.workers.dev/mcp
It accepts a Penumbra API key (pnbr-...) as a bearer token, or OAuth for clients that support remote-MCP login. The Connect page has the per-client config.

Sessions and modes

Everything you do in the Workbench happens inside a session. You open one with shape_workbench_open, edit a draft, compile to check it, and materialize when you are satisfied. The draft does not touch the live graph until you materialize. You open a session in one of four modes:
ModeWhat it does
newStart a fresh shape from nothing.
editOpen an existing shape to change it in place.
forkCreate a separate derived shape from an existing one. The original is untouched.
inspectOpen a shape read-only to look at it.
fork does not edit the source shape. It produces a new, independent shape derived from it. Use edit when you mean to change the shape you opened; use fork when you want a divergent copy.

What you shape

Inside a session you model three things: types, the properties on them, and the relationships that connect them.

Types and properties

ToolWhat it does
shape_workbench_add_typeAdd an entity type.
shape_workbench_edit_typeEdit a type.
shape_workbench_edit_propertyEdit a property on a type.
shape_workbench_rename_propertyRename a property.
shape_workbench_reserve_propertyReserve a property name.

Relationships

ToolWhat it does
shape_workbench_add_relationshipAdd a relationship between types.
shape_workbench_edit_relationshipEdit a relationship.
shape_workbench_remove_relationshipRemove a relationship.

The operating surface

This is the key idea. Shapes compile into the runtime tool surface. The types, properties, and relationships you define here become the tools and structure that runtime agents and generated tools operate against. You are not just describing data; you are defining what an agent downstream is able to do. shape_workbench_preview_operating_surface shows you exactly that. It renders the shape-to-tools compilation surface: precisely what runtime agents and generated tools will see once this shape is live. Run it before you materialize, and you see the consequence of your model from the agent’s point of view, not just the schema’s.
Preview the operating surface before you commit. The model that reads clean as a schema is not always the model that produces the tool surface you want. The preview closes that gap.

Compile, diff, and version

ToolWhat it does
shape_workbench_compileCompile the draft. Returns structure, denotative, and operative views plus version hashes.
shape_workbench_inspectInspect the current draft state.
shape_workbench_export_schemaExport the compiled schema.
shape_workbench_diffDiff the draft against the committed shape.
shape_workbench_project_grammarInspect the project’s grammar.
shape_workbench_version_graphView the shape’s version history.
shape_workbench_assert_version_alignmentConfirm a session is aligned to a version.
shape_workbench_plan_migrationPlan a migration between versions.
shape_workbench_access_statusCheck what you can edit in this session.

Materialize

When the model compiles cleanly and the operating surface looks right, shape_workbench_materialize commits the compiled shape to its project. That is the handoff to run time: the shape now governs the project’s graph, and the tool surface you previewed becomes the one runtime agents actually use. See Materialize.

A typical pass

1

Open

shape_workbench_open in new, edit, fork, or inspect mode.
2

Model

Add types and properties, then connect them with relationships.
3

Compile

shape_workbench_compile to validate and get version hashes.
4

Preview the operating surface

shape_workbench_preview_operating_surface to see exactly what runtime agents and generated tools will see.
5

Materialize

shape_workbench_materialize to commit the shape to its project.

Next

Connect the MCP

Endpoint, key or OAuth, and client config.

Author shapes

The full tool reference and a worked session.