cc-mem-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| QDRANT_URL | No | Set to use a shared Qdrant server; unset = embedded local file. | |
| QDRANT_PATH | No | Embedded storage path (mount a volume here). | /data/qdrant |
| OPENAI_API_KEY | No | For openai provider. | |
| QDRANT_API_KEY | No | API key for a protected server. | |
| COLLECTION_NAME | No | Qdrant collection. | cc_memory |
| EMBEDDING_MODEL | No | Model for the chosen provider. | BAAI/bge-small-en-v1.5 |
| OPENAI_BASE_URL | No | For openai provider. | |
| CC_MEM_CATEGORIES | No | JSON {domain:[sub,...]} to override the taxonomy. | |
| EMBEDDING_PROVIDER | No | local (FastEmbed) or openai. | local |
| CC_MEM_STRICT_CATEGORIES | No | 1 = reject unknown categories instead of warning. | 0 |
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": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| memory_storeA | Persist ONE durable fact to long-term memory (write-through). Call this the moment a fact worth surviving compaction appears — do NOT wait for the conversation to be summarized. One call = one atomic fact. category is project: optional slug to scope the fact to one project/repo. tags: optional keywords for later filtering. source: optional origin note (e.g. a file path or URL). |
| memory_findA | Retrieve relevant facts by meaning (semantic search). Call this at the start of a task instead of relying on the compaction
summary. Narrow with category ( |
| memory_categoriesA | List the active category taxonomy (domains and their sub-categories). |
| memory_deleteA | Delete a stored fact by its id (as returned by memory_store/memory_find). |
| memory_initA | Create the FIRST STATE for a project and wire Claude Code to use memory. Call this once at the start of working on a repo (or to refresh — it's idempotent). It:
root: repo path (defaults to the server's working directory). When running in Docker, mount the repo and pass its in-container path here. install_hooks: also add SessionStart/PostCompact hooks to ~/.claude/settings.json. |
| memory_ingestA | Capture Claude Code's OWN compaction summaries from disk into memory. This is the primary write path: instead of tagging facts by hand, it reads
the transcript(s) Claude Code writes to project: restrict to one project slug (the transcript folder name). Omit to scan all projects. session_path: ingest a single .jsonl transcript instead of scanning. |
| memory_statsA | Report collection size, storage backend, and embedding configuration. |
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 7 tools
Each tool has a clearly distinct purpose: categories listing, deletion, semantic search, bulk ingestion from disk, initialization of project memory, stats reporting, and single-fact storage. No overlap between them.
All tools follow the 'memory_' prefix. Most use verb forms (delete, find, ingest, init, store) but two use nouns (categories, stats). The pattern is mostly consistent with minor deviation.
With 7 tools covering initialization, ingestion, storage, retrieval, deletion, categories, and statistics, the count is well-scoped for a memory management server. Each tool earns its place.
Core CRUD operations are covered (store, find, delete) along with initialization and bulk ingestion. Minor gaps like an explicit update or listing all facts are missing but can be worked around.