MCP Server · Open Source

The LLM-Controlled Data Layer

An MCP server where AI agents define schemas, generate their own CRUD tools, and manage structured application data — no database required.

What is Limbo?

Most AI assistants hit a wall when a user wants to track something new. Limbo removes that wall.

When a user says "start tracking my calories", the LLM creates the data domain, generates its own tools to interact with it, and starts managing the data — all on the fly.

Limbo is not a memory layer. Memory systems store facts about users. Limbo stores user data the LLM manages — calorie logs, budgets, habit trackers, inventories.

Limbo is not text-to-SQL. There's no pre-defined schema. The LLM doesn't query a human-designed database — it builds and operates its own.

Claude + Limbo
You
I want to start tracking my calories.
Claude
I'll create a calories domain and generate tools for logging meals, querying daily totals, and weekly summaries.
You
I just had a chicken sandwich, about 620 cal.

How it works

Three components wire together to give any LLM agent a fully self-managed data layer.

01

Registry

A registry.json manifest tracking every domain the LLM has created — name, purpose, data pattern, and tool list. The agent's source of truth.

02

Store

Flat JSON files on disk. No database engine needed. Swappable to Redis, SQLite, or Postgres later without changing the tool interface.

03

Tool Runtime

The LLM generates JavaScript tool handlers. Limbo registers and executes them. Tools and data co-evolve as the agent's needs change.

Available tools

Seven core tools expose the full data layer to any MCP-compatible agent.

limbo_create_domain

Register a new data domain with a name, purpose, and file pattern.

limbo_list_domains

List all domains and their metadata from the registry.

limbo_describe_domain

Get full details on a domain including its generated tools.

limbo_delete_domain

Delete a domain and all its data. Requires confirm: true.

limbo_generate_tool

Generate and register a JS tool handler for a domain.

limbo_execute_tool

Execute a previously generated tool by name with arguments.

limbo_list_tools

List all generated tools, optionally filtered by domain.

0
Databases Required
7
Core MCP Tools
Dynamic Domains
MIT
Open Source License

Get started in minutes

Requires Bun. Connect to Claude Desktop or Claude Code CLI.

1

Clone & install

Clone the repo and install dependencies with Bun.

2

Add to Claude Desktop

Edit claude_desktop_config.json to register Limbo as an MCP server. Set LIMBO_DATA_DIR to control where data is stored.

3

Or use Claude Code CLI

Run claude mcp add limbo to register in one command.

4

Tell Claude to track something

Say "start tracking my calories" or "I want a budget tracker." Limbo handles the rest.

bash
# Clone and install
git clone https://github.com/Codinghaze-AI/llm-limbo.git
cd llm-limbo
bun install
bun start

# Claude Code CLI
claude mcp add limbo -- bun run /path/to/llm-limbo/index.ts
claude_desktop_config.json
{
  "mcpServers": {
    "limbo": {
      "command": "bun",
      "args": ["run", "/path/to/llm-limbo/index.ts"],
      "env": {
        "LIMBO_DATA_DIR": "/path/to/data"
      }
    }
  }
}