Life Memory MCP
Allows fetching the default public memory registry hosted on raw GitHub and importing public memory archives hosted on raw GitHub URLs.
Allows hosting public memory archives on GitHub Pages and importing them as public archives for discovery or consented persona loading.
Allows hosting public memory archives on an IPFS gateway and importing them via URL for verified public memory discovery.
Allows hosting public memory archives on Zenodo and importing them via stable HTTPS URLs for verified public memory discovery.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Life Memory MCPСохрани воспоминания в архив"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Life Memory MCP
Portable, user-owned memory for AI. Save memories, reflections, values and stories; export them in an open JSON format; publish only what you explicitly choose; discover public archives; and load a consented archive as context for a clearly-labelled memory-based AI persona.
A memory-based persona is not the real person, their consciousness, soul, or a guaranteed reconstruction. It is an AI simulation constrained by the archived material.
One-sentence install request for an AI
Tell an AI that can install MCP servers:
Install the Life Memory MCP from
officiallionsurfnet-create/life-memory-mcpon GitHub and connect it as an MCP server for saving and loading user-controlled memory archives.
If the AI can run shell commands, the canonical stdio command is:
npx -y github:officiallionsurfnet-create/life-memory-mcpThe repository also contains AI_INSTALL.md and ai-install.json so another capable AI can discover the exact setup without guessing.
Related MCP server: Sovereign Universal Memory MCP
What it can do
create_memory_profile— create a private archive and receive a secret owner token.start_memory_save_interview— opens the mandatory save interview, but only after the exact trigger phrase.save_memory— final save step after the interview and explicit user confirmation.search_memory— search a profile.set_memory_sharing— private / unlisted / public and persona-simulation consent.export_memory_archive— produce a portable JSON archive with SHA-256 integrity metadata.discover_public_memories— find archives in a registry.import_public_memory— import a public archive from URL and verify its integrity.load_memory_persona— load only consented material for a clearly-labelled AI simulation.delete_memory— delete a local entry (published copies elsewhere cannot be guaranteed removable).
Exact save trigger and interview
Life Memory is deliberately not an automatic chat logger. An AI must not save ordinary conversation, inferred preferences, background details, or a whole transcript on its own.
A save workflow may begin only after the user says exactly:
Сохрани воспоминания в архив
No synonym or paraphrase counts. After that phrase, the AI must start start_memory_save_interview and ask:
What exactly should be saved?
In what context should it be understood?
Keep the exact words, a summary, or both?
Should the entry be private or public?
After showing the final formulation: does the user explicitly confirm it?
Only after the final confirmation can save_memory succeed. The plugin enforces this with a short-lived interview session ID, so a host AI cannot directly call save_memory without first passing the exact trigger gate.
This means the archive behaves more like a deliberate personal notebook than a hidden transcript recorder.
Privacy by design
New profiles and new memories are private by default. Saving itself requires the exact trigger phrase, a mandatory interview, and explicit final confirmation. Publishing requires an explicit action. Persona simulation is a separate consent flag and defaults to false. The owner token is shown once and stored only as a SHA-256 hash.
Do not put passwords, financial secrets, private medical records, government identifiers, or other highly sensitive information into a public archive.
Local install (MCP stdio)
Requires Node.js 20+.
git clone https://github.com/officiallionsurfnet-create/life-memory-mcp.git
cd life-memory-mcp
npm install
npm startOr directly:
npx -y github:officiallionsurfnet-create/life-memory-mcpExample MCP config:
{
"mcpServers": {
"life-memory": {
"command": "npx",
"args": ["-y", "github:officiallionsurfnet-create/life-memory-mcp"]
}
}
}HTTP mode for ChatGPT-compatible remote MCP hosts
The project also supports Streamable HTTP:
npm run start:httpEndpoint: http://127.0.0.1:3000/mcp
For any internet-facing deployment, set a secret:
MEMORY_API_KEY="a-long-random-secret" HOST=0.0.0.0 PORT=3000 npm run start:httpThen terminate TLS at your hosting provider/reverse proxy. Never expose a writable memory server publicly without authentication.
Public memory discovery
The default registry URL is:
https://raw.githubusercontent.com/officiallionsurfnet-create/life-memory-mcp/main/registry/profiles.jsonA public registry entry points to a static archive URL. Anyone can host their archive on GitHub Pages, raw GitHub, Zenodo, a personal website, IPFS gateway, or another stable HTTPS host. The plugin can then import it.
Talking with an archived memory
When a user chooses a public profile that explicitly allowed simulation, the host AI calls load_memory_persona. The returned context contains strict rules:
Never claim to literally be the archived person.
Use the archive as the evidence base.
Say when the archive does not contain an answer.
Separate direct memory from inference.
Clearly label the conversation as a memory-based simulation.
This is intentionally different from claiming to resurrect or upload a consciousness.
Open archive format
See docs/ARCHIVE_FORMAT.md and examples/aslan-life-message.json.
Why this project exists
The founding principle is simple:
Choose life. Create rather than destroy. Protect rather than ruin. Let the strength of intelligence be used to protect life, not to destroy it.
License
Code: MIT. Memory archives choose their own content license inside profile.license.
Available Tools
12 toolscreate_memory_profileB
Create a new private memory profile. Returns a secret owner token exactly once. Keep it private.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | No | ||
| visibility | No | private | |
| description | No | ||
| display_name | Yes | ||
| consent_to_simulation | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it does disclose one genuinely valuable trait: the secret owner token is returned exactly once and must be kept private. However, it says nothing about whether creation is idempotent, what happens on duplicate slugs, permissions required, or the consequences of losing the token beyond the implied warning.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, no filler, and the two most actionable facts (creation, one-time token) are front-loaded. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a five-parameter creation tool with no annotations, no output schema, and 0% schema coverage, the description is too thin. An agent still lacks any explanation of the visibility, slug, or consent_to_simulation parameters and has no sense of error or retry behavior when creation fails.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across five parameters, so the description must compensate and it does not: slug, visibility, description, and consent_to_simulation are never mentioned or explained. Worse, calling the profile 'private' while the schema exposes a visibility enum with public/unlisted options creates mild confusion about what the parameter controls.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Create a new ... memory profile'), which is unambiguous on its own. It doesn't explicitly distinguish the tool from siblings like set_memory_sharing or import_public_memory, but the create/own-profile scope is reasonably evident.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to create a profile versus using a sibling such as import_public_memory or discover_public_memories, nor any stated prerequisites. The only conditional content is a warning about the token, not a when-to-use rule.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_memoryA
Delete one local memory entry. Requires owner token. This cannot remove copies already published or mirrored elsewhere.
| Name | Required | Description | Default |
|---|---|---|---|
| profile | Yes | ||
| memory_id | Yes | ||
| owner_token | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It does add valuable context: an owner token is required, and deletions do not propagate to published/mirrored copies. It does not disclose whether the local deletion is permanent/irreversible, how failures are reported, or rate limits, so it stops short of a full behavioral picture for a destructive operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences with the core action front-loaded, followed by the credential requirement and then the scope caveat. No filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive local mutation tool with no annotations, no output schema, and 0% schema description coverage, the description covers purpose, authentication, and blast radius but leaves irreversibility, error behavior, and two of three parameters unexplained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across three required parameters. The description only clarifies one of them, owner_token, as an authorization credential. It says nothing about the meaning or expected form of 'profile' or the UUID 'memory_id', so the least-documented parameters are left entirely to the agent's inference.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Delete one local memory entry') and scopes it as local, which distinguishes it from sibling tools that operate on shared/published memories. An agent can tell what this tool does 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the use case (removing a local entry) and draws a boundary by noting it cannot remove published or mirrored copies, which hints the agent must look elsewhere for those. However, it never names an alternative tool (e.g., set_memory_sharing) or states when not to use this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
discover_public_memoriesC
Find public memory archives listed in the Life Memory registry.
| Name | Required | Description | Default |
|---|---|---|---|
| query | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations at all, the description carries the entire behavioral burden. 'Find' implies a read-only lookup, but nothing is said about whether results are paginated, what fields are returned, how the registry is scoped, or what happens with an empty query.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One tight sentence that front-loads the verb and resource with no filler. It is efficient, though the brevity is partly the cause of the missing detail rather than pure economy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a discovery tool with no output schema, no annotations, and an undocumented parameter, the description leaves too much unspecified: return shape, pagination, and query semantics are all absent. It is not complete enough for an agent to call confidently without guessing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single 'query' parameter has only a default of empty string, with no documented meaning, matching behavior, or format. The description does not compensate by explaining what the query searches over, so an agent cannot tell whether it is a keyword, prefix, or empty-means-list-all filter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Find) and resource (public memory archives) with scope (listed in the Life Memory registry), which is enough to separate it from siblings like search_memory or list_memory_profiles. It does not explicitly name which sibling to prefer when, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this over search_memory or list_memory_profiles, nor any stated prerequisites or exclusions. The agent must infer that this is the discovery entry point for the public registry.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
export_memory_archiveC
Export a portable JSON memory archive. Public-only export is suitable for sharing or publishing.
| Name | Required | Description | Default |
|---|---|---|---|
| license | No | CC-BY-4.0 | |
| profile | Yes | ||
| owner_token | Yes | ||
| public_only | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden, and it discloses little. It does not clarify that export is a non-destructive read, that owner_token acts as authentication, what the archive actually contains, or whether private memories are excluded when public_only is set.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short, front-loaded sentences with no filler; the core action leads and the use-case note follows. It is efficiently sized, though the second sentence is a touch vague about mechanics.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 4-parameter tool with 0% schema coverage, no annotations, and no output schema, the description is too thin. An agent receives no auth expectations, no notion of what the export contains, and no guidance on the license or profile parameters.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 4 parameters (profile, owner_token, license, public_only). The description only loosely gestures at public_only via "public-only export" and says nothing about the required profile, the secret owner_token, or the license field.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a clear verb+resource ("Export a portable JSON memory archive") and even names the output format, which helps distinguish it from import/list siblings. It does not, however, explicitly differentiate itself from siblings such as import_public_memory or set_memory_sharing, so an agent must infer the boundary.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The second sentence gives partial usage context by tying public-only export to "sharing or publishing," which is implied guidance to keep public_only=true in those cases. It never states when to use this tool over siblings, nor when-not, so guidance remains implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
import_public_memoryB
Import a public/unlisted Life Memory archive from a URL after verifying its archive format and integrity hash.
| Name | Required | Description | Default |
|---|---|---|---|
| archive_url | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It does disclose one real behavioral trait — the archive format and integrity hash are verified before import — but omits failure behavior on a bad hash, auth requirements, whether importing is destructive or idempotent, and where the imported archive lands.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with the verb and resource leading. Nothing is padded, though the trailing 'after verifying...' clause reads as a caveat rather than an instruction.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation/import tool with no annotations, no output schema, and an undocumented parameter, the description is under-specified. It omits success/failure outcomes, permission needs, and the relationship to the profile-creation siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
One parameter with 0% schema description coverage. The description adds the constraint that the URL points to a public or unlisted archive URL, which is useful, but it does not clarify accepted URL forms, size limits, or whether the archive must be directly downloadable.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a concrete verb ('Import') plus a specific resource ('public/unlisted Life Memory archive') and the source ('from a URL'). This is distinguishable from siblings like export_memory_archive and save_memory, though it never explicitly names an alternative.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use, when-not-to-use, or prerequisite guidance. An agent cannot tell from the description whether this applies to archives discovered via discover_public_memories or whether it must run before or after create_memory_profile.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
life_memory_install_infoB
Return canonical installation, save-consent, and safety information for Life Memory MCP.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. 'Return ... information' implies a safe, side-effect-free read operation, and the content categories (installation, consent, safety) are disclosed. However, it does not explicitly confirm it is read-only or that it performs no mutation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler; every word earns its place and the core purpose leads the sentence.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations and no output schema, the description is the only signal about the return payload. It names the content categories (installation, consent, safety) but gives no sense of structure or provenance, so it is minimally adequate for a zero-argument reference tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so per the baseline this scores 4. There are no arguments whose meaning the description needs to clarify.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Return') and enumerates the resource content (canonical installation, save-consent, and safety information for Life Memory MCP). This is clearly distinguishable from siblings like list_memory_profiles or save_memory, though it doesn't name an alternative explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use or when-not-to-use guidance is given. An agent can infer this is a reference/info tool from the name and description, but nothing states when it should be called versus other discovery tools such as list_memory_profiles or load_memory_persona.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_memory_profilesB
List profiles stored in this Life Memory installation.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. 'List' implies a read-only operation, but the description does not explicitly state read-only/non-destructive behavior, permissions, pagination, or what profile data is returned.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence with no filler, front-loading the action and resource. It is appropriately sized for a simple no-parameter list tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given low complexity and no parameters or output schema, the description states the core action and scope. However, it omits any routing context against sibling tools and provides no behavioral detail, leaving it only minimally complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero input parameters, so there are no parameter semantics to document. Baseline 4 is appropriate even though the empty schema provides no additional description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb 'List' and resource 'profiles' with scope 'stored in this Life Memory installation'. It does not distinguish itself from siblings such as create_memory_profile or search_memory, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, alternatives, or prerequisites are given. An agent must infer from the verb alone that this is for enumerating profiles, with no indication of when to choose search_memory or create_memory_profile instead.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
load_memory_personaB
Load a consented public/imported memory profile as context for a clearly-labeled AI simulation. The host AI should then converse using only this archive, never claiming to literally be the person.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | No | ||
| profile | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden and does disclose meaningful constraints: the profile must be consented, the simulation must be clearly labeled, and the AI must not claim to literally be the person. It omits operational behavior like error handling for unknown profiles, what limit/query actually do, or what is returned.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, tightly front-loaded with the action and then the behavioral constraint. No filler, and the ethical directive is not buried.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema and no annotations mean the description must do all the work, yet three parameters are undocumented and the return shape is unspecified. It is strong on ethics but inadequate for correct invocation of a parameterized retrieval tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for three parameters (profile, query, limit), and the description explains none of them. 'This archive' faintly gestures at the profile argument, but there is no indication of query's filtering role or limit's cap on returned items, leaving the required parameter and the retrieval controls undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (load) and resource (a consented public/imported memory profile) used as context for an AI simulation, which is distinct from siblings such as create_memory_profile or import_public_memory. It is clear what the tool does, though it never explicitly names or contrasts itself against a sibling.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'as context for a clearly-labeled AI simulation' implies the use case (persona simulation over an archive), and 'converse using only this archive' hints at intended downstream behavior. However, it gives no explicit when-to-use versus list_memory_profiles or search_memory, and no prerequisites such as the profile needing to already exist or be consented/imported.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
save_memoryA
FINAL save step after start_memory_save_interview. Never call directly. Requires a valid interview session created only by the exact phrase "Сохрани воспоминания в архив", required context fields, and explicit final user confirmation.
| Name | Required | Description | Default |
|---|---|---|---|
| tags | No | ||
| text | Yes | ||
| title | No | ||
| context | Yes | ||
| profile | Yes | ||
| source_ref | No | ||
| visibility | No | private | |
| owner_token | Yes | ||
| source_type | No | user | |
| what_to_save | Yes | ||
| wording_mode | No | summary | |
| user_confirmed | Yes | ||
| interview_session_id | Yes |
TDQS
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 it does disclose the critical gating behavior: the session must originate from an exact trigger phrase and user_confirmed must be an explicit final confirmation. It does not describe side effects (e.g., what becomes visible or public, whether the write is reversible), so it stops short of full transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences with the most critical constraint ('Never call directly') front-loaded immediately after the identity sentence. There is no filler, and each sentence adds a distinct precondition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 13-parameter mutation with no annotations, no output schema, and 0% schema description coverage, the description covers the authorization/gating story well but leaves the semantics of most inputs undocumented. An agent knows when it may call the tool but not what most of its arguments should contain.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 13 parameters, so the description must compensate and largely does not. Only 'context' is hinted at ('required context fields') and user_confirmed is confirmed as a hard requirement; parameters like visibility, wording_mode, source_type, tags, owner_token, and what_to_save are never explained, leaving the agent to infer their meaning from names alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description frames the tool as the 'FINAL save step after start_memory_save_interview', which states both the operation (persisting a memory) and its position in the workflow, and explicitly differentiates it from the sibling that begins the flow. The core verb+resource ('save memory') is carried mostly by the name rather than restated, but the sequencing context is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives explicit when/when-not guidance: 'Never call directly', only after start_memory_save_interview, only with a valid session, only with the exact trigger phrase, and only with explicit final user confirmation. An agent has no inference left to make about routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_memoryB
Search memories in a local profile. Private memories require the profile owner token.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | No | ||
| profile | Yes | ||
| owner_token | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It does disclose a genuine auth requirement – private memories need the profile owner token – which is real value beyond the schema. However, it says nothing about how matches are computed (semantic vs. substring), pagination, default result cap, or what an unauthorized search returns.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, no filler, with the core action stated first and the access constraint second. Nothing needs to be trimmed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a four-parameter tool with no annotations, no output schema, and zero schema description coverage, the description is too thin: it omits how the query string is interpreted, what the results look like, and how limit affects them. The auth note is the only substantive addition.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must explain all four parameters. It conveys the meaning of profile (local scope) and owner_token (needed only for private memories), but query and limit – including the default of 10 and max of 50 – go entirely unaddressed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb (“search”) and resource (“memories”) and scopes it to “a local profile,” which implicitly separates it from public-oriented siblings like discover_public_memories and from profile-management tools like list_memory_profiles. It stops short of explicitly differentiating itself from any named sibling, so it is clear but not fully self-locating.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to choose this tool over list_memory_profiles, discover_public_memories, or the save/delete tools, nor any exclusion. The only conditional guidance is the auth prerequisite for private memories, which is about permission rather than tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_memory_sharingB
Change whether a memory profile is private, unlisted, or public and whether AI persona simulation is allowed. Requires owner token.
| Name | Required | Description | Default |
|---|---|---|---|
| profile | Yes | ||
| visibility | Yes | ||
| owner_token | Yes | ||
| consent_to_simulation | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description carries the full behavioral burden. It discloses the auth requirement ('Requires owner token') but omits mutation semantics: whether changes are reversible, what happens to existing sharing state, any rate limits, or return format.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the core action, then the prerequisite. No redundant or filler content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a four-required-parameter mutation tool with no annotations and no output schema, the description is incomplete: it lacks parameter-level guidance, behavioral details, and usage context relative to siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It explains visibility values and consent_to_simulation, but the 'profile' and 'owner_token' parameters receive only implicit mention ('a memory profile', 'Requires owner token') with no details like expected format or ID source.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb 'Change' and resource 'memory profile' sharing settings, and enumerates the two dimensions (visibility and AI persona simulation consent). Distinguishes from siblings like create_memory_profile or save_memory which do not alter sharing settings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the unique action, but no explicit when-to-use vs alternatives, and no prerequisites beyond the owner token requirement. Siblings such as create_memory_profile or load_memory_persona are not referenced.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
start_memory_save_interviewB
Start the mandatory consent interview for saving a memory. This tool only succeeds if the user explicitly said exactly: "Сохрани воспоминания в архив". Starting an interview does NOT save a memory.
| Name | Required | Description | Default |
|---|---|---|---|
| profile | Yes | ||
| owner_token | Yes | ||
| candidate_text | No | ||
| trigger_phrase | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it does disclose two important behaviors: the exact-phrase precondition and that starting the interview is not itself a save. It says nothing about auth/consent state (owner_token), side effects of starting, or what the interview produces.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences with the core precondition front-loaded and the disambiguation note last; every sentence carries information. Slightly dense formatting with the embedded quoted phrase, but no waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a stateful, multi-step consent flow with no annotations and no output schema, the description covers the entry gate but omits the follow-on flow, required identity inputs, and result semantics. Adequate to decide whether to call, incomplete for calling it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 4 parameters. The description only hints at the value of trigger_phrase (the exact Russian phrase) without mapping it to the parameter, and says nothing about profile, owner_token, or candidate_text, so it fails to compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ("Start the mandatory consent interview") and distinguishes itself from the save operation with "Starting an interview does NOT save a memory," which routes the agent away from save_memory. It does not name siblings explicitly, but the negation effectively separates it.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives a concrete gating condition: the tool only succeeds if the user said the exact phrase "Сохрани воспоминания в архив," which is real when-to-use guidance. It lacks any statement of what to do instead when the precondition fails (e.g., point to save_memory or decline).
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.
12 tool updates
v0.2.0- First observed
create_memory_profile - First observed
delete_memory - First observed
discover_public_memories - First observed
export_memory_archive - First observed
import_public_memory - First observed
life_memory_install_info - First observed
list_memory_profiles - First observed
load_memory_persona - First observed
save_memory - First observed
search_memory - First observed
set_memory_sharing - First observed
start_memory_save_interview
TDQS
Scored across 12 tools
Each tool targets a distinct resource and action: profile creation vs. memory saving vs. sharing vs. export/import. The descriptions explicitly clarify boundaries, such as start_memory_save_interview not saving a memory and save_memory being the final step.
Most tools follow a clear verb_noun snake_case pattern (list_memory_profiles, create_memory_profile, search_memory). One outlier is life_memory_install_info, which is a noun phrase rather than verb_noun, and start_memory_save_interview is slightly awkward but still readable.
With 12 tools, the set is well-scoped for a memory management server covering profiles, sharing, public registry, and consent workflows. Each tool appears to earn its place without excessive redundancy.
Core operations like create, read (search/list), delete, and sharing are present, but obvious gaps exist: no update_memory to edit an existing memory, no delete_memory_profile to remove a profile, and no list_memories to enumerate all entries in a profile without search.
Maintenance
Related MCP Connectors
Person-owned AI memory that learns, not just stores — portable context for any MCP client.
A persistent AI self you own — memory, persona, judgment — portable across all your AI hosts.
Private, portable memory and reusable skills for AI agents.
Personal AI memory — gives every AI agent shared, persistent memory of you
Related MCP Servers
- FlicenseBqualityNot gradedmaintenanceProvides persistent personal and organizational knowledge storage that any LLM can connect to for instant context about who you are, what you do, and your preferences. Enables AI agents to maintain long-term memory across sessions through structured data categories, semantic search, and export/import capabilities.27-
- AlicenseNot gradedqualityDmaintenanceProvides a persistent, vendor-neutral memory layer that allows AI tools and agents to share context and knowledge across different platforms while maintaining local data ownership. It enables users to store, recall, and manage structured memories through hybrid semantic search and automated context assembly.9Apache 2.0
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to persist and retrieve memories via a personal knowledge graph, with tools for emotional intelligence, CRM, life management, social features, self-training, and autonomous insights.405MIT
- AlicenseNot gradedqualityBmaintenanceEnables personal cross-tool memory by exposing a searchable episodic archive of AI sessions and a curated, high-trust semantic facts layer through MCP tools and resources.MIT