Skip to main content
Glama
kvnpetit

SRC (Structured Repo Context)

by kvnpetit

Get project memory

get_project_memory
Read-onlyIdempotent

Retrieve project decisions, constraints, facts, todos, and notes from isolated local memory using filters for kind, tags, and search terms.

Instructions

Read bounded, project-isolated local memory containing decisions, constraints, facts, todos, and notes. It never calls a remote service and marks all stored content as untrusted data.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
kindNoFilter by memory kind
tagsNoRequire all of these tags
limitNo
queryNoOptional words to find in titles, notes, tags, or links
scopeNoLocal memory namespace isolated inside this projectproject
cursorNo
directoryNoProject directory.
search_modeNoUse weighted phrase/field matching or simple lexical matchinghybrid
min_confidenceNoExclude memories below this confidence threshold
redact_secretsNoRedact common inline secrets in returned notes
include_expiredNoInclude records whose expiry date has passed

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
dataNo
metaYes
errorNo
messageNo
successYes
schema_versionYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv2.0.0

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already cover readOnly, idempotent, and non-destructive behavior. The description goes further by explicitly stating that the tool never calls a remote service and treats all stored content as untrusted data, which adds valuable trust and privacy context that the annotations do not convey. This is useful beyond the structured annotations.

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?

The description is extremely concise: two sentences, both substantive. The opening sentence immediately states the core action and scope, and the second adds relevant behavioral constraints. There is no wasted text, and each sentence carries meaning.

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

Completeness3/5

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

The description adequately frames the tool's existance and trust profile, but it omits meaningful context about pagination and filtering. Likely parameters like 'cursor' and 'limit' are not mentioned in prose, and given 11 optional parameters, an agent is left to inspect the schema without guidance on how the tool's internal bounds apply. It is not grossly incomplete, but there are clear gaps.

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?

With 82% schema coverage, the baseline is 3. The description lists the memory kinds (decision, constraint, fact, todo, note), which mirrors the kind enum already present in the input schema, so it adds little meaning beyond what the schema already provides. It offers no additional insight on filters, pagination, or niche parameters like cursor or limit.

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 identifies the specific verb 'Read' and resource 'bounded, project-isolated local memory,' and lists the memory kinds (decisions, constraints, facts, todos, notes). It distances itself from sibling tools like set_project_memory by emphasizing the read-only nature, but it does not explicitly differentiate this from get_project_context or get_project_artifacts, leaving some boundary ambiguity.

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

Usage Guidelines3/5

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

The description implies the tool is used when an agent needs to retrieve project-local memory, but it gives no explicit 'when to use' or 'when not to use' guidance, and no alternatives are mentioned. Given the presence of several similar siblings (get_project_context, get_project_artifacts, get_project_catalog), the lack of routing guidance is a noticeable gap.

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