# Tablemere > Tablemere is a managed Apache Iceberg warehouse operated in Nuremberg, Germany, by Tablemere SL (Spain). API https://api.tablemere.eu, Iceberg REST catalog https://catalog.tablemere.eu, S3-compatible storage https://s3.tablemere.eu, website https://tablemere.com. Accounts are created with a code sent by email (POST /v1/signup/start, then /v1/signup/verify with accept_terms true), and the engine, DuckDB 1.5.5+, PyIceberg or Spark, connects directly to the catalog with a per-warehouse credential. Free plan: 5 GB stored, nothing else metered, no card. The CLI is one standard-library Python file: `curl -fsSL https://tablemere.com/install.sh | sh`, then `export TABLEMERE_URL=https://api.tablemere.eu`. Every API error is a typed JSON object with a code, a message and usually a remedy; GET /v1/usage lists every limit with its headroom. Accepting the Terms of Service is a decision for a person: an agent should show them and ask before sending accept_terms. People sign up at https://tablemere.com/signup (name, email, organisation name and handle; a mail to finish setting up the account follows) and log in at https://tablemere.com/app/ with email and password (the session stays in the browser tab; no cookie; https://tablemere.com/app/forgot resets a forgotten password). A self-hosted deployment may trust an external OpenID Connect issuer instead. The account page https://tablemere.com/app/ is a static page, small on purpose: warehouses with the caller's level (read or write) on each, create and delete (typed name) warehouses, tokens for agents with read or write per warehouse (the API key shown once), members and roles (admin, member), usage against the 5 GB, the organisation's name and domains, the Terms, account cancellation, and a SQL panel that runs DuckDB compiled to WebAssembly in the visitor's browser against the catalog and the object store with the visitor's own scoped credentials (nothing of Tablemere's sees the data). It refuses writes as a courtesy, not as a permission. It is not a dashboard and is not the primary interface: the API and the CLI are; agents hold tokens, never a person's login. Not available today: a Snowflake data path, Google or social login, an SLA, paid plans. ## Docs - [Getting started](https://tablemere.com/docs/): install the CLI, sign up (browser or email code), connect an engine, import Parquet, agent keys, limits - [Agent setup](https://tablemere.com/docs/agent-setup/): the instructions an agent follows: install the CLI, tablemere login, the person approves once in the browser, the DuckDB recipe, the first task - [CLI reference](https://tablemere.com/docs/cli/): every command's --help, exit codes, environment variables, the credentials file - [API reference](https://tablemere.com/docs/api/): every public route with method, path, auth, request and response fields and typed errors - [Engines](https://tablemere.com/docs/engines/): DuckDB, PyIceberg and Spark recipes, importing Parquet, and the measured gotchas (bare bucket name for DuckDB, s3:// for PyIceberg, format version 2) - [MCP server](https://tablemere.com/docs/mcp/): the account as MCP tools for Claude Desktop, Claude Code and other hosts (tablemere mcp install), one tool per REST capability, no query tool; the security model and today's token limitation - [Self-hosting](https://tablemere.com/docs/self-hosting/): what a self-hosted Tablemere runs and what is missing ## Full text - [llms-full.txt](https://tablemere.com/llms-full.txt): the whole documentation above as one plain-text file ## Legal - [Terms of Service](https://tablemere.com/legal/terms/): draft, version 2026-09-19-draft, must be accepted at signup - [Privacy Policy](https://tablemere.com/legal/privacy/) - [Acceptable Use Policy](https://tablemere.com/legal/aup/) - [Data Processing Agreement](https://tablemere.com/legal/dpa/) - [Security overview](https://tablemere.com/legal/security/): how tenants are isolated, credentials, encryption, backups, what is not done yet - [Legal notice](https://tablemere.com/legal/legal-notice/) ## Optional - [Sign up](https://tablemere.com/signup): name, email, organisation name and handle; the account is finished from the mail - [Log in](https://tablemere.com/app/?login): email and password, then the account page at https://tablemere.com/app/; https://tablemere.com/app/forgot for a forgotten password; https://tablemere.com/app/device approves a `tablemere login` from a terminal - [Recover a lost API key](https://tablemere.com/recover) - [Your account](https://tablemere.com/app/): warehouses and your level on each, tokens for agents, members, usage, the organisation, and SQL with DuckDB in the browser - [install.sh](https://tablemere.com/install.sh): the installer; downloads https://tablemere.com/cli/tablemere and verifies https://tablemere.com/cli/tablemere.sha256 - [security.txt](https://tablemere.com/.well-known/security.txt): security contact - Support: hello@tablemere.eu