MCP Tool Reference
Ainecto's MCP server exposes 102 tools in one namespace: mcp__ainecto__.
Legacy per-product namespace prefixes are not registered.
The catalog is split into five groups:
| Group | Count | Scope |
|---|---|---|
| Generic backbone | 37 | Workspaces, projects, folders, documents, versions, sharing, attachments, search |
| ERD | 22 | ERD content: tables, refs, table groups, enums, batch apply, auto layout |
| Flow | 19 | Flow diagram nodes, edges, groups, LLM request handoff |
| Testcase | 22 | Testcase scenarios, testcases, runs, executions, step checks |
| Readme | 2 | README append and AI generation helpers |
tools/list is the machine-readable source for the exact JSON Schema exposed to
your MCP client. This page summarizes the same catalog in a prompt-friendly form.
Naming Rules
- Every callable tool starts with
mcp__ainecto__. - Document types are
erd,flow_diagram,readme, andtestcase. - Top-level groups are now called workspaces. Use
workspaceUuid/workspaceId; do not usegroupUuidfor workspaces. - ERD document create/list/update/delete uses the generic document tools:
create_documents(type=erd),list_documents(type=erd),get_document,update_documents,delete_documents. - ERD content tools always use
documentUuidfor the parent ERD document. - Flow residual tools use
diagramUuidfor the parentflow_diagramdocument. - Testcase scenarios and testcases use
documentUuidfor the parent testcase document. Test runs remain project-level and useprojectId. - Public sharing is unified:
enable_shares(targetType=project|folder|document, targetUuids)anddisable_shares(...).
Generic Backbone Tools (37)
| Tool | Main input shape | Purpose |
|---|---|---|
mcp__ainecto__list_workspaces | none | List workspaces visible to the user |
mcp__ainecto__get_workspace | uuid | Get one workspace |
mcp__ainecto__create_workspaces | items[] | Create workspaces |
mcp__ainecto__update_workspaces | items[].uuid | Rename/update workspaces |
mcp__ainecto__delete_workspaces | uuids[] | Archive workspaces |
mcp__ainecto__unarchive_workspaces | uuids[] | Restore archived workspaces |
mcp__ainecto__list_projects | workspaceUuid? | List projects |
mcp__ainecto__get_project | uuid | Get one project |
mcp__ainecto__create_projects | items[].workspaceUuid, items[].name | Create projects |
mcp__ainecto__update_projects | items[].uuid | Update projects |
mcp__ainecto__delete_projects | uuids[] | Archive projects |
mcp__ainecto__unarchive_projects | uuids[] | Restore archived projects |
mcp__ainecto__list_folders | projectUuid?, parentUuid? | List folders |
mcp__ainecto__create_folders | items[].projectUuid, items[].name | Create folders |
mcp__ainecto__update_folders | items[].uuid | Rename folders |
mcp__ainecto__move_folders | items[].uuid, items[].parentUuid? | Move folders |
mcp__ainecto__delete_folders | uuids[] | Archive folders |
mcp__ainecto__unarchive_folders | uuids[] | Restore archived folders |
mcp__ainecto__list_documents | projectUuid?, folderUuid?, type?, q?, limit? | List or search documents |
mcp__ainecto__get_document | uuid | Get one document |
mcp__ainecto__create_documents | items[].projectUuid, items[].type, items[].title, items[].typePayload? | Create ERD, flow, README, or testcase documents |
mcp__ainecto__update_documents | items[].uuid, items[].title?, items[].typePayload? | Update document metadata or type-specific payload |
mcp__ainecto__move_documents | items[].uuid, items[].folderUuid? | Move documents |
mcp__ainecto__delete_documents | uuids[] | Archive documents |
mcp__ainecto__unarchive_documents | uuids[] | Restore archived documents |
mcp__ainecto__list_trash | optional filters | List archived resources |
mcp__ainecto__list_versions | documentUuid | List document versions |
mcp__ainecto__get_version | documentUuid, version | Get a version snapshot |
mcp__ainecto__restore_versions | items[].documentUuid, items[].version | Restore previous versions |
mcp__ainecto__enable_shares | targetType, targetUuids[] | Enable public sharing for projects, folders, or documents |
mcp__ainecto__disable_shares | targetType, targetUuids[] | Disable public sharing |
mcp__ainecto__list_attachments | projectUuid?, documentUuid? | List attachments |
mcp__ainecto__get_attachment | uuid | Get attachment metadata |
mcp__ainecto__upload_attachments | items[] | Upload attachment files |
mcp__ainecto__delete_attachments | uuids[] | Delete/archive attachments |
mcp__ainecto__request_upload_token | purpose, scopeJson?, maxBytes?, ttlSeconds? | Issue an upload or one-shot MCP call token |
mcp__ainecto__search_documents | q, type?, projectUuid?, limit?, offset? | Full-text search over documents |
Document CUD Schema
Use the plural document CUD tools. Each items[] element carries a document
type and an optional typePayload.
{
"items": [
{
"projectUuid": "<project-uuid>",
"folderUuid": "<optional-folder-uuid>",
"type": "erd",
"title": "Production schema",
"typePayload": {}
}
]
}
Type-specific payloads:
| Type | typePayload |
|---|---|
erd | Usually empty on create; ERD content is managed with erd_* tools |
flow_diagram | diagramSource?, sourceLanguage?, edgeStyle?, isModule?, metadata? |
readme | body |
testcase | defaultEnvironment?, defaultTestAccount? |
For large README bodies, issue mcp__ainecto__request_upload_token with
purpose=document.create, document.update, or document.append and upload the
body directly instead of passing it through a chat prompt.
ERD Tools (22)
ERD document lifecycle is generic. Use list_documents(type=erd) to find an ERD
document, then pass its UUID as documentUuid to these tools.
| Tool | Main input shape | Purpose |
|---|---|---|
mcp__ainecto__erd_apply_changes | documentUuid, description, operations[], arrangeNewTables? | Batch create/update/delete ERD entities |
mcp__ainecto__erd_arrange_tables | documentUuid, full? | Auto-arrange new or all tables |
mcp__ainecto__erd_list_tables | documentUuid | List tables |
mcp__ainecto__erd_get_table | documentUuid, tableUuid | Get one table |
mcp__ainecto__erd_create_tables | documentUuid, description, tables[] | Create tables |
mcp__ainecto__erd_update_tables | documentUuid, description, tables[].tableUuid | Update tables |
mcp__ainecto__erd_delete_tables | documentUuid, description, tableUuids[] | Delete tables |
mcp__ainecto__erd_list_refs | documentUuid | List relationships |
mcp__ainecto__erd_get_ref | documentUuid, refUuid | Get one relationship |
mcp__ainecto__erd_create_refs | documentUuid, description, refs[] | Create relationships |
mcp__ainecto__erd_update_refs | documentUuid, description, refs[].refUuid | Update relationships |
mcp__ainecto__erd_delete_refs | documentUuid, description, refUuids[] | Delete relationships |
mcp__ainecto__erd_list_table_groups | documentUuid | List table groups |
mcp__ainecto__erd_get_table_group | documentUuid, tableGroupUuid | Get one table group |
mcp__ainecto__erd_create_table_groups | documentUuid, description, tableGroups[] | Create table groups |
mcp__ainecto__erd_update_table_groups | documentUuid, description, tableGroups[].tableGroupUuid | Update table groups |
mcp__ainecto__erd_delete_table_groups | documentUuid, description, tableGroupUuids[] | Delete table groups |
mcp__ainecto__erd_list_enums | documentUuid | List enums |
mcp__ainecto__erd_get_enum | documentUuid, enumUuid | Get one enum |
mcp__ainecto__erd_create_enums | documentUuid, description, enums[] | Create enums |
mcp__ainecto__erd_update_enums | documentUuid, description, enums[].enumUuid | Update enums |
mcp__ainecto__erd_delete_enums | documentUuid, description, enumUuids[] | Delete enums |
Key ERD schemas:
erd_create_tables.tables[]:namerequired; optionalschemaName,alias,note,headerColor,displayOrder.erd_update_tables.tables[]:tableUuidrequired; optionalname,schemaName,alias,note,headerColor,displayOrder.erd_create_refs.refs[]:fromTableUuid,toTableUuid,refColumns[]required; optionalname,relationship,onDelete,onUpdate.refColumns[]:{fromColumnUuid, toColumnUuid}.erd_apply_changes.operations[]:{op: create|update|delete, type, uuid?, data?}.typeis one oftable,column,index,index_column,ref,ref_column,enum,enum_value,table_group,table_group_table,table_group_note,filter,note.
Flow Tools (19)
Flow document lifecycle is generic. Use create_documents(type=flow_diagram)
or list_documents(type=flow_diagram) for the document itself, then pass the
document UUID as diagramUuid to flow_* tools.
| Tool | Main input shape | Purpose |
|---|---|---|
mcp__ainecto__flow_apply_changes | diagramUuid, description, nodes?, edges?, groups? | Batch node/edge/group changes |
mcp__ainecto__flow_list_nodes | diagramUuid | List nodes |
mcp__ainecto__flow_get_node | diagramUuid, nodeUuid | Get one node |
mcp__ainecto__flow_create_nodes | diagramUuid, description, nodes[] | Create nodes |
mcp__ainecto__flow_update_nodes | diagramUuid, description, nodes[].uuid | Update nodes |
mcp__ainecto__flow_delete_nodes | diagramUuid, description, nodeUuids[] | Delete nodes |
mcp__ainecto__flow_list_edges | diagramUuid | List edges |
mcp__ainecto__flow_get_edge | diagramUuid, edgeUuid | Get one edge |
mcp__ainecto__flow_create_edges | diagramUuid, description, edges[] | Create edges |
mcp__ainecto__flow_update_edges | diagramUuid, description, edges[].uuid | Update edges |
mcp__ainecto__flow_delete_edges | diagramUuid, description, edgeUuids[] | Delete edges |
mcp__ainecto__flow_list_groups | diagramUuid | List groups |
mcp__ainecto__flow_get_group | diagramUuid, groupUuid | Get one group |
mcp__ainecto__flow_create_groups | diagramUuid, description, groups[] | Create groups |
mcp__ainecto__flow_update_groups | diagramUuid, description, groups[].uuid | Update groups |
mcp__ainecto__flow_delete_groups | diagramUuid, description, groupUuids[] | Delete groups |
mcp__ainecto__flow_get_pending_llm_requests | diagramUuid | List pending LLM handoff requests |
mcp__ainecto__flow_submit_llm_result | request-specific payload | Submit LLM result |
mcp__ainecto__flow_update_llm_request_status | request-specific payload | Update LLM request status |
flow_apply_changes uses action: create|update|delete on each node, edge, or
group item. Node fields include type, text, shape, x, y, width,
height, groupUuid, fillColor, strokeColor, and textColor. Edge fields
include fromUuid, toUuid, label, bridgeType, lineStyle,
strokeColor, and strokeWidth.
Testcase Tools (22)
Create or find testcase documents with the generic document tools using
type=testcase. Scenario and testcase tools use documentUuid; run tools use
project-level numeric projectId.
| Tool | Main input shape | Purpose |
|---|---|---|
mcp__ainecto__testcase_list_scenarios | documentUuid | List scenarios |
mcp__ainecto__testcase_create_scenarios | items[].documentUuid, items[].name | Create scenarios |
mcp__ainecto__testcase_update_scenarios | items[].scenarioId | Update scenarios |
mcp__ainecto__testcase_archive_scenarios | scenarioIds[] | Archive scenarios |
mcp__ainecto__testcase_reorder_scenarios | reorder payload | Reorder scenarios |
mcp__ainecto__testcase_list_testcases | documentUuid | List testcases |
mcp__ainecto__testcase_get_testcase | testcaseId | Get one testcase |
mcp__ainecto__testcase_create_testcases | items[].scenarioId, items[].title | Create testcases |
mcp__ainecto__testcase_update_testcases | items[].testcaseId | Update testcases |
mcp__ainecto__testcase_delete_testcases | testcaseIds[] | Delete testcases |
mcp__ainecto__testcase_reorder_testcases | reorder payload | Reorder testcases |
mcp__ainecto__testcase_list_runs | projectId | List test runs |
mcp__ainecto__testcase_get_run | runId | Get one run |
mcp__ainecto__testcase_create_runs | items[].projectId, items[].name | Create test runs |
mcp__ainecto__testcase_update_runs | items[].runId | Update test runs |
mcp__ainecto__testcase_complete_runs | runIds[] | Mark runs complete |
mcp__ainecto__testcase_delete_runs | runIds[] | Delete runs |
mcp__ainecto__testcase_list_executions | run/testcase filters | List executions |
mcp__ainecto__testcase_record_executions | items[].runId, items[].testCaseId, items[].result | Record execution results |
mcp__ainecto__testcase_list_step_checks | testcase/step filters | List step checks |
mcp__ainecto__testcase_upsert_step_checks | step-check payload | Create or update step checks |
mcp__ainecto__testcase_remove_run_cases | run/case payload | Remove cases from a run |
Execution result values are PASSED, FAILED, BLOCKED, SKIPPED,
UNTESTED, and IN_PROGRESS.
Readme Tools (2)
README document create/update is generic. Use typePayload.body with
create_documents(type=readme) or update_documents for full-body writes.
| Tool | Main input shape | Purpose |
|---|---|---|
mcp__ainecto__readme_append_document | document append payload | Append markdown to an existing README |
mcp__ainecto__readme_generate_document | prompt/project payload | Generate a README document with AI |
Examples
Discover ERD documents
{
"name": "mcp__ainecto__list_documents",
"arguments": {
"type": "erd",
"q": "production schema",
"limit": 10
}
}
Create an ERD document
{
"name": "mcp__ainecto__create_documents",
"arguments": {
"items": [
{
"projectUuid": "<project-uuid>",
"type": "erd",
"title": "Billing schema"
}
]
}
}
Create tables in an ERD document
{
"name": "mcp__ainecto__erd_create_tables",
"arguments": {
"documentUuid": "<erd-document-uuid>",
"description": "Add notification tables",
"tables": [
{"name": "notifications"},
{"name": "notification_deliveries"}
]
}
}
Add a foreign key
First get table and column UUIDs with mcp__ainecto__erd_get_table, then call:
{
"name": "mcp__ainecto__erd_create_refs",
"arguments": {
"documentUuid": "<erd-document-uuid>",
"description": "FK notifications.user_id to users.id",
"refs": [
{
"fromTableUuid": "<notifications-table-uuid>",
"toTableUuid": "<users-table-uuid>",
"relationship": ">",
"onDelete": "CASCADE",
"refColumns": [
{
"fromColumnUuid": "<notifications-user-id-column-uuid>",
"toColumnUuid": "<users-id-column-uuid>"
}
]
}
]
}
}
Create a README document
{
"name": "mcp__ainecto__create_documents",
"arguments": {
"items": [
{
"projectUuid": "<project-uuid>",
"type": "readme",
"title": "API notes",
"typePayload": {
"body": "# API notes\n\nInitial draft."
}
}
]
}
}
Share a document
{
"name": "mcp__ainecto__enable_shares",
"arguments": {
"targetType": "document",
"targetUuids": ["<document-uuid>"]
}
}
Error Handling
Tools return standard JSON-RPC error responses. Common cases:
| Error | Cause |
|---|---|
401 Unauthorized | Token missing or expired; re-authenticate |
403 Forbidden | Your account lacks view or edit access |
404 Not Found | Workspace, project, folder, document, or entity UUID is wrong |
409 Conflict | Concurrent edit conflict; read current state and retry |
429 Too Many Requests | Rate limit hit; back off and retry |
When a tool call fails after the namespace cutover, first check that the tool
name starts with mcp__ainecto__ and that document operations use the new
plural CUD shape.