Skip to main content
Glama

shelve

File a new memory entry on an existing shelf, or correct an entry by its ID. Shelves must already exist; ask the owner to create one if none fits.

Instructions

Library lane: files one new entry on an EXISTING shelf, or corrects one by id - never the code lane, and it cannot create a shelf. Use remember instead for facts about code or how to work, never for the owner's own life. On a replica this queues instead of writing ('queued for the main machine' is not an error). Refused, naming the shelves that do exist, when none fits (ask the owner what a new one should be called); refused on a near-duplicate of an entry already on that shelf, pointing at it; refused past roughly 600 characters unless one_thing_because names the single thing the entry is. Replies 'filed ' or 'revised ', or the refusal text.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idNoCORRECT AN ENTRY THAT ALREADY EXISTS instead of filing a new one: its number, as the shelf listing shows it. The fields given replace what is there; the number stays, and the version replaced stays readable. Use this whenever a filed entry turns out wrong, badly worded or missing a label - a second entry saying the same thing better makes a shelf unreadable. Omit it to file something new.
bodyNoThe rest, at any length. Optional.
shelfYesAn EXISTING shelf. If none fits, ask the owner - you may not create one.
titleNoOne line that stands on its own. This is the index. When correcting an entry (see `id`), leave it empty to keep the title it has.
labelsNoOptional labels for filtering inside a shelf.
one_thing_becauseNoWHY THIS LONG BODY IS STILL ONE THING - required past the length where an entry is usually several things glued together, ignored below it. Name the single thing it is (e.g. "one pizza dough recipe") in a real sentence. Cannot name it in one? Then it is more than one thing - file separate entries on the same shelf with labels instead. Filler here does not get a pile past the question.

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. First observedv0.1.0

TDQS

A4.8/5.0
Behavior5/5

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

With no annotations provided, the description carries the full behavioral burden and does so thoroughly. It discloses replica queueing behavior, exact success replies ('filed <id>' / 'revised <id>'), refusal categories (no fitting shelf, near-duplicate, over-length body), and the one_thing_because requirement. This is far beyond the minimum for a write operation and gives the agent accurate expectations for side effects and errors.

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

Conciseness4/5

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

The description is a single dense paragraph, but every sentence carries useful information and the main operation is front-loaded. Some semicolon-heavy refusal clauses could be more readable, but there is no filler or redundant restating of the schema. It earns its length through behavioral and routing detail.

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

Completeness5/5

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

For a 6-parameter write tool with no output schema and no annotations, the description is remarkably complete. It explains input requirements, output strings, refusal behavior, queue behavior, and the alternative tool. The rich schema fills in the remaining parameter-level details, so an agent has everything needed to select and invoke the tool correctly.

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?

The input schema already has 100% description coverage, so the baseline is 3. The description adds important semantic constraints beyond the schema, such as the ~600-character threshold for one_thing_because and the fact that id means correction rather than new filing. It does not restate every parameter, but the schema handles those details; the description enhances the most decision-critical semantics.

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 states a specific action and resource: it "files one new entry on an EXISTING shelf, or corrects one by id." It also actively distinguishes itself from the code lane and from the remember sibling, so an agent can tell which lane this belongs to. The core operation is unambiguous and not a tautology of the tool name.

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

Usage Guidelines5/5

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

The description gives explicit routing guidance: "Use remember instead for facts about code or how to work, never for the owner's own life." It also states what shelve cannot do (create a shelf) and instructs the agent to ask the owner when no existing shelf fits. This is clear when-and-when-not guidance with a named alternative.

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

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/nworks3d/THOR-memory-bible-for-AI'

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