Skip to main content
Glama
Jau-app

JauMemory MCP Server

Official
by Jau-app

JauMemory MCP Server

A Model Context Protocol (MCP) server that provides persistent memory capabilities for AI assistants like Claude. Store, recall, and analyze information across conversations with intelligent memory management.

Features

  • 🧠 Persistent Memory: Store information that persists across all sessions

  • 🔍 Smart Recall: Search memories using keywords or semantic similarity

  • 📊 Pattern Analysis: Automatically detect patterns and extract insights

  • 🏷️ Automatic Classification: Memories are automatically categorized (errors, solutions, insights, questions)

  • 🔄 Collection Consolidation: Roll a collection's memories up into a single summary memory

  • 🎯 Importance Scoring: Content-based importance assessment with learning value metrics

  • 🤝 Multi-Agent Support: Agent identities, shared memory, assignments via shortcut flags, error-pattern learning

  • 🚀 Production Ready: Connects to JauMemory cloud service with secure authentication

Related MCP server: Recall

Prerequisites

  • Node.js 18.0.0 or higher

  • npm or yarn

  • JauMemory account (free tier available at mem.jau.app)

Installation

From NPM

npm install -g @jaumemory/mcp-server

From GitHub

git clone https://github.com/Jau-app/jaumemory-mcp-server.git
cd jaumemory-mcp-server
npm install
npm run build

Configuration

Claude Desktop

Add to your Claude desktop configuration file:

MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "jaumemory": {
      "command": "npx",
      "args": ["-y", "@jaumemory/mcp-server"]
    }
  }
}

Note: Claude Desktop works with the npx approach without requiring global installation.

Claude Code

Add to your Claude Code configuration:

MacOS/Linux: ~/.config/claude/claude_code_config.json Windows: %APPDATA%\claude\claude_code_config.json

{
  "mcpServers": {
    "jaumemory": {
      "command": "npx",
      "args": ["-y", "@jaumemory/mcp-server"]
    }
  }
}

Cursor

  1. Open Cursor Settings

  2. Navigate to MCP section

  3. Add new MCP server with command: npx -y @jaumemory/mcp-server

Or edit configuration file:

MacOS/Linux: ~/.cursor/mcp_config.json Windows: %APPDATA%\Cursor\mcp_config.json

{
  "mcpServers": {
    "jaumemory": {
      "command": "npx",
      "args": ["-y", "@jaumemory/mcp-server"]
    }
  }
}

Cline

Installation (Required):

⚠️ IMPORTANT: Install in the same terminal environment where Cline will run:

  • Windows (native): Install in PowerShell or Command Prompt (the same environment Cline uses)

  • WSL (Windows Subsystem for Linux): Install in WSL terminal for your specific user

  • macOS/Linux: Install in your terminal of choice

npm install -g @jaumemory/mcp-server

If using both Windows and WSL, install in both environments:

# In Windows PowerShell
npm install -g @jaumemory/mcp-server

# In WSL terminal
npm install -g @jaumemory/mcp-server

Add to Cline MCP settings (in your Cline configuration file):

{
  "mcpServers": {
    "jaumemory": {
      "type": "stdio",
      "timeout": 60,
      "command": "npx",
      "args": ["-y", "@jaumemory/mcp-server"]
    }
  }
}

Note: The "type": "stdio" and "timeout": 60 settings are important for Cline compatibility. Installing in the correct terminal environment ensures Cline can find and execute the server. The global installation helps avoid Windows file locking issues.

Windsurf

Add to Windsurf MCP configuration:

{
  "mcpServers": {
    "jaumemory": {
      "command": "npx",
      "args": ["-y", "@jaumemory/mcp-server"]
    }
  }
}

GitHub Copilot

Add to GitHub Copilot MCP settings:

{
  "mcpServers": {
    "jaumemory": {
      "command": "npx",
      "args": ["-y", "@jaumemory/mcp-server"]
    }
  }
}

ChatGPT (Plus/Pro Required)

Add to ChatGPT MCP configuration:

{
  "mcpServers": {
    "jaumemory": {
      "command": "npx",
      "args": ["-y", "@jaumemory/mcp-server"]
    }
  }
}

Advanced Configuration (Optional)

Environment variables are not required for basic setup. Authentication is handled by the mcp_login and mcp_authenticate tools; no identity or credential values belong in configuration files.

Optional settings (see .env.example for the full list):

# Optional: Logging configuration
LOG_LEVEL=info
NODE_ENV=production

Note: Even with environment variables set, you must still authenticate using the mcp_login tool on first use.

Authentication

First-Time Setup

  1. Launch your AI assistant (Claude Desktop, Cursor, etc.) - the MCP server will start automatically

  2. Use the mcp_login tool to initiate authentication

  3. Click the approval link that opens in your browser

  4. Complete the authentication in your web browser

  5. The server will automatically store your credentials securely

That's it! No configuration files or environment variables needed for basic setup.

Usage

MCP Tools Available

The server exposes 50 tools. Full argument contracts for every tool are available in-band — call get_guide({ topic: "tools/<category>/<name>" }), or browse the same docs at https://mem.jau.app/v1/help.

Category

Tools

Discovery

search, fetch, get_guide

Auth

mcp_login, mcp_authenticate, mcp_logout

Memory

remember, recall, forget, update, analyze, consolidate, memory_stats

Agents

create_agent, list_agents, agent_memory, agent_error_learning, agent_reflection, update_agent_name, agent_collaboration

Collections

create_collection, list_collections, get_collection, add_to_collection, remove_from_collection, update_collection, delete_collection, consolidate_collection

Credential vault

vault_store, vault_list, vault_rotate

Tool registry

tool_create, tool_list, tool_render, tool_update, tool_call

Skills

skill_create, skill_list, skill_render, skill_execute

Toolkit

toolkit_search

Scheduling

skill_schedule, skill_schedule_list, skill_schedule_cancel, skill_schedule_retrigger, skill_tasks_pending, skill_task_retrigger, skill_tasks_list

Berrry integration

berrry_register_tool, berrry_create_tool

Highlights with examples:

Core Memory Tools

remember - Store a new memory with automatic classification

remember({
  content: "Important insight about TypeScript generics",
  tags: ["typescript", "learning"],
  importance: 0.8,
  shortcuts: ["--insight", "--high"]
})

recall - Search and retrieve memories

recall({
  query: "typescript generics",
  limit: 10,
  mode: "keyword" // or "semantic" for AI-powered search
})

forget - Delete a specific memory

forget({
  memoryId: "550e8400-e29b-41d4-a716-446655440000"
})

update - Update an existing memory

update({
  memoryId: "memory-id",
  content: "Updated content",
  importance: 0.9
})

Analysis Tools

analyze - Analyze patterns and extract insights

analyze({
  timeRange: "week" // or "day", "month", "all"
})

consolidate - Consolidate similar memories (args: similarity_threshold, min_group_size, archive_originals, dry_run). Note: the server does not implement standalone consolidation yet and returns a clean error pointing to consolidate_collection, which summarizes one collection's memories for real.

memory_stats - Get statistics about memories

memory_stats({
  query: "project-name",
  timeRange: { start: "2024-01-01", end: "2024-12-31" }
})

Multi-Agent Features

create_agent - Create an AI agent with personality

create_agent({
  name: "Code Reviewer",
  personalityTraits: ["analytical", "detail-oriented"],
  specializations: ["code-review", "best-practices"]
})

agent_error_learning - Two-strike error learning for agents

agent_error_learning({
  action: "report",
  agentId: "…uuid…",
  errorSignature: "TypeError user.profile undefined",
  errorMessage: "Undefined property access in user service"
})

Shortcuts System

Quick memory creation with metadata flags:

remember({
  content: "Fix authentication bug",
  shortcuts: ["--bug", "--high", "--assign @backend-dev", "--project webapp"]
})

Available shortcuts:

  • Types: --todo, --task, --bug, --question, --note, --reflection

  • Status: --pending, --wip, --done, --blocked [reason]

  • Priority: --low, --medium, --high, --urgent

  • Assignment: --assign @agent-name, --notify @agent1,@agent2

  • Context: --project name, --repo url

The full semantics live in get_guide({ topic: "concepts/shortcuts" }).

Memory Types

JauMemory automatically classifies memories:

  • 🔴 Error: Problems and bugs encountered

  • Solution: Fixes and resolutions

  • 💡 Insight: Patterns and realizations

  • Question: Unknowns and research needs

Development

# Install dependencies
npm install

# Run in development mode
npm run dev

# Build for production
npm run build

# Run tests
npm test

# Lint code
npm run lint

Project Structure

jaumemory-mcp-server/
├── src/                # TypeScript source code
│   ├── index.ts        # Main entry point
│   ├── auth/           # Authentication logic
│   ├── client/         # gRPC client code
│   ├── tools/          # MCP tool implementations
│   └── utils/          # Utility functions
├── dist/               # Compiled JavaScript
├── proto/              # Protocol buffer definitions
└── package.json        # Package configuration

Troubleshooting

Windows Installation Issues

If you encounter TAR_ENTRY_ERROR errors on Windows when using npx:

Solution 1: Use global installation

# Run in PowerShell as Administrator
npm install -g @jaumemory/mcp-server --force

Then update your config to use the global command:

{
  "mcpServers": {
    "jaumemory": {
      "command": "jaumemory-mcp-server",
      "args": []
    }
  }
}

Solution 2: Clear npm cache

npm cache clean --force
npm config set fetch-retries 10
npm config set fetch-timeout 60000
npx -y @jaumemory/mcp-server

Solution 3: Local installation

mkdir C:\JauMemory
cd C:\JauMemory
npm install @jaumemory/mcp-server

Then use in config:

{
  "mcpServers": {
    "jaumemory": {
      "command": "node",
      "args": ["C:\\JauMemory\\node_modules\\@jaumemory\\mcp-server\\dist\\index.js"]
    }
  }
}

Authentication Issues

  1. Ensure you have a valid JauMemory account

  2. Check your username and email are correct

  3. Look for the approval link in your browser

  4. Check logs: LOG_LEVEL=debug npm start

Connection Problems

  1. Verify internet connection

  2. Check if JauMemory service is available at https://mem.jau.app

  3. Ensure firewall allows HTTPS/gRPC connections

  4. Try clearing auth cache and re-authenticating

Claude Integration

  1. Verify MCP configuration in Claude desktop

  2. Restart Claude after configuration changes

  3. Check Claude logs for MCP errors

  4. Ensure Node.js version is 18.0.0 or higher

Security

  • Authentication uses secure MCP approval flow

  • Credentials are encrypted and stored securely

  • All communication uses HTTPS/TLS

  • No sensitive data is logged

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository

  2. Create your feature branch (git checkout -b feature/AmazingFeature)

  3. Commit your changes (git commit -m 'Add some AmazingFeature')

  4. Push to the branch (git push origin feature/AmazingFeature)

  5. Open a Pull Request

License

This project is licensed under the MIT License - see the LICENSE file for details.

Support

Acknowledgments


Made with ❤️ for the AI assistant community

Available Tools

25 tools
add_to_collectionB

Add a memory to a collection.

ParametersJSON Schema
NameRequiredDescriptionDefault
collection_idYesUUID of the collection
memory_idYesID of the memory to add

TDQS

B3.1/5.0
Behavior2/5

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

No annotations provided, so description must disclose behavior. It does not specify if the collection must exist, if duplicate memories are allowed, or if the operation is idempotent. Lacks critical behavioral details for a mutation tool.

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?

Single sentence is extremely concise. No wasted words, but arguably too brief given the lack of other information. Still, conciseness is high.

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?

For a simple tool with no output schema and no annotations, the description is minimal. It does not address side effects, errors, or completion scenarios. The agent needs more context to use it correctly.

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 coverage is 100% with descriptions for both parameters. Description adds no additional meaning beyond the schema. Baseline score of 3 is appropriate.

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?

Description clearly states verb+resource: 'Add a memory to a collection.' It distinguishes from sibling 'remove_from_collection' which performs the opposite operation. The purpose is unambiguous.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives. Does not mention prerequisites (e.g., collection must exist) or scenarios where 'remove_from_collection' might be more appropriate. Only states the action without context.

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

agent_collaborationA

Manage collaboration between agents.

Usage Examples: // Start a collaboration agent_collaboration({ action: "start", agentId: "frontend-dev", collaboratorId: "backend-dev", collaborationType: "api-integration", memoryId: "task-123" })

// Complete a collaboration agent_collaboration({ action: "complete", agentId: "frontend-dev", collaborationId: "collab-456", outcome: "success" })

// List collaborations for an agent agent_collaboration({ action: "list", agentId: "backend-dev" })

Collaboration Types:

  • code-review: Code review collaboration

  • pair-programming: Pair programming session

  • api-integration: API integration work

  • testing: Testing collaboration

  • debugging: Debugging session

  • planning: Planning and design

  • documentation: Documentation work

Outcomes:

  • success: Collaboration completed successfully

  • partial: Some goals achieved

  • failed: Collaboration did not achieve goals

ParametersJSON Schema
NameRequiredDescriptionDefault
actionYesAction to perform
agentIdYesInitiator agent ID
collaboratorIdNoCollaborator agent ID (for start action)
collaborationTypeNoType of collaboration (for start action)
collaborationIdNoCollaboration ID (for complete action)
outcomeNoOutcome (for complete action)
memoryIdNoRelated memory ID

TDQS

A4.1/5.0
Behavior3/5

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

No annotations exist, so description must carry the burden. It explains actions and outcomes but does not disclose side effects (e.g., record creation), permission requirements, or error handling, leaving some behavioral ambiguity.

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?

Description is front-loaded with a clear summary, followed by concise usage examples and enumerations. Every section is useful and avoids redundancy.

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?

Covers actions, parameters, and enumerated values well, but lacks return value description (no output schema) and error handling details, leaving gaps for an agent to fully understand the tool's output and failure modes.

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%, but the description adds significant value by showing parameter usage via examples, listing collaboration types and outcomes with explanations, and implying conditional requirements (e.g., collaboratorId only for 'start').

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 'Manage collaboration between agents' and provides usage examples for the three actions (start, complete, list), making it distinct from sibling tools like agent_memory or agent_reflection.

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?

Usage examples illustrate typical scenarios, but no explicit guidance on when not to use this tool or comparisons with alternatives is provided. However, the examples effectively convey context.

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

agent_error_learningA

Enable agents to learn from errors using a 2-strike protocol.

Usage Examples: // Report a new error agent_error_learning({ action: "report", agentId: "backend-dev", errorSignature: "TypeError: Cannot read property 'x' of undefined", errorMessage: "Undefined property access in user service", contextSnapshot: "const name = user.profile.name; // user.profile is undefined", attemptedSolution: "Added optional chaining: user.profile?.name", projectContext: "api-service" })

// Mark error as solved agent_error_learning({ action: "solve", agentId: "backend-dev", patternId: "err-pattern-123", solution: "Always check if user.profile exists before accessing properties", verificationSteps: [ "Run: npm test user.service.spec.ts", "Verify no TypeErrors in logs", "Check user profile endpoint returns 200" ] })

// Record failed attempt agent_error_learning({ action: "fail", agentId: "frontend-dev", patternId: "err-pattern-456", attemptedSolution: "Tried using default values but still crashed" })

The 2-Strike Protocol:

  1. First encounter: Agent gets the error signature to recognize it

  2. Second encounter: Agent must solve it or face consequences

  3. After 2 failures: Error importance increases, agent status may change

Response Types:

  • first_occurrence: New error, pattern ID provided

  • solution_found: Previous solution exists

  • previous_attempts_failed: Shows attempt count (pressure!)

  • new_problem: Similar to other errors but unique

ParametersJSON Schema
NameRequiredDescriptionDefault
actionYesAction to perform
agentIdYesAgent ID
errorSignatureNoUnique error identifier (for report)
errorMessageNoError message (for report)
contextSnapshotNoCode/context where error occurred
attemptedSolutionNoWhat was tried
projectContextNoProject name
patternIdNoError pattern ID (for solve/fail)
solutionNoWorking solution (for solve)
verificationStepsNoHow to verify the fix

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations, the description carries the full burden. It explains response types (first_occurrence, etc.) and consequences (agent status may change). This provides good behavioral context beyond the basic read/update intent, though it omits details like data persistence or limits.

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 well-structured with headings and code examples, making it easy to scan. While lengthy, the content is justified for a tool with 10 parameters and a protocol. Every section adds value, though some repetition exists.

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?

Given the complexity (10 parameters, no output schema), the description covers the protocol, usage patterns, and response types. It lacks details on return values or error handling, but for a learning tool, it provides sufficient context for an AI 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?

All 10 parameters have descriptions in the schema (100% coverage). The description adds value by showing how parameters are used together in examples (e.g., report uses errorSignature, solve uses patternId). This clarifies parameter relationships beyond individual schema descriptions.

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 purpose: 'Enable agents to learn from errors using a 2-strike protocol.' It specifies three distinct actions (report, solve, fail) and provides usage examples, distinguishing it from sibling tools focused on memory or collections.

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 explicit usage examples for each action and explains the 2-strike protocol, giving clear context for when to use each action. However, it does not explicitly state when not to use the tool or compare with alternatives, though siblings are clearly differentiated by purpose.

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

agent_memoryA

Link memories to agents or recall agent-specific memories.

Usage Examples: // Link a memory to an agent agent_memory({ action: "link", agentId: "frontend-dev", memoryId: "mem-123-456", category: "learning", projectContext: "webapp" })

// Recall all memories for an agent agent_memory({ action: "recall", agentId: "backend-dev" })

// Search agent memories agent_memory({ action: "recall", agentId: "code-reviewer", query: "authentication", category: "error", limit: 10 })

// Project-specific recall agent_memory({ action: "recall", agentId: "test-engineer", projectContext: "api-service", category: "task" })

Memory Categories:

  • task: Assigned tasks and TODOs

  • learning: Things the agent learned

  • error: Errors encountered

  • solution: Solutions found

  • reflection: Agent reflections

ParametersJSON Schema
NameRequiredDescriptionDefault
actionYesAction to perform
agentIdYesAgent ID
memoryIdNoMemory ID (for link action)
categoryNoMemory category like task, learning, error
projectContextNoProject name for context
queryNoSearch query (for recall action)
limitNoMax results to return

TDQS

A3.9/5.0
Behavior3/5

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

No annotations are provided, so the description must cover behavioral traits. It explains the two actions and required parameters, but does not disclose side effects (e.g., whether linking creates a new memory or associates an existing one), authorization needs, or rate limits. Partial transparency.

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 purpose and includes well-structured examples and a category list. While somewhat lengthy, each section serves a purpose. Could be more concise, but it is structured logically.

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?

Given 7 parameters, no output schema, and no annotations, the description covers the two actions, all parameters through examples, and provides a category list. However, it does not describe the return format of recall, which would be helpful for completeness.

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. The description adds value by defining memory categories and showing parameter combinations in examples, which enhances understanding beyond the schema's property descriptions.

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 'Link memories to agents or recall agent-specific memories' and provides specific usage examples for both actions. It effectively distinguishes the tool's purpose from siblings by focusing on agent-memory linking and recall.

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?

Examples show when to use link vs recall, but there is no explicit guidance on when to use this tool instead of siblings like 'remember' or 'memorize'. The description provides clear context but lacks exclusions or alternative tool comparisons.

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

agent_reflectionA

Create and retrieve agent reflections for continuous improvement.

Usage Examples: // Create a learning reflection agent_reflection({ action: "create", agentId: "frontend-dev", reflectionType: "learning", content: "Discovered that React.memo can prevent unnecessary re-renders in large lists", lessonsLearned: [ "Use React.memo for expensive components", "Profile before optimizing", "Not all components need memoization" ] })

// Create a mistake reflection agent_reflection({ action: "create", agentId: "backend-dev", reflectionType: "mistake", content: "Forgot to add database indexes, causing slow queries in production", lessonsLearned: [ "Always analyze query patterns before deployment", "Add indexes for frequently filtered columns", "Monitor query performance in staging" ] })

// Create a collaboration reflection agent_reflection({ action: "create", agentId: "code-reviewer", reflectionType: "collaboration", content: "Worked with frontend-dev to establish better PR review guidelines", lessonsLearned: [ "Clear PR descriptions save review time", "Automated checks reduce manual review burden" ], relatedAgents: ["frontend-dev", "test-engineer"] })

// List all reflections for an agent agent_reflection({ action: "list", agentId: "test-engineer" })

// List specific type of reflections agent_reflection({ action: "list", agentId: "project-manager", reflectionType: "success" })

Reflection Types:

  • learning: New knowledge or insights gained

  • mistake: Errors made and lessons learned

  • success: Achievements and what worked well

  • collaboration: Insights from working with other agents

ParametersJSON Schema
NameRequiredDescriptionDefault
actionYesAction to perform
agentIdYesAgent ID
reflectionTypeNoType of reflection
contentNoReflection content (for create)
lessonsLearnedNoKey takeaways
relatedAgentsNoOther agents involved

TDQS

A4.5/5.0
Behavior4/5

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

No annotations provided, so description carries the burden. It discloses that the tool supports two actions (create and list) and defines reflection types. It does not mention persistence, side effects, or permissions, but the examples imply typical behavior.

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?

Description is well-structured with clear sections for usage examples and reflection type definitions. However, it is verbose due to multiple examples; could be slightly more concise while retaining clarity.

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 tool with 6 parameters and no output schema, the description covers all aspects: purpose, actions, parameters, reflection types, and typical usage patterns. It is complete and actionable.

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

Parameters5/5

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

Schema coverage is 100%, but description adds significant value beyond schema: it provides typical values for lessonsLearned and relatedAgents, and explains reflection types with context. The examples clarify parameter usage effectively.

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 purpose: 'Create and retrieve agent reflections for continuous improvement.' It distinguishes from sibling tools like agent_memory and agent_collaboration by focusing on reflections with specific types (learning, mistake, etc.).

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?

Usage examples show when to use create vs list and different reflection types. However, it does not explicitly exclude alternatives or mention when not to use this tool over siblings like agent_error_learning.

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

analyzeC

Analyze memory patterns and extract insights

ParametersJSON Schema
NameRequiredDescriptionDefault
timeRangeNoTime range to analyze (e.g., "day", "week", "month", "all")

TDQS

C2.6/5.0
Behavior2/5

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

No annotations provided, so description carries full burden. It does not disclose whether the tool is read-only, modifies state, or requires authentication. The description is too brief to convey behavior.

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?

Single sentence, no unnecessary words. Front-loaded with action. Could be slightly more informative without losing conciseness.

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?

With no output schema and only one parameter, description should clarify what insights are returned, example outputs, and side effects. Currently incomplete for agent decision-making.

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 coverage is 100% with a clear enum for timeRange. Description adds 'memory patterns and insights' but doesn't elaborate on how the parameter affects analysis. Baseline 3 achieved.

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

Purpose3/5

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

Description states 'Analyze memory patterns and extract insights', which is a verb+resource but vague. It doesn't specify what 'analyze' entails or what insights are extracted. It is not clearly differentiated from siblings like 'agent_memory' or 'consolidate'.

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

Usage Guidelines2/5

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

No guidance on when to use this tool vs alternatives. No mention of prerequisites or context where analysis is appropriate.

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

consolidateB

Consolidate similar memories into insights based on semantic similarity

ParametersJSON Schema
NameRequiredDescriptionDefault
similarity_thresholdNoMinimum similarity score to group memories (0.0-1.0, default: 0.7)
min_group_sizeNoMinimum number of memories to form a group (default: 2)
archive_originalsNoArchive original memories after consolidation (default: true)
dry_runNoPreview consolidation without making changes (default: false)

TDQS

B3.3/5.0
Behavior2/5

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

No annotations exist, so the description must fully disclose behavior. It mentions consolidation into insights but fails to note that originals are archived by default (destructive), nor does it explain the dry-run preview. Safety-critical details are missing.

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?

Single sentence that efficiently conveys the core purpose. No extraneous information.

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?

For a tool with 4 parameters and no output schema, the description lacks detail on return values, effects of dry_run, and what 'insights' implies. These gaps reduce completeness.

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?

All parameters have descriptions in the schema (100% coverage). The tool description adds no additional context beyond the schema, thus 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?

The description clearly states the verb 'consolidate', the resource 'similar memories', and the basis 'semantic similarity'. It effectively distinguishes from siblings like 'consolidate_collection' and 'recall'.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives is provided. The sibling list is extensive, but the description does not mention contexts or exclusions.

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

consolidate_collectionB

Consolidate all memories in a collection into a comprehensive summary or insight.

ParametersJSON Schema
NameRequiredDescriptionDefault
collection_idYesUUID of the collection to consolidate
summarize_onlyNoOnly create a summary without modifying the collection (default: false)
titleNoTitle for the consolidated memory (optional)

TDQS

B3.1/5.0
Behavior2/5

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

No annotations exist, and the description does not disclose whether consolidation modifies or deletes memories, or what permissions are needed. The 'summarize_only' parameter implies default modification, but this is not stated.

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

Conciseness4/5

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

The description is a concise single sentence without clutter, but it lacks structure (e.g., no use-case sections). It is appropriately sized for the tool's simplicity.

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?

With no output schema, the description should hint at return values or side effects, but it does not. The tool has 3 parameters and no annotations, and the description fails to fully explain the operation's impact on the collection.

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 coverage is 100% (baseline 3). The description adds no additional parameter-level information beyond the schema's descriptions, so it does not enhance understanding of 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 clearly states the specific verb 'Consolidate' and the resource 'all memories in a collection', producing 'a comprehensive summary or insight'. It distinguishes this from sibling tools like 'consolidate' (general) and other collection operations.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives like 'consolidate' or 'add_to_collection'. The description lacks context for appropriate use cases.

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

create_agentA

Create a new agent with personality traits and specializations.

Usage Examples: // Basic agent create_agent({ name: "Code Reviewer" })

// Agent with personality create_agent({ name: "Frontend Expert", personalityTraits: ["detail-oriented", "creative", "user-focused"], specializations: ["React", "TypeScript", "CSS", "UX"] })

// Agent with custom prompts create_agent({ name: "Test Engineer", personalityTraits: ["thorough", "systematic"], specializations: ["Jest", "Cypress", "TDD"], updatePrompts: [ "Always consider edge cases", "Write tests before implementing fixes" ] })

Pre-configured Agents (from migration):

  • code-reviewer: Analytical, detail-oriented reviewer

  • backend-dev: Systems thinker for backend development

  • frontend-dev: Creative UI/UX focused developer

  • test-engineer: Quality-focused testing specialist

  • project-manager: Organized project coordinator

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesAgent name
personalityTraitsNoPersonality traits like curious, analytical, creative
specializationsNoAreas of expertise like frontend, backend, testing
updatePromptsNoCustom prompts for agent updates
idNoOptional agent ID (if not provided, will be auto-generated)
initialLearningRateNoInitial learning rate (0.0-1.0, default: 0.5)

TDQS

A3.6/5.0
Behavior3/5

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

No annotations provided, so description carries full burden. It describes creation parameters but omits side effects (e.g., persistence, error on duplicate ID, return value). Mutating nature is implied but not detailed.

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?

The description is longer than necessary (244 words) due to extensive code examples and pre-configured agent list. While examples aid understanding, they could be condensed.

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?

Despite 100% schema coverage, the description lacks explanation of return values (no output schema), post-creation behavior, or parameter constraints (e.g., uniqueness of ID). Incomplete for a creation tool.

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?

All 6 parameters have schema descriptions (100% coverage). The description's examples illustrate parameter combinations but add no new semantic meaning beyond 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?

The description clearly states 'Create a new agent' with specific attributes (personality traits, specializations). This distinguishes it from sibling tools like 'update_agent_name' or 'list_agents'.

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?

Usage examples demonstrate typical invocations (basic, with personality, with prompts). The list of pre-configured agents provides context but lacks explicit when-to-use or when-not-to-use guidance.

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

create_collectionB

Create a new collection for organizing memories.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesName of the collection
descriptionNoDescription of the collection (optional)
memory_idsNoInitial memory IDs to add to the collection (optional)

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden but only states a create operation. It fails to disclose behavioral traits like behavior on duplicate names, return values, or side effects.

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?

Single sentence that is front-loaded and concise. Every word is necessary; no fluff.

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?

Despite low complexity (3 params, no output schema), the description omits important context such as return behavior, uniqueness constraints, and how it relates to sibling collection operations.

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 coverage is 100% with clear parameter descriptions. The description adds minimal value beyond the schema, only hinting at the purpose of memory_ids. Baseline 3 is appropriate.

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 'Create a new collection for organizing memories' clearly states the verb (create), resource (collection), and purpose (organizing memories). It unambiguously distinguishes from sibling tools like add_to_collection, update_collection, and get_collection.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives such as add_to_collection or consolidate_collection. The description does not mention prerequisites or context for creation.

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

delete_collectionA

Delete a collection (memories are not deleted, only the collection).

ParametersJSON Schema
NameRequiredDescriptionDefault
collection_idYesUUID of the collection to delete

TDQS

A4/5.0
Behavior4/5

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

No annotations provided, so description bears full burden. It discloses a critical behavioral trait (memories are preserved) beyond the basic action. Could mention irreversibility but still good.

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?

Single sentence, front-loaded with the action, no filler. Every word adds value.

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 1-param, no-output tool, description is sufficiently complete. Could add 'This action cannot be undone' but overall covers the main purpose and side effect.

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 coverage is 100% with clear description and pattern. The description adds no extra meaning beyond what the schema already provides for collection_id.

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 action (Delete a collection) and adds a key nuance (memories are not deleted), making it specific and unambiguous.

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: use to delete a collection without affecting memories. However, no explicit guidance on when to use vs. siblings like update_collection or consolidate_collection, and no mention of prerequisites or alternatives.

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

forgetC

Delete a specific memory

ParametersJSON Schema
NameRequiredDescriptionDefault
memoryIdYesMemory ID to delete

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It only states 'Delete' but does not disclose if the action is irreversible, what happens to related data, or any permission requirements. Essential behavioral details are missing.

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 very concise at only 5 words, which is efficient. However, it lacks any structural elements like sections or bullet points, and the brevity borders on under-specification rather than conciseness.

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?

Given the tool's simplicity (single parameter, no output schema), the description is minimally adequate. However, it omits details about the tool's role within the broader memory system and what happens after deletion, leaving gaps for an agent.

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?

The input schema has 100% coverage for the single parameter 'memoryId', and its description is already present. The tool description adds no additional meaning beyond the schema, so the baseline of 3 applies.

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

Purpose4/5

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

The description clearly states the verb 'Delete' and the resource 'specific memory', making the tool's purpose immediately clear. It distinguishes from sibling tools like 'remember' (store) and 'recall' (retrieve), though it could specify scope or context.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives, such as removing all memories or handling cascading effects. No prerequisites or exclusions are mentioned.

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

get_collectionA

Get details of a specific collection including all its memories.

ParametersJSON Schema
NameRequiredDescriptionDefault
collection_idYesUUID of the collection

TDQS

A3.8/5.0
Behavior3/5

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

No annotations provided. Description indicates a read-only operation (get details), but lacks disclosures on authentication, rate limits, or what happens if collection_id is invalid.

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?

Single concise sentence that is front-loaded with the core action. 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?

Given simple schema (1 parameter, no output schema), description covers the essential purpose. Could mention requirement for existing collection ID, but still adequate.

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 coverage is 100% (single parameter with description and pattern). Description adds no new information beyond schema, so baseline 3.

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?

Description clearly states 'Get details of a specific collection including all its memories,' specifying verb and resource, and distinguishes from sibling tools like list_collections (list all) and create_collection.

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?

No explicit when-to-use or when-not-to-use guidance. Implied that it's for retrieving a single collection's details, but no alternatives or exclusions mentioned.

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

list_agentsA

List all available agents with their details.

Usage Examples: // List all agents list_agents({})

// List only active agents list_agents({ status: "active" })

// List agents in error state list_agents({ status: "error" })

Agent Statuses:

  • active: Ready for tasks

  • learning: Currently improving from errors

  • error: Encountered issues, needs attention

  • archived: No longer in use

ParametersJSON Schema
NameRequiredDescriptionDefault
statusNoFilter by status

TDQS

A4.3/5.0
Behavior4/5

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

Without annotations, the description adequately discloses that this is a read-only listing operation with no destructive side effects, and it explains the meaning of status values.

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 concise and well-structured, starting with a clear purpose sentence followed by usage examples and a status key, with no wasted words.

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 simple list tool with one optional parameter and no output schema, the description covers all relevant details: status filter values and example usage.

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 description elaborates on the status enum values and provides usage examples, adding significant meaning beyond the schema's minimal description 'Filter by status'.

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 verb 'list' and resource 'agents', distinguishing it from sibling tools like create_agent or update_agent_name.

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 examples are provided for listing all agents or filtering by status, but there is no explicit guidance on when to use this tool versus alternatives or when not to use it.

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

list_collectionsA

List all your collections.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.9/5.0
Behavior3/5

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

With no annotations, the description implies a read-only operation but does not disclose any limitations, pagination, or ordering. The transparency is adequate for a simple list but lacks depth.

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, efficient sentence with no wasted words. It is perfectly concise for the simplicity of the tool.

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 the tool has no parameters, no output schema, and a straightforward purpose, the description completely covers the required information. It states what the tool does (list all collections) adequately.

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 no parameters, and the schema coverage is 100%. The description adds no parameter information because none is needed, meeting the baseline for parameterless tools.

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 verb 'List' and resource 'your collections', making the action unambiguous. It distinguishes from sibling tools like get_collection (likely for a specific collection) and create_collection.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives like get_collection or consolidate_collection. The description lacks context for selection.

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

mcp_authenticateB

Complete MCP authentication with the auth token you received from the web approval page. You MUST have clicked the link, approved in your browser, and copied the authentication code.

ParametersJSON Schema
NameRequiredDescriptionDefault
auth_tokenYesThe EXACT authentication code shown on the approval webpage after clicking Approve (e.g., "happy-star")
request_idNoThe request ID from mcp_login response (required)

TDQS

B3.1/5.0
Behavior2/5

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

No annotations, so description carries full burden. Provides basic prerequisite but omits error handling, side effects (e.g., session creation), and contradicts schema on request_id requiredness.

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?

Two sentences with clear focus. Could be better structured (e.g., list prerequisites), but efficient.

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?

Missing return value description, error handling, and does not explain the full authentication flow (preceding mcp_login). Inconsistency in request_id reduces completeness.

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 coverage is 100% so baseline 3. Description adds examples for auth_token, but for request_id it claims required (schema says optional), adding confusion rather than clarity.

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

Purpose4/5

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

Clearly states it completes MCP authentication with an auth token, specifying the prerequisite of having clicked the link and approved. However, it does not differentiate from sibling tools like mcp_login or mcp_logout.

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?

Emphasizes the prerequisite action (must have clicked and approved), implying it should be used after mcp_login. But lacks explicit when-not-to-use or alternative tool guidance.

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

mcp_loginA

Initiate MCP authentication flow. Provide your REAL JauMemory username and email to start the manual approval process. NOTE: You MUST click the link provided and approve in your browser. Test accounts will not work. Username and email can be optionally set via JAUMEMORY_USERNAME and JAUMEMORY_EMAIL environment variables.

ParametersJSON Schema
NameRequiredDescriptionDefault
usernameNoYour REAL JauMemory username (not a test account). Optional if set in JAUMEMORY_USERNAME env var.
emailNoYour REAL JauMemory email address (must match your registered account). Optional if set in JAUMEMORY_EMAIL env var.

TDQS

A4.3/5.0
Behavior4/5

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

No annotations are present, so the description carries full burden. It discloses manual browser interaction, test account restrictions, and env var support. It does not detail idempotency or side effects, but for a login tool this is reasonable.

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 action and uses three sentences. Some redundancy exists (e.g., repeating 'REAL' for both fields), but overall efficient.

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?

No output schema exists, but the description does not mention what the tool returns (e.g., a link or status). It implies a link is provided but is not explicit, leaving agents guessing about the next step.

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

Parameters5/5

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

Schema coverage is 100%, but the description adds crucial meaning: 'REAL' credentials, 'not a test account', and env var fallback. This goes beyond the schema's basic descriptions.

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 'Initiate MCP authentication flow' with a specific verb and resource. It distinguishes mcp_login from sibling tools like mcp_authenticate and mcp_logout by focusing on starting the authentication process.

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: requires real JauMemory credentials, manual browser approval, and env var fallback. However, it does not explicitly contrast with mcp_authenticate or state 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.

mcp_logoutA

Logout and revoke the current MCP session.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior3/5

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

With no annotations, the description bears full responsibility for disclosing behavior. It states 'revoke,' indicating a destructive action, but does not clarify side effects, such as whether future calls will fail or if re-authentication is needed.

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 with no unnecessary words. It is appropriately front-loaded and earns its place.

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 tool with no parameters or output schema, the description covers the essential purpose. However, it could note that an active session is required and that the action is irreversible.

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?

There are zero parameters, so the schema provides full coverage. The description adds no parameter information, which is acceptable given the absence of 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 clearly states the action (logout and revoke) and the resource (MCP session). It effectively distinguishes itself from sibling tools like mcp_login and mcp_authenticate.

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 usage (when you want to end the current session) but provides no explicit guidance on prerequisites, such as needing an active session, or when not to use it.

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

memory_statsA

Get statistics about memories with optional filtering.

Usage Examples: // Get overall stats memory_stats()

// Stats for memories containing "error" memory_stats({ query: "error" })

// Stats for last week memory_stats({ timeRange: { start: "2025-01-17", end: "2025-01-24" } })

// Stats for React-related errors memory_stats({ query: "react error*", minImportance: 0.5 })

// Stats for specific tags memory_stats({ tags: ["bug", "frontend"] })

Returns:

  • Total memory count (filtered)

  • Memory type distribution

  • Top 20 tags with counts

  • Importance distribution

  • Keyword frequency (if applicable)

ParametersJSON Schema
NameRequiredDescriptionDefault
queryNoSearch query (supports wildcards with *)
tagsNoFilter by tags
minImportanceNoMinimum importance threshold
timeRangeNo

TDQS

A4.1/5.0
Behavior3/5

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

No annotations are provided, so the description must cover behavioral traits. It lists the return data (count, distributions, top tags, etc.) but does not explicitly state that the tool is read-only, nor does it mention performance implications or side effects. The name implies read-only behavior, but this is not confirmed.

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 well-structured with a brief overview, multiple examples, and a bullet list of return fields. While slightly verbose, each section adds value. It is front-loaded with the purpose.

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?

Given no output schema, the description adequately explains return values. All parameters are optional and described. The examples cover different use cases. Missing information includes potential pagination or limits on the number of memories processed, but overall it is complete enough for a stats 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?

The input schema covers 75% of parameters with descriptions. The description adds value by showing usage examples that illustrate wildcard support in 'query', date format in 'timeRange', and combination of parameters. This goes beyond the schema alone.

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 'Get statistics about memories with optional filtering,' using a specific verb and resource. The examples further clarify the purpose, and the tool is distinct from siblings like 'recall' and 'remember' which focus on retrieval rather than statistics.

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 concrete usage examples showing various filtering options, which implicitly guides when to use the tool. However, it does not explicitly state when not to use it or compare it to sibling tools like 'recall' or 'consolidate'.

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

recallB

Search and retrieve memories

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesSearch query
limitNoMaximum results

TDQS

B3.1/5.0
Behavior2/5

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

No annotations exist, and the description does not disclose any behavioral traits such as authentication, rate limits, or side effects. It only states the basic function.

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

Conciseness4/5

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

The description is a single, front-loaded sentence. It is concise but lacks depth; however, for its length it is efficient.

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 description fails to explain what 'memories' are, how the tool fits among siblings, or any important context like scope or limitations. It is incomplete given the presence of multiple memory-related tools.

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%, with minimal descriptions ('Search query', 'Maximum results'). The tool description adds no further detail, so it meets the baseline without adding value.

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 verb 'search and retrieve' and the resource 'memories', making the purpose unambiguous. It distinguishes itself from siblings like 'remember' and 'forget'.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives like 'remember' or 'memory_stats'. There is no mention of context or exclusions.

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

rememberB

Store a new memory with optional context and importance scoring

ParametersJSON Schema
NameRequiredDescriptionDefault
contentYesThe memory content to store
contextNoAdditional context for the memory
importanceNoImportance score (0-1)
tagsNoTags for categorization
metadataNoAdditional metadata

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description must disclose behavioral traits. It only says 'Store a new memory' without mentioning side effects, idempotency, overwrite behavior, or permissions. The description is insufficient for safe invocation.

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?

Single sentence, 10 words. Front-loaded with the core action. Efficient, though slightly more detail could be added without harming conciseness.

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?

No output schema and no annotations. The description does not explain return values, storage behavior, or parameter constraints beyond schema. For a storage tool with 5 parameters, more context is needed for effective use.

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 coverage is 100%, so baseline is 3. The description adds minimal value by mentioning 'optional context and importance scoring', but this largely restates what is in the schema. No additional meaning beyond 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?

The description clearly states the action (Store), the resource (a new memory), and optional features (context and importance scoring). It distinguishes from siblings like recall, forget, and memory_stats.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives like add_to_collection or recall. The description does not mention prerequisites, exclusions, or context of use.

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

remove_from_collectionB

Remove a memory from a collection.

ParametersJSON Schema
NameRequiredDescriptionDefault
collection_idYesUUID of the collection
memory_idYesUUID of the memory to remove

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations, the description carries full behavioral burden. It only says 'remove', implying modification without destruction, but does not disclose side effects, permissions, or whether the memory itself is deleted or just the association.

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 extremely concise (one sentence) with no unnecessary words. However, it could be slightly improved by adding minimal context without sacrificing brevity.

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?

For a simple tool with two UUID params and no output schema, the description is adequate but lacks details like whether the memory is deleted or what the return value is. It does not fully cover the context needed for complete understanding.

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%; each parameter is already described as a UUID. The description adds no additional meaning beyond the schema, so a baseline score of 3 is appropriate.

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 action 'Remove a memory from a collection' with a specific verb and resource. It distinguishes itself from sibling 'add_to_collection' and other collection-related tools.

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

Usage Guidelines2/5

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

No usage guidelines are provided. The description does not specify when to use this tool versus alternatives like 'delete_collection' or 'forget', nor does it explain prerequisites or context.

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

updateC

Update an existing memory

ParametersJSON Schema
NameRequiredDescriptionDefault
memoryIdYesMemory ID to update
contentNoNew content
importanceNoNew importance

TDQS

C2.8/5.0
Behavior2/5

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

No annotations provided, and the description does not disclose behavioral traits such as whether content is overwritten or merged, side effects, or validation. It only states it updates, which is already implied by the name.

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?

The description is very short (one sentence), which is concise but lacks important details. It is not overly verbose, but it sacrifices completeness for brevity.

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?

With no output schema, no annotations, and many sibling tools, the description is insufficient. It does not explain return values, error conditions, or constraints, making it incomplete for an agent to use safely.

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?

Input schema descriptions cover all three parameters clearly (memoryId, content, importance). The description does not add additional meaning beyond the schema, meeting the baseline for full coverage.

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

Purpose4/5

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

The description clearly states it updates an existing memory, which is a specific verb and resource. However, it does not differentiate from other update tools like update_agent_name or update_collection, though those target different resources.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives like 'remember' or 'recall'. No mention of prerequisites or when not to use it.

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

update_agent_nameA

Update an agent's name using the new naming convention.

Usage Examples: // Update an agent's name update_agent_name({ agentId: "DW1", newName: "Documentation Writer:dw1" })

// Change to a different role update_agent_name({ agentId: "ta1", newName: "Test Automation Engineer:tae1" })

Name Format Requirements:

  • Must include both long name and short name

  • Format: "Long Name:shortname"

  • Example: "Backend Developer:bd1"

  • Short names should be 2-4 characters

This allows agents to be reassigned to different roles as they grow and evolve.

ParametersJSON Schema
NameRequiredDescriptionDefault
agentIdYesAgent ID to update
newNameYesNew name in format "Long Name:shortname"

TDQS

A3.7/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It mentions reassigning roles but does not disclose destructive potential, auth needs, or side effects.

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?

The description includes multiple sections (summary, examples, format) and is front-loaded, but could be more concise by merging repetitive parts.

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?

It covers purpose and usage well but lacks mention of return values or error handling, which would be needed for full completeness without an output schema.

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%, and the description adds format details and examples beyond the schema's descriptions, helping the agent construct correct inputs.

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 it updates an agent's name using a new naming convention. It distinguishes from siblings like 'create_agent' and 'update' by being specific to renaming agents.

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 examples and format requirements are provided, but there is no explicit guidance on when to use versus alternatives or when not to use.

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

update_collectionB

Update collection details (name and/or description).

ParametersJSON Schema
NameRequiredDescriptionDefault
collection_idYesUUID of the collection
nameNoNew name for the collection (optional)
descriptionNoNew description for the collection (optional)

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, and the description only states 'Update' without disclosing side effects, permissions, reversibility, or what happens to unspecified fields. Lacks behavioral context.

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?

Single sentence, zero wasted words. Front-loads the action and resource efficiently.

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?

For a mutation tool with no output schema, the description is too minimal. It does not explain return values, error conditions, or whether the update is partial or replaces all details. Given the presence of sibling tools like 'update', more context is needed.

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 has 100% coverage with descriptions for all parameters. The description reiterates that name and/or description are optional but adds no new semantic meaning beyond 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?

The description clearly states the action ('Update') and the resource ('collection details') with specific fields ('name and/or description'). It distinguishes from sibling tools like create_collection, delete_collection, get_collection, and list_collections.

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

Usage Guidelines2/5

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

No guidance on when to use this tool vs alternatives like 'update' or other collection operations. Does not mention prerequisites, when not to use, or alternatives.

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. Dates show when Glama detected each change.

  1. 25 tool updatesv0.3.3
    • First observedadd_to_collection
    • First observedagent_collaboration
    • First observedagent_error_learning
    • First observedagent_memory
    • First observedagent_reflection
    • First observedanalyze
    • First observedconsolidate
    • First observedconsolidate_collection
    • First observedcreate_agent
    • First observedcreate_collection
    • First observeddelete_collection
    • First observedforget
    • First observedget_collection
    • First observedlist_agents
    • First observedlist_collections
    • First observedmcp_authenticate
    • First observedmcp_login
    • First observedmcp_logout
    • First observedmemory_stats
    • First observedrecall
    • First observedremember
    • First observedremove_from_collection
    • First observedupdate
    • First observedupdate_agent_name
    • First observedupdate_collection

TDQS

A3.5/5.0
Disambiguation4/5

Most tools have clearly distinct purposes, such as memory CRUD, collection management, and agent operations. However, tools like 'analyze', 'consolidate', and 'consolidate_collection' could cause slight confusion due to overlapping analytical functions, though descriptions help differentiate them.

Naming Consistency5/5

All tool names follow a consistent snake_case pattern, typically using verb_noun structure (e.g., 'add_to_collection', 'create_agent', 'list_collections'). Even simple verbs like 'update' and 'forget' fit the pattern. The 'mcp_' prefix is uniformly used for authentication tools.

Tool Count4/5

The server provides 25 tools covering memory operations, agent management, collections, authentication, and analysis. While slightly above the typical compact range, the number is justified by the breadth of features and each tool serves a specific purpose without unnecessary duplication.

Completeness4/5

The tool set covers full CRUD for memories and collections, agent lifecycle (create, list, update name), and additional agent-specific features like error learning and reflections. Missing an explicit 'delete_agent' tool and bulk operations, but the core workflows are well-supported.

Maintenance

ActivityMaintained
ResponsivenessNo issues

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

  • F
    license
    Not graded
    quality
    D
    maintenance
    Provides AI agents with persistent, searchable memory that survives across conversations using semantic search, temporal versioning, and smart organization. Enables long-term context retention and cross-session continuity for AI assistants.
    14
    -
  • F
    license
    A
    quality
    Not graded
    maintenance
    Provides long-term memory storage for AI assistants with semantic search, enabling persistent storage of preferences, decisions, and context with relationship tracking between memories.
    19
    -
  • F
    license
    Not graded
    quality
    B
    maintenance
    Provides persistent memory for LLM applications, enabling AI assistants to remember user preferences, facts, and conversation history across sessions.
    1
    -

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/Jau-app/JauMemory-mcp-server'

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