Skip to main content
Glama
kvnpetit

SRC (Structured Repo Context)

by kvnpetit

Set project memory

set_project_memory
DestructiveIdempotent

Create, update, or delete project-scoped memory records to persist decisions and context, with atomic and secret-redacted writes.

Instructions

Create, update, or delete one bounded record in the isolated local project memory. Writes are atomic, optimistic-concurrency aware, secret-redacted by default, and never execute project content.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idYes
bodyNo
kindNo
tagsNo
linksNo
scopeNo
titleNo
directoryNo
operationYes
confidenceNo
expires_atNo
redact_secretsNo
source_revisionNo
expected_updated_atNo
capture_source_revisionNoCapture the current local Git HEAD when source_revision is omitted

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 readOnlyHint=false, destructiveHint=true, and idempotentHint=true. The description goes further by revealing atomicity, optimistic-concurrency awareness, default secret-redaction, and a guarantee never to execute project content, which is genuinely useful beyond the structured data.

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?

Two dense sentences with zero wasted words. The core activity is front-loaded, followed by compact behavioral guarantees; every phrase contributes to a call so the description stays scannable.

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

Completeness2/5

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

For a tool exposing 15 parameters and minimal schema description, the description is far too thin. It does not describe record semantics, scopes, operation behaviors in detail, or how the output is shaped. Although an output schema exists, the very large parameter surface is left to the caller to infer from names and types.

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

Parameters2/5

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

Schema description coverage is only 7%, leaving most of the 15 parameters undefined in the description. The description only loosely hints at parameters (create/update/delete maps to operation, optimistic-concurrency maps to expected_updated_at, secret-redaction maps to redact_secrets) and does not explain id, kind, scope, tags, links, confidence, expires_at, or source_revision.

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

Purpose5/5

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

The description uses a specific verb set ('Create, update, or delete') with a clear resource ('one bounded record in the isolated local project memory'). It clearly distinguishes this write tool from read-only siblings like get_project_memory and get_project_catalog through its action words and resource scoping.

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?

Usage context is implied but not explicit. The description indicates it handles writes to project memory, which positions it as the counterpart to get_project_memory, but it never states when to use this instead of alternatives or mentions that reads belong to sibling tools.

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