Project Brain
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| N8N_HOST | No | Hostname for n8n in production. | |
| REPO_ROOT | No | Default repository root used by the CLI when --repo is omitted. | |
| BRAIN_REPO | No | Default repository scope for the remote MCP server when repo_path is omitted. | |
| BRAIN_API_KEY | No | API key sent as X-API-Key from the remote MCP server. Accepts the shared PROJECT_BRAIN_API_KEY or a scoped pbk_ credential. | |
| BRAIN_API_URL | No | Base URL of the Brain API, used by the remote MCP server. | |
| BRAIN_WEB_URL | No | URL of the web UI, advertised by the API and used for redirects. | |
| GOOGLE_API_KEY | No | API key for the Google provider. | |
| N8N_PUBLIC_URL | No | Public URL for n8n in production. | |
| NVIDIA_API_KEY | No | API key for NVIDIA NIM provider. | |
| OPENAI_API_KEY | No | API key for the OpenAI provider. | |
| BROWSER_HEADLESS | No | Set to false to show the browser window during Playwright eval runs. | |
| TARGET_REPO_PATH | No | Path to the repository to be indexed. | |
| ANTHROPIC_API_KEY | No | API key for the Anthropic provider. | |
| BRAIN_PUBLIC_HOST | No | Public hostname for production deployment. | |
| GRAFIFY_OUTPUT_PATH | No | Path to Grafify graph JSON used by the grafify import command. | |
| OBSIDIAN_VAULT_PATH | No | Path to an Obsidian vault used by the obsidian import command. | |
| DEFAULT_LLM_PROVIDER | No | LLM provider to use: mock, nvidia, openai, anthropic, or google. | mock |
| BRAIN_TARGET_REPO_DIR | No | Host directory of the target repository mounted into production containers. | |
| PROJECT_BRAIN_API_KEY | No | API key used for authenticating API requests, sent as X-API-Key. Also accepted as BRAIN_API_KEY. | |
| LLM_TASK_INSIGHT_MODEL | No | Model used for the LLM insight synthesis stage. | |
| BRAIN_INDEXED_PROJECTS_DIR | No | Host directory containing indexed projects for production. | |
| DEFAULT_EMBEDDING_PROVIDER | No | Embedding provider to use: mock, nvidia, openai, anthropic, or google. | mock |
| PROACTIVE_INSIGHTS_TIMEOUT_S | No | Timeout in seconds for the LLM insight stage. | |
| PROACTIVE_INSIGHTS_LLM_ENABLED | No | Enable LLM synthesis of additional evidence-bound insights. Set to true to enable. | |
| PROACTIVE_INSIGHTS_MAX_SNAPSHOT_CHARS | No | Upper bound on snapshot size for the LLM insight stage. |
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": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| record_task_lessonD | Capture task-owned reported evidence as L1; L3 still needs human approval. |
| record_task_observationA | Capture an unvalidated L1 observation for a task (no validation/artifact needed). |
| record_procedure_outcomeC | Record a reported outcome once per task/skill, never on retrieval. |
| ask_projectB | Asks the project LLM assistant a question about the project code, leveraging database code searches and active rules. |
| prepare_task_contextC | Returns bounded runtime slices; durable packs are an explicit deep job. |
| prepare_deep_contextC | Queue a durable, quality-first context pack (late-interaction reranking when configured). |
| get_background_jobB | Read the status and result of an asynchronous Brain job. |
| impact_analysisC | Affected components and risks for a change; long tails move to a brain:// resource. |
| record_decisionC | Records an architectural or design decision to the database. |
| record_ruleC | Record a repository-scoped normative rule in the database. |
| search_codeC | Compact paths/symbols/ranges locator; known files can be read locally. |
| find_related_filesC | Graph neighbours of a path, direct then indirect; long tails move to a brain:// resource. |
| review_diffB | Review changes; omitted base resolves from the repository's origin/HEAD. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| plan_change | Locate, scope and plan a code change before editing anything. |
| review_changes | Review the working diff against recorded rules and decisions. |
| capture_lesson | Turn what a task taught into L1 memory evidence. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| active_rules | Normative rules recorded for the indexed repositories. |
| active_decisions | Architectural decisions currently in force. |
TDQS
Scored across 13 tools
record_task_observation and record_task_lesson both capture L1 task evidence, differing mainly in strength; prepare_task_context and prepare_deep_context both prepare context, and impact_analysis/find_related_files overlap in graph analysis. Descriptions help, but an agent must read carefully to choose correctly.
Most names follow a verb_noun snake_case pattern (record_task_observation, prepare_task_context, get_background_job, search_code, find_related_files, review_diff). impact_analysis is a noun phrase without a verb, a minor deviation from the otherwise consistent convention.
13 tools is well within the ideal 3-15 range for a project memory and code intelligence server. Each tool appears to serve a distinct purpose, and the set is neither bloated nor thin.
The server offers many recording tools (observation, lesson, outcome, decision, rule) and analysis/retrieval helpers (ask_project, prepare_context, search_code, find_related_files, impact_analysis). However, there is no direct way to retrieve, list, update, or approve recorded memory, and the mentioned L3 human approval step is not exposed as a tool, leaving notable lifecycle gaps.