Skip to main content
Glama
jefedeoro

JauMemory MCP Server

by jefedeoro

Server Configuration

Describes the environment variables required to run the server.

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

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{}
prompts
{}
resources
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
searchA

Discovery-only. Returns the JauMemory tool catalog (id, title, url) regardless of authentication state. Use recall (via tools/call) for memory access after completing mcpLogin + mcpAuthenticate.

fetchA

Discovery-only. Returns route documentation for a tool by name. Does NOT look up memory by UUID. Use recall (via tools/call) for memory access after completing mcpLogin + mcpAuthenticate.

get_guideA

Fetch JauMemory usage docs. No authentication required — same public posture as search and fetch. Call with no args to get the topic index; with topic (e.g. "concepts/shortcuts", "tools/memory/remember") to get a specific guide; with persona ("coding-assistant", "personal-memory", "cross-platform-context", or "app-backbone") to get a copy-pasteable system-prompt chunk; or with search to find topics by keyword. Use this when you don't know how a JauMemory tool works, when you want to coordinate with another agent across sessions, or when the user asks "how do I…".

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.

mcp_authenticateA

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. Pass scope="all" to log out of all devices, or scope="others" to log out everywhere else but here. Defaults to scope="this" (only the calling session).

rememberB

Store a new memory with optional context and importance scoring

recallA

Search and retrieve memories. Supports keyword/semantic/hybrid modes, tag/time/importance filters. Query is optional for filters-only searches.

forgetB

Delete a specific memory

analyzeB

Analyze memory patterns and extract insights

consolidateB

Consolidate similar memories into insights based on semantic similarity

updateA

Update an existing memory. Accepts the same shape as remember (content / context / importance / tags / metadata / shortcuts), but every field is optional and unset fields are left untouched. Update semantics in v1: tags + shortcuts are strictly ADDITIVE (unioned with existing); explicit metadata deep-merges LAST so callers can clear shortcut-set fields like assigned_to: []. To remove a tag, store the new tag set in metadata or delete + recreate the memory (v2 will add a dedicated replace operation).

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_agentB

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_reflectionB

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_collectionC

Create a new collection for organizing memories.

list_collectionsB

List all your collections.

get_collectionB

Get details of a specific collection including all its memories.

add_to_collectionC

Add a memory to a collection.

remove_from_collectionB

Remove a memory from a collection.

update_collectionC

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.

vault_storeA

Store a new API credential in the secure vault. The secret value is encrypted at rest and never returned in responses. Use provider presets (e.g. "openai", "stripe") to auto-configure auth headers.

vault_listA

List your stored credentials. Values are always masked (e.g. "sk-...xyz1"). Supports filtering by provider and type.

vault_rotateA

Rotate (replace) the secret value of an existing credential. The old value is permanently replaced. The new value is write-only and never returned.

tool_createB

Register a new tool in the tool registry. A tool wraps an HTTP API endpoint with optional credential injection, health monitoring, and schema validation.

tool_updateA

Update an existing tool in the tool registry. All fields are optional — only provided fields are updated.

tool_callB

Execute a registered tool by its slug. Credentials are automatically injected from the vault. Auth headers are set by the server -- callers must NOT include authorization headers in extra_headers.

tool_listB

List registered tools. Supports filtering by type, category, and full-text search.

tool_renderA

Render a tool as a human-readable markdown document. Shows endpoints, schemas, and configuration -- credentials are redacted.

skill_createA

Create a new skill workflow. A skill chains multiple tools together with input/output mappings, conditional steps, and trigger phrases.

skill_listB

List your skills. Supports filtering by type, category, and full-text search.

skill_renderA

Render a skill as a human-readable markdown document. Includes all linked tool documentation with credentials redacted.

toolkit_searchA

Search across both tools and skills in a unified query. Results include name, slug, type, category, and usage count.

skill_executeB

Execute a skill workflow by slug. Runs all tool steps in order with automatic credential injection. Sensitive outputs are automatically redacted by the server.

berrry_register_toolA

Register an EXISTING Berrry app as a JauMemory tool. Does NOT deploy — the app must already live at .berrry.app. Verifies via the NOMCP files endpoint before finalizing; rolls back the tool entry if the app is missing or the token is rejected.

REQUIRES: a vault credential containing your Berrry NOMCP token (brry_rw_*). Store one first with vault_store.

USE THIS WHEN: you already created the app via the Berrry web UI (which has AI-prompt-based generation) or another path, and just want JauMemory to expose it as a callable tool. Use berrry_create_tool instead if you want JauMemory to deploy fresh files.

AFTER REGISTER: Use tool_call with the returned slug to hit the app's HTTP API. Use path_suffix "__nomcp/..." with the same slug to manage files/versions through NOMCP.

berrry_create_toolA

Create a new Berrry app AND register it as a JauMemory tool in one step.

INPUT MODES (mutually exclusive — pass exactly one): • files_json — JSON array of files: [{"name":"index.html","content":"..."}, ...]. index.html is required. Each file ≤ 2 MB. • remix_from — subdomain of an existing Berrry app to fork.

NOTE: Berrry's NOMCP API does NOT expose AI-prompt-based generation. The "describe your app idea" feature on berrry.app/create is web-form-only. Through this tool, you must supply finished file contents (or remix an existing app). If you want AI to write the files, generate them in your assistant first, then pass them as files_json.

VISIBILITY (optional, default "public"): • public — all tiers • unlisted — Pro+ only • private — Pro+ only Non-public values return 403 if the account isn't on Pro; the tool surfaces a friendly upgrade hint and rolls back the JauMemory tool entry.

REQUIRES: a vault credential containing your Berrry NOMCP token (brry_rw_*). Store it once with vault_store, then pass nomcp_credential_id on every call.

AFTER CREATE: Use tool_call with the returned slug to hit the app's HTTP API at .berrry.app. Use path_suffix "__nomcp/..." with the same slug to manage app files/versions.

skill_scheduleB

Schedule a skill for recurring cron-based execution. Min interval: 60s. Max 20 active schedules per user.

skill_schedule_listB

List scheduled skill runs with optional filtering by skill or status.

skill_schedule_cancelA

Cancel (soft-delete) a scheduled skill run.

skill_schedule_retriggerA

Re-trigger a failed or completed scheduled run. Resets retry count and re-enables.

skill_tasks_pendingA

List only pending/actionable skill tasks: paused executions awaiting LLM response and recent failures needing attention.

skill_task_retriggerC

Re-trigger a failed or completed scheduled task. Alias for skill_schedule_retrigger.

skill_tasks_listB

List skill execution logs (task history). Shows completed, failed, running, and paused executions.

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

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