Odel
Tabula

Tabula

@nikhilbhimaUpdated 1mo ago

Cross-AI personal memory. Save once in ChatGPT, recall in Claude, Mistral, Grok, or any MCP client.

Server endpointStreamable HTTPOAuthProbed

This is the third-party server itself — Odel doesn't run it. Hitting this URL directly talks straight to the upstream server with no auth or proxying. Connect through Odel to front it with managed auth.

Tabula MCP Server

One memory. Every AI.

Tabula is a shared memory layer for your AIs. Tell Claude once, and ChatGPT already knows. Connected AIs save the durable facts you share (who you are, what you're building, how you like to work) and recall them in any other AI, so you never re-explain yourself.

This repo documents Tabula's hosted MCP server and how to connect it from any MCP client.

Endpoint

URLhttps://www.tabula360.com/api/mcp/mcp
TransportStreamable HTTP
AuthOAuth 2.1 (web clients) or Bearer token (CLIs and IDEs)

Sign up at tabula360.com, then get your access token on the Connect page. The token is shown once, treat it like a password.

Tools

ToolWhat it does
save_memorySave a durable fact, preference, or decision
search_memorySemantic search across everything saved
list_memoriesBrowse saved memories
update_memoryCorrect or refresh an existing memory
delete_memoryRemove a memory for good

Connect

ChatGPT, Claude, Mistral, Grok, Perplexity, Manus

Web clients connect as a custom connector with OAuth. Follow the step-by-step guide.

Claude Code

claude mcp add --transport http tabula \
  https://www.tabula360.com/api/mcp/mcp \
  --header "Authorization: Bearer YOUR_TOKEN"

Cursor

Add to ~/.cursor/mcp.json (or .cursor/mcp.json in a project):

{
  "mcpServers": {
    "tabula": {
      "url": "https://www.tabula360.com/api/mcp/mcp",
      "headers": {
        "Authorization": "Bearer ${env:TABULA_MCP_TOKEN}"
      }
    }
  }
}

VS Code

Add to .vscode/mcp.json. VS Code uses servers and prompts for the token via inputs:

{
  "servers": {
    "tabula": {
      "type": "http",
      "url": "https://www.tabula360.com/api/mcp/mcp",
      "headers": { "Authorization": "Bearer ${input:tabula-token}" }
    }
  },
  "inputs": [
    { "type": "promptString", "id": "tabula-token", "description": "Tabula token", "password": true }
  ]
}

Windsurf

Add to ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "tabula": {
      "serverUrl": "https://www.tabula360.com/api/mcp/mcp",
      "headers": {
        "Authorization": "Bearer ${env:TABULA_MCP_TOKEN}"
      }
    }
  }
}

Codex CLI

Add to ~/.codex/config.toml:

[mcp_servers.tabula]
url = "https://www.tabula360.com/api/mcp/mcp"
bearer_token_env_var = "TABULA_MCP_TOKEN"

Mistral Vibe CLI

Add to ~/.vibe/config.toml, with TABULA_MCP_TOKEN in ~/.vibe/.env:

[[mcp_servers]]
name = "tabula"
transport = "http"
url = "https://www.tabula360.com/api/mcp/mcp"

[mcp_servers.auth]
type = "static"
api_key_env = "TABULA_MCP_TOKEN"

Your own code (OpenRouter or any OpenAI-compatible API)

Give a plain API script persistent memory with the standard tool-calling loop. A complete single-file example lives in examples/openrouter-memory: it fetches Tabula's tools over MCP, hands them to the model, and executes the calls.

What to expect

Asking always works: say "Save that to Tabula" or "Ask Tabula" and any model will call the right tool. Fully automatic saving and recall depends on the model and the client, because MCP offers tools, it cannot force a call.

To make recall automatic in clients with a system prompt or custom instructions, add this line:

Always check Tabula before answering anything about me, my work, or my projects, even if you think you already know.

The guide has the per-platform version of this for ChatGPT, Claude, Mistral, and the rest.

Privacy

Memories are isolated per account with row-level security, and never sold or shared. You can view, edit, export, or delete everything at any time. Privacy policy.

Pricing

Free during beta, no card required.

Links