add-column
Add one or more columns to an existing Data Table. Needs the fabric:table.write grant.
curl -sS -X POST https://fabric.wexa.ai/mcp/$FABRIC_PROJECT_ID \
-H "authorization: Bearer $FABRIC_API_KEY" \
-H "Mcp-Session-Id: $MCP_SESSION_ID" \
-H "content-type: application/json" -H "accept: application/json" \
-d '{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"add-column","arguments":{"table_id":"6ab196817566f41b5c28e31f","columns":[{"column_name":"notes","column_type":"String"}]}}}'{
"content": [
{
"type": "text",
"text": "{\"lifecycle_id\":\"qlc_000203\",\"result\":{\"table_id\":\"6ab196817566f41b5c28e31f\",\"columns\":[{\"column_id\":\"6ab1968193a7cbd766d5cd74\",\"column_name\":\"notes\",\"column_type\":\"String\"}]}}"
}
],
"isError": false
}Parameters
| Parameter | Type | Required | Notes |
|---|---|---|---|
table_id | string | Required | Table id from list-tables, a 24-character hex id. A table in this project. |
columns | array | Required | At least one column, each {"column_name": "notes", "column_type": "String"}. column_type is e.g. String, Number, Boolean, Date, Array, Object or Enum. Array also needs array_type; Object needs object_fields. Optional per column: default_value, enum_options. |
Show full response
A real response, captured from a live call to add-column:
{
"lifecycle_id": "qlc_000203",
"result": {
"columns": [
{
"array_type": null,
"column_id": "6ab1968193a7cbd766d5cd74",
"column_name": "notes",
"column_type": "String",
"default_value": null,
"enum_options": null,
"has_triggers": false,
"object_fields": null
}
],
"table_id": "6ab196817566f41b5c28e31f"
}
}More details
It takes the same columns list as create-table. The result returns each added column in the get-table column shape, with its new column_id.
add-column changes a table but is not marked consequential: it is audited lightly and the project's write gate never holds it.
Every tool call works the same way: How every tool call works.