Skip to main content
Glama
soobrosa

poietic-mcp

by soobrosa

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
POIETIC_BINNoPath to the poietic binary. Defaults to ~/.swiftpm/bin/poietic.~/.swiftpm/bin/poietic
POIETIC_DESIGNNoOptional default design path, used when no current design is set.
POIETIC_MCP_WORKSPACENoAllowlist root. Design paths and export outputs must live inside it. Defaults to the server's working directory. Set it to a dedicated designs folder (e.g. ~/Documents/poietic-designs) for a tight fence, or your home directory to work with designs anywhere.

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}
prompts
{
  "listChanged": true
}
resources
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
poietic_metamodelA

Describe the Poietic metamodel (object types, traits, attributes, edge types) as markdown. Pass a type name (e.g. Stock, FlowRate, Auxiliary, Flow, Parameter) for a single type, or omit it for all types. This is the schema-discovery path: check attribute names and types here before setting attributes.

poietic_get_designA

Read the current Poietic design as normalized JSON: {formatVersion, metamodel, planeId, undoDepth, redoDepth, nodes[], edges[], unstructured[]}. Each node is {id, type, name, attributes}; each edge is {id, type, origin, target, attributes}. Replaces list and show. Prefer numeric IDs over names for references (duplicate names resolve arbitrarily upstream).

poietic_validateA

Validate the design for errors (formula errors, unknown parameters). Returns {ok, issues[], summary} where each issue is {objectId, typeName, name, severity, message}. Run this after editing and before simulating.

poietic_use_designA

Set the current design file for subsequent tools. The path must be inside the configured workspace (POIETIC_MCP_WORKSPACE or the server's working directory). Snapshots the design's content hash as the session baseline: if it changes externally (e.g. saved in the playground), writes will be refused until you re-read the design.

poietic_new_designA

Create a new empty Stock and Flow design at the given path and make it the current design. Optionally import one or more poietic planes into the first plane.

poietic_add_nodeA

Create a new node (e.g. type Stock, FlowRate, or Auxiliary) with attributes. Typical attributes: name (string, required), formula (string, required - a constant like "100" or an expression like "account * rate"), position ([x, y]). Returns {objectId, planeId}. Thread the returned objectId into later calls; duplicate names resolve arbitrarily upstream, so prefer IDs.

poietic_connectA

Create an edge between two nodes. Edge types: Flow (between a FlowRate and a Stock; direction is flow direction) and Parameter (from a value node to the node whose formula uses it). NOTE: edge attributes cannot be set at creation; use poietic_set_attributes afterwards if needed. Returns {edgeId}.

poietic_set_attributesA

Set one or more attributes on an object (node or edge), referenced by ID (preferred) or unique name. On poietic-tool v0.8+ all attributes are applied in a single transaction (one undo history entry). On older builds each attribute is a separate CLI transaction (N entries); the response states which mode was used. To set an edge attribute, use the edge's numeric ID (edges have no names).

poietic_removeA

Remove an object (node or edge) by ID (preferred) or unique name. Removing a node also removes its connected edges (the CLI reports 'Removed cascading').

poietic_auto_parametersA

Automatically wire Parameter edges: connect required parameter edges for every formula variable, and disconnect unused parameter edges. Stock and Flow models stay consistent only if every formula parameter is wired and no stale parameter edges remain - run this after editing formulas and connections. Returns the created and removed edge IDs.

poietic_undoA

Undo the last edit transaction on the design. Note: each edit tool call is one transaction, so one undo reverses one tool call (poietic_set_attributes with N attributes created N entries).

poietic_redoA

Redo the last undone edit transaction on the design.

poietic_arrangeA

Arrange nodes on the canvas. mode 'circle' lays out all (or the given) nodes in a circle; align modes (left, center-horizontal, right, top, center-vertical, bottom, offset-horizontal, offset-vertical, spread-horizontal, spread-vertical) align the given nodes.

poietic_runA

Run the Stock and Flow simulation and return a per-variable summary (initial, final, min, max) plus capped sample rows of the CSV output. Use 'variables' to observe specific nodes (names or IDs); with no 'variables', output contains time plus all object variables (poietic-tool v0.8+; use 'allVariables' to also include internal/built-in variables). Use 'parameters' to override node values for the run: stocks get a new initial value, other nodes are affected only at t=0 and then recomputed from their formulas. Pass 'outputPath' to also save the full CSV (inside the workspace). Validate the design first: a model with formula errors fails here.

poietic_export_svgA

Export the current plane as an SVG diagram. Note: pictograms require a pictogram collection file (from the Diagramming package); without it the diagram renders with plain shapes.

poietic_write_dotA

Write the design graph as a Graphviz DOT file (no pictogram dependency). Omit outputPath to receive the DOT source in the response.

poietic_export_planeA

Export the current (or given) plane as a poietic design file for later import.

poietic_import_planeA

Import a plane from another poietic design file into the current design. identity mode: 'require' (default; object IDs must match), 'auto', or 'new' (re-identify objects).

Prompts

Interactive templates invoked by user choice

NameDescription
build_stock_and_flow_modelRecipe for building a correct Poietic Stock and Flow model with the poietic_* tools: node roles, edge semantics, formula syntax, and the validate-then-run ordering.

Resources

Contextual data attached and managed by the client

NameDescription
poietic-metamodelFull metamodel description (markdown) for the current design.
poietic-builtinsFormula operators, built-in functions and built-in variables accepted by the CLI (poietic builtins; needs poietic-tool v0.8+). Cached per server run.
poietic-current-designNormalized JSON of the current design: nodes, edges, unstructured objects.
poietic-current-diagramSVG diagram of the current plane.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/soobrosa/poietic-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server