Skip to main content
Glama

knowledge

Manage a unified knowledge graph: store, search, update, and audit discoveries, synthesize topics, and supersede outdated entries to keep knowledge accurate and actionable.

Instructions

Unified knowledge graph operations: store, search, get, list, update, details, note, cleanup, synthesize, stats, supersede, audit.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
tagsNoTags (action=store, note); for action=search an exact any-of filter in every search mode.
limitNoMax results (for action=search: min 1, values above 100 are capped, 0 or negative is rejected)
queryNoSearch query (for action=search)
scopeNoKG audit scope for action=audit
top_nNoMaximum stale entries returned by action=audit
topicNoSynthesize just this one tag/topic (for action=synthesize). Omit to sweep the densest topics.
actionYesOperation to perform
lengthNoMaximum details characters returned for action=details
offsetNoCharacter offset for action=details pagination
statusNoStatus filter/update value (open, resolved, archived, superseded)
contentNoExtended content/details (for action=store or action=note)
detailsNoExtended details for discovery (for action=store). Alias: content
dry_runNoDry run mode (for action=cleanup, synthesize)
summaryNoDiscovery summary (for action=store)
use_llmNoUse the local LLM for the rollup narrative (for action=synthesize, default true; falls back to deterministic when unreachable)
agent_idNoFilter by agent (for action=get, search; omit when using discovery_id readback)
operatorNoBoolean operator for multi-term FTS queries
semanticNoLegacy action=search toggle to force or skip semantic retrieval when supported
severityNoSeverity: low, medium, high, critical (for action=store or action=update)
use_modelNoUse the local model to assess stale entries for action=audit
confidenceNoWriter-supplied confidence for action=store, validated to 0-1; not independently verified or adjusted by governance metrics
supersedesNoID of an older discovery this new one replaces (for action=store)
task_labelNoS22 H5 provenance: human-readable bounded task label
epoch_scopeNoStats/list scope: current epoch only or all epochs
min_membersNoMinimum discoveries a topic needs before it is rolled up (for action=synthesize, default 3)
response_toNoTyped response link {discovery_id, response_type} for threaded store/note writes
search_modeNoForce retrieval mode for action=search. 'semantic' and 'hybrid' fail honestly when unsupported by the active backend.
discovery_idNoDiscovery ID (for action=get/details, update; the NEW discovery for action=supersede)
include_coldNoInclude cold-storage (long-term) discoveries in search results (default: excluded)
task_outcomeNoS22 H5 provenance: outcome label for the bounded task
closure_classNoClosing standard for action=update: fix_verified | unobserved | not_reproducible | obsolete | duplicate. 'fix_verified' needs a deployed change whose effect was observed.
related_filesNoFile paths referenced by this discovery (for action=store)
response_modeNoRead-envelope for search/get/details/stats; compact and lean drop repeated identity_context. Default full.full
superseded_byNoID of the discovery that supersedes this one (for action=update with status=superseded)
supersedes_idNoID of the older discovery being replaced (for action=supersede; discovery_id is the newer one)
comparison_keyNoS22 H5 provenance: stable key for comparing the same bounded task across harnesses
discovery_typeNoaction=store; one of architectural_decision, learning, pattern, bug_fix, refactoring, documentation, experiment, question, note, rule, insight, bug_found, bug, improvement, exploration, observation.
including_coldNoInclude cold-storage discoveries in action=list raw status aggregates
memory_contextNoS22 provenance: memory/KG/transcript surfaces visible to the writer
min_similarityNoMinimum cosine similarity for semantic retrieval modes
include_detailsNoInclude full details inline (for action=search or agent-scoped action=get)
max_chain_depthNoMaximum response-chain traversal depth for action=details
closure_evidenceNoEvidence for closure_class. Required keys: fix_verified needs {deployed, observed}; unobserved needs {window, instrument_check}.
continuity_tokenNoOwnership proof from onboard()/identity(), for same-live-process rebinds only. Not a cross-process resume credential.
include_archivedNoInclude archived discoveries in search results (default: excluded)
resolution_notesNoRationale to append when closing or updating a discovery
auto_link_relatedNoIf false, skip automatic similar-discovery linking for action=store
client_session_idNoIn-session binding id from start_session()/identity(); pass it on same-process calls. Not a cross-process proof.
include_provenanceNoInclude provenance and lineage chain fields in search/details results
exclude_agent_labelsNoOmit search results whose writer display label matches one of these values
include_response_chainNoInclude typed response chain for action=details

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

C2.1/5.0
Behavior1/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure, and it discloses nothing: no side effects, no destructiveness (cleanup, supersede, update), no mutation warnings, no auth/provenance requirements, no fallback behaviors. The description is a name list, not a behavior statement. The schema hints at some behaviors (e.g., 'fail honestly when unsupported', LLM fallback), but the description itself adds zero behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

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

The single sentence is compact, but this is under-specification, not conciseness—a 12-action, 51-parameter monolith is summarized as one comma-separated verb list. There is no grouping of read vs. write vs. administrative actions, no hierarchy, and no explanation of the operations. The structure front-loads nothing usable; it reads like a table of contents rather than a tool definition.

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

Completeness1/5

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

For a tool with 12 actions, 51 parameters, no output schema, and no annotations, this description is severely incomplete. It does not define the semantics of any action, explain which parameters apply to which actions at a conceptual level, describe return behavior, or list side effects. The schema's per-parameter notes partially compensate, but the tool-level knowledge needed to select and invoke actions correctly is essentially absent.

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

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3 even without parameter info in the description. The schema already documents each parameter including action-scoping notes like '(for action=search)' and constraints such as 'values above 100 are capped'. The description adds no parameter-level meaning, but at this coverage level it does not need to.

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

Purpose3/5

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

The description identifies the resource ('knowledge graph') and lists 12 operation verbs (store, search, get, list, update, details, note, cleanup, synthesize, stats, supersede, audit), which is specific enough to avoid being a tautology. However, it is a flat catalog of operation names with zero explanation of what each operation means, and the 'Unified' framing does little to distinguish this monolith from siblings like store_finding, update_finding, or search_shared_memory. An agent still cannot tell what 'supersede', 'note', or 'cleanup' actually accomplish.

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

Usage Guidelines2/5

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

No when-to-use or when-not-to-use guidance exists anywhere in the description. Given sibling tools named store_finding, update_finding, search_shared_memory, and consult, there is heavy potential overlap with the store/update/search actions of this tool, and the description provides zero routing criteria. An agent is forced to open both schemas and infer the boundary, which is exactly what the description should preempt.

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