Brainz

ai.brownmatterPublished by brownmatter.aiOfficial publisherv0.1.0Updated Oct 29, 2026

Shared product-knowledge graph for AI agent fleets — vault tools + agent self-signup over MCP.

VerifiedStreamable HTTPWeb executableProductivity & WorkflowKnowledge & Memory

Overview

AI-generated overview

Brainz is a remote shared product-knowledge graph: assistants search, read, write and link markdown concept notes and manage a task pile.

What you can do
  • Search, list and read concept notes, and walk the knowledge graph to see related concepts
  • Assemble a token-budgeted markdown briefing on a topic or set of concept ids
  • Create, overwrite, link and delete concept notes in the vault
  • List, create, claim and complete tasks in the vault's work pile
  • Get playbooks for onboarding a codebase into the vault and re-syncing it after drift
  • Run or configure a consolidation sweep that merges duplicates and applies proposals
When to use it
Useful when several agents or developers need one shared, queryable record of a product's features, specs, decisions and constraints, and want to capture new knowledge and tasks as they work. Also fits teams that want an assistant to brief itself on a topic before changing a feature.
Requirements
A remote streamable HTTP endpoint; no local package. Authentication is either an OAuth sign-in (for clients that support MCP OAuth) or a vault API key sent as a Bearer token in the Authorization header. Without credentials, listing tools works but every tool call returns an OAuth 401 challenge.
Before you install
The Authorization header carries a vault API key secret. Write tools create, overwrite, link and delete notes, and deletion is permanent and also removes outgoing edges. Task tools change task state and record who took each task. The dream sweep can merge duplicates and apply LLM-generated proposals. Onboarding and sync playbooks have the assistant read the codebase and push knowledge into the vault.

Installation

In SourceWeft

  1. Open Brainz in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/ai.brownmatter%2Fbrainz/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "brainz": {
      "type": "http",
      "url": "https://brainz.brownmatter.ai/mcp"
    }
  }
}

Tools

16

search_concepts

Search concepts

Search the product knowledge vault by free-text query. Useful when you need product knowledge but don't yet know which concept ids exist. Returns ranked hits (id, title, type, score, snippet) only; get_concept returns one full note and get_context an assembled briefing. An empty hit list means nothing matched.

Parametersmodetagstypelimitqueryrequiredproduct

get_concept

Get concept

Fetch one concept by exact id: full markdown body, metadata, and its direct graph neighbors (each with the relation that connects it). Use after search_concepts or when another note wiki-links an id you need in full. The neighbors list tells you what to fetch next. If you don't know the id, use search_concepts instead.

Parametersidrequired

get_context

Assemble context bundle

Assemble a markdown briefing of the concepts most relevant to a query and/or explicit ids, expanded through the graph and trimmed to a token budget. The briefing is self-contained, so it can be handed to another agent or pasted into a prompt as-is. The final JSON line reports which concept ids were included, whether the bundle was truncated, and its approximate token count. Provide at least one of `query` or `ids`.

ParametersidsdepthqueryproducttokenBudget

upsert_concept

Create or update concept

Write a concept note into the vault (creates or overwrites the markdown file, then reindexes it). Use to capture new product knowledge discovered during a task — a decision made, a constraint hit, a pattern adopted — so future agents can find it. Omit `id` to derive a slug from the title; pass an existing id to update that note. Body is markdown; [[wiki-links]] to other concept ids create graph edges. Returns the saved concept's metadata.

ParametersidbodyrequiredtagstypetitlerequireddoneAtstatusproducttakenAttakenBycodeAreasrelations+1 more

delete_concept

Delete concept

Remove a concept from the vault and all of its outgoing edges. Use to clear a note that is wrong, obsolete, or junk (e.g. a probe or test node that shouldn't be in the graph). Idempotent: deleting an id that doesn't exist is a no-op success (deleted:false), not an error. Deletion is permanent — prefer upsert_concept to correct a note you want to keep. Returns { deleted, id }.

Parametersidrequired

list_concepts

List concepts

Enumerate concept metadata (no bodies), optionally filtered by product, type, or a single tag. Use to get the lay of the land in an unfamiliar vault, to audit what exists (e.g. all decisions for a product), or when search vocabulary isn't matching. For content, follow up with get_concept or get_context.

Parameterstagtypeproduct

vault_stats

Vault stats

Summarize the vault: counts of concepts and edges, the products and tags in use, a breakdown by concept type, and whether semantic search is available. Useful for gauging how much knowledge is here and which product/tag filters exist.

Takes no parameters.

onboard

Onboard this vault

Index an existing product's codebase into this vault. {action: "start"} returns the onboarding playbook: a method for surveying the codebase and recording its product knowledge (domains, features, stories, specs, workflows, decisions, constraints) as concepts via upsert_concept, each anchored to the code with codeAreas. {action: "status", areaList} reports onboarded state, concept counts and, given your repo's source areas (Brainz can't read the repo), which areas are covered or uncovered. {action: "complete", summary, areaList} marks the vault onboarded and stores the summary; it is rejected while too many areas are uncovered. Until onboarding completes, search_concepts and get_context results include a one-line note saying so.

ParametersactionrequiredsummaryareaListrepoHintproductName

sync

Sync this vault to the current code

Re-index an onboarded vault after the code changes (drift). {action: "start"} returns the sync playbook: the vault's last_synced_at, a coverage map over the concepts' code_areas, and a method for re-indexing only what changed (you run git — Brainz can't read the repo — and pass back changedPaths + areaList): update stale concepts in place, add concepts or tasks for new work, and report coverage gaps. {action: "status", areaList} reports onboarded state, last sync time, staleness, concept counts and coverage. {action: "complete", summary, areaList} stamps last_synced_at and appends the summary to the product-onboarding-summary concept (a running sync log). After ~14 days without a sync, get_context and search results include a one-line note saying so.

ParametersactionrequiredsummaryareaListproductNamechangedPaths

dream

Dream (nightly consolidation)

Dreaming: a scheduled consolidation sweep over this vault. Light stages what changed since the last dream (near-duplicate concepts, finished task outcomes, hygiene counts); REM asks an LLM for proposals; deep applies the ones that pass threshold gates: merges duplicates (edges redirected, the other tombstoned), promotes outcome knowledge into concepts, adds missing links, and files a task for each contradiction. A sweep that would touch too much of the vault is rejected; every applied dream keeps preimages and can be reverted. {action: "status"} shows schedule + last dream; {action: "run"} dreams now; {action: "diary"} reads the Dream Diary; {action: "revert", id} undoes one dream; {action: "configure", enabled?, cadenceHours?} sets it up. Without an LLM only light runs.

ParametersidlimitactionrequiredenabledcadenceHours

list_tasks

List tasks

List the vault's work pile: `task`-type concepts with their lifecycle (open/taken/done), oldest first, including who has taken each one (takenBy). Filter by taskStatus or by the domain the tasks are part_of. Read-only; take_task is what claims a task.

ParametersdomaintaskStatus

take_task

Take a task off the pile

Claim a task and get its briefing in one call. Pass an `id` to claim a specific task, or omit it to claim the next open task (oldest open by createdAt then id). Atomically flips the task to "taken" and records takenBy/takenAt; errors if it's already taken or done. Returns the task and a get_context-style briefing for its part_of domain plus the concepts it realizes / is governed_by (with code_areas). complete_task marks it done.

ParametersidtakenBy

complete_task

Complete a task

Mark a task done. Sets taskStatus=done + doneAt and appends `outcome` to the task body as an Outcome section. The result carries a one-line `reminder` that the rest of the graph is not updated automatically.

Parametersidrequiredoutcomerequired

create_task

Create a task

Turn a finding into first-class work: creates a `task`-type concept with taskStatus=open and the given relations — part_of a domain, `realizes` stories/features, `governed_by` specs — plus codeAreas pointing at where the work lands. Use when you discover work that isn't reflected in the codebase yet (a gap, a needed fix, a follow-up). The task then shows up in list_tasks / take_task and on the Kanban board.

ParametersbodyrequiredtagstitlerequireddomainrealizescodeAreasgovernedBy

Version history

1
  1. v0.1.0LatestOct 29, 2026

Score

83% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts

    Declare a GitHub repository with a README, or serve resource_documentation in the OAuth protected-resource metadata.

  • LicenseNot applicable

    A hosted service is used under its provider's terms, so no license is expected here. This check is left out of the percentage.