br8n
Officialbr8n
Собственная, переносимая рабочая память. Шаблон мозга из простых файлов и крошечный MCP-сервер, который позволяет любой модели читать его.
Всё, чему ваша команда научила чат-инструмент о том, как выполняется работа, хранится внутри чужого логина. Смените инструмент — и вы снова чужак. Этот репозиторий — в другом направлении: память живёт в файлах, которыми вы владеете, а модель — всего лишь читатель.
br8n — это практика AI-доставки Branded Mayhem Collective. Это открытая часть: структура файлов и дверь. Хостинговая установка добавляет поиск, управление и того, кто работает с вами — на тех же файлах, которые никогда не меняют форму. br8n.io
Что здесь
template/brain/— структура мозга:how-we-work/,decisions/,exceptions/,handoffs/,voice/. Только Markdown. Один файл — одна вещь. Пишите почему, чтобы модель могла позже возразить.src/— MCP-сервер (stdio) с тремя инструментами:brain_list,brain_read,brain_search. Поиск возвращает файл и строку, чтобы ответы цитировали источник. Никаких векторов, индексов, аккаунтов. Grep — вот и вся суть.
Related MCP server: Universal Memory MCP Server
Использование
git clone https://github.com/Branded-Mayhem-Collective-LLC/br8n
cd br8n && npm install && npm run build
cp -r template/brain ~/my-brain # now write in it
node dist/cli.js ~/my-brain # MCP server on stdioClaude Desktop / Claude Code / Cursor (любой MCP-клиент) — добавьте:
{ "mcpServers": { "br8n": { "command": "node", "args": ["/path/to/br8n/dist/cli.js", "/path/to/my-brain"] } } }Затем спросите модель о том, что знает мозг. Она отвечает из файла и называет его. Смените модель — тот же ответ, тот же файл.
Почему файлы
Переносимость.
cp -r brain/ new-machine/— это вся миграция. Если вы не можете так сделать, значит, вы этим не владеете.Прозрачность. Вы можете прочитать каждый байт, который читает модель.
Независимость от модели. Папке всё равно, какая модель находится по ту сторону MCP.
Она может возражать. Решение, сохранённое с его почему, позволяет модели сказать: «это противоречит тому, что вы решили в марте». История чата так не может.
Метод публичен намеренно
Структура и этот сервер — под лицензией MIT. За что br8n берёт деньги — это работа с реальной операцией: выявление того, что на самом деле в головах людей, настройка поиска под роль, запуск и поддержание актуальности. Если вы предпочитаете сделать это сами, начните здесь — большинству стоит. Бесплатный первый курс — на br8n.io/lab.
Не аффилирован
br8n на PyPI (движок захвата контекста от другого автора) — не этот проект.
MIT © 2026 Branded Mayhem Collective LLC
Публикация (для сопровождающих)
npm login && npm publish --access public # 1. claims `br8n` on npm; package.json carries mcpName
mcp-publisher login github # 2. GitHub device-flow auth (org member)
mcp-publisher publish # 3. lists io.github.Branded-Mayhem-Collective-LLC/br8n in the official MCP registryAvailable Tools
3 toolsbrain_listARead-onlyIdempotent
List every markdown file in the brain (relative path, size, last modified).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, and non-destructive behavior. The description adds value by specifying the exact scope ('every markdown file') and the output fields, which clarifies what the tool returns without contradicting the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no wasted words. It front-loads the action and resource, then appends the relevant output fields in parentheses, making it easy to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, read-only list operation with annotations covering safety, the description is complete. It states what is listed, the scope, and the returned fields; no additional information is needed for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and the schema is empty, so the baseline is 4. The description adds no parameter details, but none are needed; it instead describes the output characteristics, which is more useful for a parameterless tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('List') and clearly identifies the resource ('every markdown file in the brain') plus the fields returned (relative path, size, last modified). This distinguishes it from siblings brain_read and brain_search, which imply reading or searching rather than enumerating.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'List every markdown file' provides clear context for when to use the tool: when the agent needs an inventory of all markdown files. It does not explicitly name alternatives or exclusions, so it stops short of a 5, but the intended usage is evident.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
brain_readARead-onlyIdempotent
Read one file from the brain by relative path (e.g. decisions/2026-03-change-orders.md).
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | relative path inside the brain |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds the scope of reading exactly one file and the relative-path constraint, but provides no details on error behavior or return format. These additions are consistent with annotations but minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence with action front-loaded, a precise resource, and a helpful example. No filler or redundancy; every part earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with one required parameter, no output schema, and annotations covering side effects, the description is complete. The example and relative-path wording give the agent everything needed to call it correctly, and sibling tools provide surrounding context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the schema already describes 'path' as a relative path, so the baseline is 3. The description goes slightly beyond by giving a concrete example (decisions/2026-03-change-orders.md), which clarifies the expected format and nested structure.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'Read' with a clear resource ('one file from the brain') and a method ('by relative path') plus a concrete example. This distinguishes it naturally from siblings brain_list and brain_search without ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage—when you need the contents of a specific file by path—but does not explicitly contrast with brain_list or brain_search, nor does it state when not to use this tool. The context is clear enough but exclusions/alternatives are left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
brain_searchARead-onlyIdempotent
Literal, case-insensitive search across the brain. Returns file, line number and the matching line, so answers can cite the source.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With annotations indicating readOnlyHint=true and destructiveHint=false, the safety profile is already clear. The description adds useful behavioral details: the search is literal and case-insensitive, and the tool returns source-citing output. However, it does not mention limits or edge cases like pagination or behavior with no matches, which would be extra context beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is one focused sentence that front-loads the key distinction ('Literal, case-insensitive search') and immediately states the return value. Every word earns its place; no fluff or redundant restatement of the tool name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool is a simple read-only search with annotations covering safety and idempotence, the description is largely complete. The main missing context is the sibling differentiation and explicit behavior for the 'limit' parameter, but the tool's simplicity and annotations reduce the burden. It does not need to explain return values in detail because it already states them.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema documents only the parameter names and types; description coverage is 0%. The description adds meaning by stating that the search returns file, line number, and matching line, which clarifies the 'query' parameter's effect. It doesn't explain the 'limit' parameter in detail, but a limit's purpose is fairly evident from its integer type and range. A score of 4 is appropriate because the description compensates for the schema's lack of semantic detail on what a query produces.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('search') and resource ('the brain'), and explicitly states what it returns (file, line number, and the matching line). It clearly distinguishes itself from siblings like brain_list and brain_read by framing itself as a search operation rather than listing or reading.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies this tool is for locating specific content within the brain, which is distinct from brain_list and brain_read, but it does not explicitly state when not to use it or name alternatives. The phrase 'Literal, case-insensitive search' gives some context on when it is appropriate, but it could more explicitly contrast with sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
3 tool updates
v0.1.2- First observed
brain_list - First observed
brain_read - First observed
brain_search
TDQS
Scored across 3 tools
Each tool targets a distinct operation: listing all files, reading a specific file, and searching content. There is no overlap or ambiguity in their purposes.
All tools consistently use the 'brain_' prefix with a simple verb pattern (list/read/search), making the API predictable and easy to navigate.
Three tools is minimal but well-scoped for a read-only markdown knowledge base. Each tool serves a necessary and non-redundant function.
The set fully covers the core retrieval workflows: browsing the structure, reading files, and searching content. Write or management operations are absent, but they appear outside the server's stated read-only scope.
Maintenance
Related MCP Connectors
One memory, every AI. A shared, user-owned markdown memory your AI clients read and write over MCP.
Shared long-term memory vault for AI agents with 20 MCP tools.
Person-owned AI memory that learns, not just stores — portable context for any MCP client.
An MCP memory server. One memory your agents share — across models, devices and apps.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceMCP server providing persistent brain storage for LLM agents, including memory, personality, social intelligence, and context management.1MIT
- AlicenseNot gradedqualityDmaintenanceA portable MCP server providing a shared intelligent memory system for any MCP-compatible AI tool, enabling storage, retrieval, extraction, and governance of memories across sessions.23 npmMIT
- AlicenseNot gradedqualityBmaintenanceProvides a file-first personal memory layer for AI agents, enabling them to store and retrieve memories as markdown files with an SQLite index. The MCP server offers read-only search by default, with optional write tools for manual memory addition and conflict resolution.1 npmMIT
- AlicenseNot gradedqualityBmaintenanceMCP server that turns a git-versioned Markdown vault into a queryable memory for AI agents, providing tools like brain_search, brain_read, and brain_neighbors.Apache 2.0