MemoryOS MCP Server
OfficialServer Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MEMORYOS_API_KEY | No | Your MemoryOS API key. Required for private mode (the default). Do not set in public mode. | |
| MEMORYOS_API_URL | No | Base URL of the MemoryOS API. Use http://localhost:8000 for a local Docker deployment. | https://api.memoryo.dev |
| MEMORYOS_MCP_HOST | No | Host to bind the streamable HTTP transport. Typically 127.0.0.1 for a private sidecar. | 127.0.0.1 |
| MEMORYOS_MCP_PORT | No | Port to bind the streamable HTTP transport. Typically 8080. | 8080 |
| MEMORYOS_UUI_TOKEN | No | UUI token for cross-agent universal memory tools. Optional. | |
| MEMORYOS_MCP_EXPOSURE | No | Set to 'public' to expose the MCP server publicly using Clerk OAuth. The default is private. | private |
| MEMORYOS_AGENT_API_KEY | No | API key for the MemoryOS agent, used for cross-agent universal memory tools. Optional. | |
| MEMORYOS_MCP_AUTH_MODE | No | Authentication mode for public MCP. Must be 'clerk'. Required in public mode. | |
| MEMORYOS_MCP_HTTP_PATH | No | Path for the MCP HTTP endpoint. Typically /mcp. | /mcp |
| MEMORYOS_MCP_TRANSPORT | No | MCP transport. Use 'streamable-http' to enable HTTP transport instead of the default stdio. | stdio |
| MEMORYOS_MCP_CLERK_DOMAIN | No | Your Clerk application domain, e.g. clerk.memoryo.dev. Required in public mode. | |
| MEMORYOS_MCP_CLERK_CLIENT_ID | No | Clerk OAuth client ID. Required in public mode. | |
| MEMORYOS_MCP_PUBLIC_BASE_URL | No | Public base URL of the MCP server, e.g. https://mcp.example.com. Required in public mode. | |
| MEMORYOS_MCP_AUTH_SIGNING_KEY | No | A new random secret used for signing MCP authorization tokens. Required in public mode. Must not be a MemoryOS API key, Razorpay key, or Clerk secret. | |
| MEMORYOS_MCP_UNIVERSAL_ENABLED | No | Set to 'true' to enable cross-agent universal memory tools on the public MCP server. Optional. | |
| MEMORYOS_MCP_CLERK_CLIENT_SECRET | No | Clerk OAuth client secret. Required in public mode. | |
| MEMORYOS_MCP_UNIVERSAL_AGENT_API_KEY | No | API key of the dedicated Global Agent used for universal memory. Required only when universal tools are enabled. | |
| MEMORYOS_MCP_ALLOWED_CLIENT_REDIRECT_URIS | No | Comma-separated list of approved client redirect URIs for Clerk OAuth. Required in public mode. |
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 | {
"listChanged": true
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| memoryos_add_memoryA | Queue tenant-scoped conversation messages for MemoryOS extraction. Uses the workspace's configured general or domain schema. |
| memoryos_get_contextC | Retrieve prompt-ready memory context for a tenant-scoped user. Domain schema context is included by the MemoryOS backend when enabled. |
| memoryos_list_memoriesC | List tenant-scoped memories for a user. |
| memoryos_get_memoryA | Fetch one memory by id. |
| memoryos_update_memoryC | Update memory content, importance, or archived state. |
| memoryos_delete_memoryB | Archive or hard-delete a memory. |
| memoryos_get_memory_historyA | Fetch append-only version history for a memory. |
| memoryos_get_job_statusC | Fetch extraction job status. |
| memoryos_export_userB | Export a tenant user's memories and version history for access requests. |
| memoryos_get_user_statsA | Fetch tenant-scoped memory stats for one external user. |
| memoryos_block_userB | Block a tenant-scoped user from future memory operations. |
| memoryos_get_edtech_profileA | Fetch the structured EdTech profile for a user when the EdTech schema is enabled. |
| memoryos_get_domain_schemaA | Read the workspace domain schema setting. |
| memoryos_set_domain_schemaA | Set the workspace domain schema. Use null for General Engine, 'edtech' for EdTech, or 'support' for Customer Support. |
| memoryos_set_support_typeC | Configure Customer Support routing mode and allowed support types. |
| memoryos_list_support_customersC | List Customer Support schema customer summaries. |
| memoryos_get_support_statsB | Fetch Customer Support schema aggregate stats. |
| memoryos_list_billing_plansB | Fetch public MemoryOS billing plans. |
| memoryos_get_billing_subscriptionA | Fetch the authenticated tenant's read-only subscription and plan limits. This tool never creates a checkout, verifies a payment, or changes billing. |
| memoryos_register_global_agentB | Register a global cross-agent MemoryOS agent and receive its agent API key once. |
| memoryos_get_global_agentB | Fetch a public global agent profile. |
| memoryos_universal_add_memoryC | Queue cross-agent universal memory extraction. |
| memoryos_universal_get_contextC | Retrieve cross-agent universal memory context. |
| memoryos_universal_get_job_statusC | Fetch universal memory extraction job status. |
| memoryos_create_consent_urlB | Create a MemoryOS consent URL for cross-agent memory sharing. |
| memoryos_api_requestC | Advanced allowlisted MemoryOS API request for endpoints not yet promoted to first-class MCP tools. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 26 tools
Most tools target distinct resource-action pairs, and the tenant-scoped vs universal variants are marked in names and descriptions. A few pairs like memoryos_get_job_status vs memoryos_universal_get_job_status and memoryos_get_context vs memoryos_universal_get_context require careful reading, but overall selection should be unambiguous.
The memoryos_ prefix plus snake_case verb_noun naming is highly consistent across list/get/update/delete/set/register/create tools. The main deviations are memoryos_universal_* placing the scope modifier before the verb and memoryos_api_request being a noun-only exception.
At 26 tools the surface is above the 25-tool threshold and feels too heavy for a memory-focused MCP server, especially with support, billing, global-agent, and universal features bundled in. The tools are individually justified, but the set would benefit from consolidation or splitting into focused servers.
The core memory lifecycle is well covered: add, list, get, update, delete, history, context, job status, plus user export/stats/block. Minor gaps exist in universal/global-agent operations, such as no update/delete/list for universal or global agents, but the catch-all api_request and read-only coverage make these workable.