URL Scheme
Thetablepro:// URL scheme drives the TablePro GUI from outside the app. Use it from the shell with open, from another app with NSWorkspace.shared.open(url:), or from a Raycast extension with open() from @raycast/api.
The scheme covers two kinds of actions:
- Navigate: open a connection, table, or query tab.
- Pair: bootstrap an MCP token for an extension.
Connection IDs are UUIDs
Connection paths use the connection’s UUID, not its display name.list_connections tool or read the tablepro://connections resource; both return the UUID for each saved connection. The welcome screen’s Copy TablePro Link context menu item copies a tablepro://import?... link for sharing the connection, not a connect link.
Open a connection
connect/... link: connection, table, and query.
Open a table
Run a query
execute_query tool instead. The URL scheme is for handing SQL into the GUI, not for headless execution.
Start pairing
redirect URL.
The user can change scopes and connections in the approval sheet. The query parameters are a request, not a grant.
Example invocation from a Raycast extension:
Lazy-start the MCP server
tablepro-mcp CLI to bootstrap on cold launch.
The user does not need to enable MCP in Settings beforehand. The server binds to the configured port (default 23508); if that port is taken, it falls back to a free port in the 51000-52000 range. Either way it writes a handshake file at ~/Library/Application Support/TablePro/mcp-handshake.json with the actual port.
Import a connection
name, host, type.
type accepts any registered database type name (case-insensitive). Examples: MySQL, PostgreSQL, MongoDB, Redis, ClickHouse, Oracle, DuckDB, Cassandra.
sslMode=Verify%20CA.
Core parameters
SSH parameters
Setssh=1 to enable SSH tunneling.
SSL parameters
Plugin-specific fields
Use theaf_ prefix to pass driver-specific fields. For example, af_replicaSet=myrs passes replicaSet to the MongoDB plugin.
af_preConnectScript is stripped on import. Imported connections cannot carry a pre-connect shell script; the user has to add one by hand in the connection editor.
Errors
Malformed URLs are dropped without any UI: an invalid UUID, unknown path, missing required parameter, or over-limit SQL is logged to the system log (subsystemcom.TablePro) and nothing opens. Check Console.app when a link does nothing.
Failures after parsing show an error sheet. Example: a valid UUID with no matching connection shows No saved connection with ID "9F1F0C3E-2E3D-4B14-9C3A-1D2F4AD1F6F1". under the title Connection Failed.