Context7
Feeds AI the latest docs for libraries and frameworks before it answers, so code it writes does not use outdated, removed functions.
Description from the maker (original English)
Git-backed team knowledge compiled into token-budgeted context bundles for coding agents
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
BRIEFD_SOURCE, BRIEFD_API_TOKEN, BRIEFD_GIT_TOKENValues marked secret are keys to your account. Never share them or paste them into a chat.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"briefd": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"BRIEFD_SOURCE",
"-e",
"BRIEFD_API_TOKEN",
"-e",
"BRIEFD_GIT_TOKEN",
"ghcr.io/ismailperim/briefd:0.6.1"
],
"env": {
"BRIEFD_SOURCE": "your-value",
"BRIEFD_API_TOKEN": "your-value",
"BRIEFD_GIT_TOKEN": "your-value"
}
}
}
}Run this in your terminal
claude mcp add briefd --env BRIEFD_SOURCE=your-value --env BRIEFD_API_TOKEN=your-value --env BRIEFD_GIT_TOKEN=your-value -- docker run -i --rm -e BRIEFD_SOURCE -e BRIEFD_API_TOKEN -e BRIEFD_GIT_TOKEN ghcr.io/ismailperim/briefd:0.6.1Fill in the empty values before running it.
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"briefd": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"BRIEFD_SOURCE",
"-e",
"BRIEFD_API_TOKEN",
"-e",
"BRIEFD_GIT_TOKEN",
"ghcr.io/ismailperim/briefd:0.6.1"
],
"env": {
"BRIEFD_SOURCE": "your-value",
"BRIEFD_API_TOKEN": "your-value",
"BRIEFD_GIT_TOKEN": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"briefd": {
"type": "stdio",
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"BRIEFD_SOURCE",
"-e",
"BRIEFD_API_TOKEN",
"-e",
"BRIEFD_GIT_TOKEN",
"ghcr.io/ismailperim/briefd:0.6.1"
],
"env": {
"BRIEFD_SOURCE": "your-value",
"BRIEFD_API_TOKEN": "your-value",
"BRIEFD_GIT_TOKEN": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.
Your choice stays on this device in a cookie; no account needed.
These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Runs on your computer; the tool list appears in your AI app after you install it.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 7, 2026
The registry name was verified with the GitHub account ismailperim, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
You need to fill in: BRIEFD_SOURCE, BRIEFD_API_TOKEN, BRIEFD_GIT_TOKEN
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
The GitHub repo last changed –, and the latest version (0.6.1) reached the registry 37 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Docker on your computer.
In the same category: Context7, Codebase Memory, Exa
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
Feeds AI the latest docs for libraries and frameworks before it answers, so code it writes does not use outdated, removed functions.
Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.
Connect AI agents to Exa for web search, content fetching, and multi-step research.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
briefd
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:
briefd demo # serves the built-in sample knowledge base on http://127.0.0.1:7788
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:
# 1. build (Go >= 1.26) or grab a binary from the releases page
git clone https://github.com/ismailperim/briefd && cd briefd && make build
./bin/briefd serve --source testdata/knowledge --db /tmp/briefd.db --token dev-token
claude mcp add --transport http briefd http://localhost:7788/mcp \ --header "Authorization: Bearer dev-token"
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:
{
"mcpServers": { "briefd": { "type": "http", "url": "http://localhost:7788/mcp", "headers": { "Authorization": "Bearer dev-token" } } } }
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.
npx skills add ismailperim/briefd
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:
{
"mcpServers": { "briefd": { "command": "briefd", "args": ["mcp", "--source", "/path/to/knowledge", "--db", "~/.briefd/knowledge.db"] } } }
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- (+ 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. |
The same operations are available over REST (/api/search, POST /api/bundle, /api/docs/{path}, /api/scopes, POST /api/proposals, POST /api/usage, /api/gaps, /api/health, /api/stats) behind the same bearer token.
briefd expects a git repository (or directory) of Markdown with three kinds of folders (briefd init scaffolds it with example documents):
knowledge-repo/
├── domain/ # shared: terminology, business rules, ADRs ├── conventions/ # shared: coding standards, infra patterns └── projects/ ├── ledger-service/ # visible only when scope "projects/ledger-service" is requested └── merchant-portal/
Documents are split on ##/### headings into sections of roughly 200–800 tokens with stable ids, so a section can be quoted on its own. Optional front matter adds metadata:
---
title: Retry policy # defaults to the first H1 tags: [payments, resilience] refs: ["services/payment/**"] # code paths this doc governs
testdata/knowledge/ is a complete example (a fictional payments platform) and doubles as the evaluation corpus.
A knowledge repository can be an Obsidian vault. briefd reads [[wikilinks]] in the text and in front-matter properties such as related: (including [[note|alias]] and [[note#heading]]) and relative Markdown links, resolves them the way Obsidian does (by path, or by file name anywhere in the repository), and builds a link graph: the dashboard draws it, get_document returns each document's links and backlinks so an agent can follow them, and orphans (nothing links here) and broken links (the target does not exist) are listed as maintenance signals next to gaps and coverage. Folder scopes still apply — domain/, conventions/, projects/ / — so keep the vault's top level in that shape.
Only the beginning is shown; read the rest in the repo