brain-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| BRAIN_MCP_HOST | No | Host for HTTP modes. | 127.0.0.1 |
| BRAIN_MCP_PORT | No | Port for HTTP modes. | 3737 |
| BRAIN_MCP_TOKEN | No | Bearer token for HTTP mode. Grants read, write and private scopes. Tokens shorter than 32 characters are ignored. Required when using HTTP mode with token authentication. | |
| BRAIN_MCP_CONFIG | No | Path to the config file (default is brain.config.json in the repository). Use --config <path> or BRAIN_MCP_CONFIG to keep your config outside the repository. | |
| BRAIN_MCP_LOG_DIR | No | Directory where audit logs are stored. | logs |
| BRAIN_MCP_DATA_DIR | No | Directory where the index database is stored. | data |
| BRAIN_MCP_TOKEN_RO | No | Read-only bearer token for HTTP mode. Grants read only. Tokens shorter than 32 characters are ignored. | |
| BRAIN_MCP_AUTH_MODE | No | Authentication mode for HTTP: 'token' or 'oauth'. | |
| BRAIN_MCP_PUBLIC_URL | No | Public URL for OAuth mode (e.g., https://brain.example.com). |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": true
} |
| resources | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| brain_identityA | Call this FIRST in every conversation. Returns who the owner is, their preferences and feedback rules, the projects they run, and what they touched recently. Adopt it as your persona and working context. Captured facts are only the ones true now; brain_facts has their history. Pass |
| brain_contextA | One call that returns the most relevant sections from across the vault for a question, with source note ids. Use this before brain_search when you need to answer or reason about something the owner may have written down. Ask in plain words: retrieval is hybrid (keywords + meaning + a reranker), so paraphrases work; still include specific nouns, ids and dates when you have them. The reply states its coverage (good / thin / none). |
| brain_searchA | Full-text search across every note with optional filters. Returns ranked hits with snippets and note ids for brain_read. Keywords or a short question both work (hybrid keyword + semantic search with spelling correction); the reply states its coverage. |
| brain_readA | Return one note in full (or one section of it) by note id, title, or wikilink target. Includes frontmatter metadata, topics, and links. |
| brain_projectA | One-call briefing on a project: what it is, its notes grouped by type, latest progress entries, decisions, and what changed recently. Call this before discussing any project. Omit the project name to list all projects. |
| brain_graphA | Neighbours of a note, hub, or concept: outgoing links, backlinks, and notes sharing the same topics. For a concept (e.g. 'OAuth') this shows every project that touches it. Use it to hop sideways between projects. |
| brain_recentA | Notes modified in the last N days, newest first. Answers 'what am I working on' and 'what did I do last week'. Hubs and concepts are excluded unless include_structural is set. |
| brain_captureA | Write a new note into the vault's capture folder with graph-ready frontmatter. Use for plans, decisions, ideas, meeting notes, or session logs the owner wants to keep. Not for one-line facts (use brain_remember). The reply lists existing notes the body names without linking. |
| brain_rememberA | Append one durable fact about the owner to their memory file: a preference, a correction on how to work, a project constraint, or a reference. It becomes part of brain_identity immediately. Include why it matters and how to apply it. When it changes an earlier fact, pass |
| brain_factsA | Facts recorded with brain_remember and when each was true. By default, the facts true now. |
| brain_writeA | Create a note at a path you choose under Notes/ or Captures/, or replace one there with overwrite=true. Use it for hubs, guides and runbooks maintained by hand. Unlike brain_capture you set the type, including 'hub': a hub groups every note whose frontmatter project matches its title. Generated notes elsewhere in the vault cannot be written. The reply lists existing notes the body names without linking. |
| brain_editA | Change part of a note under Notes/ or Captures/ without rewriting it. Give exactly one of: old_text + new_text (old_text must occur exactly once; new_text may be empty), section + content (replaces everything under that heading up to the next heading of the same or higher level; the heading itself stays), or append. Generated notes and the memory file cannot be edited. The reply lists existing notes the new text names without linking. |
| brain_moveA | Move or rename a note within Notes/ and Captures/, for example to promote a capture into Notes/. Refuses to overwrite an existing note, and reports any links that stop resolving. |
| brain_deleteA | Remove a note from Notes/ or Captures/ by moving it into the vault's .trash/ folder, which is never indexed. Nothing is erased; the result gives the path to restore from. Generated notes and the memory file cannot be deleted. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| assume_persona | Loads the identity bundle into the conversation |
| project_briefing | Pulls the project briefing and asks for a summary |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| identity | Persona and standing context, same as brain_identity |
TDQS
Scored across 14 tools
Most tools target clearly distinct operations (read, edit, delete, move, graph, recent), and the descriptions actively steer selection, e.g. brain_context says to use it before brain_search, and brain_capture vs brain_write is spelled out as templated-capture vs hand-maintained note. The remaining fuzzy pairs are retrieval (brain_context vs brain_search) and fact storage (brain_remember vs brain_capture), which are close enough that an agent may still occasionally pick wrong despite the guidance.
Every tool shares the same `brain_` prefix and snake_case, which makes the set easy to scan. The stem after the prefix mixes verbs (search, read, write, edit, delete, move, capture, remember) with nouns (context, identity, facts, project, graph, recent), a minor inconsistency but still predictable and readable.
14 tools is squarely in the well-scoped range, and each one maps to a distinct vault operation rather than a variant of another. Nothing looks redundant or padding-like; the memory, note, and retrieval surfaces all earn their entries.
The note lifecycle is essentially covered: create (capture/write), read, edit, move, delete-to-trash, plus search, graph, recency, project briefings, and fact history. Gaps are modest but real — several descriptions mention notes being named 'without linking' yet there is no link-creation tool, there is no restore-from-trash operation despite delete pointing to one, and there is no way to enumerate or browse the vault by folder or tag.