Skip to main content
Glama

write_memory

Store reusable project knowledge as markdown memories, with optional file-glob associations, so agents can automatically retrieve and apply the right context when working on relevant files.

Instructions

Write or overwrite a memory in a workspace's .plumb/memories/ directory.

The memory is a markdown file at /.plumb/memories/.md. If 'description' or 'paths' is provided, frontmatter is prepended automatically — list_memories will surface the description, and relevant_memories / hint injection use paths globs to attach the memory to files.

Memory names must match [A-Za-z0-9_-]+. Choose specific names that describe the memory's topic (e.g. 'auth-architecture', 'test-conventions', 'gotchas-cache-invalidation').

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameNoMemory name (alphanumeric, _, - only).
pathsNoOptional workspace-relative file globs this memory applies to, e.g. internal/auth/** or cmd/server/*.go. Stored as frontmatter and used by relevant_memories plus hint injection.
contentNoMarkdown body to save.
workspaceNoAbsolute workspace path. Defaults to the daemon's resolved workspace.
descriptionNoOne-line summary (optional). Stored as frontmatter.
Behavior4/5

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

With no annotations, the description carries the burden and does well: it discloses the exact file path, the fact that it overwrites, automatic frontmatter prepending, and name constraints. It stops short of describing error behavior, return values, or permission requirements, but the key mutating behavior is clearly surfaced.

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 well-structured and front-loaded: the first sentence states the core action, the second paragraph adds valuable behavioral detail about frontmatter and downstream consumers, and the third gives concise naming rules with concrete examples. No wasted words.

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 tool with 5 parameters, no annotations, and no output schema, the description covers the essential operational context: file location, frontmatter behavior, naming rules, and parameter semantics. It lacks explicit return-value or error-case details, but for a memory write tool this is adequate and would not leave an agent confused about invocation.

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%, providing a baseline of 3. The description adds meaningful semantics: it explains how paths globs are used by relevant_memories/hint injection, that description is surfaced by list_memories, and provides naming conventions and workspace default. This goes beyond the schema's property descriptions.

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 first line 'Write or overwrite a memory in a workspace's .plumb/memories/ directory' clearly states the operation (write/overwrite), the resource (memory), and the location. It distinguishes itself from sibling memory tools like list_memories, read_memory, and delete_memory by its specific write-oriented action.

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?

The description explains when the tool is relevant by describing how frontmatter is consumed (list_memories surfaces descriptions, relevant_memories/hint injection use paths globs) and provides naming guidance with examples. However, it does not explicitly contrast with alternatives like write_file or state when not to use it, so it lacks explicit exclusions.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/plumbkit/plumb'

If you have feedback or need assistance with the MCP directory API, please join our Discord server