Skip to main content
Glama

knowl_store

Save one concise structured knowledge atom per finding, retire outdated items with supersedes, and keep project memory current without raw transcripts.

Instructions

Store one concise structured knowledge atom directly, not raw chat transcripts. Use immediately after discovering durable project knowledge or completing each subtask, not only at the end. This is deterministic and does not require Knowl AI configuration. When this atom corrects or replaces knowledge a query already returned, pass that item id as supersedes in this same call so the outdated item is retired in one write; never leave two active items asserting different values for the same thing. The result reports any item left active beside this one and the exact call to retire it.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
repoNoDo this as another repo in this workspace, named as the manifest names it. Use when you are finishing THAT repo's work from here: the call applies to its store exactly as if you had run it there, including retiring its knowledge, and what you write is stamped as its own. Omit it -- the normal case -- and everything applies here. Not for a drive-by correction of something you noticed in passing while working on this repo.
tagsNoOptional tags.
localNoNever publish this atom to a cloud workspace. Pass true for knowledge that is only true of THIS machine -- an absolute path, an environment quirk, a fix that depends on local tooling. In a connected repo new knowledge is staged for the team automatically, so an atom that should not travel has to say so at write time; there is no other moment when you know. Reversed by naming its id to `knowl cloud stage`.
stepsNoOrdered steps when category is skill.
titleYesConcise title for the knowledge item.
sourceNoOptional source label.
contentYesThe knowledge itself, and why it matters. One finding per atom: aim for about 2,000 characters, and split rather than trim. Bodies dense with file paths, backslashes or fenced code are the ones that fail before reaching the server -- prefer forward slashes, and use `knowl_ingest_atoms` for several findings at once. Content past 8,000 characters is stored but never embedded, so search will not find it.
categoryYesKnowledge category.
namespaceNoWrite target; project is default. Non-project namespaces must be configured.
reasoningNoOptional reasoning or justification.
confidenceNoOptional confidence from 0.0 to 1.0. Values outside that range are refused.
provenanceNoHow this came to be believed: observed (execution or direct inspection), user_stated (the human said so), or inferred (concluded without direct evidence). Claiming observed or user_stated ranks an item above one that claims nothing, and leaving this unset scores exactly the same as an honest inferred -- silence buys no rank, so say which it was.
supersedesNoId of an active item this write replaces; it is marked superseded (retired but still queryable), not deleted. Pass it whenever you are correcting knowledge a query returned. Independently of this field, any category whose title names the same subject as an existing item supersedes it automatically, and content is never silently dropped.
conflictKeyNoOptional normalized semantic identity key.
alternativesNoOptional alternatives considered for decisions.
sourceCommitNoOptional git commit where this knowledge was last reviewed.
affectedPathsNoRepository-relative file paths this knowledge depends on. Every query that returns this item returns them with it, and because content comes back truncated they are how the next reader reaches the source instead of searching for it. An item without them is a fact whose evidence only you can find.
conflictScopeNoOptional scope for the conflict key.
conflictExclusiveNoWhether only one active value may exist for this key/scope.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv5.23.0

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the minimal annotation (openWorldHint: false), the description discloses determinism, no config requirement, supersedes retiring the old item in one write, and the result reporting any still-active item with the exact retiring call. It doesn't cover content-length limits or auto-supersede behavior, though those live 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Five dense, purposeful sentences, front-loaded with the verb-object purpose and then usage timing, behavioral guarantees, the supersedes rule, and result expectations. No filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 19-param write tool with no output schema, the description supplies essential orientation and the key output behavior (left-active items plus retire call). Remaining parameter nuance is covered by the 100% schema descriptions.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

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 earns a 4 by giving actionable meaning to `supersedes` — when to pass it, what it does ('retired in one write'), and the rule against leaving two active conflicting items. No other params need further semantic help given the rich schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names the specific action ('Store one concise structured knowledge atom directly') and explicitly excludes raw chat transcripts, making the purpose unmistakable. It doesn't name a sibling tool, but the contrast with transcript ingestion is enough to orient an agent.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives explicit timing ('immediately after discovering durable project knowledge or completing each subtask, not only at the end') and notes determinism and no-config operation. It stops short of naming alternatives like knowl_ingest_atoms, leaving the when-not-to-use largely implied.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.