Skip to main content
Glama

Configure Memory

Server Details

Bring saved project decisions, preferences and goals into your next AI task. Configure keeps user-chosen context in a persistent, searchable profile with OAuth, explicit saves and user-provided imports.

Ownership verified
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-06-18
URL

TDQS

A4.5/5.0

Scored across 9 tools

Disambiguation3/5

The memory-write cluster (configure_profile_remember, remember_many, import, commit) all persist memories and their boundaries require lengthy prose to distinguish, which is itself a sign of overlap. The read/search pair is cleaner but still needs explicit 'use X instead' guidance to keep agents from misselecting.

Naming Consistency5/5

Every tool uses lowercase snake_case with a consistent configure_ prefix and clear verb (connect, commit, forget, import, read, remember, search, share). The pattern is highly predictable across the whole set.

Tool Count4/5

Nine tools is well within the reasonable range for a profile/memory server. It is slightly heavy on write paths (four tools that all persist memories) that could arguably be consolidated, but nothing feels redundant enough to be a problem.

Completeness4/5

Coverage spans auth (connect), read/search, single and bulk writes, import, delete (forget), and project sharing — a fairly complete lifecycle. The main gap is an explicit update/edit-memory operation, though delete-plus-recreate can work around it.

Available Tools

9 tools
configure_connectA
Idempotent
Inspect

Mints the Configure link that fixes access for the current user — sign-in, app connect, or permission grant. This is the tool for two situations: a Configure tool result says authorization_required (the user is not signed in), or the user asks to sign in or connect an app. The user's data exists behind sign-in, so "I have nothing on you" would be inaccurate in that state; what serves the user is knowing sign-in is the blocker and having the returned link, on its own line where it is easy to click. Retrying the failed call returns the same result until the user has signed in. Links exist only as this tool mints them — a hand-built link fails — and when a tool result already carries a link, that link is the one the user needs (minting another creates a second, competing session). Not the first call of a conversation (that is configure_profile_read), and not the fix for error -32009 (that is configure_profile_commit). For a signed-in user: app (gmail, calendar, drive, notion, sheets) connects or reconnects that app — returns status connect_app, a link, and whether it is already connected — and capability (like gmail:send) covers a single missing permission (status permission_needed). Bringing memories in from another assistant is NOT a connect action: this tool does not do it, and a bare "connect Configure" from a signed-in user needs no argument at all — omit app unless the user names a specific app to connect. Configure derives the requester from authenticated agent metadata or MCP transport metadata; the client field is a legacy fallback hint for an unauthenticated headless client only.

ParametersJSON Schema
NameRequiredDescriptionDefault
appNoOptional app to connect or reconnect for an already signed-in user. This is for third-party apps only; it does not bring memories in from other assistants (that is not a connect action — see configure_profile_import).
clientNoLegacy fallback handle for an unauthenticated headless client whose transport supplies no identity. Never overrides an authenticated agent.
purposeNoOptional one-line reason shown to the user on the permission page, such as "so I can send the follow-ups you approve". Used with capability.
capabilityNoOptional specific permission to request when the user has an app connected but not this capability (the profile read's integrations map shows which capabilities each connector has). For example, when Gmail is connected read-only and you need to send, pass capability "gmail:send". Returns status permission_needed with a link that asks the user for exactly that permission and why. Prefer this over app when only a capability (like send) is missing.
client_nameNoLegacy display hint for an unauthenticated headless client. Never overrides registered agent metadata.

Output Schema

ParametersJSON Schema
NameRequiredDescription
appNo
statusYesconnect_app, authorization_required, session_probe_required, or permission_needed.
connectedNo
capabilityNo
connect_urlNoServer-minted link where the user acts. Minted per session: only this exact URL works; a retyped or shortened one fails.
instructionsNo

TDQS

A4.8/5.0
Behavior5/5

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

Beyond the annotations, it discloses that retrying returns the same result until sign-in completes, that links exist only as this tool mints them (hand-built links fail), and that minting a second link when a result already carries one creates a competing session. It also explains how the requester identity is derived (agent/MCP metadata, with client as legacy fallback).

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?

Front-loads the purpose and the two triggering situations before the edge cases. It is dense and reads as a single long paragraph, but nearly every sentence carries routing or behavioral content rather than filler.

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 zero-required-parameter tool with an output schema, the description supplies what the schema and annotations cannot: when to call it, when not to, the status values to expect (connect_app, permission_needed), and identity-derivation behavior. Nothing needed to call it correctly is missing.

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?

With 100% schema coverage the baseline is 3, but the description adds real routing meaning: omit app unless the user names a specific app, prefer capability over app when only one permission is missing, and that client/client_name are legacy fallbacks that never override authenticated metadata. It reinforces rather than merely restates the schema.

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?

States a specific verb and resource ("Mints the Configure link that fixes access") and immediately scopes it to three concrete outcomes: sign-in, app connect, or permission grant. It explicitly differentiates from siblings, naming configure_profile_read (first call) and configure_profile_commit (fix for -32009) as the tools this is NOT.

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?

Gives explicit triggering conditions: a Configure tool result saying authorization_required, or the user asking to sign in/connect an app. It also states exclusions (not the first call of a conversation, not the fix for error -32009, not for importing memories), and clarifies the signed-in app vs capability branches.

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

configure_profile_commitAInspect

Close out a Configure-profile-backed turn by submitting bounded turn evidence and, optionally, durable memories worth keeping. Error -32009 (commit_required) from any configure tool is resolved ONLY by this call: commit, then retry the blocked call — never configure_connect, which is for sign-in. Call it at turn end even when you learned nothing durable: reads and searches created obligations regardless, and an empty commit with a one-line summary clears them. The runtime usually calls this for you after a profile read; call it yourself only when your host requires manual write-back. Prefer configure_profile_remember for a single fact the user explicitly stated; use commit to clear the obligation created by a configure_profile_read or configure_profile_search and to save memories drawn from the whole turn. Evidence is minimal: at most the specific user statements that support each memory, plus toolResults — never conversation history; memories are durable user facts, preferences, or intentions rather than provenance or assistant replies. Returns the obligations it cleared and any memories written (id, source, marker). Additive: it only records what this turn learned. It never deletes or overwrites existing memories, and never emails, posts, or publishes anything on the user's behalf.

ParametersJSON Schema
NameRequiredDescriptionDefault
read_idNoOptional read id returned by a prior configure_profile_read or configure_profile_search obligation; pass it to tie this commit to that specific read.
memoriesNoOptional durable memory candidates to save, one clear fact per entry. Only include durable user facts, preferences, or intentions; do not summarize provenance, the conversation, or assistant replies.
messagesNoOptional minimal evidence to clear read-backed commit obligations: at most the one or two user statements that directly support each saved memory. Never send conversation history or any messages beyond those supporting statements.
toolResultsNoOptional bounded tool result evidence, each with toolName and content, used as evidence to clear read-backed commit obligations.

Output Schema

ParametersJSON Schema
NameRequiredDescription
errorNo
memoriesNo
committedNo
obligationsNoRead obligations this commit cleared.

TDQS

A4.8/5.0
Behavior5/5

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

Goes well beyond the annotations: additive-only semantics, never deletes or overwrites, never emails/posts/publishes, and describes the return payload (obligations cleared, memories written with id/source/marker). These traits are consistent with destructiveHint=false and readOnlyHint=false.

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?

Front-loaded with the core purpose and error-resolution rule, and most sentences earn their place, but the evidence-minimality rule is stated twice (once in prose, once per-parameter) and the parameter guidance slightly duplicates the schema.

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?

An output schema exists, so return values need not be detailed, yet the description still summarizes them. It covers obligations, the error path, evidence bounds, and additive semantics — everything needed to invoke 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?

Schema coverage is 100%, so baseline is 3, but the description reinforces the constraints on each parameter: read_id ties the commit to a specific read obligation, memories must be durable facts not provenance, and evidence is limited to supporting user statements plus toolResults.

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?

States a specific verb and resource ('Close out a Configure-profile-backed turn by submitting bounded turn evidence and, optionally, durable memories') and distinguishes itself from siblings by naming configure_connect and configure_profile_remember with the conditions that select each.

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?

Explicitly covers when to call (turn end, even with nothing learned, because reads/searches create obligations), when not to (only when the host requires manual write-back; the runtime usually handles it), the -32009 resolution path, and the alternative (configure_profile_remember for a single stated fact).

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

configure_profile_forgetA
Destructive
Inspect

Delete the user's memories that YOU saved or imported. WHICH to delete: if you hold an id, pass id ("mem_..."); if you do NOT have an id and the user names a topic, pass match with a word the memory contains (match: "nursing") and forget finds and deletes your matching memories itself, no search first. HOW: pass reason "user_request" whenever the user wants it gone for good or says never mention it again (this suppresses the content from re-saving and re-importing); use the default correction only for fixing your own mistake. A match previews first: it returns a count and the matching memories and deletes NOTHING until you call again with confirm: true, so review and confirm only what the user meant. import_id (from configure_profile_import) retracts one whole import; scope ("imports", "saved", "all") clears everything of yours at once. Pass exactly one selector. Reach is your own writes only: never another agent's memories, never an import the user ran themselves, never the profile's settled facts, and this deletes memories only, never the Configure account. An id outside your reach returns a clean not-found, not an error. Deletion is permanent for your copy. Returns the deleted memory id and which source it lived under.

ParametersJSON Schema
NameRequiredDescriptionDefault
idNoOne memory to delete, by the id returned when it was saved (format "mem_...", also shown on entries in your own source box). Use exactly one selector: id, import_id, or scope.
dateNoOptional. The memory's date ("YYYY-MM-DD") if known, from the saved path or entry; providing it makes the delete a direct lookup instead of a namespace scan.
matchNoSelector. Words a memory contains, e.g. "nursing" or "coffee". Finds YOUR OWN matching memories and deletes them, so you do not need a separate search to get ids first. A match WITHOUT confirm:true returns a count and preview and deletes nothing; call again with confirm:true to delete. Reach for this the moment a user says "delete the X stuff" and you do not already hold ids.
scopeNoDelete everything of yours in one call, instead of one id at a time. "imports": every memory you brought in through configure_profile_import, including older imports that predate import ids. "saved": everything you saved with remember or commit. "all": both. Only your own writes are ever touched, so this can never reach another assistant's memories or the profile's settled facts.
reasonNoOptional, default "correction". Use "user_request" ONLY when the user explicitly asked you to remove this and not bring it back (for example "delete that" or "never call me that again") — it additionally suppresses the same content from every source and blocks it from being re-saved or re-imported. Use "correction" (or omit) when you are fixing your own mistake or retracting something stale.
confirmNoOnly with match. Omit or false to preview (count + the memories that match, deletes nothing). Set true to delete the matched memories. Preview first unless the user was unambiguous.
import_idNoOptional, and used instead of id. The import_id returned by configure_profile_import: retracts every memory that import created, in one call, instead of one delete per memory. Only entries from an import you performed are touched.

Output Schema

ParametersJSON Schema
NameRequiredDescription
idNoThe id of the deleted memory — the confirmation the caller acts on.
errorNoPresent when the id was malformed or not found in your namespace.
matchNoThe match words this call used, echoed back.
deletedYesWhether anything was removed by this call. False on previews and no-matches.
matchedNoFor match-based forgets: how many memories matched.
messageNo
previewNoMemories a match would delete; nothing is deleted until confirm is true.
deleted_idsNoIds of the memories a confirmed match deleted.
deleted_countNo

TDQS

A4.8/5.0
Behavior5/5

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

Annotations already flag destructiveHint=true, readOnlyHint=false and idempotentHint=false, but the description goes well beyond them: reach is limited to your own writes (never another agent's memories, a user-run import, or settled profile facts), match deletes nothing until confirm:true, user_request suppresses re-saving/re-importing, and an out-of-reach id returns a clean not-found rather than an error. These are material behavioral facts not encoded in structured fields.

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?

It is front-loaded with the purpose and then organized around WHICH/HOW selectors, so structure is strong and most sentences carry operative detail. It is dense and longer than strictly needed (some selector semantics repeat what the schema states), keeping it just below the top score.

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 destructive, seven-parameter tool with an output schema present, the description covers the risky decision points — reach, preview/confirm, suppression, selector exclusivity — without redundantly explaining return values. An agent has everything needed to invoke it safely and 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?

Schema description coverage is 100%, so the schema already documents each parameter, giving a baseline of 3. The description adds genuine extra meaning — the one-selector exclusivity rule, the confirm-gated preview semantics of match, the re-save suppression of user_request, and the reach boundary on import_id — so it exceeds the baseline rather than merely restating it.

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 (Delete) and a precisely scoped resource (the user's memories that YOU saved or imported), immediately bounding reach. This cleanly separates it from siblings like configure_profile_remember, configure_profile_import, and configure_profile_search without needing their schemas.

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?

It gives explicit selection logic: use id when you hold one, match when the user names a topic, import_id to retract a whole import, scope to clear everything at once, and 'pass exactly one selector'. It also states when to use reason 'user_request' vs 'correction', and that a match must be previewed and confirmed — the full when/when-not decision tree is present.

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

configure_profile_importAInspect

Import brings memories INTO the profile from outside — it never exports, lists, or shows what is already saved (use configure_profile_read or configure_profile_search for that, even when the user says "export" or "show me"). Two shapes go in here. A structured memory export, the ---SECTION:Name--- format with one dated entry per line that assistants produce when asked to export everything they know about the user, is split into individual profile facts and filed by category, which is how a first-time backfill from another assistant lands. Anything else is treated as one chunk of context: bulk-file it into your namespace when there is too much to save as a single fact — a long note, meeting notes, a multi-topic dump, or the current discussion when the user asks to save it. Configure distills it into a short context note (a stream, kept as-is in your namespace, not promoted to shared profile facts) and files it into a box automatically. Use configure_profile_remember instead for one clear fact the user stated; use configure_profile_commit to close out a turn after a profile read. Reach for import the moment the user provides material and says things like "keep all of this" or "import these notes", and when the user asks to save the current conversation ("save this whole conversation") — that explicit request is both the designation and the consent, so import is the right call, not a refusal. Send only what the user asked to keep, and never import anything on your own initiative. Optionally pass box to force the shelf: reuse an existing box id from the profile table of contents, or a short new lowercase name to create one; omit it to let Configure pick the box. Writes under your own agent namespace (resolved from the authenticated session, not arguments) and returns the chosen box and stored memory id. Additive: it only files context the user asked to keep. It never deletes or overwrites existing memories, and never emails, posts, or publishes anything on the user's behalf. Use configure_profile_remember_many instead when the user has already turned the material into a list of separate facts and approved it.

ParametersJSON Schema
NameRequiredDescriptionDefault
boxNoOptional, and only used for kind "context". The namespace box (shelf) to file the note under: reuse an existing box id from the profile table of contents, or a short new lowercase name to create one. Omit to let Configure choose. Ignored for kind "memories", which files each fact by category rather than into a namespace box.
kindNoWhich of the two PROCESSING shapes this text is, because they are stored differently (a different argument from configure_profile_remember's kind, which classifies a single project note). "memories": the user's own durable facts in any format — an export from another assistant, a list of preferences, a compiled summary of what you know about them; each fact is split out and filed by category so it becomes part of the profile, and Configure reformats messy input so exact formatting does not matter. "context": source material to keep as-is — meeting notes, an article, a long document the user provided; condensed into one short note for reference. The test is whether each line should become a standing fact about the user ("memories") or the material itself is what matters ("context"). Omitted, Configure infers it from the text.
textYesRequired. The content the user explicitly asked to keep — a memory export from another assistant, material they provided, or the discussion they asked to save. Include only what the user asked to import, nothing beyond it; Configure distills it.

Output Schema

ParametersJSON Schema
NameRequiredDescription
boxNoBox the note was filed under.
errorNo
savedNo
memoryNo
sourceNo
distilledNo

TDQS

A4.8/5.0
Behavior5/5

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

Annotations declare readOnlyHint=false with destructiveHint=false, and the description adds substantial context beyond that: it writes under the agent's own namespace resolved from the session (not arguments), is additive, never deletes/overwrites, and never emails/posts/publishes. It also explains that context is distilled into a stream kept as-is rather than promoted to shared facts, which is behavior not captured by any structured field.

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?

Front-loaded with the core scoping statement and the negative definition first, then shapes and guidance. It is on the verbose side with repeated safety/routing reminders, but nearly every sentence carries a distinct routing or behavioral instruction, so little is pure padding.

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?

Given an output schema, the return contract is already covered, yet the description still notes it returns the chosen box and stored memory id. Combined with the two-shape processing model, session-derived namespace, and consent framing for conversation saves, nothing an agent needs to invoke this correctly is missing.

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%, so the schema already documents box, kind, and text thoroughly; the description's added value is modest but real, explaining the box 'force the shelf' behavior and that omission lets Configure choose. It reinforces the kind test and inference behavior, slightly exceeding the baseline-3 expectation for fully covered schemas.

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?

States a specific verb (import) and resource (profile), explicitly defines scope ('brings memories INTO the profile from outside') and contrasts it with what it does NOT do ('never exports, lists, or shows'). It names the sibling tools an agent should use instead, so the operation is unmistakable even against configure_profile_read/search/remember.

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?

Gives explicit when-to-use conditions and named alternatives: use configure_profile_read or configure_profile_search for reading, configure_profile_remember for a single clear fact, configure_profile_commit to close out a turn after a read, and configure_profile_remember_many for approved fact lists. It even pre-empts the common 'export'/'show me' misrouting and the 'save this whole conversation' case.

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

configure_profile_readA
Read-only
Inspect

Read the current user's approved profile. Use the no-argument overview only when the user explicitly asks to review their profile or get a profile overview. For personalized help or a specific fact, use configure_profile_search with a concrete query about the current task; no overview is needed first. Read a known category or project box when the user asks to review it or resume that project. Three ways in. (1) No arguments: the profile overview. Returns composed context, not raw files: identity, the synthesized narrative and preference docs, key facts each tagged with their box like "[work] …", changesSince (memories newer than the synthesized summary), and a table of contents of boxes. Category boxes ("work", "preferences-and-taste", …) hold Configure's settled facts; source boxes ("agents/atlas", "imports/chatgpt") hold one agent's or import's own notes; project boxes ("projects/") are shared tags across agents. The overview is budget-bounded; when something is cut it sets truncated and names the box ids holding the rest — open those instead of re-reading. (2) sections: strict pages of the composed document, and ONLY those pages — sections: ["imports"] is the imports overview (each provider's summary and count), ["soul"] is the full soul document (voice and personality) and ["context"] the full context document (current focus), each the untruncated version of what the overview cut, ["agents"] is the connected-agent map. Use a section when you want one page cheaply. (3) box: open one shelf of STORED memories by id from the table of contents; unknown or empty boxes return a clean empty result naming the boxes that exist. A box open returns ONE PAGE: the response carries total, and when total is larger than the notes you received, call read again with page: 2, then 3, until you have them all — answering from page 1 alone silently drops the rest. For point lookups (one fact, date ranges, source attribution) or filtering by author, use configure_profile_search. An authorization challenge means the user is not signed in; configure_connect supplies the sign-in link that resolves it.

ParametersJSON Schema
NameRequiredDescriptionDefault
boxNoOptional box id from a previous read's table of contents. A category name like "work" opens the settled facts in that category, ranked by value, across all sources. "agents/<name>" or "imports/<provider>" opens the notes that source saved. "projects/<slug>" opens a shared project tag: notes any agent filed under that box when saving, collected across sources — the pattern for cross-agent handoffs (write with that box, read it back here). Unknown or empty boxes return an empty result listing the boxes that exist; never an error.
pageNoOptional 1-based page for a box open. Each box open returns page_size facts and a total; pass page: 2 to continue a long box (project threads, big namespaces). Ignored without box.
sinceNoOptional delta cursor for a box open ("YYYY-MM-DD" or an ISO timestamp): return only notes newer than this. Every box open returns latest (the newest note timestamp); store it and pass it back as since on the next open to read just what changed. Ignored without box.
detailNoOptional box-open verbosity. Default compact truncates long notes and marks them truncated: true; pass "full" to read whole notes. Ignored without box.
sectionsNoStrict page filter on the composed profile document: the response contains exactly the pages named here, nothing else. Omit for the profile overview (facts, boxes, sources, docs), only on an explicit profile review request. Pages: identity, preferences (interaction rules), integrations, imports, agents (connected agents), summary, soul (voice and personality), context (current focus). Pages of the composed document, not storage: to open stored memories use box; to filter by author use search with source.

Output Schema

ParametersJSON Schema
NameRequiredDescription
boxesNoTable of contents: category, source and project boxes.
linkedNoFalse when no Configure user is resolved for this session.
sourcesNo
identityNo
top_factsNoHighest-value facts, each prefixed with its category id in brackets, and the source that saved it.
truncatedNo
connectionsNo
changesSinceNoMemories written after the synthesized summary was generated, so a stale summary is paired with what changed.
integrationsNo
truncated_boxesNo

TDQS

A4.8/5.0
Behavior5/5

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

Beyond the readOnlyHint the description discloses real behavioral traits: the overview is budget-bounded and sets 'truncated' naming the box ids to open, sections are strict pages, box opens return ONE PAGE with a total requiring repeated calls with page: 2, 3, and unknown boxes return a clean empty result rather than an error. These are non-obvious operational facts the annotations do not carry.

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?

Front-loaded with purpose then cleanly organized into three numbered modes, and every mode carries actionable detail. It is long (~350 words) and slightly redundant, mentioning configure_profile_search for lookups twice and re-describing return fields the output schema already covers, which costs a point.

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, multi-mode read tool with an output schema, the description covers mode selection, pagination, truncation, empty-box handling, and auth failure. Nothing an agent needs to call it correctly is missing.

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 per-parameter semantics already live in the schema and a 3 baseline applies. The description nonetheless adds interaction semantics the schema does not (how box/page/since form a pagination loop, that sections are exclusive of box, that detail defaults to compact with truncated marking), so it exceeds the baseline.

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 and resource ('Read the current user's approved profile') and the body enumerates three concrete access modes (no-arg overview, sections, box). It repeatedly and explicitly distinguishes itself from configure_profile_search and configure_connect, so an agent can route without opening the 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/when-not guidance: the no-arg overview is gated on an explicit review request, personalized help routes to configure_profile_search with a concrete query, and point lookups/filtering route to search. It even names the fallback (configure_connect) for the auth-challenge case, leaving nothing to inference.

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

configure_profile_rememberAInspect

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.

ParametersJSON 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

ParametersJSON Schema
NameRequiredDescription
boxNoBox the note was filed under.
errorNo
savedNo
memoryNo
sourceNo
distilledNo

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.

configure_profile_remember_manyAInspect

Use this when the user asks to save several facts at once, or approves a list of facts you proposed. Saves each entry as a separate memory in the user's Configure profile, in one call. Send only facts the user asked to save or approved, each a short standalone statement about the user. If the user asks to review first, show the list and wait for their approval before calling. Use configure_profile_remember for a single fact. Accepts 1 to 25 facts per call, up to 1,000 characters each and 20,000 in total; send a longer approved list as several calls. It is not for passwords, keys, payment or health details, government identifiers, identity documents, sensitive personal attributes (race, religion, politics, sexuality, biometrics or genetics), or other people's personal data; the server's pattern checks are a backstop, not a complete filter, so these are left out before calling. Optional box files a fact under a category. Additive: it never changes or deletes existing memories. Returns a result for each entry and counts of saved, already_saved, refused and failed. Report those counts accurately, retry only failed entries, and never say the whole list was saved when some entries were refused or failed. Use configure_profile_import instead when the user supplies raw material rather than a list of facts: a note, a document, or an export from another assistant.

ParametersJSON Schema
NameRequiredDescriptionDefault
factsYesShort standalone facts the user asked to save or approved. At most 20,000 fact characters in total.

Output Schema

ParametersJSON Schema
NameRequiredDescription
countsYes
resultsYes

TDQS

A4.6/5.0
Behavior5/5

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

Annotations only declare readOnlyHint=false, destructiveHint=false and openWorldHint=false. The description adds substantial non-obvious behavior: additive semantics ('never changes or deletes existing memories'), batch limits (1-25 facts, 1,000 chars each, 20,000 total), an explicit sensitive-data exclusion list, and a warning that server pattern checks are a backstop rather than a complete filter.

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?

Front-loads the when-to-use condition and then packs constraints and exclusions into dense, purposeful sentences. It is long but nearly every clause carries a distinct constraint; only the return-value recount is slightly redundant given the output schema.

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 batch mutation tool with an output schema present, the description covers the approval gate, size limits, exclusion policy, additive behavior, and error-handling guidance ('retry only failed entries, and never say the whole list was saved when some entries were refused or failed'). Nothing an agent needs to invoke or report on this tool is missing.

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?

Schema description coverage is 100%, so the schema already documents 'fact' and 'box' including the category and length constraints. The description reinforces intent ('each a short standalone statement about the user', 'box files a fact under a category') but adds little beyond what the structured fields already say, so the baseline 3 applies.

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?

States a specific verb and resource ('Saves each entry as a separate memory in the user's Configure profile, in one call') and explicitly distinguishes itself from siblings: configure_profile_remember for a single fact and configure_profile_import for raw material. An agent can route correctly without opening any 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?

Gives explicit triggering conditions ('user asks to save several facts at once, or approves a list of facts you proposed'), a pre-call approval workflow ('show the list and wait for their approval'), and named alternatives for the single-fact and raw-material cases. When-to-use and when-not are both covered.

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

configure_project_shareA
Destructive
Inspect

Share one Configure project without making a copy. Four modes with different stakes — action "list" only inspects (grants and open counts, changes nothing); every other mode changes access outside this conversation and needs the user's explicit go-ahead for that specific change. action "share" grants a named person (email or phone) read access, write only when the user explicitly grants it; "share" with mode "link" mints a public read-only link — confirm the user wants it public; "revoke" with grant_id removes one grant, and "revoke" WITHOUT grant_id unshares the whole project — confirm which of the two the user means before calling. Link tokens are shown once and never appear in grant listings.

ParametersJSON Schema
NameRequiredDescriptionDefault
modeNoUse "link" to mint a public read-only link. Links can never write.
withNoEmail address or E.164 phone number for a private member share.
actionYesThe sharing action to perform.
projectYesProject slug, such as "billing-migration" or box id "projects/billing-migration".
grant_idNoGrant id from a prior list result. Omit it with action "revoke" to unshare the whole project.
can_writeNoFor a member share, allow the member to append notes. Omit or false for read-only membership.
expires_in_daysNoOptional whole-number lifetime for this grant, from 1 to 3650 days.

Output Schema

ParametersJSON Schema
NameRequiredDescription
grantNo
shareNo
tokenNoRaw link token. Present exactly once in a successful link mint result and never in listings.
grantsNo
projectYesThe canonical projects/<slug> box.
revokedNo
grant_idNo
resolvedNoWhether a member contact resolved to a Configure identity.
share_urlNoPublic read-only URL. Present only in a successful link mint result.

TDQS

A4.8/5.0
Behavior5/5

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

Annotations declare destructiveHint=true/openWorldHint=true, but the description goes further: it discloses that only 'list' is non-mutating, that link tokens are shown once and never appear in grant listings, and that shares affect access outside the conversation. That is exactly the extra behavioral context the annotations cannot convey.

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?

A single dense paragraph that front-loads the highest-stakes constraint (confirmation for non-list modes). Every sentence carries information, though the run-on structure around the four modes could be broken for easier scanning.

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?

An output schema exists, so return values need no explanation; the description instead covers the decision points an agent needs — mode selection, confirmation duties, and the one-time nature of link tokens. Nothing material is missing for a 7-param destructive tool.

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%, so the baseline is 3; the description earns an extra point by clarifying parameter interactions the schema states only individually — e.g. 'share' with mode 'link' mints a public link, and 'revoke' with vs. without grant_id produces entirely different outcomes.

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?

States a specific verb and resource ('Share one Configure project') and adds a distinguishing scope constraint ('without making a copy'). An agent can immediately tell this apart from the profile/connect siblings, none of which deal with sharing.

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?

Explicitly enumerates the four modes and their stakes, says which mode is read-only ('list only inspects'), and states when explicit user confirmation is required for each mutating path. It even distinguishes the two 'revoke' sub-cases and warns to confirm which is meant.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 9 tool updates
    • First observedconfigure_connect
    • First observedconfigure_profile_commit
    • First observedconfigure_profile_forget
    • First observedconfigure_profile_import
    • First observedconfigure_profile_read
    • First observedconfigure_profile_remember
    • First observedconfigure_profile_remember_many
    • First observedconfigure_profile_search
    • First observedconfigure_project_share

Publisher details

Operator
Configure · Publisher source
Operator website
https://configure.dev
Vendor relationship
First-party · Publisher source
Trust center
Unknown
Restrictions
A Configure account and user-approved OAuth connection are required to access saved context. The profile must contain context the user has chosen to save. Optional linked apps require separate authorization. · Publisher source

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    Enables brand visibility monitoring across major AI platforms like ChatGPT, Claude, Gemini, and Perplexity. It allows users to track visibility scores, analyze competitor data, and receive actionable insights to improve AI-generated brand recommendations.
    16
    22 npm
    1
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Browse IndustryLens's published competitive-intelligence reports and head-to-head competitor comparisons from any AI agent — real, source-backed data.
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources