About cuemap-mcp
cuemap-mcp is CueMap's MCP server for explainable, repository-aware memory and context retrieval for coding agents. It can start or connect to the CueMap engine and supports confirmed repository-scope initialization and memory management.
Key features
- 01Retrieve repository context and memories
- 02Preview and confirm repository ingestion scope
- 03Monitor background ingestion progress
- 04Manage project loading, saving, and syncing
- 05Ingest URLs, text, and local files
- 06Manage memories, aliases, and lexicon links
Use cases
- 01Initialize repository memory for coding agents
- 02Check ingestion status for a repository project
- 03Save, export, or sync project memories
- 04Add selected web pages or files to memory
MCP support
As an MCP server, it exposes CueMap tools for coding assistants, including repository initialization, status checks, and memory retrieval and management. On startup it connects to a compatible engine or starts a local one automatically.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
Tools
31Saved tool list · updated 2w ago
| Parameter | Type | Required | Description |
|---|---|---|---|
| path | string | Yes | Absolute path to the repository root. |
| projectName | string | No | Optional project ID. Defaults to the stable repository-scoped CueMap project ID. |
| includedPaths | array | No | Optional repository-relative files or folders to preview. Empty means every supported file allowed by ignore rules. |
| ignoredPatterns | array | No | Optional additional gitignore-style exclusion patterns. |
| ignoredExtensions | array | No | Optional additional excluded extensions without a leading dot. |
Details
From the project README
CueMap MCP Server v0.7.5
A premium MCP bridge for explainable, repository-aware agent memory.
The Model Context Protocol (MCP) server for CueMap, allowing AI coding assistants (like Claude Desktop, Cursor, Windsurf, and Antigravity) to instantly recall codebase context using the CueMap engine.
For agent-facing operating guidance—including repository consent, supported content types, recall modes, accuracy-oriented knob selection, and troubleshooting—see SKILL.md.
Zero-Config Deployment
The CueMap MCP Server is designed to work completely out-of-the-box. When started, it automatically manages a high-performance Rust instance of the CueMap Server in the background. The v0.7.3 engine bundles qint8 MiniLM-L3 by default and q4 MiniLM-L3 for the edge profile; no model download occurs at runtime.
You do not need to install or run the CueMap CLI manually. The correct pre-compiled binary for your operating system is automatically downloaded via optional NPM dependencies. Embedded startup supports Linux x64/ARM64, macOS x64/ARM64, and Windows x64.
Installation
# Global installation makes the `cuemap-mcp` command available
npm install -g cuemap-mcp
(Note: Ensure your package manager is configured to download optionalDependencies so the local Rust binary is included).
Agent Plugin
CueMap also ships a separate cuemap-agent-plugin package for Agent Plugins-compatible clients. It bundles the portable plugin.json manifest, stdio mcp.json configuration, and a repository-memory skill. The plugin launches this MCP server at the matching release version and must be installed or downloaded separately from cuemap-mcp.
Configuration (Environment Variables)
By default, the embedded engine runs on port 8735. You can customize the server behavior by passing the following environment variables in your MCP configuration:
CUEMAP_PORT: Override the port the embedded engine binds to (default:8735).CUEMAP_CONFIG_PATH: Absolute path to a customserver_config.tomlto configure advanced Engine tuning, background jobs, and RAG search parameters.CUEMAP_URL: If you prefer to bypass the embedded engine and connect to a remotely hosted or separately running CueMap server, specify its URL here (e.g.http://localhost:8735).CUEMAP_PROJECT: Override the default project. Without this setting, CueMap derives a stable repository-scoped project from the current Git remote or working directory.CUEMAP_LOG_PATH: Override the embedded engine log path. It defaults to~/.cuemap/server.log, which is the file read bycuemap logs.
Server lifecycle
The MCP server calls EmbeddedCueMap.start() as soon as Codex launches the plugin process, before any CueMap tool is invoked. It attaches to a compatible engine already listening at CUEMAP_URL or the configured port; otherwise it starts and owns a local engine automatically. cuemap_init does not start the server—it previews or applies a confirmed repository scope after the engine is ready. An engine owned by the MCP process is stopped gracefully when that process exits.
Using with AI Agents
To use this MCP server with your AI assistant, add it to your assistant's MCP configuration file.
Example Configuration (Claude Desktop)
{
"mcpServers": {
"cuemap": {
"command": "npx",
"args": [
"-y",
"cuemap-mcp"
],
"env": {
"CUEMAP_PORT": "8735"
}
}
}
}
Available Tools
-
cuemap_init_preview: Performs a read-only repository metadata scan and returns supported top-level folders/root files, counts, the stable repository project ID, and any existing saved scope. Present this preview to the user before ingestion.path(string): Absolute path to the repository root.projectName(string, optional): Project ID override. Defaults to the stable repository-scoped ID.includedPaths(string[], optional): Repository-relative files or folders to preview. Empty means all supported files allowed by ignore rules.ignoredPatterns(string[], optional): Additional gitignore-style exclusions.ignoredExtensions(string[], optional): Additional excluded extensions.
-
cuemap_init: Applies a user-confirmed repository ingestion scope, starts the initial scan, and keeps watching that scope for new, changed, deleted, newly ignored, or newly unignored supported files. It only reports verified completion after observing ingestion activity, reaching a terminal job phase, and completing intent annotation; an initialidlestatus with0/0writes is not considered complete.path(string): Absolute path to the repository root.projectName(string, optional): Project ID override. Defaults to the stable repository-scoped ID.includedPaths(string[], optional): User-approved repository-relative files or folders. Empty means all supported files allowed by ignore rules.ignoredPatterns(string[], optional): Additional gitignore-style exclusions.ignoredExtensions(string[], optional): Additional excluded extensions.confirmed(boolean): Must be true only after explicit user confirmation of the previewed scope.
-
cuemap_status: Returns project-scoped background ingestion progress plus derived monitoring fields. Poll it aftercuemap_inituntilverified_completeistrue.project(string, optional): Project ID override. Defaults to the stable repository-scoped ID.active: Whether the current phase is non-terminal or writes/intent annotations remain pending.observed_activity: Whether this MCP process has observed an active phase or positive write/intent counts for the project.pending_writes: Remaining writes based on the latest totals.pending_intents: Remaining memory intent annotations based on the latest totals.verified_complete: True only after activity has been observed, the project reachesdoneoridle, no work failed or remains pending, andintent_readyis not false.
Project inspection and memory lifecycle
cuemap_projects: List projects and their summary metadata, including whether each project is currently loaded in RAM.cuemap_project_load: Explicitly warm a persisted project before a latency-sensitive operation. Ordinary project requests demand-load it when needed.cuemap_project_save: Persist a current snapshot without unloading it.cuemap_project_unload: Persist and unload a project to reduce memory usage. Active work can produce a retryable busy response.cuemap_project_pack/cuemap_project_package_load: Write or load a ready-to-query local.cuemappackage.cuemap_project_push/cuemap_project_pull: Transfer a package through S3 using the engine host's configured AWS CLI.cuemap_project_sync: Fast-forward immutable S3 history and refuse divergence.cuemap_stats: Read repository-project statistics, or global engine statistics withglobal: true.cuemap_memory_get: Read one memory as decoded text and provenance by numericmemory_idand owningproject. Requires an engine supportingGET /memories/:id?decoded=true; older engines return an upgrade error through this tool.cuemap_memory_reinforce: Reinforce one memory, optionally on explicitcues.cuemap_memory_delete: Permanently delete one memory. Requiresconfirmed: trueafter explicit user confirmation.cuemap_project_export: Export a cursor-paginated project page with configurable content, cue, and metadata inclusion.cuemap_project_artifacts: Inspect CueBridge artifact metadata without reloading it.
Explicit ingestion
cuemap_ingest_url: Ingest one URL or recursively crawl it withdepthandsame_domain_onlycontrols.cuemap_ingest_content: Ingest supplied text with filename, source-key, metadata, structural-cue, segmentation, and optional one-vector-per-produced-chunkembeddings.cuemap_ingest_file: Ingest one user-approved local file path.
These tools are for explicit ingestion requests. Repository initialization continues to use the preview, confirmation, and watcher workflow above.
Alias and Lexicon administration
-
cuemap_alias_list,cuemap_alias_add,cuemap_alias_merge: Inspect and manage manual cue aliases. Merging requiresconfirmed: true. -
cuemap_lexicon_inspect,cuemap_lexicon_graph,cuemap_lexicon_wire,cuemap_lexicon_delete: Inspect and administer Lexicon relationships. Deletion requiresconfirmed: true. -
cuemap_add: Stores one natural-language memory. The project is created automatically if it does not exist.content(string): Memory content to store.project(string, optional): Project ID that will own the memory. Defaults to the current repository-scoped project.cues(string[], optional): Explicit cues/tags to associate with the memory.metadata(object, optional): JSON metadata to store with the memory.source_key(string, optional): Stable source key for deterministic upsert/deduplication.event_time(number, optional): Original event timestamp as Unix seconds. Defaults to ingestion time.embedding(number[], optional): Precomputed memory embedding.disable_temporal_chunking(boolean, optional): Disable temporal chunking for this memory.async_ingest(boolean, optional): Process ingestion in the background and return immediately.
-
cuemap_intent_classify: Classifies text with the engine's local intent model. Acceptstarget: "query"or"memory"and returns relative intent scores, recall/memory eligibility, confidence weight, and model/taxonomy versions. Scores are ranking signals, not calibrated probabilities. -
cuemap_recall: Recalls context about a codebase from your CueMap integrated brain. Uses natural language and semantic search to find relevant information.query(string): The natural language query to search for.limit(number, optional): Maximum results to return (default: 10).response_mode(full|preview, optional): Defaultfull. Usepreviewfor broad discovery; each hit returns a leading excerpt instead of full content, retaining IDs and metadata.preview_chars(integer, optional): Preview length cap, 100–2000 UTF-16 code units (default: 200). Ignored in full mode. Metadata and diagnostics are not capped.projects(string[], optional): List of project IDs to scope the search to. Multiple enables cross-project queries.cues(string[], optional): Specific cue tags to filter the search.query_time(string, optional): Timestamp or natural-language time anchor for v0.7 temporal query intent.depth(number, optional): Depth of multi-hop recall expander (default: 1).expansion_depth(number or"conversation_round", optional): Neighbor context expansion (default:"conversation_round"). Values above 1 include nearby parent chunks or source-ordered context, using a radius ofexpansion_depth - 1when linkage exists."conversation_round"prepends the message each result replies to (for an assistant reply, the user message that prompted it) when memories carry session, turn and role metadata, for example after ingesting withsegmenter: "conversation". The top result also gets the message that replies to it (for a user message, the assistant's answer). Memories without conversation metadata are returned as they are; pass1for matched memories only. A message that would also appear lower in the results is moved up instead of repeated, so fewer thanlimitresults can come back.auto_reinforce(boolean, optional): Automatically reinforce retrieved memories (default: false).min_intersection(number, optional): Minimum required cue intersection count (default: 0).explain(boolean, optional): Include scoring explanation data in results (default: false).trace_timing(boolean, optional): Include v0.7 timing diagnostics.disable_salience_bias(boolean, optional): Disable salience scoring bias.disable_alias_expansion(boolean, optional): Disable lexicon synonym injection during querying (default: true).parent_fusion(off|auto|force, optional): Chunk-parent fusion mode.ordered_reconstruction(off|auto|force, optional): Ordered session reconstruction mode.evidence_coverage(off|auto|force, optional): Multi-evidence coverage mode.disable_cuebridge_artifacts(boolean, optional): Disable CueBridge artifact expansion.cuebridge_gap_limit(number, optional): Maximum CueBridge gap expansions.semantic_mode(lexical,semantic, orhybrid, optional): Choose cue-only recall, vector candidate discovery, or local semantic reranking of lexical candidates. The engine default ishybrid.
-
query_embedding(number[], optional): Supply a precomputed query vector when the calling application owns the embedding provider.
Recall response and follow-up inspection
Recall returns engine JSON in both MCP structuredContent and a matching JSON
text block. This replaces the earlier prose-only format. Each identified
memory carries project_id and memory_id; metadata, source locations, and
requested diagnostics are preserved as supplied by the engine. Explicit
project queries may return project blocks containing their own results or
error, including empty groups. Ordinary unscoped queries return memory
records directly in results.
Use a hit's project and ID with cuemap_memory_get when the stored record is
needed. That tool returns readable content without vectors or compressed
storage bytes; it does not expand neighboring chunks or read live files.
Prefer opening the cited source when recall already returned the relevant
text. Follow-up recalls should address a new evidence gap. See SKILL.md
for the coding investigation workflow and bounded recall controls.
For broad discovery, pass response_mode: "preview". A hit's content is
replaced by preview, content_truncated, and content_length (UTF-16 code
units). This is a leading excerpt, not a generated summary or query-selected
snippet. Full content is omitted from both MCP output forms; fetch promising
memories by their project/ID or read the live source. Full mode remains the
default. The engine shapes previews before sending its response. This does not change
ranking or retrieval work, and does not limit metadata or diagnostics.
License
The MCP server package is MIT-licensed. Its optional native engine dependencies are separate packages: v0.7.3 and later engine packages are Apache-2.0, while pre-v0.7.3 engine packages remain under BSL-1.1. See LICENSE for the MCP server license.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.