br8n
Officialbr8n
自有、可移植的工作记忆。 一个纯文件的大脑模板,以及一个让任何模型都能读取它的微型 MCP 服务器。
你的团队教给聊天工具的所有关于工作如何完成的内容,都存放在别人的登录账户里。换个工具,你又成了陌生人。这个仓库反其道而行之:记忆存在于你拥有的文件中,而模型只是一个读者。
br8n 是 Branded Mayhem Collective 的 AI 交付实践。这是开放的部分:文件布局和入口。托管安装增加了检索、治理,以及一个与你一起运行它的人——基于相同的文件,这些文件永远不会改变形态。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。
无关联
PyPI 上的 br8n(由另一位作者编写的上下文捕获引擎)不是这个项目。
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