open, from another app with NSWorkspace.shared.open(url:), or from a
Raycast extension with open() from @raycast/api.
Connection IDs are UUIDs
Connection paths take the connection’s UUID, not its display name.list_connections tool or read the
tablepro://connections resource. The welcome window’s
Copy TablePro Link context menu item copies a tablepro://import?… link for sharing a connection
definition, which is a different thing.
Open a connection
connect/… form.
Open a table
database
segment names the schema. A segment naming a dimension the engine does not have is dropped rather
than applied to the other one.
Percent-encode table and schema names that contain spaces or reserved characters.
Run a query
sql is required and caps at 51,200 UTF-16 units. Longer than that and the link is dropped.
execute_query tool. This link hands SQL to the GUI and stops there.
Start pairing
redirect.
scopes and connection-ids are a request, not a grant: the sheet lets the user raise or lower
both.
Lazy-start the MCP server
tablepro-mcp CLI uses this to bootstrap on a cold launch.
The server takes the configured port (23508 by default) and falls back to a kernel-assigned free
port when that one is busy. The Status row in Settings > MCP shows the port it bound.
A launch whose only reason is this URL stays in the background: no Dock icon, no app switcher entry,
until it has a window to show.
Import a connection
name, host
and type are required; the rest of the connection form maps to query parameters listed in
Connection Import. Passwords are never accepted in a link.
Open a settings pane
Cmd+,. With a pane id it opens that
pane. The link only navigates and never changes a setting.
Ids are lowercase and matched exactly, and they stay the same when a pane is renamed. An unknown id
opens the last-used pane with no error, so a link to a pane added in a later version still opens
Settings on an older one. Path segments and query items after the id are ignored.
On iPhone and iPad
The iOS app answers two of these paths:connect/<uuid> opens the connection, and
connect/<uuid>/table/<table-name> opens it on that table. Any other path under a connection, such as
database/… or query, opens the connection alone. import, integrations and settings links do
nothing.
Errors
A URL that fails to parse is dropped with no UI at all: an invalid UUID, an unknown path, a missing required parameter, over-limit SQL. The reason goes to the system log under subsystemcom.TablePro,
so check Console.app when a link does nothing.
A URL that parses and then fails shows an error sheet. A valid UUID with no matching connection gives
No saved connection with ID "…". under the title Connection Failed.
