The setup wizard
Screenshots (8)
A new connection is set up in four steps: Connect → Data → Tools → Publish. They run along the top of the page, beside the connection's name and a chip that says whether it is Read-only or has Writes on. The steps are numbered, and the ones that need the schema stay greyed until it has been read: point at one to see why. Once a connection is published it has tabs instead: Overview, Data, Tools, Connect Claude and Settings, with a tool budget and a Review and publish button beside them. Data holds Tables and ERD; Tools holds Scripts (Functions on PostgreSQL). The steps and the tabs use the same two names: Data is where you choose what Claude can read, and Tools is where you choose what Claude can run. An area with more than one page shows them as a second row of buttons under the tabs. See Changing a connection that is already published.
The left-hand column is for places only: Connections, Activity, People, Server and My Claude access. To switch to another file, go back to Connections and open it. New connection on that screen adds another. At the foot of the column are your account links, Docs (it opens in a new tab) and a Dark theme switch.
If you leave a connection with changes you have not published, Ailimu asks first.
Nothing is exposed until you publish. Read-only stays on unless you turn it off, using the chip at the top right of the connection (it opens Settings): it applies to that connection alone, not to the whole connector.
People
Everyone who uses the wizard signs in with their own email and password. The first account, created at setup, is the owner. What each person can do depends on their role:
| Role | Can |
|---|---|
| Claude user | Use Claude with the connections an owner allows, from My Claude access. Cannot open the setup wizard. |
| Viewer | Look at every connection and its settings. Cannot publish, delete, read the schema from FileMaker, see a connection's token, or open the ERD tab. The buttons for those are dimmed, and clicking one says why. |
| Editor | Set up, change and publish connections, and see their tokens. |
| Owner | Everything an editor can, manage people, and use the Server screen: backups, restoring, and the server keys. |
Owners open People in the left-hand column to invite someone. Enter their email and choose a role, and a one-time link appears on that person's row with Copy link. Pass it on however you like, by email, Teams or Slack. Ailimu does not send email. The link stays on their row, ready to copy again, until they use it, you cancel it, or it expires after 72 hours. They open it and choose a password.
Someone who forgets their password asks an owner, who clicks Reset password on their row and copies the new link from there. It lasts 24 hours, and using it signs that person out of every other browser. Issuing a new link replaces the old one. Removing someone signs them out at once. There is always at least one owner: the last one cannot be demoted or removed.
Your email and role sit at the foot of the left-hand column, with Change password and Sign out.
Claude access. Each person's row has a Claude access button. It lists every connection with a tick box: tick one to give that person a key of their own for it, and Read only to keep their Claude to reading. The row shows when their Claude last used it, and Reset key replaces their key. Unticking stops their key at once. See Personal access.
My Claude access
Anyone who has been given Claude access sees My Claude access in the left-hand column; for a Claude user it is the only screen. Each connection shows its address, the person's own key (hidden until Show), Download for Claude Desktop, and a button that copies the Claude Code command. Viewing a key or downloading the extension is recorded in the activity log. What that person's Claude does is recorded with their email beside it.
Server
For owners: this server's backups and keys.
- Back up downloads a password-protected file with every connection, token and account, and the activity log if you ask. See Backing up and restoring.
- Restore replaces everything on this server with a backup, and signs
everyone out. It is folded under Danger zone, and asks you to type
replacebefore it runs. - Server keys shows the setup code and the token for the older
/mcpaddress, each hidden until you click Show. Neither is what Claude needs: each connection has its own token, on its Connect Claude step. Viewing them is recorded in the activity log.
Activity
Activity in the left-hand column, for editors and owners, is the record of what happened: every change Claude made and every script it ran, on every connection, and every admin action with who did it. Viewers do not see it, because entries contain real values from your data.
- Search by date range (Today, 7 days, 30 days or Custom; seven days to start with), by a keyword matched anywhere in an entry (a record ID, a value, an email, a script name), by connection, and by Claude, people, or one person.
- Kind chips show how many entries each kind has in the range: changes, scripts, reads and admin (everything done in the wizard: publishing, deleting, backups, keys and people). Reads start switched off, since there are usually the most of them. Failed only shows just what went wrong.
- Entries are grouped by day and each reads as a sentence, such as Claude changed invoices INV-70114 on sales: status → Paid. Failures are outlined in red with FileMaker's error.
- Click an entry and the panel beside the list explains it: when, for whom, what was involved, which key was used (a person's own, or the shared connection key), and how it ended. Show all activity on this record and Show everything this person's Claude did today follow the thread, and the raw entry is folded at the bottom. The log keeps the new values of a change, not the old ones.
- Download CSV exports every match for the current search, up to 50,000 rows, for audits and spreadsheets.
- The bar at the foot shows how much disk the log uses and which connections record reads.
Record reads
By default only changes and scripts are recorded. Record reads, in each connection's Settings beside Read-only, also records every search and lookup Claude makes there: what it asked for and how many rows matched, never the rows themselves.
This can use a lot of disk. On a busy install nearly all of the log is reads, roughly 0.6 MB a day for normal use and 6 MB a day for heavy use, and much more if an agent gets stuck repeating itself. That is why it is off by default, why switching it on asks you to confirm, and why reads are kept for 30 days where changes are kept for a year. The Activity screen shows how much disk the log is using and which connections record reads. Both periods can be changed; see Activity log retention. The switch takes effect when you publish.
Connections
The wizard opens on a list of your connections: FileMaker files and PostgreSQL databases. A small badge beside each name says which it is. One connector can serve several, each with its own address and its own token, so giving somebody access to one connection does not give them the others.
Files can live on different servers. The server address is part of each
connection, so one connector can serve https://www5.example.com and
https://www6.example.com side by side. The FileMaker account is not set in the
wizard: it comes from .env, and a connection that needs its own account needs
its own pair of variables there, followed by a restart. The Connect step tells
you whether a connection uses its own account or the default one, and names the
variables to add. See Credentials for several files.
Each connection is one row. The first column says which database it is, FileMaker or PostgreSQL, each in its own shade of plum. Next is its status: a dot (red when Ailimu cannot reach the database because its credentials are missing, amber when writes are on, green when it is read-only) with its mode underneath. Then comes its name, with under it its file or database and how many tables and scripts it has, followed by two icon columns that read its schema again or delete it, lined up down the list. The rest of the row is a tool budget bar against the roughly 60 tools some clients can list, how many people have a Claude key on it, and who published it last and when. The name opens the connection. A connection that cannot reach its database also appears in a strip above the table, naming the variables to set. Editors and owners also see the latest few changes under the table, with a link to the full log.
- Open: jumps straight to your tables using the cached schema. No FileMaker read.
- Read schema again: reads the schema again and merges your choices back on.
- Delete: removes the profile, after you type its name to confirm. The endpoint stops immediately; FileMaker is untouched.
1 · Connect
A new connection starts with Connect to: FileMaker or PostgreSQL. A connection keeps its type once it exists; to use another kind of database, make a new connection. The rest of this page describes FileMaker; for PostgreSQL, see Using a PostgreSQL database, which covers the account, the fields (host, port, database, schema, encryption) and what is different.
For FileMaker: host, file, and a display name. After the host is known the wizard lists the files on that server, so pick rather than type.
Run scripts from is for solutions split into a data file and an interface file: a very common FileMaker arrangement where the tables live in one and the business scripts in another. Set it and tables come from the first file while scripts, and the layouts they run against, come from the second. One profile, one endpoint, one token.
If a script you expect is absent from the list, this is almost always the reason. On one production instance the data file held 107 scripts, all of them infrastructure, while the interface file held 831, including every script the business actually uses.
Press Read schema in the footer. On a large file expect roughly seven seconds: the schema itself, the row counts, and the script and layout lists.
Test connection checks the details first. Its answer stays under the buttons until the next attempt, so there is time to read it. When something is wrong, the box at fault is marked and the message says what to change. When Ailimu can tell what you meant, such as a database name one letter out, it offers that as a button, for example Use LEO, and testing again is one click.
2 · Data
This is where you choose what Claude can read: the tables, and which fields of each. Once the connection is published the same page is Data → Tables, and beside it is Data → ERD, which shows how the tables relate (see The ERD tab).
The title row says how many tables are ticked and how many tools that makes. Under it is one bar for everything that acts on tables, with the table list, the open table and a panel of detail below.
The list
The list on the left shows All the tables or only the Exposed ones, and you can arrange it By category, A to Z or by Size. By category groups every table by what Ailimu worked out it is, with the groups collapsed so a file with 231 entity sets does not arrive as a wall. The two categories Ailimu suggests starting with are marked suggested:
| Group | What it means |
|---|---|
| Core records | Things the business has: customers, employees, trips. |
| Transactions | Dated lines that belong to something: invoices, segments, payments. |
| Lookups and pick lists | Short reference lists behind a dropdown. |
| Logs and history | Audit trails and event logs. |
| Join tables | Links between two other tables, and little else. |
| Settings | Constants and configuration. |
| Unclassified | Nothing in the names, counts or links said anything useful. |
Each row is a button that opens the table, with its own checkbox to expose it. Use the arrow keys to move down the list, Enter to open a table and Space to expose or hide it. The box at the top of the list ticks or unticks every table shown. Suggest a starting set at the foot picks core records and transactions, which is what most questions are about. A count badge turns jade on any group you have ticked from, so you can see where your choices are with everything collapsed.
FileMaker adds a table to its relationship graph once per path used to reach it, and OData exposes every occurrence. Those copies hold identical records, so publishing several would make several tools over one set of data. Ailimu keeps the plainest name and hides the rest behind Show repeated tables, under Filters in the bar above.
The bar
- Search covers table names and field names. A table that matches only through a field says how many fields match. Press / to jump to it.
- Filters shows no-access fields, repeated tables and empty tables, which are all hidden by default. A number on the button says how many are on.
- Apply to sets how far the next preset reaches: This table, Ticked tables, or All tables.
- Preset applies one of three things to that reach, and names it once: Essentials reads the fields that describe a record and makes the ones people filter by searchable, Everything reads every usable field, and Clear stops exposing every field. Anything that reaches all tables, and Clear on the ticked ones, asks first. Sample ticked tables (below) is in the same menu.
How a table starts
What happens when you open a table that has nothing exposed yet is a setting of the connection: tick its Essentials fields, or leave it empty. It lives in Settings, so everyone who edits the connection gets the same behaviour, and it is saved on its own without publishing. A table Ailimu filled in for you says so, and offers an undo; a table you have edited by hand is never overwritten.
One table at a time
The top of the open table names it, says what Ailimu thinks it is (with Why? for the reasoning), and has Identified by, the field that addresses one record. Expose this table is on the right.
The fields are a table, with a column each for Read, Search and Write:
- Read: Claude can see the value.
- Search: Claude can filter on it, and a search returns it. Includes read.
- Write: Claude can change it, only when Read-only is off. Includes read.
The box in a column's header sets every field shown. Fields Claude can change are tinted. Exposed and Not exposed are two views of the same fields, and a row stays where it is until you switch view, so unticking a field does not make it jump away. Fields FileMaker works out (calculations, totals, globals) cannot be written.
Worth reading twice: the fields you can filter by are also the fields a search
hands back. get_ returns everything you exposed; a search returns the short
list, and the assistant can ask for more by name.
Each field carries two tags, and the selectors above the table filter by them:
- Holds: Keys, References, Names & labels, Categories, Dates & times, Amounts, Measures, Contact details, Text, Files, Internal, Unsorted. Worked out from the field type, a sample of values (emails, dates stored as text, short repeated lists) and a small set of common words in the name.
- Filled in: Entered, Calculated, Totals (summary fields), Shared value (globals), Automatic (serials and created/modified stamps). Read from FileMaker's metadata.
Columns that held nothing in any sampled row (oldest or newest) are counted rather than listed in the Not exposed view, with a link to show them: on one 209-field table that was 82.
Fewer search fields make a better tool. One production table advertised 97 search parameters, 54 of them calculation fields. Calculations, summaries and globals are excluded from search by default, identified from FileMaker's own metadata rather than any naming convention. Essentials never ticks Totals or Shared value fields, and reads calculated fields without making them searchable.
The panel on the right
An accordion of three sections. Open or close each; Ailimu remembers.
Field details opens when you click a field's name: the FileMaker field name, its type, its group, FileMaker's own comment, and a value or two from the sample. It also lists the tables this table links to. On a narrow window the panel sits under the table, so the details open under the field instead.
What Claude gets is the tools this table will become:
get_TripSegments returns 54 fields find_TripSegments 6 parameters a search returns those 7 fields; fields: asks for more describe_TripSegments tells the assistant what this table isTry it runs one of the table's tools against your live data from the unpublished draft, and shows the exact text an assistant would get, with its size in kilobytes and tokens. It cannot write, and it starts closed.
Sampling
Opening a table reads a small sample of its rows in the background. The sample takes a few of the oldest records and more of the newest, because a file grows by having fields added to it: a helper field built last year is empty in every old record and filled in every new one, and a sample of the first rows alone would mistake it for an unused column. Two things come back:
- empty in sample: that column held nothing in any row sampled, at either end of the table, so it is almost certainly unused. Unticked automatically; exposing it would hand the agent a column of nulls. On one 209-field table, 82 columns were never populated.
- newer records only: the column was empty in the oldest records sampled and filled in the newest, so it was probably added later. It stays ticked, and older records will show it empty.
- n values: a text field holding only a handful of distinct values is a status list. Ticked for search automatically, with the values shown.
Sampled values are shown to you and then discarded. They are never written to the config or the cache. Use Sample ticked tables, in the Preset menu, to do the tables you have chosen in one go, and note that a table you have not opened has not been sampled: no marks means unknown, not clean.
Reading the schema again for a published connection also reads the newest records of its tables, and lists any field you had switched off that now holds data there. It switches nothing on by itself: click Switch on to accept them, or Leave them off if you meant to hide them. Fields whose names look like secrets (passwords, card numbers, salaries) are never offered.
Anything you tick by hand always wins over a later sample.
The ERD tab
It is the second page of the Data area, next to Tables.
An entity-relationship diagram (ERD) shows how the tables in a FileMaker file connect. FileMaker has no screen that draws one for the whole file, and a file with dozens of tables is too much to take in at once, so the ERD tab shows one table at a time.
The table you are on is in the middle. Tables that have a field pointing at it are on the left, and tables it points at are on the right. Each box lists only the table's own key and the fields that link to other tables, with the number of rows. Click any other table to move to it. Back and the trail above the picture take you back, and the search box finds a table or a field by name. A table with many links shows the strongest few as boxes and the rest as a short list of names under Also linked, with Show all to open them.
Reading the lines
- A line leaves a field in one table and ends on the key of another. The end with a crow's foot (three prongs) is the "many" end, the table that holds the field. The end with a bar is the "one" end, the table's own ID.
- A solid line is a relationship FileMaker itself declares.
- A dashed line is a guess: no relationship is declared, but a field name such
as
_IDCustomersuggests a link to a table called Customer. - A dotted line means FileMaker declares that two tables are related, but no field of either one is named after the other, so Ailimu cannot say which fields join them.
- A table shaded green, with a dot, is one Claude can see: it is in the published connection.
FileMaker records that two tables are related. It does not record which fields join them or whether the link is one to many, so the key fields shown come from field names, and every line is drawn as "many" at one end and "one" at the other only where a field name says so. Treat the picture as a map to check against the file, not as the file's own definition.
Getting there from a field. In Data → Tables, open a field's details and choose View in ERD. The ERD tab opens on that table with the field's row highlighted and the lines for that field drawn bold. The same button is on the table's heading.
Download SVG saves what is on screen as one SVG file, with a heading and a legend, in a light style that looks the same in a browser, a document or a slide. It is the table you are on and the tables it links to, not the whole file.
Good to know
- The ERD tab is for editors and owners. Viewers do not see it, and the server does not send them the relationships.
- A connection saved before this tab existed has no relationships stored. Open it, choose Read schema again when the tab asks, and it fills in. Nothing you have ticked is lost.
- The tab needs the table (OData) way of reading a file. A connection that reads layouts instead has no relationships to draw.
- FileMaker lists a table once for every path used to reach it. The ERD shows them as one table and says how many copies it merged.
3 · Tools
This is where you choose what Claude can run. The page is called Scripts for a FileMaker connection and Functions for a PostgreSQL one. Once the connection is published it is Tools → Scripts.
While Read-only is on, ticked scripts are held back: Ailimu counts every script as a write, so none of them is live. The page says so, each ticked script carries a Held back: read-only note, the tab reads Tools 0 of 3, and the footer, the Overview and Connect Claude all say "0 of 3 scripts live". They stay ticked and go live when you turn Read-only off in Settings and publish. The same applies to the Write column on the Data step.
(For a PostgreSQL connection the page is called Functions. It lists the database's functions and procedures with what each takes and returns, and marks a function that PostgreSQL guarantees cannot change data. See Using a PostgreSQL database.)
Optional, and the part that deserves care. A script can do anything the account is allowed to do, including delete records. FileMaker exposes a script's name and nothing else, not its body, not its parameters, so every label here is read off the name and is a guess. Expose only scripts you have read.
The screen has three columns, like the Data step. Folders on the left (a folder's count includes its subfolders), the script list in the middle, and the details of the script you picked on the right. The bar above has a search over names and folders, a view switch, and the layout the scripts run from.
- Likely useful (the default) hides scripts whose names suggest screen navigation, printing or deleting. All shows everything. Exposed shows only what you have exposed. A script you have exposed is never hidden by the other two.
- In the details: the tool name, When Claude should use it (required: Claude chooses tools by this sentence, and Ailimu will not publish an exposed script without it), the parameter style (one value, or named values as JSON) with the parameters as chips, and the layout it runs from.
- A script whose name looks like it changes data or deletes things cannot be exposed until you tick I've read this script in FileMaker in its details. Ailimu cannot see inside a script, so this is the one check it asks you to make. Scripts you had already published are treated as read.
Layout context is the layout a script runs against, which decides what table and found set it sees. Get it wrong and the script still runs, just somewhere else, so Ailimu will not publish an exposed script until you have chosen one. The button at the right of the bar shows the default and how many scripts override it; it opens the layout list. The list also opens by itself while nothing is chosen, and from Change in a script's details, where it picks a layout for that script only. Most files run everything from a single blank or utility layout: set it as the default and override only the exceptions.
Ailimu reads what it can from the name:
| Shown | Means |
|---|---|
| looks destructive / changes data / sends or prints / read-only / navigation | A guess from the verb in the name. Navigation, printing and destructive ones are hidden by "Likely useful". |
| server script | PSOS_ or SVR_. Perform Script On Server behaves differently and some will not run through the Data API at all. |
| duplicate name | Two scripts share this name. FileMaker's run-by-name cannot say which, so it cannot be exposed. |
Where a file names its parameters: Save Customs Documents {tripID;serial;docType}
: they are filled in for you, along with a tool name with the developer prefix and
the parameter block stripped. All editable in the script's details.
Saved searches
A saved search is a question you have already worked out, such as "invoices
that are still unpaid three days after they were due". Claude gets one tool for
it, called search_ and the name you give it. Claude asks the same question the
same way every time, reads a small answer, and cannot wander into fields you did
not make searchable. It only reads. It is the second page of the Tools area,
next to Scripts, for editors and owners. A new connection gets the page once
it has been published.
At the top of Tools, a short note says what each page is for: a script is Claude doing something, a saved search is Claude fetching something. Hide it with Got it, hide this.
How the page works
The page has three columns. On the left is the list of saved searches, with New at the top. In the middle is the form. On the right, a column that answers as you type: an In plain words box that reads the saved search back as a sentence (its table, what Claude fills in, what it gives back and how it is sorted, shown as pills), a note of anything still wrong, and Try it.
Start from an example fills in the shape of a common question; you then pick your own table and fields. Each block of the form has a one-line hint and a Help and an example fold with the longer explanation. A tick appears on a block when it is in order, and blocks you can leave alone say Optional.
- What it answers. A short name (lowercase letters, digits and underscores), one sentence, and the table. Claude reads the sentence to decide when to use it. The table is one of the tables you have ticked in Data. Only tables read through OData can be used, not layouts.
- Always true. Conditions that never change. Each is a field and a test:
has this value, is empty or is not empty. Choose the field from a
drop-down with its own search box; the fields are listed A to Z, and only fields
ticked Search appear. A value is written as in a search: a word matches
anywhere in the value,
=Paidmatches exactly,>=2026-01-01and2026-01-01..2026-01-31work on dates and numbers. On a date you can writetoday,today-3ortoday+7: Ailimu works out the date each time the search runs, using the server's date, so "more than 3 days ago" is right on every run. - Claude fills in. Blanks that change each time. Each has a name, a field
and how it is compared (As typed, Exactly, Anywhere in the value,
or From and Up to for the two ends of a date or number range), and
whether it is required. The right-hand column shows how Claude would call it,
such as
search_overdue_invoices(customer = Acme). - Gives back. The fields for each row, a sort order and a number of rows. Type in Find a field to narrow the list of fields to tick, and in the sort drop-down to find the field to sort by. With no fields chosen, Claude gets the table's usual search columns. Fewer fields means a smaller, cheaper answer.
- Try it (right-hand column). Runs the saved search on your live data, read-only, with sample values for the blanks. It shows exactly what Claude would be sent, and how big it is.
Chaining saved searches
Often the answer comes in stages: one search finds the trips, and the next takes a trip number from them. A saved search stays one table, but a blank can say where its value usually comes from.
On a blank, choose Usually comes from, then the other saved search and the field it returns. Claude is told to run that search first and to use that field, and the page checks that the other search really returns it. If it does not, the problem box says so and you tick the field in Gives back on that search. The id field is always returned, and so are the usual search columns when a search names none.
Each search still runs on its own, one table at a time. Ailimu does not run the chain for Claude. It makes sure Claude knows the order and has what it needs.
Asking Claude for a saved search
You do not have to build one from scratch. Anyone who uses Claude can ask it to draft one, either from searches they have already run in a conversation or from a question they describe.
- Choose Paste from Claude above the list and use Copy the prompt. Give the prompt to the person, or paste it into Claude Desktop yourself. Claude uses its Ailimu tools to check the real table and field names, then answers with a block of JSON.
- Paste that answer into the box and choose Add to my saved searches. Words around the JSON are fine, and so is a single saved search or a list.
- Each one appears in the list as an unpublished draft. The plain-words box reads it back, the page lists anything wrong with it (a field that is not searchable, a table that is not ticked), and Try it runs it on your live data. Fix what needs fixing, then publish as usual.
A name that is already taken gets _2 added. Nothing Claude writes is trusted
until you have read it and published it.
Nothing reaches Claude until you use Review and publish. A saved search that has not been published shows an unpublished tag in the list, and one you have edited since shows edited.
A saved search that cannot be asked correctly is not offered to Claude, and the page lists what is wrong: a field that is not searchable, a name used twice, a range limit on a text field. Publishing refuses it with the same reasons, so a question is never quietly dropped.
A saved search only reads. It counts as one tool, it stays available while Read-only is on, and each use appears in the activity log under its own name.
A worked example
Harbour & Finch, a made-up wholesaler, wants to ask often: which invoices
have been overdue for more than three days? Their invoices are in a table called
invoices, with the fields number, customer, due_date, paid_date and
amount.
| Step | What they choose |
|---|---|
| 1 | Name overdue_invoices. It answers: "Invoices that are still unpaid more than 3 days after their due date." |
| 2 | The table invoices. |
| 3 | paid_date is empty (not paid). due_date has this value <=today-3 (due on or before three days ago). |
| 4 | One optional blank, customer, looking in customer and matching anywhere in the value. |
| 5 | Returns number, customer, due_date, amount, sorted by due_date. |
| 6 | Try it with customer left empty: a short list. With Acme: only Acme's. |
The page reads that back as: Claude looks in invoices for rows where paid_date is empty and due_date is on or before 3 days ago, and the blanks below match. It returns number, customer, due_date and amount. Sorted by due_date. Claude fills in customer (contains customer, optional).
Asked "which of Acme's invoices are overdue?", Claude calls
search_overdue_invoices(customer = Acme) and reads the answer. Today's date is
never typed anywhere: it is worked out each time.
Dates use the server's own clock and time zone. If a container runs in a
different time zone from your business, set TZ in docker-compose.yml.
4 · Publish
Publishing writes your choices and the tools go live immediately, with no restart. You get the endpoint, the token and the command to paste into Claude.
An agent that is already connected will not see the change. A client reads the tool list once, when it connects. Start a new session after republishing; you do not need to re-run the setup command.
Changing a connection that is already published
Opening a published connection gives you tabs, not the four steps:
- Overview: what is live now, when it was last published and by whom, how many changes are waiting, and the tool budget.
- Data: Tables is the same screen as the step. ERD shows how the tables relate to each other, one table at a time; editors and owners only. See The ERD tab. Clicking Data again returns to the page you last had open in it.
- Tools: Scripts, the same screen as the step, and Saved searches (editors and owners only). See Saved searches.
- Connect Claude: the address, token and instructions.
- Settings: the connection details (host, database, scripts file, display name, Test connection, Read schema again), Read-only, Record reads, and a Danger zone to delete the connection.
The bar at the top shows a tool budget, such as 38 of ~60 tools · ~9k tokens. Past about sixty tools, an assistant starts choosing the wrong one. The token figure is how much the list of tools costs Claude on every request, measured the way Claude receives it. A table with many searchable fields costs much more than one with a few, so if the figure is high, untick search on fields nobody searches by, or expose fewer tables. The Overview tab says which tool is the biggest.
When nothing has changed, a quiet Published note takes its place. Review and publish shows a count of what has changed since the last publish. It opens a list of those changes: tables added or removed, fields that gained search or write, scripts, Read-only and Record reads, and changed connection details, with the tool count before and after. Each change has Undo, and Discard all throws every change away. If a change lets Claude change more than it could before (a newly writable field, a script, or Read-only turned off), you must tick that you have checked it before Publish works. Publishing from here keeps you where you are. Viewers can read the list but cannot publish.















