{
  "markdown": "# Lobu — Give every agent a live model of your world\n\n**Lobu is an open-source, event-sourced context layer for AI agents.** Every tool call, data\nchange, device signal, API event, and conversation becomes an event, linked to the entities and\nidentities it belongs to — a person, a project, a customer, a home, a company. That gives agents\na live, queryable model of your world instead of a transcript they forget when the session ends.\n\nChatGPT, Claude, Codex, and your own agents read and write that same permission-aware history and\ncurrent context, whether you're wiring up your own accounts or an entire company's stack. When a\nresponsibility should outlive one chat, any agent can discover and hand it to a persistent Lobu\nspecialist over MCP.\n\nConnect your tools once. Every agent resumes from the same live context.\n\n```text\nWITHOUT LOBU                         WITH LOBU\n\nAgent A -> Slack / GitHub / CRM      Slack  GitHub  CRM  DBs  Devices\nAgent B -> Slack / GitHub / CRM         \\      |     |    |     /\nAgent C -> Slack / GitHub / CRM          +-----+-----+----+----+\n                                                     |\nEach agent re-fetches.                               v\nEach session forgets.                       +-------------------+\n                                             |       LOBU        |\n                                             | events + entities |\n                                             | history + policy  |\n                                             +---------+---------+\n                                                       |\n                                                shared context\n                                     +-----------------+-----------------+\n                                     |                 |                 |\n                                  ChatGPT         Claude / Codex      Your agents\n```\n\n## See it in ChatGPT\n\nThe 86-second narrated demo shows ChatGPT using Lobu over MCP to pull connected context and call\ngoverned tools without leaving the conversation. The same shared context remains available to\nClaude, Codex, and custom agents.\n\nhttps://github.com/user-attachments/assets/c07e7c23-a29b-4b05-895e-51dcb935bac4\n\n## Start with the agent you already use\n\nPoint any MCP client at Lobu. No Lobu agent runtime or `lobu.config.ts` is required.\n\n```bash\n# Claude Code\nnpx @lobu/cli@latest connect claude-code\n\n# Codex\nnpx @lobu/cli@latest connect codex\n\n# OpenCode\nnpx @lobu/cli@latest connect opencode\n```\n\nComplete OAuth when prompted, connect the sources you want to share, and ask your agent to use\nLobu when it needs shared context.\n\nThe same MCP endpoint works with **Claude Code, Codex, OpenCode, Antigravity, ChatGPT, Claude Desktop, Cursor**, and custom MCP clients. Run `lobu connect` to detect a client, install the supported MCP and skill bundle, or get the exact native handoff when the host requires UI setup. Authentication happens in that agent on first use.\n\nSetup guides: [Claude](https://lobu.ai/connect-from/claude/) · [ChatGPT](https://lobu.ai/connect-from/chatgpt/) · [Codex](https://lobu.ai/connect-from/codex/) · [Grok](https://lobu.ai/connect-from/grok/)\n\n### Recall what the company knows\n\nAsk from Claude Code, Codex, or ChatGPT:\n\n> What did we decide about enterprise onboarding, and what changed since the last release?\n\nLobu searches shared, durable organizational memory under the caller's permissions, regardless of which agent asks. The answer can combine connected discussions, project activity, customer records, saved decisions, and typed company entities without rebuilding that context from scratch in every chat.\n\n### Hand work to a persistent Lobu specialist\n\nAsk your primary agent:\n\n> Ask our customer-researcher specialist to review the latest feedback and propose the next three interviews.\n\nThe agent discovers the specialists available to you, selects the right one, delegates the task, and brings the result back. The specialist has its own identity, instructions, tools, durable conversations, and access policy.\n\nTo the user this stays one conversation in their primary agent. The specialist itself persists: it remains available to other authorized people and agents instead of disappearing with the current chat.\n\n## Why Lobu\n\nInstead of every agent rebuilding the same state through per-session tool calls, Lobu runs a shared data layer:\n\n- **Connect once.** Polls, webhooks, APIs, and agent-written connectors feed one append-only event log.\n- **Know once.** Events can be indexed as searchable knowledge and linked to typed entities such as companies, projects, incidents, and customers.\n- **Use from any agent.** Authorized MCP clients read and contribute to the same organizational state according to their grants.\n- **Delegate when useful.** Persistent Lobu specialists can own a role, conversation history, tools, and recurring responsibilities.\n- **Keep control.** Identity, source permissions, approvals, credential brokering, provenance, and audit stay server-side.\n\n```mermaid\nflowchart TD\n    Sources[\"Connectors / webhooks / devices / APIs\"] --> Log[(\"append-only log\")]\n    Log -->|\"resolve identities<br/>attach provenance\"| Graph[\"context graph<br/>entities + links<br/>current + history\"]\n    Graph -->|\"query\"| Agents[\"agents + specialists\"]\n    Graph -->|\"watch / subscribe\"| Agents\n    Agents -->|\"sandbox + scoped tools / MCP<br/>policy + approvals\"| Actions[\"actions on systems\"]\n    Actions -->|\"action events\"| Log\n```\n\n**MCP is for doing. Lobu's event graph is for knowing.**\n\n## One context layer, personal or company\n\nThe primitives don't change between a single person's accounts and an entire company's stack —\nonly what's connected does. Identities, entities, events, history, and policy work the same way\nat either scope.\n\n```text\nPERSONAL                               COMPANY\n\nWhatsApp  Gmail  Calendar  Mac        Slack  GitHub  CRM  DB\n    \\       |       |      /              \\      |     |   /\n     +------+-------+-----+                +------+-----+---+\n                    \\                      /\n                     +------- LOBU -------+\n                     | identities         |\n                     | entities + events  |\n                     | history + policy   |\n                     +---------+----------+\n                               |\n                      shared agent context\n                  +------------+------------+\n                  |                         |\n       \"When is Alice home?\"      \"Why is Acme at risk?\"\n```\n\n## Three ways to use Lobu\n\n### 1. Add shared context to existing agents\n\nAgents can search and save memory, query structured entities, inspect connected sources, and delegate to Lobu specialists without moving to a new chat interface or adopting Lobu's runtime.\n\nDocs: [Memory](https://lobu.ai/getting-started/memory/) · [Claude](https://lobu.ai/connect-from/claude/) · [ChatGPT](https://lobu.ai/connect-from/chatgpt/) · [Codex](https://lobu.ai/connect-from/codex/)\n\n### 2. Run persistent Lobu specialists\n\nCreate a specialist for a durable responsibility: customer research, support triage, release coordination, incident follow-up, or an internal domain. People can talk to it from the Lobu web app or Slack, while other agents can call the same specialist over MCP.\n\nScaffold and run one locally:\n\n```bash\nnpx @lobu/cli@latest init my-specialist\ncd my-specialist\nnpx @lobu/cli@latest run\nnpx @lobu/cli@latest chat -c local \"hello\"\n```\n\n`lobu run` starts the local stack with an embedded Postgres database by default and opens the web UI on `:8787`. It applies the project's `lobu.config.ts` automatically only in embedded mode. To use external Postgres, set `DATABASE_URL`, ensure pgvector is available, then authenticate and apply the project to that runtime separately.\n\nDocs: [Getting started](https://lobu.ai/getting-started/) · [Agent workspace](https://lobu.ai/guides/agent-prompts/) · [Skills](https://lobu.ai/getting-started/skills/) · [Slack](https://lobu.ai/platforms/slack/)\n\n### 3. Build with the CLI and TypeScript SDK\n\nThe same governed data and operations are available without an agent:\n\n```bash\nnpx @lobu/cli@latest memory run                     # list the memory tools\nnpx @lobu/cli@latest memory run search_memory '{\"query\":\"onboarding\"}'\nnpx @lobu/cli@latest memory exec \\\n  'export default async (_ctx, client) => client.entities.list({ limit: 5 })'\n```\n\nOr from Node and TypeScript:\n\n```ts\nimport { client, searchMemory } from \"@lobu/client\";\n\nclient.setConfig({\n  baseUrl: \"https://lobu.ai\",\n  headers: { Authorization: `Bearer ${process.env.LOBU_TOKEN}` },\n});\n\nconst hits = await searchMemory({\n  path: { orgSlug: \"my-org\" },\n  body: { query: \"onboarding\" },\n});\n```\n\nMint a token with `lobu token create`. The MCP tools and typed SDK operations share the server-side tool registry and access rules; `lobu memory run` and `lobu memory exec` dispatch through the MCP endpoint.\n\n## Core concepts\n\n### Shared context\n\n[Connectors](https://lobu.ai/getting-started/author-a-connector/) collect activity on a schedule or through webhooks. Discussions, project changes, customer records, API events, and saved agent knowledge land in the same append-only history.\n\nTyped entities connect that history to the things you care about: `Company`, `Project`, `Customer`, `Incident`, or schemas you define. Corrections supersede old facts rather than erasing their provenance.\n\nConnectors are extensible. You can build them in TypeScript, and coding agents can use Lobu's connector contract and validation flow to create integrations for sources Lobu does not ship with.\n\nDocs: [Memory](https://lobu.ai/getting-started/memory/) · [Connectors](https://lobu.ai/getting-started/author-a-connector/) · [API](https://lobu.ai/reference/api-reference/)\n\n### Persistent specialists\n\nA Lobu specialist has a stable role, instructions, memory, tools, and conversation history. It can be reached from web chat or Slack and called by external agents through `client.conversations.send`.\n\nSpecialists use role files for identity and instructions: `IDENTITY.md`, `SOUL.md`, and `USER.md`. Guardrails can inspect input, output, and tool calls. Destructive MCP calls require in-thread approval unless they are explicitly pre-approved through `defineAgent({ tools: { preApproved } })` in `lobu.config.ts`; action results return to the shared event log.\n\nExternal agents do not ask users to write delegation code. They pass scripts like these to Lobu's `query_sdk` and `run_sdk` MCP tools:\n\n```ts\n// Discover specialists through query_sdk.\nexport default async (_ctx, client) => {\n  const { agents } = await client.agents.list();\n  return agents;\n};\n```\n\n```ts\n// Delegate through run_sdk and wait for the specialist's reply.\nexport default async (_ctx, client) => {\n  return client.conversations.send({\n    agent_id: \"customer-researcher\",\n    thread: \"enterprise-onboarding\",\n    text: \"Review the latest customer feedback and propose the next three interviews.\",\n  });\n};\n```\n\nDocs: [Agent workspace](https://lobu.ai/guides/agent-prompts/) · [Guardrails](https://lobu.ai/guides/guardrails/) · [Security](https://lobu.ai/guides/security/)\n\n### Automations\n\nAutomations are versioned background responsibilities activated manually, on a schedule, by a connector event, or by another Automation's durable output. They read governed sources, persist structured results, and can notify Slack, open a ticket, or start agent work while nobody is in chat.\n\nCollection and activation stay independent: connect a source once, keep its durable history useful to every authorized agent, then choose whether a responsibility should run on a schedule or immediately when a matching event arrives. Polling connectors, authenticated webhooks, and Automation outputs use their appropriate ingestion paths but converge on the same durable Automation run lifecycle. Initial syncs establish a baseline without flooding subscribers; repeated deliveries are deduplicated.\n\nSee the [activation and chaining model](docs/AUTOMATIONS.md).\n\n### Optional execution\n\nShared context and delegation over MCP do not require Lobu to execute code for the calling agent. When a Lobu specialist needs a shell, the built-in runtime provides lightweight `just-bash` execution. Remote sandbox providers such as Vercel Sandbox can be connected for workloads that need stronger isolation or more compute.\n\nWhich sandbox runs the code is a deployment choice. Lobu provides the shared context, permissions, and governance around it.\n\n## Channels\n\nLobu specialists can serve **Slack, Telegram, WhatsApp, Discord, Teams, Google Chat**, the web app, and a [REST API](https://lobu.ai/reference/api-reference/). Channel conversations remain separate while reading the same authorized organizational context.\n\nSetup: [Slack](https://lobu.ai/platforms/slack/) · [Telegram](https://lobu.ai/platforms/telegram/) · [Discord](https://lobu.ai/platforms/discord/) · [WhatsApp](https://lobu.ai/platforms/whatsapp/) · [Teams](https://lobu.ai/platforms/teams/) · [Google Chat](https://lobu.ai/platforms/google-chat/)\n\n## How Lobu differs\n\n- **Agent frameworks** help developers implement an agent loop. Lobu gives agents and people a shared organizational state and a place to keep persistent specialists.\n- **Direct MCP integrations** expose tools from one provider. Lobu continuously builds durable, cross-source context that every authorized agent can reuse.\n- **Agent runtimes** host a particular agent. Lobu lets people keep using Claude Code, Codex, ChatGPT, or their own runtime and add Lobu only where shared context or delegation is useful.\n- **Workflow engines** encode a graph of predetermined steps. Lobu Automations handle durable triggers and background responsibilities, while agents decide how to complete open-ended work.\n\n## Agent configuration\n\nRuntime configuration is managed through the web app or the same org-scoped REST API used by the CLI. Local `lobu.config.ts` projects support validation and repeatable apply workflows.\n\n```bash\nnpx @lobu/cli@latest login\nnpx @lobu/cli@latest org set my-org\nnpx @lobu/cli@latest agent list\n```\n\nDocs: [CLI reference](https://lobu.ai/reference/cli/) · [`lobu apply`](https://lobu.ai/reference/cli/#apply)\n\n## Deployment\n\nUse the embedded runtime locally or self-host Lobu with external Postgres. Production guides: [Docker](https://lobu.ai/deployment/docker/) · [Cloud](https://lobu.ai/deployment/cloud/) · [Kubernetes](https://lobu.ai/deployment/kubernetes/)\n\n## Security and privacy\n\nPermissions and audit stay on Lobu's gateway. Lobu MCP servers and the credential-brokering layer handle provider and connector credentials, OAuth and token refresh, and third-party API proxying. Workers receive scoped placeholders or short-lived provider-derived access, never OAuth tokens or durable stored credentials. Destructive MCP calls require in-thread approval unless explicitly pre-approved, and connected data remains organization-scoped.\n\nThe built-in `just-bash` and embedded execution modes are policy and convenience boundaries, not VMs for hostile code. Use a remote sandbox provider when the workload needs a stronger isolation boundary.\n\nDocs: [Security](https://lobu.ai/guides/security/) · [Secret proxy](https://lobu.ai/guides/secret-proxy/) · [Guardrails](https://lobu.ai/guides/guardrails/) · [Threat model](docs/SECURITY.md)\n\n## Design partners\n\nWe are working with technical teams that already use Claude Code, Codex, ChatGPT, or custom agents and want those agents to share company context or delegate to persistent specialists.\n\nThe best starting point is one team, one or two connected sources, and one repeated responsibility. [Talk to the founder](https://lobu.ai/schedule/) or reach out on [X/Twitter](https://x.com/bu7emba).\n",
  "bytes": 15779,
  "sha": "6ffe4302c0487da2f5dc69c119c321fb7f2d62535e4f6005c3fa0835eb07ee56",
  "repo_slug": "lobu-ai/lobu",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_lobu_ai_lobu_8409e64c/readme"
}