Skip to main content
Glama
Jau-app

JauMemory MCP Server

Official
by Jau-app

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
NODE_ENVNoOptional: Node environment (e.g., production, development).
LOG_LEVELNoOptional: Logging level (e.g., info, debug).
JAUMEMORY_EMAILNoOptional: Pre-configure your email.
JAUMEMORY_USERNAMENoOptional: Pre-configure your username.

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{}
prompts
{}
resources
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
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.

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.

mcp_logoutA

Logout and revoke the current MCP session.

rememberB

Store a new memory with optional context and importance scoring

recallB

Search and retrieve memories

forgetC

Delete a specific memory

analyzeC

Analyze memory patterns and extract insights

consolidateB

Consolidate similar memories into insights based on semantic similarity

updateC

Update an existing memory

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)

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

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

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

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

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

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.

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

create_collectionB

Create a new collection for organizing memories.

list_collectionsA

List all your collections.

get_collectionA

Get details of a specific collection including all its memories.

add_to_collectionB

Add a memory to a collection.

remove_from_collectionB

Remove a memory from a collection.

update_collectionB

Update collection details (name and/or description).

delete_collectionA

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

consolidate_collectionB

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

Prompts

Interactive templates invoked by user choice

NameDescription
memory-reviewReview recent memories and suggest patterns
agent-coordinatorAct as an agent coordinator for multi-agent workflows
agent-personaAdopt the persona and capabilities of a specific agent
agent-teamCoordinate a team of agents for complex projects

Resources

Contextual data attached and managed by the client

NameDescription
System StatusCurrent system status and configuration

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