Skip to main content
Glama
adityaparab

tabella

by adityaparab

Tabella

A tabella was ancient Rome's wax writing tablet โ€” the original real-time, rewritable record.

Tabella is an open-source, AI-native mini-CRM: a flexible data model, a 100k-row table that feels instant, live multi-client sync, and an MCP server that lets AI agents like Claude operate on the data โ€” with agent edits visible in the UI in real time.

Status: ๐Ÿšง Cycle 3 of 7 complete โ€” the differentiator is banked: Claude operates the live dataset via MCP. See docs/PRD.md and the CHANGELOG.

Quickstart (local)

pnpm install
docker compose up -d db   # local Postgres 16 on :5433
pnpm migrate              # apply migrations (node-pg-migrate)
pnpm dev                  # boots the API server (apps/server) and web app (apps/web)

Requires Node >= 22, pnpm >= 10, and Docker (for the database).

Related MCP server: Lofty MCP Server

Repository layout

apps/server   Fastify API + WebSocket hub (Node, TypeScript)
apps/web      React web app (Vite, TanStack Query/Virtual)
apps/mcp      MCP server (stdio) โ€” agents operate via the same REST API
packages/shared  Zod schemas + WS message types shared by all three

AI agents via MCP

Tabella ships an MCP server (apps/mcp, stdio transport) with five tools that are thin wrappers over the same REST API the web app uses: list_objects (schema discovery), query_records (filter/sort/cursor, with total for counting questions), get_record, create_record, update_record. Agent mutations go through the exact same validation and (from Cycle 5) fan out over the same WebSocket as human edits.

Point any MCP host โ€” Claude Desktop, Claude Code, Cursor โ€” at the deployed API:

// claude_desktop_config.json  (~/Library/Application Support/Claude/ on macOS)
{
  "mcpServers": {
    "tabella": {
      "command": "node",
      "args": ["/absolute/path/to/tabella/apps/mcp/dist/index.js"],
      "env": {
        "TABELLA_API_URL": "https://server-production-686b5.up.railway.app"
      }
    }
  }
}

(Requires a one-time git clone + pnpm install && pnpm build for dist/; the absolute node path matters if you use nvm โ€” hosts don't inherit your shell PATH.)

Then ask Claude things like:

  • "How many deals are in Negotiation?" โ†’ list_objects โ†’ query_records โ†’ answers from total

  • "Create a deal at Northwind, stage Proposal, value 40k" โ†’ a real record, validated against the attribute catalog, visible immediately in the web app

License

MIT

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI agents to interact with Twenty CRM data through GraphQL and REST APIs to manage persons, companies, opportunities, and tasks. It supports both core entities and custom objects, providing a comprehensive interface for CRM automation.
    23 npm
    MIT
  • A
    license
    C
    quality
    C
    maintenance
    Enables AI agents to interact with Lofty CRM via natural language, providing 120 tools across 22 modules for full API coverage.
    100
    18 npm
    Elastic 2.0
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI agents to interact with a CRM covering companies, people, leads, deals, and more, with role checks, scoped agent keys, approval gates, and a shared audit trail.
    AGPL 3.0