Skip to main content
Products -> ERDPricingDocsBlogSign in한국어Start with ERD

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:

GroupCountScope
Generic backbone37Workspaces, projects, folders, documents, versions, sharing, attachments, search
ERD22ERD content: tables, refs, table groups, enums, batch apply, auto layout
Flow19Flow diagram nodes, edges, groups, LLM request handoff
Testcase22Testcase scenarios, testcases, runs, executions, step checks
Readme2README 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, and testcase.
  • Top-level groups are now called workspaces. Use workspaceUuid / workspaceId; do not use groupUuid for 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 documentUuid for the parent ERD document.
  • Flow residual tools use diagramUuid for the parent flow_diagram document.
  • Testcase scenarios and testcases use documentUuid for the parent testcase document. Test runs remain project-level and use projectId.
  • Public sharing is unified: enable_shares(targetType=project|folder|document, targetUuids) and disable_shares(...).

Generic Backbone Tools (37)

ToolMain input shapePurpose
mcp__ainecto__list_workspacesnoneList workspaces visible to the user
mcp__ainecto__get_workspaceuuidGet one workspace
mcp__ainecto__create_workspacesitems[]Create workspaces
mcp__ainecto__update_workspacesitems[].uuidRename/update workspaces
mcp__ainecto__delete_workspacesuuids[]Archive workspaces
mcp__ainecto__unarchive_workspacesuuids[]Restore archived workspaces
mcp__ainecto__list_projectsworkspaceUuid?List projects
mcp__ainecto__get_projectuuidGet one project
mcp__ainecto__create_projectsitems[].workspaceUuid, items[].nameCreate projects
mcp__ainecto__update_projectsitems[].uuidUpdate projects
mcp__ainecto__delete_projectsuuids[]Archive projects
mcp__ainecto__unarchive_projectsuuids[]Restore archived projects
mcp__ainecto__list_foldersprojectUuid?, parentUuid?List folders
mcp__ainecto__create_foldersitems[].projectUuid, items[].nameCreate folders
mcp__ainecto__update_foldersitems[].uuidRename folders
mcp__ainecto__move_foldersitems[].uuid, items[].parentUuid?Move folders
mcp__ainecto__delete_foldersuuids[]Archive folders
mcp__ainecto__unarchive_foldersuuids[]Restore archived folders
mcp__ainecto__list_documentsprojectUuid?, folderUuid?, type?, q?, limit?List or search documents
mcp__ainecto__get_documentuuidGet one document
mcp__ainecto__create_documentsitems[].projectUuid, items[].type, items[].title, items[].typePayload?Create ERD, flow, README, or testcase documents
mcp__ainecto__update_documentsitems[].uuid, items[].title?, items[].typePayload?Update document metadata or type-specific payload
mcp__ainecto__move_documentsitems[].uuid, items[].folderUuid?Move documents
mcp__ainecto__delete_documentsuuids[]Archive documents
mcp__ainecto__unarchive_documentsuuids[]Restore archived documents
mcp__ainecto__list_trashoptional filtersList archived resources
mcp__ainecto__list_versionsdocumentUuidList document versions
mcp__ainecto__get_versiondocumentUuid, versionGet a version snapshot
mcp__ainecto__restore_versionsitems[].documentUuid, items[].versionRestore previous versions
mcp__ainecto__enable_sharestargetType, targetUuids[]Enable public sharing for projects, folders, or documents
mcp__ainecto__disable_sharestargetType, targetUuids[]Disable public sharing
mcp__ainecto__list_attachmentsprojectUuid?, documentUuid?List attachments
mcp__ainecto__get_attachmentuuidGet attachment metadata
mcp__ainecto__upload_attachmentsitems[]Upload attachment files
mcp__ainecto__delete_attachmentsuuids[]Delete/archive attachments
mcp__ainecto__request_upload_tokenpurpose, scopeJson?, maxBytes?, ttlSeconds?Issue an upload or one-shot MCP call token
mcp__ainecto__search_documentsq, 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:

TypetypePayload
erdUsually empty on create; ERD content is managed with erd_* tools
flow_diagramdiagramSource?, sourceLanguage?, edgeStyle?, isModule?, metadata?
readmebody
testcasedefaultEnvironment?, 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.

ToolMain input shapePurpose
mcp__ainecto__erd_apply_changesdocumentUuid, description, operations[], arrangeNewTables?Batch create/update/delete ERD entities
mcp__ainecto__erd_arrange_tablesdocumentUuid, full?Auto-arrange new or all tables
mcp__ainecto__erd_list_tablesdocumentUuidList tables
mcp__ainecto__erd_get_tabledocumentUuid, tableUuidGet one table
mcp__ainecto__erd_create_tablesdocumentUuid, description, tables[]Create tables
mcp__ainecto__erd_update_tablesdocumentUuid, description, tables[].tableUuidUpdate tables
mcp__ainecto__erd_delete_tablesdocumentUuid, description, tableUuids[]Delete tables
mcp__ainecto__erd_list_refsdocumentUuidList relationships
mcp__ainecto__erd_get_refdocumentUuid, refUuidGet one relationship
mcp__ainecto__erd_create_refsdocumentUuid, description, refs[]Create relationships
mcp__ainecto__erd_update_refsdocumentUuid, description, refs[].refUuidUpdate relationships
mcp__ainecto__erd_delete_refsdocumentUuid, description, refUuids[]Delete relationships
mcp__ainecto__erd_list_table_groupsdocumentUuidList table groups
mcp__ainecto__erd_get_table_groupdocumentUuid, tableGroupUuidGet one table group
mcp__ainecto__erd_create_table_groupsdocumentUuid, description, tableGroups[]Create table groups
mcp__ainecto__erd_update_table_groupsdocumentUuid, description, tableGroups[].tableGroupUuidUpdate table groups
mcp__ainecto__erd_delete_table_groupsdocumentUuid, description, tableGroupUuids[]Delete table groups
mcp__ainecto__erd_list_enumsdocumentUuidList enums
mcp__ainecto__erd_get_enumdocumentUuid, enumUuidGet one enum
mcp__ainecto__erd_create_enumsdocumentUuid, description, enums[]Create enums
mcp__ainecto__erd_update_enumsdocumentUuid, description, enums[].enumUuidUpdate enums
mcp__ainecto__erd_delete_enumsdocumentUuid, description, enumUuids[]Delete enums

Key ERD schemas:

  • erd_create_tables.tables[]: name required; optional schemaName, alias, note, headerColor, displayOrder.
  • erd_update_tables.tables[]: tableUuid required; optional name, schemaName, alias, note, headerColor, displayOrder.
  • erd_create_refs.refs[]: fromTableUuid, toTableUuid, refColumns[] required; optional name, relationship, onDelete, onUpdate.
  • refColumns[]: {fromColumnUuid, toColumnUuid}.
  • erd_apply_changes.operations[]: {op: create|update|delete, type, uuid?, data?}. type is one of table, 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.

ToolMain input shapePurpose
mcp__ainecto__flow_apply_changesdiagramUuid, description, nodes?, edges?, groups?Batch node/edge/group changes
mcp__ainecto__flow_list_nodesdiagramUuidList nodes
mcp__ainecto__flow_get_nodediagramUuid, nodeUuidGet one node
mcp__ainecto__flow_create_nodesdiagramUuid, description, nodes[]Create nodes
mcp__ainecto__flow_update_nodesdiagramUuid, description, nodes[].uuidUpdate nodes
mcp__ainecto__flow_delete_nodesdiagramUuid, description, nodeUuids[]Delete nodes
mcp__ainecto__flow_list_edgesdiagramUuidList edges
mcp__ainecto__flow_get_edgediagramUuid, edgeUuidGet one edge
mcp__ainecto__flow_create_edgesdiagramUuid, description, edges[]Create edges
mcp__ainecto__flow_update_edgesdiagramUuid, description, edges[].uuidUpdate edges
mcp__ainecto__flow_delete_edgesdiagramUuid, description, edgeUuids[]Delete edges
mcp__ainecto__flow_list_groupsdiagramUuidList groups
mcp__ainecto__flow_get_groupdiagramUuid, groupUuidGet one group
mcp__ainecto__flow_create_groupsdiagramUuid, description, groups[]Create groups
mcp__ainecto__flow_update_groupsdiagramUuid, description, groups[].uuidUpdate groups
mcp__ainecto__flow_delete_groupsdiagramUuid, description, groupUuids[]Delete groups
mcp__ainecto__flow_get_pending_llm_requestsdiagramUuidList pending LLM handoff requests
mcp__ainecto__flow_submit_llm_resultrequest-specific payloadSubmit LLM result
mcp__ainecto__flow_update_llm_request_statusrequest-specific payloadUpdate 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.

ToolMain input shapePurpose
mcp__ainecto__testcase_list_scenariosdocumentUuidList scenarios
mcp__ainecto__testcase_create_scenariositems[].documentUuid, items[].nameCreate scenarios
mcp__ainecto__testcase_update_scenariositems[].scenarioIdUpdate scenarios
mcp__ainecto__testcase_archive_scenariosscenarioIds[]Archive scenarios
mcp__ainecto__testcase_reorder_scenariosreorder payloadReorder scenarios
mcp__ainecto__testcase_list_testcasesdocumentUuidList testcases
mcp__ainecto__testcase_get_testcasetestcaseIdGet one testcase
mcp__ainecto__testcase_create_testcasesitems[].scenarioId, items[].titleCreate testcases
mcp__ainecto__testcase_update_testcasesitems[].testcaseIdUpdate testcases
mcp__ainecto__testcase_delete_testcasestestcaseIds[]Delete testcases
mcp__ainecto__testcase_reorder_testcasesreorder payloadReorder testcases
mcp__ainecto__testcase_list_runsprojectIdList test runs
mcp__ainecto__testcase_get_runrunIdGet one run
mcp__ainecto__testcase_create_runsitems[].projectId, items[].nameCreate test runs
mcp__ainecto__testcase_update_runsitems[].runIdUpdate test runs
mcp__ainecto__testcase_complete_runsrunIds[]Mark runs complete
mcp__ainecto__testcase_delete_runsrunIds[]Delete runs
mcp__ainecto__testcase_list_executionsrun/testcase filtersList executions
mcp__ainecto__testcase_record_executionsitems[].runId, items[].testCaseId, items[].resultRecord execution results
mcp__ainecto__testcase_list_step_checkstestcase/step filtersList step checks
mcp__ainecto__testcase_upsert_step_checksstep-check payloadCreate or update step checks
mcp__ainecto__testcase_remove_run_casesrun/case payloadRemove 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.

ToolMain input shapePurpose
mcp__ainecto__readme_append_documentdocument append payloadAppend markdown to an existing README
mcp__ainecto__readme_generate_documentprompt/project payloadGenerate 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:

ErrorCause
401 UnauthorizedToken missing or expired; re-authenticate
403 ForbiddenYour account lacks view or edit access
404 Not FoundWorkspace, project, folder, document, or entity UUID is wrong
409 ConflictConcurrent edit conflict; read current state and retry
429 Too Many RequestsRate 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.