How Claude approaches a request
Auxilian tells connected assistants to work in this order:- Call
list_projectsto find the project and your permission on it. - Call
list_tablesordescribe_tableto learn the current schema. - Read or write rows.
delete_rows and the drop_* tools cannot be undone, and to prefer small, reversible steps. Naming the project in your request saves a step.
Design a schema
Describe the data in your own words, and say how records relate:companies first, then contacts and deals with uuid foreign key columns such as company_id. It sets onDelete to cascade for contacts and leaves deals at the default, restrict, which blocks deleting a company that still has deals.
Keep in mind:
- Table and column names use lowercase letters, digits, and underscores. Claude converts “Close Date” to
close_date. See Naming rules. - A foreign key always points at the other table’s
id. Create the referenced table first. - There is no enum type. Use
textand tell Claude the allowed values, or keep a small lookup table.
Load data
Paste data straight into the chat or attach a file, and say where it goes:timestamptz column takes an ISO 8601 string such as 2026-11-03T09:00:00Z.
Ask questions
Claude reads rows withlist_rows, which supports filters, sorting, and paging. It does not run arbitrary SQL, so it answers aggregate questions by reading the relevant rows and computing the result:
Update and clean up
Updates and deletes apply to every row that matches the filters, so be specific:Review what Claude did
Open the project’s Activity tab in the web app. Every change Claude made is listed with the surfacemcp, the action, and details such as the table name and row count. See Activity log.
When something fails
Auxilian returns errors that say what went wrong and how to fix it, and Claude usually corrects itself and retries. Common cases:
See Responses and errors for the full list.