Brainz
Server Details
Shared product-knowledge graph for AI agent fleets — vault tools + agent self-signup over MCP.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 16 tools
The tools are mostly cleanly separated into concept graph operations, task lifecycle operations, and vault-level maintenance. The main overlap is between create_task and upsert_concept, since a task is also a concept, and the retrieval cluster (get_concept, search_concepts, list_concepts, get_context, get_related) requires reading descriptions to pick correctly. Overall boundaries are still clear.
Most tool names follow a readable verb_noun snake_case pattern: create_task, list_tasks, take_task, complete_task, get_concept, search_concepts, upsert_concept, link_concepts. The few exceptions—dream, onboard, sync, vault_stats—are still understandable but break the otherwise consistent convention.
Sixteen tools is slightly above the typical sweet spot but reasonable for a server covering concept CRUD, graph traversal, task lifecycle, onboarding, sync, and consolidation. Each tool has a recognizable role, though the multi-action meta-tools do add surface area.
Core concept and task workflows are well covered: search, read, write, link, delete, create, list, claim, and complete. Minor gaps remain, such as no explicit unlink operation for graph edges and no task reopen/update/release path beyond upsert_concept or complete_task. These are workable but noticeable.
Available Tools
16 toolscomplete_taskComplete a taskAInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Id of the task to mark done. | |
| outcome | Yes | A short account of what was done — appended to the task body as an Outcome section. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false and destructiveHint=false. The description adds valuable behavioral detail: it sets taskStatus=done and doneAt, appends the outcome to the body as an Outcome section, and notes a reminder that the rest of the graph is not updated. It doesn't mention permission requirements or irreversibility, but the added context is substantial.
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?
Three sentences with zero waste, front-loading the core action and following with precise side effects and a caveat. Every sentence 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 simple two-parameter mutation with no output schema, the description covers what is changed, how the outcome is stored, and a behavioral reminder. It lacks error-case or return-value elaboration, but given the annotations and rich schema, it is largely complete.
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%, so both parameters are already documented. The description mostly repeats the schema's explanation of `outcome` without adding new syntax, format, or constraints, and says nothing extra about `id`. Baseline 3 is appropriate when the schema does the heavy lifting.
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 states a specific verb ('Mark done') and resource ('task'), and details the exact mutations performed. It does not explicitly differentiate from sibling tools like take_task or create_task, but the purpose is unambiguous.
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?
Usage is implied by the clear purpose: use when you want to complete a task. However, there are no explicit when/when-not conditions, prerequisites, or named alternatives, leaving the agent to infer context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_taskCreate a taskAInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Markdown description of the work. [[wiki-links]] become edges. | |
| tags | No | Tags, e.g. a priority tag like "high" or an area tag. | |
| title | Yes | Human-readable task title (required, non-empty). | |
| domain | No | Domain concept id this task is part_of. | |
| realizes | No | Story/feature concept ids this task realizes (creates `realizes` edges). | |
| codeAreas | No | Rough codebase paths/globs where the work lands. | |
| governedBy | No | Spec concept ids that govern this task (creates `governed_by` edges). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare a non-destructive write, so the description's added value is the default state (taskStatus=open), the edge side effects from relations and body wiki-links, and the fact the task surfaces on the Kanban board and in list_tasks. It does not address duplicate detection or whether a failed relation id aborts the whole creation, which are the remaining meaningful unknowns for a mutation.
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?
Two sentences, front-loaded with the outcome before the usage trigger and the downstream visibility note. The mid-sentence relation list is dense but every clause carries information; nothing is padding.
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?
With 7 parameters, 100% schema coverage, and non-destructive write annotations, the description covers the trigger, the created object's shape, the relation semantics, and the downstream effects. It omits what the call returns (the created task's id?) — tolerable given no output schema, but an agent assembling a follow-up call would benefit from it.
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%, so every parameter is already documented in the schema. The description reframes the relation fields conceptually (part_of a domain, realizes stories/features, governed_by specs, codeAreas as landing paths) but adds little syntax or constraint detail beyond the schema — the correct baseline 3.
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?
States a specific verb and resource: creates a `task`-type concept with taskStatus=open, plus the relations (domain, realizes, governed_by, codeAreas) it wires up. It clarifies downstream visibility in list_tasks/take_task, but never contrasts itself with the sibling that could also create concepts (upsert_concept), so sibling differentiation is implied rather than explicit.
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?
"Use when you discover work that isn't reflected in the codebase yet (a gap, a needed fix, a follow-up)" gives a concrete trigger condition with examples. It stops short of exclusions — nothing says when to prefer upsert_concept or take_task instead — so it is clear context without alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_conceptDelete conceptADestructiveInspect
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 }.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Exact concept id (slug) to delete, e.g. "lead-scoring". |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, and the description adds substantial context beyond them: cascading deletion of outgoing edges, idempotency (deleting a missing id returns deleted:false rather than erroring), and that deletion is permanent. Also discloses the return shape, none of which appears in the structured fields.
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?
Five short sentences, each carrying distinct information – side effect, when to use, idempotency, permanence, return value – with no repetition. The core action and cascade behavior are front-loaded before the caveats.
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 destructive one-parameter tool with no output schema, the description covers everything an agent needs: what gets removed alongside the concept, that the operation is permanent and idempotent, and what the response contains. No meaningful gap remains.
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 single id parameter is already fully documented including an example, so the description doesn't need to re-describe it. It only adds a behavioral note about ids that don't exist, which is more about idempotency than parameter meaning; baseline 3 applies.
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?
States a specific verb and resource plus the side effect ('remove a concept ... and all of its outgoing edges'), which tells the agent exactly what the operation touches. It is clearly distinguishable from upsert_concept, the only sibling that writes concepts.
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?
Gives an explicit when-to-use case (wrong, obsolete, or junk notes such as test/probe nodes) and names the alternative for the opposite case: prefer upsert_concept to correct a note you want to keep. The exclusion plus named alternative is exactly what routing needs.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dreamDream (nightly consolidation)ADestructiveInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | With "revert": the dream id to undo (from "diary" or "status"). | |
| limit | No | With "diary": how many entries to return (default 10). | |
| action | Yes | "status" reports whether dreaming is on, its cadence, the last/next dream and any sweep in flight. "run" starts (or continues) a sweep NOW and advances it as far as one request allows. "diary" returns recent Dream Diary entries (newest first). "revert" undoes one dream via its preimages (requires `id`). "configure" turns dreaming on/off and sets the cadence. | |
| enabled | No | With "configure": turn nightly dreaming on or off. | |
| cadenceHours | No | With "configure": hours between dreams (default 24). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the destructiveHint=true annotation by naming exactly what is destroyed and how: duplicate merges redirect edges and tombstone the loser, outcomes are promoted, contradictions become tasks. It discloses safety behavior the annotations cannot: threshold gates reject sweeps that touch too much, and every applied dream keeps preimages and can be reverted.
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?
Front-loaded with the core purpose and staged behavior, then the action map, with no filler. The action sentence is long and packed but each clause carries distinct operational meaning; a slightly tighter structure would earn a 5.
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 complex, destructive, open-world mutation tool with no output schema, the description covers the pipeline, thresholds, LLM dependency, rejection behavior, and reversibility. An agent has enough context to call all five actions safely without needing return-value documentation.
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 description coverage is 100%, so all five parameters and the action enum are already fully documented in the schema. The description restates the action semantics (status/run/diary/revert/configure) but adds no syntax, defaults, or constraints beyond what the schema provides, so the baseline 3 applies.
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?
States a specific verb and resource: a scheduled consolidation sweep over the vault, broken into light, REM, and deep stages. It is unmistakably distinct from every sibling (no other tool performs consolidation or dreaming), so an agent can identify it without opening the schema.
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 routes each action clearly: status for schedule/state, run to dream now, diary to read entries, revert with id to undo, configure to enable/cadence. It also notes that without an LLM only light runs, which is a real usage constraint. It does not explicitly say when to prefer this over manual curation via siblings, but the tool is unique enough that this is a minor gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_conceptGet conceptARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Exact concept id (slug), e.g. "lead-scoring". |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnlyHint, destructiveHint false, openWorldHint false), so the remaining burden is explaining what a call yields. The description does that well by naming the three payload parts and the fact that each neighbor carries its relation. It stops short of saying anything about missing-id behavior or error semantics.
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?
Opens with the core fetch semantics and return shape, then layers usage routing; nearly every clause earns its place. The closing 'use search_concepts instead' slightly repeats the earlier 'use after search_concepts' framing, a minor redundancy rather than padding.
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?
There is no output schema, so describing return values is mandatory here and the description does it precisely. Combined with annotations covering safety, an agent has everything needed to decide to call it and what to expect afterward.
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?
With 100% schema description coverage and a single required parameter, the schema already defines the id format and gives an example slug. The description reinforces exact-match lookup, but adds no new syntax or constraint details beyond what is structured. Baseline 3 applies.
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?
States a specific verb+resource (fetch one concept by exact id) and immediately enumerates what comes back: full markdown body, metadata, and direct graph neighbors with their connecting relation. It is clearly distinguished from the sibling search_concepts, which returns the ids this tool consumes.
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?
Gives explicit entry conditions ('Use after search_concepts or when another note wiki-links an id') and an explicit exclusion with the alternative ('If you don't know the id, use search_concepts instead'). It also explains how to continue work ('the neighbors list tells you what to fetch next'), which no sibling tool description could supply.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_contextAssemble context bundleARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| ids | No | Explicit seed concept ids (kept first, in order). | |
| depth | No | Graph hops to expand from the seeds (default 1). | |
| query | No | Search query used to pick seed concepts. | |
| product | No | Restrict expansion to concepts of this product. | |
| tokenBudget | No | Approximate token cap for the bundle (chars/4, default 4000). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, non-destructive, closed-world), and the description adds genuinely new behavior: the output is a self-contained markdown briefing, it may be truncated to a token budget, and a final JSON line reports included ids, truncation status, and token count. Missing only details like ranking behavior or what happens when the budget is too small to fit even seeds.
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?
Four tight sentences, front-loaded with the core action and artifact, followed by output-format details and the input constraint. Every sentence carries information an agent needs; no filler.
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?
With no output schema, the description steps up to explain the return shape (self-contained markdown plus a final JSON line with ids/truncated/token count) and the invocation constraint. Together with annotations covering safety and the schema covering parameters, an agent has everything needed to call it correctly.
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%, so baseline is 3; the description adds value beyond the schema by stating the cross-parameter constraint that at least one of `query` or `ids` must be supplied — a requirement not encoded in the schema (required: []). It does not further explain depth, product, or tokenBudget semantics beyond the schema, so it is not a 5.
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?
States a specific verb (assemble) and a specific artifact (markdown briefing of concepts expanded through the graph), plus the scoping inputs (query/ids) and the trimming constraint. It is clearly distinguishable from siblings like search_concepts, get_concept, and get_related, which return raw concepts rather than a budgeted bundle.
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?
Provides a concrete usage context — self-contained briefing to hand to another agent or paste into a prompt — and an explicit input constraint ('Provide at least one of `query` or `ids`'). It does not name sibling alternatives or state when not to use it, so it falls short of a full routing guide.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
link_conceptsLink conceptsAInspect
Add a typed, directed edge between two existing concepts by editing the from note's frontmatter (e.g. lead-scoring depends_on contact-model). Use when you notice a relationship the vault is missing. Both concepts should already exist; use upsert_concept first if not.
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | Target concept id. | |
| from | Yes | Source concept id (its file gains the relation). | |
| relation | No | Edge type, e.g. part_of | realized_by | governs | depends_on | constrains | supersedes | related_to (default). Domain→domain links (related_to / depends_on) are encouraged where two domains share a boundary, so the graph shows how areas overlap. | related_to |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds crucial behavioral context by detailing *how* the change is implemented: 'by editing the `from` note's frontmatter.' This mechanical detail is a significant addition beyond the simple 'destructiveHint: false' annotation.
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 extremely concise. It front-loads the core function, provides a live example, and closes with the workflow constraint, maximizing information density without unnecessary padding.
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 rich schema, annotations, and parameter definitions, the description fills all necessary behavioral and procedural gaps. It tells the agent exactly what, why, and how to use the tool successfully.
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?
Although schema coverage is 100%, the description provides semantic value for the 'relation' parameter by explaining its intent (domain links, overlaps) and giving multiple practical examples of different edge types, which enhances understanding beyond the schema's basic definition.
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 clearly states the purpose: 'Add a typed, directed edge between two existing concepts.' It provides a concrete, actionable example ('lead-scoring depends_on contact-model') making the intent perfectly clear.
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?
It provides explicit usage guidelines by stating when the tool should be used (when a relationship is missing) and what prerequisite must be met, specifically directing the agent to use `upsert_concept` if the concepts don't exist.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_conceptsList conceptsARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| tag | No | Only concepts carrying this tag. | |
| type | No | Only concepts of this type. | |
| product | No | Only concepts of this product. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover readOnly/non-destructive/no open-world, so the remaining burden is low. The description still adds a meaningful trait the annotations don't: results are metadata only, no bodies. It omits any note on result volume, ordering, or pagination, which matters for a parameterless listing tool.
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?
Three short sentences, front-loaded with the core action and scope, then usage, then the follow-up path. No redundant restatement of the title or annotations.
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?
With no output schema, the description does the most important work by stating that only metadata is returned and pointing at get_concept/get_context for bodies. It stops short of describing what metadata fields come back or how large an unfiltered listing may be.
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%, so the baseline is 3. The description adds real nuance beyond the schema by stressing that all filters are optional and that 'tag' accepts only a single tag, which clarifies the filtering semantics.
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?
States a specific verb and resource ('Enumerate concept metadata') and immediately bounds the scope with '(no bodies)'. The phrase 'when search vocabulary isn't matching' implicitly contrasts it with the search_concepts sibling, so an agent can distinguish listing from searching.
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?
Gives three concrete activation scenarios: orientation in an unfamiliar vault, auditing existing artifacts (e.g. all decisions for a product), and failed search matches. It also routes follow-up for content to get_concept/get_context, though it never explicitly says when to prefer search_concepts instead.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_tasksList tasksARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | No | Only tasks that are part_of this domain concept id. | |
| taskStatus | No | Only tasks in this lifecycle state ("open" | "taken" | "done"). Omit for all. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnlyHint=true, destructiveHint=false, and openWorldHint=false. The description adds useful behavioral detail beyond those annotations: oldest-first ordering, lifecycle states, and inclusion of takenBy. It does not discuss pagination or result limits, but no pagination parameter exists.
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 definition is compact and front-loaded: it states what is listed, ordering, included information, filtering options, and the read-only distinction from take_task in a single efficient passage.
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 simple read-only list tool with two optional, fully documented parameters and no output schema, the description gives enough context to invoke it correctly. It covers ordering, lifecycle, included ownership information (takenBy), and filter behavior.
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 description coverage is 100%, so both optional parameters are already well documented in the schema. The description mentions taskStatus and domain filtering, but adds little syntax or meaning beyond what the schema provides, making the baseline 3 appropriate.
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 names a specific verb and resource (list tasks), scopes them to the vault's work pile, and explains the lifecycle and included field (takenBy). It also distinguishes the read-only listing behavior from take_task, so an agent can route correctly without opening the schema.
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?
It states the two filtering modes, taskStatus and domain, and explicitly points to take_task for claiming a task. It does not explicitly compare against list_concepts or search_concepts, but the usage context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
onboardOnboard this vaultAInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | "start" returns the onboarding playbook, "complete" marks the vault onboarded (requires `summary`), "status" reports onboarded state and concept counts. | |
| summary | No | Required with "complete": 2–5 sentences on what was indexed and any notable gaps — stored as the product-onboarding-summary concept. | |
| areaList | No | With "status" or "complete": the repo's top-level source areas (packages/*, apps/*/src subtrees, major dirs) from your own repo walk — Brainz can't read the repo. "status" diffs concepts' code_areas against this to report covered vs uncovered areas; "complete" is REJECTED if too many areas are still uncovered. | |
| repoHint | No | With "start": where the codebase lives (path or URL), echoed into the playbook. | |
| productName | No | With "start": the product's name, echoed into the playbook heading. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses behavior beyond the annotations: complete is conditionally rejected, the summary is stored as a concept, and incomplete onboarding causes a note to appear in search_concepts and get_context results. It also explains why areaList must come from the caller because Brainz cannot read the repo.
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 front-loaded with the core purpose and then devotes one dense, purposeful sentence to each action. There is no filler, and the most important workflow effects are placed early.
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 stateful onboarding workflow with no output schema, it explains what each action returns or stores, the rejection condition for completion, and cross-tool side effects. An agent has enough context to choose an action and call it correctly.
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 already 100%, so this is judged on added meaning. The description reinforces conditional parameter combinations, such as areaList being supplied for status and complete and summary being required for complete, and explains the consequence of uncovered areas.
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 opens with a specific verb and resource: 'Index an existing product's codebase into this vault.' It then characterizes the three actions and how onboarding relates to upsert_concept, making the tool's scope clear without needing sibling comparison.
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?
It gives precise per-action usage: start returns the playbook, status reports coverage, and complete stores the summary and is rejected when too many areas are uncovered. It does not explicitly compare against alternatives like sync or upsert_concept, but the action-level routing is very clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_conceptsSearch conceptsARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | Search mode. "hybrid" (default) fuses keyword and semantic ranking; semantic silently falls back to keyword if embeddings are unavailable. | hybrid |
| tags | No | Only return concepts carrying ALL of these tags. | |
| type | No | Only return concepts of this type. | |
| limit | No | Max hits to return (default 10). | |
| query | Yes | Free-text search query, e.g. "lead scoring" or "session auth". | |
| product | No | Only return concepts belonging to this product. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so the description's added value is in disclosing the return shape (id, title, type, score, snippet) and the meaning of an empty hit list. That is real context beyond the annotations. It stops short of covering result-size behavior at the limit boundary or the fact that ranking can degrade to keyword-only, though the latter is documented in the schema.
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?
Four sentences, front-loaded with the purpose, then usage, then return contract, then the empty-result edge case. No sentence is filler and nothing important is buried.
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?
Six parameters with full schema coverage and no output schema, so the description must carry return semantics, which it does by naming the five hit fields and explaining the empty list. Combined with explicit sibling routing, an agent has everything needed to call it correctly and interpret the response.
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 each of the six parameters, including the mode enum and its semantic-to-keyword fallback, is documented in the schema. The description adds only the notion of 'free-text query' and says nothing about mode, tags, type, product, or limit, so this is the baseline case where the schema does the work.
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?
Specific verb ('Search') plus specific resource ('the product knowledge vault') qualified by 'free-text query'. It also names what comes back (ranked hits) and explicitly separates itself from get_concept and get_context, so the agent can choose without opening other schemas.
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 condition is stated directly: use this 'when you need product knowledge but don't yet know which concept ids exist.' It then routes to the two natural alternatives, get_concept for one full note and get_context for an assembled briefing, which is an explicit when/when-not split.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
syncSync this vault to the current codeAInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | "start" returns the sync (re-onboard) playbook — a DRIFT playbook scoped to what changed since the last sync (NOT the full onboarding playbook). "complete" records last_synced_at and appends the summary to the running sync log (requires `summary`). "status" reports onboarded state, last sync time, concept counts, staleness, and (with areaList) coverage. | |
| summary | No | Required with "complete": 2–5 sentences on what changed, what you updated, and what you indexed — APPENDED to the product-onboarding-summary concept as a running sync log (never overwritten). | |
| areaList | No | With "start", "status", or "complete": the repo's top-level source areas from your own repo walk (Brainz can't read the repo). Used to compute the coverage map (covered vs uncovered areas) — "complete" is REJECTED if too many areas are still uncovered. | |
| productName | No | With "start": the product's name, echoed into the playbook heading. | |
| changedPaths | No | With "start": paths you found CHANGED since last_synced_at (from your own git diff/log). The playbook focuses the fan-out on the areas these fall under. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With annotations only covering safety flags, the description carries and delivers the real behavioral burden: the agent must supply repository data because 'Brainz can't read the repo', `complete` mutates last_synced_at and appends (never overwrites) to a concept, `complete` is rejected when coverage gaps are too large, and after ~14 days without a sync get_context and search results gain a staleness note — a cross-tool side effect not visible in 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?
Purpose is front-loaded and each sentence maps to a distinct action or consequence, with no filler. It is dense and slightly redundant with the schema's own parameter text (the append behavior and coverage rejection are stated twice), which keeps it short of a 5.
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?
There is no output schema, yet the description tells the agent what each action returns: `start` yields a drift playbook with last_synced_at, a coverage map and a re-index method; `status` yields onboarded state, staleness and counts. Combined with the mutation side effects and the ~14-day staleness consequence, an agent can call this correctly without further 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 descriptions already state the git-walk provenance, the append-not-overwrite behavior, and the rejection rule, so the description largely repeats structured data. It does tie the parameters to the workflow ('you run git ... and pass back changedPaths + areaList'), which adds modest value, but the baseline of 3 applies when the schema does the heavy lifting.
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 opening sentence gives a specific verb and resource — 'Re-index an onboarded vault after the code changes (drift)' — and the three action modes (start/status/complete) are each spelled out. The prerequisite ('an onboarded vault') implicitly separates it from the `onboard` sibling, though it never names `onboard` explicitly as the alternative for a first pass; that contrast only appears in the schema.
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?
Each action has a stated purpose and the description explains the operating sequence: run git yourself, pass back changedPaths + areaList, then call complete to stamp the sync. It doesn't explicitly say when NOT to use it (e.g., for a vault that was never onboarded, or how it relates to `onboard`), so guidance is clear but not exhaustive.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
take_taskTake a task off the pileAInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | Claim this specific task by id. Omit to claim THE next open task (oldest by createdAt then id). | |
| takenBy | No | Label for who's claiming it (agent/orchestrator name). Defaults to a generic label. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only say it is a non-destructive, closed-world mutation; the description goes well beyond that by disclosing atomicity ('atomically flips the task to "taken"'), the exact state written (takenBy/takenAt), and the error case for already-taken/done tasks. It also pre-announces the shape of the payload (task plus a get_context-style briefing with concepts and code_areas), which is exactly what an agent needs before calling a claim tool.
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?
Four tight sentences, front-loaded with the action, then the two invocation modes, then side effects, then the return payload and the follow-on tool. No sentence is filler.
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?
With no output schema, the description compensates by describing what comes back (the task plus a get_context-style briefing with part_of domain, concepts, code_areas). Combined with the disclosed error conditions and atomicity, nothing essential to correct invocation is missing.
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 description coverage is 100% and both parameters are already documented there, including the ordering rule and the takenBy default. The description largely restates the `id` semantics rather than adding new meaning, so the baseline 3 applies.
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?
States a specific verb and resource ('Claim a task') plus the bundled side effect ('get its briefing in one call'), which distinguishes it cleanly from list_tasks, create_task and complete_task. An agent can tell what this does without opening the schema.
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?
Explicitly branches usage: pass an `id` for a specific task, omit it to claim the next open task with a stated ordering (oldest by createdAt then id). It also names the follow-on sibling ('complete_task marks it done') and states the failure condition (already taken or done).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
upsert_conceptCreate or update conceptADestructiveInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | Concept id (slug). Omit to derive from title; pass an existing id to update. | |
| body | Yes | Markdown body. [[other-id]] wiki-links become graph edges. | |
| tags | No | Tags for filtering. | |
| type | No | Concept type (default "concept"). The 11 built-in types are concept, domain, feature, story, spec, workflow, task, decision, constraint, pattern, glossary; a vault may also define custom types. An unknown type falls back to "concept". | |
| title | Yes | Human-readable title (required, non-empty). | |
| doneAt | No | For tasks: ISO timestamp when completed. | |
| status | No | Lifecycle status (default "active"). | |
| product | No | Product grouping key. | |
| takenAt | No | For tasks: ISO timestamp when claimed. | |
| takenBy | No | For tasks: label of the agent/orchestrator that claimed it. | |
| codeAreas | No | Rough codebase paths/globs where this knowledge lives, e.g. ["packages/core/src/vault.ts", "apps/web/src/routes/**"] — lets agents briefed by get_context know where to apply it. | |
| relations | No | Typed edges, e.g. {"depends_on": ["auth-system"]}. Conventions: part_of (feature/story/task → domain), realized_by (story → features), realizes (task → stories/features), governs (spec → what it constrains), governed_by (task → specs), depends_on, constrains, supersedes, related_to. For domain concepts, prefer linking to OTHER domains (related_to / depends_on) wherever they share a boundary or hand off responsibility — connected domains reveal how the product's areas overlap instead of floating as isolated islands. | |
| taskStatus | No | For type="task" concepts: lifecycle "open" | "taken" | "done" (default "open"). Prefer the task tools (create_task / take_task / complete_task) over setting this directly. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds real context beyond the annotations: the write is an overwrite of a markdown file followed by a reindex, which substantiates the destructiveHint=true flag rather than contradicting it. It also discloses the return shape. A 5 would need to say what an overwrite does to fields not supplied (e.g. are tags/relations cleared), which is the main behavioral risk for an upsert.
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?
Four tight sentences with the mutation behavior front-loaded and the create-vs-update rule following it; nothing is padding. Minor overlap with schema descriptions keeps it from a 5.
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?
Covers return values verbally since there is no output schema, and handles the create/overwrite distinction for a 13-parameter tool with nested relations. The gap is update semantics: it never says whether an overwrite preserves or drops existing tags, relations, or status.
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 description coverage is 100%, so the schema already documents all 13 parameters, including id derivation and wiki-link semantics. The description restates the id and body behavior without adding syntax or format detail not already present. Baseline 3 applies when the schema does the heavy lifting.
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?
States a specific verb and resource — writes a concept note into the vault — and immediately clarifies the create-or-overwrite semantics plus the reindex side effect. This distinguishes it cleanly from read-side siblings like get_concept and search_concepts, and from the task-specific create_task.
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?
Gives a concrete when-to-use framing (capture decisions, constraints, patterns discovered during a task) and explains the id-omitted vs id-passed branching for create vs update. It stops short of naming exclusions or deferring explicitly to siblings like create_task or link_concepts, which would be needed for a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vault_statsVault statsARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, destructiveHint=false and openWorldHint=false, so safety is covered. The description adds value beyond that by disclosing the return payload's contents — including the non-obvious availability flag for semantic search, which an agent would otherwise have to discover empirically. It does not discuss cost, caching, or freshness, keeping it short of a 5.
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, front-loaded with the verb and resource, followed by a compact enumeration of return fields and one clause on usefulness. No filler or repetition of the title.
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?
With no parameters, no output schema and a simple read-only surface, the description covers what an agent needs: what is counted and what filters can be discovered. Minor gap: no mention of response shape or whether counts are live/approximate, though this is low risk for a stats call.
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?
Zero parameters, so there is nothing to disambiguate; the baseline for a no-arg tool applies. Nothing in the description is needed or wasted on parameter semantics.
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?
States a specific verb (summarize) and resource (the vault), then enumerates exactly what the summary contains: concept/edge counts, products, tags, concept-type breakdown, and semantic-search availability. No sibling tool (list_concepts, search_concepts, get_context) produces aggregate statistics, so it is easy to distinguish from the rest of the toolset.
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?
"Useful for gauging how much knowledge is here and which product/tag filters exist" implies a discovery/orientation use case, which is real guidance. But it never says when not to use it or routes to alternatives (e.g., use list_concepts to enumerate contents vs. this for aggregates), so the agent must infer the boundary.
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.
16 tool updates
- First observed
complete_task - First observed
create_task - First observed
delete_concept - First observed
dream - First observed
get_concept - First observed
get_context - First observed
get_related - First observed
link_concepts - First observed
list_concepts - First observed
list_tasks - First observed
onboard - First observed
search_concepts - First observed
sync - First observed
take_task - First observed
upsert_concept - First observed
vault_stats
Related MCP Connectors
Graph-native persistent memory for AI agents — 33 MCP tools, zero-LLM writes.
Shared long-term memory vault for AI agents with 20 MCP tools.
Agent-native notes, tasks, dev-docs, vaults, sync & handoffs. MCP + OpenAPI dual surface.
Cloud or self-hosted knowledge for AI agents: hybrid search, reranking, GraphRAG, scoped MCP tools.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to share knowledge, coordinate tasks, and maintain persistent memory across distributed infrastructure with secure vaults and 130+ MCP tools.7MIT
- FlicenseAqualityAmaintenanceMCP-native knowledge base for AI agents — vault-scoped docs, tables, and files, git-versioned, with hybrid search (BM25 + pgvector dense + reranker) and an event stream so external consolidators / gardeners stay decoupled.50163-
- AlicenseNot gradedqualityAmaintenanceEnables teams of AI coding agents (Claude Code, Cursor, Codex) to share persistent, time-aware graph memory and coordinate their work via MCP, so agents recall verified fixes at the moment of failure, learn procedures automatically, avoid file conflicts, claim tasks race-free, and hand off facts and decisions between sessions.MIT
- AlicenseNot gradedqualityFmaintenanceVisibility-aware knowledge vault for AI agents with 20 MCP tools.3Apache 2.0
Glama MCP Gateway
Add one secure layer between your agents and this server.