@kireo/mcp-server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| KIREO_API_KEY | Yes | Bearer token (ki_sk_…). Required. | |
| KIREO_API_URL | No | Override for self-host. | https://api.kireo.app |
| KIREO_LOG_LEVEL | No | debug / info / warn / error / silent. | info |
| KIREO_PROXY_URL | No | HTTP(S) proxy. | |
| KIREO_TELEMETRY | No | Set to 0 to disable device-id header. | 1 |
| KIREO_RETRY_BASE_MS | No | Exponential backoff base. | 200 |
| KIREO_ACCEPT_LANGUAGE | No | Locale for error hints. | en |
| KIREO_REQUEST_TIMEOUT_MS | No | Per-request timeout in ms, max 300000 (env alias: KIREO_TIMEOUT_MS). | 60000 |
| KIREO_RETRY_MAX_ATTEMPTS | No | 5xx/429 retries (alias: KIREO_RETRY_MAX). | 3 |
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 | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| memory_saveA | Persist a long-term memory for the current user. When to use:
When NOT to use:
Returns: { id, created_at, schema_version, embedding_status } — use memory_get for the full record. |
| memory_searchA | Hybrid semantic + keyword search over the user's memories. When to use:
When NOT to use:
Returns: ranked list of MemoryRecord with a raw RRF relevance |
| memory_recallA | Replay recent or important memories from a namespace, without a query. When to use:
When NOT to use:
|
| memory_getA | Fetch a single memory by id. When to use:
When NOT to use:
|
| memory_updateA | Patch an existing memory. Only the fields you provide are changed. When to use:
When NOT to use:
|
| memory_deleteA | Delete a memory. Defaults to a soft delete (30-day recovery window). When to use:
When NOT to use:
Note: deletes are always soft — the API has no immediate hard delete. Soft-deleted memories are purged permanently after the 30-day window. |
| memory_list_namespacesA | List all namespaces the current user has, with per-namespace counts. When to use:
Returns: array of { name, created_at }. |
| memory_healthA | Probe the Kireo service and report local + remote health. When to use:
Returns: { local: { server_version, node_version, platform }, remote: { status } }. |
| project_infoA | Resolve the stable identity of the current project and the namespaces its memories live in. When to use: before every context_save and context_load, and any time the user asks which project or bucket their memories are going to. ALWAYS call this before context_save or context_load, and ALWAYS show the
user the returned If Returns: { key, source, display_name, warn, ctx_namespace, code_namespace, home_namespace } |
| context_saveA | Persist distilled session context for the current project. When to use: ONCE per /kireo:save, after you have distilled the session. Always call project_info first and show the user the resolved project. Each entry needs non-empty Do NOT store things re-derivable from the repo in 60 seconds — that is the code index’s job. Store decisions, constraints, gotchas, open threads, a small map of key files, and stated preferences. Privacy: content, evidence, and files are pattern-redacted for known
credential shapes, but that is NOT a privacy guarantee — it cannot catch
business secrets ("customer A’s contract is worth $X") that got paraphrased
into evidence/files from things the session read (.env, docker logs, a
pasted SQL result). The first run is therefore FORCED into a preview by the
tool itself: until a Returns: { stored, deduped, failed, outbox_pending, namespace, dashboard_url } |
| context_loadA | Load previously saved context for the current project and render it. When to use: at the start of work on a project — especially on a machine or in a tool where you have not worked on it before. The first line reports the project identity and the code index freshness. Relay both to the user; never assume the code index is current. Returns rendered text, grouped constraints → open threads → decisions → gotchas → key files → preferences. A repo with a |
| context_archiveA | Save and upload a semantically compressed conversation as .md. When to use: after /kireo:compact has summarized the requested conversation rounds, and the user has asked to upload them. The host model does the compression; this tool redacts, writes the Markdown file, splits it losslessly and uploads it to the memory API. Always pass the conversation directory as cwd. Directory archives use their own namespace (different worktrees and same-named directories stay separate) and never change relay project keys. dry_run:true previews without side effects; otherwise invocation saves AND uploads. A failed or incomplete upload stays queued locally. Run compact again to retry. Returns the project, filename, local_path, namespace, snapshot_id, stored, deduped, outbox_pending, memory_ids and dashboard_url. Never call a queued archive uploaded. |
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 12 tools
Each tool targets a distinct operation: memory_get/search/recall are clearly separated by id, query, or chronological feed; memory_save/update/delete cover lifecycle edits; context_save/load/archive handle project session context. Even the potentially overlapping memory and context tools are differentiated by their descriptions and usage guidance.
Memory tools consistently use memory_<verb> (memory_save, memory_search, memory_delete), and context tools use context_<verb>. The only deviation is project_info, which breaks the verb-first pattern, and memory_list_namespaces which mixes noun phrasing, but overall the convention is predictable and readable.
12 tools is well-scoped for a memory and context persistence server. Each tool earns its place: CRUD for memories, search/recall/health/namespace utilities, and context save/load/archive. No redundant tools or excessive surface area.
The tool surface covers the full memory lifecycle: create, read, update, delete, search, recall, and namespace management. Context persistence is complete with save, load, and archive. Project identity resolution and health probing fill the operational gaps, leaving no obvious dead ends.