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
} |
| 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. workspace: name of the workspace to store into (must be a member). Omit or pass None to store as a personal memory. force: skip near-duplicate check and store unconditionally. |
| retrieve_memory | Hybrid semantic + full-text search over stored memories. Returns compact snippets by default (snippet_length=200). To get the full content of a specific memory, call get_memory(id). Set snippet_length=None to return full content immediately. Pass workspace= to search only within a specific workspace. |
| recall_memory | Search memories by time expression + semantics. Examples: "last week", "yesterday", "about Python last month". Returns compact snippets by default (snippet_length=200). To get the full content of a specific memory, call get_memory(id). Set snippet_length=None to return full content immediately. 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). Use to enumerate or audit stored memories without a specific query. For semantic/text search use retrieve_memory(); for time-range queries use recall_memory(); for tag-only browsing use search_by_tag(). page starts at 1; page_size defaults to 10, capped at 100. tag filter is a case-insensitive exact match on a single tag name. |
| 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 ID. Removes from vec index and FTS (via trigger). |
| update_memory | Update an existing memory by ID. Only provided fields are changed. |
| move_memory | Move a memory to a different workspace. id: memory ID to move. workspace: name of the target workspace (must be a member with write access). |
| 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