Interfaces at a glance
Operate Eddytor via the CLI, REST API, MCP, or the optional Web UI.
Eddytor is API-first. The server exposes REST + gRPC, an MCP endpoint, and a Flight SQL endpoint for bulk queries; the Web UI is optional. You can drive everything from whichever interface fits the task - these docs show each one, side by side, throughout.
The four interfaces
| Interface | What it's for | Endpoint |
|---|---|---|
CLI (eddytor) | Day-to-day operation and scripting from a terminal. | Talks to the REST API + Flight SQL. |
| REST API | Programmatic integration and automation. | ${public_url} (default :8080), paths under /v1/.... |
| MCP | Driving Eddytor from AI clients (Claude, Cursor) via tools. | ${public_url}/mcp |
| Web UI (optional) | Point-and-click editing in the browser. | Its own origin (default :3000). |
When to use which
- CLI - the default for operators. Install it, point it at your server, log in. See eddytor CLI.
- REST - CI/CD, scripts, and apps. Authenticate with an API key. See REST API.
- MCP - let an AI assistant query and manage tables through Eddytor's tools. See MCP clients.
- Web UI - for non-technical editors, or when a visual table editor is easier than commands.
One thing to know: bulk queries use Flight SQL
Most operations go over the REST API on the server's main port (default
8080). But bulk SQL queries - eddytor query and the REST query
endpoint - use Flight SQL on a separate port (8082). The CLI configures
the two endpoints independently:
eddytor config set-api-url http://localhost:8080
eddytor config set-flight-url http://localhost:8082Heads up
If
eddytor query fails with GetFlightInfo failed: Invalid or expired token, the usual cause is an unset or wrong flight URL,
or using a short-lived login token instead of an API key. See
that error's fix.Next
- Quickstart - stand it up.
- Bootstrap the first admin & sign in.