JauMemory MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| NODE_ENV | No | Optional: Node environment (e.g., production). | |
| LOG_LEVEL | No | Optional: Logging level (e.g., info, debug). | |
| JAUMEMORY_EMAIL | No | Optional: Pre-configure your email for JauMemory. | |
| JAUMEMORY_USERNAME | No | Optional: 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
| Capability | Details |
|---|---|
| tools | {} |
| prompts | {} |
| resources | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| searchA | Discovery-only. Returns the JauMemory tool catalog (id, title, url) regardless of authentication state. Use |
| fetchA | Discovery-only. Returns route documentation for a tool by name. Does NOT look up memory by UUID. Use |
| 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 |
| 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 |
| 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:
|
| 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):
|
| 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:
|
| 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:
|
| 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:
Response Types:
|
| 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:
|
| 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:
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:
Outcomes:
|
| 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
| Name | Description |
|---|---|
| memory-review | Review recent memories and suggest patterns |
| agent-coordinator | Act as an agent coordinator for multi-agent workflows |
| agent-persona | Adopt the persona and capabilities of a specific agent |
| agent-team | Coordinate a team of agents for complex projects |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| System Status | Current system status and configuration |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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