Memlord
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MEMLORD_PORT | No | Server port | 8000 |
| MEMLORD_DB_URL | No | PostgreSQL connection URL | postgresql+asyncpg://postgres:postgres@localhost/memlord |
| MEMLORD_BASE_URL | No | Public URL for OAuth | http://localhost:8000 |
| MEMLORD_OAUTH_JWT_SECRET | No | JWT signing secret | memlord-dev-secret-please-change |
Capabilities
Features and capabilities supported by this server
| 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 |
|---|---|
| store_memory | Save a new memory. Idempotent: returns existing if content already stored. name: human-readable name, unique within the workspace. workspace: name of the workspace to store into. Omit to store as a personal memory. force: skip near-duplicate check and store unconditionally. |
| retrieve_memory | Hybrid semantic + full-text search. Returns names + metadata only. Use get_memory(name=...) to fetch full content of a specific result. Pass workspace= to search only within a specific workspace. |
| recall_memory | Search memories by time expression + semantics. Returns names + metadata only. Examples: "last week", "yesterday", "about Python last month". Use get_memory(name=...) to fetch full content of a specific result. Pass workspace= to search only within a specific workspace. |
| get_memory | Fetch full content of a single memory by numeric ID. Use only when you already know the ID — e.g. after retrieve_memory() or recall_memory() which return IDs in their results alongside compact snippets. Do NOT use for search — use retrieve_memory() for semantic/text search or recall_memory() for time-based queries like 'last week'. |
| list_memories | Browse all memories ordered by creation date (newest first). Returns full content (not snippets). Use to enumerate or audit without a specific query. |
| search_by_tag | Find memories by exact tag match. Returns all results (no pagination). operation="AND" (default): memory must have ALL specified tags. operation="OR": memory must have AT LEAST ONE of the specified tags. Tags are case-insensitive. Use retrieve_memory() for semantic/text search or list_memories(tag=...) to browse a single tag with pagination. |
| delete_memory | Delete a memory by name. Pass workspace to disambiguate if the name exists in multiple workspaces. |
| update_memory | Update an existing memory identified by name. Only provided fields are changed. new_name: rename the memory to this name. workspace: disambiguate if the name exists in multiple workspaces. |
| move_memory | Move a memory to a different to_workspace. name: name of the memory to move. workspace: name of the target workspace (must be a member with write access). from_workspace: disambiguate source if the name exists in multiple workspaces. |
| list_workspaces | List all workspaces you are a member of (personal + shared). |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
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/MyrikLD/memlord'
If you have feedback or need assistance with the MCP directory API, please join our Discord server