If you work with an AI coding assistant, the EmbodiFlow MCP server gives it task tools for algorithms and workflows, on top of the tools generated from the public API. The tools return the same problems the console shows, with line and column, so the assistant can read them and fix its own code.
| Tool | What it does |
|---|---|
describe_categories | The categories with their levels and default ports, the data types, semantic types, recording facts and the SDK index. Pass category for one category with a starter per level. |
scaffold_algorithm | A working main.py for a category, and optionally a level, what a check reads, and a name. |
validate_algorithm | Checks main.py without running it. Problems carry main.py:<line>:<column>. Returns the interface when there are none. |
test_algorithm_on_sample | Runs a draft or a saved version on a short window of real data and returns the preview. Pass exactly one input: recordingId, an episode, or versionId. A refusal carries a named code. |
save_algorithm | Saves main.py as a new version, proposed from the interface change unless version raises it. |
get_workflow | The project workflow as YAML. |
add_step | Adds a step to a workflow, given as a document or as a stored draft. A refused change saves nothing. |
connect | Connects an output to an input, refusing with the reason when the connection isn't allowed. |
validate_workflow | Checks a workflow against the saved algorithms it uses. |
run_workflow | Starts the project workflow on a recording or on a dataset version. Pass exactly one. |
get_run | A run with the state of each step. |
A typical session
Tell the assistant what you want in plain words, such as "flag episodes where the gripper never closes". It calls describe_categories to pick the category and scaffold_algorithm for a starter, then edits the code and runs validate_algorithm and test_algorithm_on_sample until the output looks right, and finishes with save_algorithm.
To put the result to work, it continues with add_step and connect, checks the result with validate_workflow and starts it with run_workflow. The tools act with your own permissions, so the assistant can't do anything you couldn't do in the console.