Skip to main content
Glama

Walrus Memory Claude Code plugin

Walrus Memory gives Claude Code durable, user-owned memory through the published @mysten-incubation/memwal-mcp server.

This repository is the marketplace plugin handoff requested for Claude Code. It contains only plugin packaging and user guidance. The MCP SDK source, tests, versioning, and npm release workflow remain canonical in MystenLabs/MemWal/packages/mcp.

Included

  • Claude Code plugin manifest: .claude-plugin/plugin.json

  • MCP server config: .mcp.json

  • Slash commands: commands/

  • Setup skill: skills/setup/

  • Lifecycle hooks: hooks/hooks.json

  • Usage documentation: docs/usage/

The plugin starts the published MCP package with npx; this repository does not publish a second SDK package.

Related MCP server: LedgerMem MCP Server

Validate locally

claude plugin validate . --strict
claude --plugin-dir .

Inside Claude Code:

/memwal:setup
/memwal:health
/memwal:remember I use Walrus Memory from Claude Code.
/memwal:recall Claude Code Walrus Memory setup

Commands

  • /memwal:setup

  • /memwal:health

  • /memwal:remember

  • /memwal:recall

  • /memwal:analyze

  • /memwal:restore

  • /memwal:logout

Authentication

The Claude Code plugin uses local stdio MCP and the existing delegate-key login flow. memwal_login opens the browser setup flow and stores credentials locally at:

~/.memwal/credentials.json

Do not paste this file or its private key into chat.

The hosted Claude custom connector is a separate remote OAuth surface. See docs/usage/hosted-connector.md.

Ownership handoff

This public repository is temporarily hosted under CommandOSSLabs for preparation. It is intended for transfer to MystenLabs before official marketplace submission.

License

Apache-2.0

Available Tools

5 tools
memwal_analyzeB

Extract memorable facts from a passage of text (preferences, habits, biographical info, constraints) and save each as a separate Walrus Memory memory.

ParametersJSON Schema
NameRequiredDescriptionDefault
textYes
namespaceNo

TDQS

B3.3/5.0
Behavior2/5

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

With no annotations provided, the description must disclose behavioral traits on its own. It mentions that it saves memories, which implies a write operation, but it does not explain side effects (e.g., whether it overwrites existing memories), authentication requirements, or failure behaviors like handling no memorable facts found.

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

Conciseness5/5

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

The description is a single, concise sentence that front-loads the action and resource. Every word contributes value, with no redundant information or filler.

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

Completeness2/5

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

The tool is moderately complex with no output schema or annotations, so the description should explain more about behavior and expected outcomes. It does not mention what is returned (e.g., saved memory IDs or count), nor does it cover prerequisites like logging in. This leaves the agent with insufficient information for a non-trivial write operation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds meaning to the 'text' parameter by describing it as a passage containing preferences, habits, etc., but it completely omits any explanation of the 'namespace' parameter. Since schema description coverage is 0%, this is a significant gap for a required parameter and an optional one.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function: extracting memorable facts from a passage of text and saving each as a separate memory. It specifies the resource (passage of text) and the action (extract and save), and distinguishes itself from siblings by focusing on analysis and bulk-saving rather than single recall or restore.

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

Usage Guidelines3/5

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

Usage is implied: the description indicates it is for extracting multiple memorable facts from a text, but it does not explicitly say when to use this over alternatives like memwal_remember or memwal_recall, nor does it mention any exclusions or prerequisites.

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

memwal_loginA

Sign this MCP client into your Walrus Memory account by opening a browser. Run once when the agent reports Walrus Memory is not signed in. Opens the dashboard in the default browser, waits for wallet approval, then writes credentials to ~/.memwal/credentials.json. Other memwal_* tools become usable on the next call after a successful login.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.7/5.0
Behavior5/5

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

With no annotations, the description carries the full burden and does well: it discloses that a browser opens, it waits for wallet approval, it writes credentials to ~/.memwal/credentials.json, and that the effect is one-time/session-enabling. These are meaningful behavioral details beyond simply saying 'login.'

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

Conciseness4/5

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

The description is front-loaded with the main purpose and stays focused, but there is slight redundancy: 'by opening a browser' and 'Opens the dashboard in the default browser' convey the same idea. Otherwise, every sentence adds important context.

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

Completeness4/5

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

For a zero-parameter auth tool with no output schema and no annotations, the description covers the trigger, the process, the credential file location, and the post-login state. It does not address failure modes or security caveats, but overall it is sufficiently complete for an agent to use it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so the baseline is 4. The description adds no parameter-specific semantics, but none are needed since the input schema is empty and schema coverage is effectively 100%.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly specifies the verb ('Sign this MCP client into') and resource ('Walrus Memory account'), and distinguishes it from siblings by focusing on authentication rather than data operations like remember or recall. The core action is unmistakable.

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 explicitly states when to run the tool: 'Run once when the agent reports Walrus Memory is not signed in.' It also clarifies that other memwal_* tools become usable only after a successful login, establishing this as a prerequisite rather than an alternative.

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

memwal_recallA

Search the user's Walrus Memory for facts relevant to a query. Returns matching memories ranked by relevance.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
queryYes
namespaceNo

TDQS

A3.9/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It does add useful behavior: 'returns matching memories ranked by relevance' and implies a read-only search. However, it does not disclose potential edge cases, authorization requirements, or rate limits. The behavior described is consistent but not comprehensive.

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

Conciseness5/5

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

The description is extremely concise, consisting of two short sentences that immediately convey the tool's purpose and return behavior. Every word earns its place, with no redundant information or filler.

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

Completeness4/5

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

For a relatively simple search tool, the description provides enough context to understand what the tool does and what it returns. However, given the lack of an output schema and parameter descriptions, the description could be more complete by explaining the 'limit' and 'namespace' parameters. Still, it covers the core functionality adequately.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, meaning the input schema provides no parameter descriptions. The description only implicitly references the 'query' parameter via 'relevant to a query' but says nothing about 'limit' or 'namespace'. These parameters remain unexplained, so the description fails to compensate for the schema's lack of detail.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function: 'Search the user's Walrus Memory for facts relevant to a query.' It uses a specific verb ('Search') and resource ('Walrus Memory'), and the mention of 'returns matching memories ranked by relevance' distinguishes it from sibling tools like memwal_remember (which stores) and memwal_analyze (which analyzes).

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

Usage Guidelines4/5

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

The description implies a clear use case: when you need to retrieve relevant facts from the user's memory. However, it does not explicitly mention alternatives or when not to use this tool, unlike a high-scoring tool that names a sibling as an alternative. The context is clear but lacks explicit exclusions.

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

memwal_rememberA

Save a fact to the user's Walrus Memory personal memory. Call ONLY when the user explicitly asks to remember/save something. Pass the full, detailed text — never summarize.

ParametersJSON Schema
NameRequiredDescriptionDefault
textYes
namespaceNo

TDQS

A4/5.0
Behavior3/5

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

With no annotations, the description carries the transparency burden. It adds the input constraint 'Pass the full, detailed text — never summarize,' which gives operational context. However, it does not disclose what happens on save (e.g., overwrite behavior, response, errors), leaving some behavioral gaps.

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

Conciseness5/5

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

The description is two sentences, front-loaded with purpose, and every sentence adds value. No wasted words.

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

Completeness4/5

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

For a simple save operation with a minimal schema, the description covers when to call and how to pass text. The absence of namespace documentation and any mention of return values are minor gaps given the tool's low complexity.

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 0%, so the description must compensate. It clarifies that 'text' should be the full detailed content, adding semantic meaning. However, the 'namespace' parameter is entirely undocumented, and the description does not explain its role or default behavior.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool saves a fact to the user's Walrus Memory personal memory. The verb 'save' and resource 'Walrus Memory personal memory' are specific, and the instruction to call ONLY on explicit requests distinguishes it from sibling tools like recall or analyze.

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

Usage Guidelines4/5

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

The description provides a clear trigger condition: 'Call ONLY when the user explicitly asks to remember/save something.' This is strong when-to-use guidance, though it does not explicitly name alternatives or when-not-to-use scenarios beyond the explicit request condition.

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

memwal_restoreA

Re-index a namespace from Walrus blobs back into the relayer's search index. Returns counts and truncated status; call again with a higher limit when truncated=true.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
namespaceYes

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It discloses the return format (counts, truncated status) and pagination behavior (call again with higher limit), but it does not state whether the operation is destructive (e.g., clearing existing index), any permission requirements, or potential side effects. This is significant for a mutation tool, leaving gaps.

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

Conciseness5/5

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

The description is two sentences, with the first stating the core purpose and the second conveying return/pagination info. It is front-loaded, concise, and every word earns its place.

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

Completeness3/5

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

The description covers the purpose, return behavior, and pagination handling, which is decent for a tool with no output schema. However, it lacks detail on the mutation behavior (e.g., whether it replaces/merges the index), the meaning of 'counts', and error conditions. Given the tool's mutation nature and missing annotations, a more comprehensive description would be needed for a higher score.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

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 vaguely references 'limit' in the context of pagination ('call again with a higher limit'), but it does not explain what 'namespace' means or the exact semantics of either parameter. This is insufficient for a tool with two parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Re-index') with a clear resource ('a namespace') and source/destination ('from Walrus blobs back into the relayer's search index'). It distinctly separates itself from sibling tools like memwal_recall or memwal_remember by focusing on index restoration.

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

Usage Guidelines4/5

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

The description provides clear context for when to use the tool (restoring/re-indexing a namespace), and the truncation note ('call again with a higher limit when truncated=true') gives practical usage guidance. However, it does not explicitly contrast with alternatives or state exclusions, so it stops short of a 5.

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

TDQS

A3.9/5.0
Disambiguation5/5

Each tool serves a distinct purpose: login for authentication, remember for explicit saving, analyze for batch extraction, recall for searching, and restore for index maintenance. Although analyze and remember both create memories, their trigger conditions are clearly separated (passage processing vs. direct user request), preventing misselection.

Naming Consistency5/5

All tools follow a uniform memwal_<verb> pattern using lowercase snake_case. The verb stems (analyze, restore, login, remember, recall) are consistent and predictable, making the naming highly coherent.

Tool Count5/5

With only five tools, the surface is compact and focused on the essential operations of a personal memory system: authentication, writing, reading, batch processing, and maintenance. No tool feels redundant or extraneous.

Completeness3/5

The set covers authentication, creation, recall, and bulk ingestion, but lacks update and delete operations. For a memory system, the inability to forget or correct stored facts is a notable gap that could limit agent effectiveness.

Maintenance

ActivityMaintained
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • -
    license
    Not graded
    quality
    Not graded
    maintenance
    Integrates the Mem0 Memory API with MCP-compatible clients to provide AI agents with persistent, long-term memory capabilities. It enables users to add, search, update, and delete memories to maintain context and personalization across different interactions.
  • A
    license
    A
    quality
    C
    maintenance
    Enables AI memory persistence and secure credential management via vault tools for MCP-compatible clients like Claude Desktop, Cursor, and VS Code.
    12
    27
    MIT

Latest Blog Posts

MCP directory API

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

curl -X GET 'https://glama.ai/api/mcp/v1/servers/CommandOSSLabs/walrus-memory-mcp-plugin'

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