Skip to main content
Glama

Configure Memory

configure_profile_remember

Save one explicit, durable fact the user stated about themselves so any Configure-connected agent the user allows can use it in future conversations. Use it when the user asks you to remember something or clearly signals a fact is for keeps (a stable preference stated for future use, an ongoing goal); a detail mentioned in passing is not a request to persist it — when intent is unclear, ask before saving. Save one clear fact per call. Its scope is one stated fact: bulk pasted material, message arrays, one-off task context, and anything the user did not actually say fall outside it — configure_profile_import handles bulk context and configure_profile_commit handles turn-level inference. To save memories inferred from a whole turn rather than a single stated fact, use configure_profile_commit instead. Your own work is not a fact about the user: what you built, shipped, debugged, or are tracking belongs on the shared project shelf, so file it with box "projects/" for the next agent to read back, or leave it out. Optionally file the fact into a box (a shelf within your namespace) with the box argument: reuse an existing box id from the profile table of contents when one fits, otherwise pass a short new lowercase name and it is created on the spot. Writes under your own server-resolved agent namespace (identity is resolved from the authenticated session rather than from arguments) and returns the stored memory id and source. Additive: it only saves what the user asked to keep. It never deletes or overwrites existing memories, and never emails, posts, or publishes anything on the user's behalf.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
boxNoOptional. The namespace box (shelf) to file this under. TWO KINDS. (1) A topic box, for facts about the user: "work", "contacts", "health". (2) "projects/<slug>", the shared handoff shelf, for notes written for OTHER AGENTS rather than about the user — status, handoffs, and what you did on a shared piece of work. Work called "billing-migration" goes to box "projects/billing-migration". Reuse an existing box id from the profile table of contents when one matches; otherwise a short new lowercase name creates that box instantly. Omitted files it under "other".
factYesRequired. The single durable fact to store, phrased as a concise standalone statement about the user (for example "Prefers vegetarian restaurants"). One fact per call; do not batch multiple facts or paste transcript text.
kindNoWhat kind of note this is, for "projects/<slug>" notes. Set it whenever you are stuck or need something back from another agent: "blocker" (you cannot proceed) and "question" (you need an answer) are the two that get tracked as OPEN until another note resolves them. A note with no kind is never reported as outstanding, however urgent its text. This is not configure_profile_import's kind, which is a different vocabulary for how a dump is processed; and an unrecognized value here is never fatal, the note is saved unclassified and the result names the value that was ignored.
reply_toNoOptional. Memory id ("mem_...") of a note in the SAME box this one answers. Ids appear on notes when you open a project box.
resolvesNoOptional. Memory id ("mem_...") of a question or blocker in the SAME box that this note closes, which is what stops it being reported as open.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
boxNoBox the note was filed under.
errorNo
savedNo
memoryNo
sourceNo
distilledNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.7/5.0
Behavior5/5

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

Goes well beyond the annotations (readOnlyHint=false, destructiveHint=false, openWorldHint=false) by disclosing that identity is resolved from the authenticated session rather than arguments, that the call is purely additive and never deletes or overwrites, that it never emails/posts/publishes, and that it returns the stored memory id and source. These are the exact behavioral facts an agent needs before committing a write.

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

Conciseness3/5

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

Well front-loaded — purpose, then intent rules, then scope, then routing, then behavior — but bloated at roughly 250 words with visible redundancy: configure_profile_commit is introduced twice for effectively the same turn-level-inference case. The scope-exclusion sentence and the commit sentence could be merged without losing meaning.

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 5-parameter write tool with an output schema and annotations, the description covers everything an agent still needs: single-fact scope, unclear-intent handling, sibling routing, project-box handoff convention, namespace resolution, additive-only guarantee, and return shape. Nothing material is left to inference.

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 description coverage is 100%, so the baseline is 3, but the description adds genuine meaning: box filing rules (reuse an existing box id, a short new lowercase name creates one, omission defaults to "other") and the crucial note that no identity argument exists because the namespace is session-resolved. It does largely restate the schema's box/kind semantics, which caps it below 5.

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 opening sentence states a specific verb (save), resource (one explicit durable fact the user stated about themselves), scope (one fact per call), and the downstream consumer (any Configure-connected agent). It actively distinguishes itself from siblings by naming configure_profile_import for bulk material and configure_profile_commit for turn-level inference, so an agent can route correctly without opening another schema.

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?

Explicit when-to-use (user asks to remember, or clearly signals a fact is for keeps) and when-not (passing details, bulk pasted material, one-off task context, anything the user didn't say), plus an escalation rule (ask when intent is unclear). It also names the alternatives for adjacent cases: configure_profile_import for bulk, configure_profile_commit for inferred/turn-level memories, and the projects/<slug> box for the agent's own work notes.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources