Bcontext
Native connector that brings GitHub issues, pull requests, and related activity into the workspace as candidates for review, enabling agents and teammates to track and act on development context.
Native connector that imports Linear issues and project data into the workspace as candidates, linking tasks and decisions to the team's issue tracker.
Native connector that syncs Notion pages and databases into the workspace as candidates, making docs and knowledge available to agents and teammates.
Native connector that ingests Slack conversations and updates into the workspace as candidates, helping agents stay aware of team discussions and decisions.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Bcontextbrief me on open decisions, unblocked tasks, and changes since yesterday"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Bcontext
The shared memory your AI agents read and write.
Tasks, decisions and docs in one workspace that Claude Code, Cursor, Codex and
your teammates all work from, over MCP.
Self-hosted, open source, one docker compose up.
Quickstart · Install with an agent · Self-hosting · Connect an agent · Configuration
Why
Your team already works with agents, and every session starts from zero. What one agent decided on Monday lives in a chat nobody will reopen. Memory is locked inside each tool, per person. The next agent, on someone else's machine and a different model, contradicts last week's decision or redoes the work.
Bcontext is the place that work lands. An agent starts by asking for a
brief: what is unblocked, which decisions are open, what changed since it
last looked. It picks a task, does the work and closes it with a
## Result the next agent or person builds on. People see the same graph
in the web app and steer it: review what agents wrote, fix it, decide.
flowchart LR
subgraph Agents
CC[Claude Code]
CU[Cursor]
CX[Codex / any MCP client]
end
subgraph Bcontext
MCP["/mcp/org/workspace<br/>OAuth 2.1 · scoped tokens"]
G[("Workspace graph<br/>tasks · decisions · docs<br/>meetings · bugs · ADRs")]
R[Hybrid search<br/>pgvector + keyword]
end
W[Web app<br/>for the humans]
CC & CU & CX <--> MCP
MCP <--> G
G --- R
W <--> GRelated MCP server: contextos-memory
What a session looks like
you ▸ Pick up the next payments task.
agent ▸ brief()
3 unblocked · 1 open decision · 7 changes since yesterday
↳ "Retry failed webhook deliveries with backoff" todo · high
↳ decision "Idempotency keys on every payment write" was accepted
agent ▸ nodes_write(update, status: in_progress)
… writes the code, honouring the idempotency decision …
agent ▸ nodes_write(append, "## Result")
Retries use pg-boss with exponential backoff (5 attempts, max 1h).
Dead letters land in the Ops view. PR #142.Tomorrow a teammate's agent, in another editor, starts from that result instead of from scratch.
Features
🧠 A typed knowledge graph
Tasks, decisions, ADRs, docs, meetings, bugs, entities, datasets and goals,
with typed links (depends_on, supersedes…), hierarchical tags, subtasks
and a status lifecycle. Every ## heading is an addressable block
(/n/<id>#result), so agents edit one section without clobbering another.
🔌 An MCP server built for agents
Per-workspace endpoints, OAuth 2.1 or scoped agent tokens, and a
tools/list filtered to what each caller may do. Optimistic concurrency on
writes, a change feed to re-sync cheaply, and other MCP servers proxied
behind capability_search / capability_call.
🔎 Retrieval that cites Hybrid pgvector + keyword search with one-hop graph expansion. Answers cite the nodes they came from. Works with no AI key at all (keyword search), with the Vercel AI Gateway, or with any OpenAI-compatible server such as Ollama or LiteLLM.
👥 Built for teams, with an audit trail Organizations, workspaces, invitations and per-principal grants. Every write records who made it, person or agent, in an append-only log with a hash chain. A collaborative editor for the humans.
🤖 Nexos: the workspace's own agents Agents that live inside a workspace with a shared brain: an inbox, a heartbeat, a monthly budget and a chat. They triage, flag contradictions between decisions and answer questions about the workspace.
🔗 Integrations Native connectors for GitHub, Slack, Linear and Notion, plus a long tail through a self-hosted Nango. What they bring in is extracted into candidates in a review inbox, accepted by a person or auto-accepted above a confidence threshold you set.
Screenshots
Quickstart
Let your agent install it
Paste this into Claude Code, Codex, Cursor or any agent with a shell:
Install Bcontext (https://github.com/Ibonarambarri/bcontext) on this machine.
Follow https://raw.githubusercontent.com/Ibonarambarri/bcontext/main/docs/install-with-an-agent.md
step by step: clone or update the repo, configure it, start it, wait until it
is healthy, then connect yourself to my workspace over MCP. Ask me only for
what you cannot decide.It checks Docker, asks where it should run and your email, writes the configuration, starts the stack and, once you have created your account, connects itself over MCP. The steps it follows are in docs/install-with-an-agent.md.
Or by hand
You need Docker with Compose v2, openssl and about 4 GB of free RAM to build
(the running stack uses under 1 GB).
git clone https://github.com/Ibonarambarri/bcontext.git && cd bcontext
./setup.sh --domain localhost --admin-email you@example.com -y
docker compose up -dOpen http://localhost, create your account and organization at /start,
and you're in. The first up builds the images from source when no release
image is available, which takes a few minutes. Port 80 taken? Add
--http-port 8080 to setup.sh.
On a server with a real domain, Caddy gets the HTTPS certificate automatically: see docs/self-hosting.md for DNS, email, AI keys, backups and updates.
Connect your agent
In the web app, Agents → Add agent gives you a ready-to-paste snippet for each client. For Claude Code by hand:
claude mcp add --transport http bcontext https://your-host/mcp/<org>/<workspace>Claude Code opens the browser to approve the connection (OAuth). For the
plugin, which adds the working conventions as a skill and a
/bcontext:brief command, and for Cursor, Codex and token auth, see
docs/connect-agents.md.
Architecture
Service | What it runs |
| A single origin for everything: the web app, the API, |
| The Next.js app ( |
| REST, the MCP server and realtime WebSockets ( |
| pg-boss queues: webhooks, connector syncs, Nexo runs, retention (same image as |
| One-shot: applies pending migrations, then exits; |
| Postgres 15 with pgvector ( |
| Supabase Auth, PostgREST, Storage (files on a volume) and its gateway |
| Optional error collector behind |
| Optional Supabase Studio on |
apps/api API, MCP server, worker, error collector, migrations (one image)
apps/web Next.js web app
packages/contract types and helpers both apps share
deploy/ Caddyfile, Supabase gateway and init SQL, migration runner
plugin/ Claude Code plugin: conventions skill and /bcontext:brief
docker-compose.yml the self-hosted stack
setup.sh writes .env with fresh secretsStack: TypeScript · Hono · Next.js 16 · React 19 · Postgres + pgvector · Supabase Auth/Storage · pg-boss · Vercel AI SDK · HeroUI · Caddy
Project status
Bcontext started as a commercial product and is now released as open source for anyone who wants to run it. It ran in production and works end to end, but it is maintained on a best-effort basis: issues and pull requests are welcome, and there are no response-time promises. Start with CONTRIBUTING.md. Agents working on the codebase, start with AGENTS.md.
License
GNU Affero General Public License v3.0 (AGPL-3.0-only). You can
use, modify and self-host it freely. If you run a modified Bcontext as a
network service, you must offer its source to its users.
This server cannot be deployed
Related MCP Connectors
Agent-native notes, tasks, dev-docs, vaults, sync & handoffs. MCP + OpenAPI dual surface.
Private-by-default, local-first memory/context/task orchestrator for MCP apps and agents.
- memnodeOAuthdev.memnode
Persistent, inspectable memory for AI agents with lineage, correction, and a hosted MCP endpoint.
A second brain for your AI agent. Shared memory for your team's AI agents, plus public and private knowledge bases — works with ChatGPT, Claude, Cursor and any MCP client.
Related MCP Servers
- AlicenseBqualityCmaintenanceShared workspace your AI agents write to. CMMN case management with 184+ MCP tools: cases, tasks, event-driven CMMN workflows with sentries, persistent memory with semantic search, billing and invoicing. OAuth or token auth; cloud-hosted remote MCP endpoint.10023 npmMIT
- AlicenseNot gradedqualityAmaintenanceEnables AI coding agents to share a local-first, versioned memory of decisions, conventions, tasks, conflicts, and handoffs over MCP and REST.0MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to persist and share durable memory — appending session logs with checkpoints and handoffs, claiming and completing tasks, and recording decision records — all stored as plain Markdown and JSONL files in a git repository. Everything written is full-text searchable, and the server speaks MCP so MCP-aware clients can plug in directly with zero vendor lock-in.MIT
- AlicenseNot gradedqualityAmaintenanceEnables a self-hosted AI workspace with persistent sessions, agent run/step execution logs, unified search across conversations and knowledge, and discovery/invocation of local and remote MCP tools.MIT