Git-backed team knowledge compiled into token-budgeted context bundles for coding agents
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
One-click editor setup isnβt available for this listing yet β we donβt have a confirmed install command, and weβd rather show nothing than point your editor at the wrong package or host. Follow the projectβs own setup instructions, linked above.
Your agents, briefed. Not flooded.
A self-hosted context compiler for AI coding teams: git-backed knowledge, served to coding agents
as token-budgeted context bundles over MCP.

βΆ Watch the 90-second explainer Β· How it works Β· Quickstart
Teams that build many projects in one domain keep the same knowledge in their heads and in
scattered CLAUDE.md / AGENTS.md files: terminology, business rules, architecture decisions,
conventions. Loading all of it into every session burns thousands of tokens on every turn, and
whatever doesn't fit gets left out.
briefd inverts the model: context on demand, not up front. Your knowledge lives as Markdown in a git repository. briefd indexes it and answers one question from your coding agent β "what do I need to know for this task?" β with a compiled, deduplicated bundle that never exceeds the token budget you set.
On the sample knowledge repo in this repository (44 documents, 47 realistic developer tasks),
compile_bundle spends 86% fewer tokens per task than pasting everything into CLAUDE.md
while still containing the section that answers the task 96% of the time (98% with the
English-only all-MiniLM-L6-v2 model, the figure the explainer video quotes). The realistic
middle ground β a hand-curated CLAUDE.md with just conventions and the glossary β costs
2.8Γ more than a bundle and has the answer less than half the time.
Reproduce it with make bench; the method is in internal/eval/bench.go.
That is what the tokenizer says. Inside real Claude Code sessions
(eval/session/, Sonnet, 10 tasks, same prompts) briefd cut the context
carried per turn by 35% and the cost per task by 40% with identical answers β at the price of
3β4 extra tool-call round trips per task. The saving grows with the size of your knowledge repo;
a static CLAUDE.md cannot.
Memory tools (agentmemory, Mem0, claude-mem) record what an agent observed in its sessions, automatically, per user. briefd serves what the team decided, written by people and reviewed like code. They answer different questions and run side by side.
| Agent memory | briefd | |
|---|---|---|
| Source of truth | A database the agent writes to | Markdown in a git repository |
| Who writes | The agent, automatically | People; agents open pull requests |
| Scope | One agent / one user | The whole team, every project in the domain |
| Review | None | Every change has a diff, a reviewer and a name |
| Staleness | Unknown | Dates on every section; drift against the code it governs |
| What it can't answer | Silently absent | Listed on the dashboard as a backlog |
| Footprint | Runtime + engine + several ports | One static binary, one SQLite file, one port (or stdio) |
| Tool surface | Dozens of tools, thousands of tokens per session | 7 tools, ~2.8k tokens per session |
Use a memory tool so your agent remembers what it tried last week. Use briefd so every agent on the team applies the same rules β and so someone notices when a rule falls behind the code.
propose_update opens a reviewable branch/PR; what
briefd serves changes only when a human merges.multilingual-e5-small, 100+ languages) computed by a pure-Go encoder, fused with
reciprocal rank fusion. No Postgres, no vector database, no ONNX runtime, no CGO.max_tokens and never exceeds it.Try it in 30 seconds β no repository needed:
Then open the dashboard, or point an agent at it: claude mcp add --transport http briefd http://127.0.0.1:7788/mcp.
The first run downloads the embedding model (about 470 MB); briefd demo --embeddings none skips it.
With your own knowledge:
Open http://localhost:7788/ for the dashboard, then ask Claude Code something the sample
corpus knows β "what's our retry policy for acquirer calls?" or "ters ibraz nedir?" β and
watch search_context / compile_bundle show up in the request log.
Any MCP client that speaks streamable HTTP works. For a project-level .mcp.json:
Let the agent install it. Hand your coding agent one instruction:
Retrieve and follow the instructions at: https://raw.githubusercontent.com/ismailperim/briefd/main/INSTALL_FOR_AGENTS.md
Teach the agent when to ask. Tools an agent does not call save nothing. The
skills/briefd skill tells Claude Code (and any agent that reads
SKILL.md) when to compile a bundle, how to treat a stale section and when to propose an
update; the same guidance as a CLAUDE.md paragraph is in deploy/local/CLAUDE.md.
Single-user, no server? briefd mcp speaks MCP over stdio β the same tools, the same
index, no port and no token. Claude Desktop, Cursor's stdio config and MCP directory
inspectors launch it directly:
Use serve when a team shares one instance (dashboard, metrics, webhook, REST); use mcp
when the agent runs on the machine that holds the checkout.
| Tool | What it does |
|---|---|
compile_bundle(task_description, max_tokens?, scopes?, paths?) | One deduplicated context block within the budget, ordered domain β conventions β project, with a source line per section and a bundle_id. Deterministic and cached. |
search_context(query, max_tokens?, scopes?, top_k?, paths?) | Ranked sections that fit the budget, for inspection. paths (code paths being edited) pull the documents whose refs cover them to the top. |
get_document(doc_path, scopes?) | One document in full. |
list_scopes() | Scopes with document/section counts. |
propose_update(doc_path, change_description, new_content) | Creates branch briefd/proposal-<id> (+ pull request when configured). Never touches the index. |
report_usage(bundle_id, useful_chunk_ids) | Optional feedback: which sections helped. An empty list marks the question as a knowledge gap. |
suggest_links(doc_path?, limit?) | Links the knowledge base is missing (a document names another without linking it) and broken links β for an agent tidying the knowledge base via propose_update. |
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/briefd)<a href="https://allmcps.com/mcp/briefd"><img src="https://allmcps.com/api/badge/briefd?style=directory" alt="Briefd on AllMCPs" /></a>