cuemap-mcp 0.7.1 → 0.7.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,12 +1,27 @@
1
- # CueMap MCP Server
1
+ <p align="center">
2
+ <img src="https://cuemap.dev/cuemap-logo.PNG" alt="CueMap" width="120">
3
+ </p>
4
+
5
+ <h1 align="center">CueMap MCP Server v0.7.3</h1>
6
+
7
+ <p align="center">A premium MCP bridge for explainable, repository-aware agent memory.</p>
8
+
9
+ <p align="center">
10
+ <a href="https://www.npmjs.com/package/cuemap-mcp"><img src="https://img.shields.io/npm/v/cuemap-mcp?logo=npm" alt="npm"></a>
11
+ <a href="https://www.npmjs.com/package/cuemap-mcp"><img src="https://img.shields.io/npm/dm/cuemap-mcp?logo=npm" alt="npm downloads"></a>
12
+ <a href="https://modelcontextprotocol.io/"><img src="https://img.shields.io/badge/MCP-compatible-7c3aed" alt="MCP compatible"></a>
13
+ <a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-5e5ce6" alt="License"></a>
14
+ </p>
2
15
 
3
16
  The [Model Context Protocol (MCP)](https://modelcontextprotocol.io/) server for CueMap, allowing AI coding assistants (like Claude Desktop, Cursor, Windsurf, and Antigravity) to instantly recall codebase context using the CueMap engine.
4
17
 
18
+ For agent-facing operating guidance—including repository consent, supported content types, recall modes, accuracy-oriented knob selection, and troubleshooting—see [SKILL.md](SKILL.md).
19
+
5
20
  ## Zero-Config Deployment
6
21
 
7
- 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.
22
+ 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.
8
23
 
9
- 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.
24
+ 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.
10
25
 
11
26
  ## Installation
12
27
 
@@ -17,13 +32,23 @@ npm install -g cuemap-mcp
17
32
 
18
33
  *(Note: Ensure your package manager is configured to download `optionalDependencies` so the local Rust binary is included).*
19
34
 
35
+ ## Agent Plugin
36
+
37
+ CueMap also ships a separate [`cuemap-agent-plugin`](https://www.npmjs.com/package/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`.
38
+
20
39
  ## Configuration (Environment Variables)
21
40
 
22
- By default, the embedded engine runs on port `8080`. You can customize the server behavior by passing the following environment variables in your MCP configuration:
41
+ 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:
23
42
 
24
- - `CUEMAP_PORT`: Override the port the embedded engine binds to (default: `8080`).
43
+ - `CUEMAP_PORT`: Override the port the embedded engine binds to (default: `8735`).
25
44
  - `CUEMAP_CONFIG_PATH`: Absolute path to a custom `server_config.toml` to configure advanced Engine tuning, background jobs, and RAG search parameters.
26
- - `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:8080`).
45
+ - `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`).
46
+ - `CUEMAP_PROJECT`: Override the default project. Without this setting, CueMap derives a stable repository-scoped project from the current Git remote or working directory.
47
+ - `CUEMAP_LOG_PATH`: Override the embedded engine log path. It defaults to `~/.cuemap/server.log`, which is the file read by `cuemap logs`.
48
+
49
+ ### Server lifecycle
50
+
51
+ 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.
27
52
 
28
53
  ## Using with AI Agents
29
54
 
@@ -41,7 +66,7 @@ To use this MCP server with your AI assistant, add it to your assistant's MCP co
41
66
  "cuemap-mcp"
42
67
  ],
43
68
  "env": {
44
- "CUEMAP_PORT": "8080"
69
+ "CUEMAP_PORT": "8735"
45
70
  }
46
71
  }
47
72
  }
@@ -50,41 +75,128 @@ To use this MCP server with your AI assistant, add it to your assistant's MCP co
50
75
 
51
76
  ## Available Tools
52
77
 
53
- - **`cuemap_init`**: Autonomously initializes a CueMap project for a given local repository path. This triggers the Self-Learning Agent to instantly ingest the codebase so `cuemap_recall` can be used.
54
- - `path` (string): Absolute path to the local repository.
55
- - `projectName` (string, optional): The ID of the project to create. Defaults to the folder name of the path.
56
-
57
- - **`cuemap_add`**: Stores one natural-language memory in an explicit project. The project is created automatically if it does not exist.
78
+ - **`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.
79
+ - `path` (string): Absolute path to the repository root.
80
+ - `projectName` (string, optional): Project ID override. Defaults to the stable repository-scoped ID.
81
+ - `includedPaths` (string[], optional): Repository-relative files or folders to preview. Empty means all supported files allowed by ignore rules.
82
+ - `ignoredPatterns` (string[], optional): Additional gitignore-style exclusions.
83
+ - `ignoredExtensions` (string[], optional): Additional excluded extensions.
84
+
85
+ - **`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 initial `idle` status with `0/0` writes is not considered complete.
86
+ - `path` (string): Absolute path to the repository root.
87
+ - `projectName` (string, optional): Project ID override. Defaults to the stable repository-scoped ID.
88
+ - `includedPaths` (string[], optional): User-approved repository-relative files or folders. Empty means all supported files allowed by ignore rules.
89
+ - `ignoredPatterns` (string[], optional): Additional gitignore-style exclusions.
90
+ - `ignoredExtensions` (string[], optional): Additional excluded extensions.
91
+ - `confirmed` (boolean): Must be true only after explicit user confirmation of the previewed scope.
92
+
93
+ - **`cuemap_status`**: Returns project-scoped background ingestion progress plus derived monitoring fields. Poll it after `cuemap_init` until `verified_complete` is `true`.
94
+ - `project` (string, optional): Project ID override. Defaults to the stable repository-scoped ID.
95
+ - `active`: Whether the current phase is non-terminal or writes/intent annotations remain pending.
96
+ - `observed_activity`: Whether this MCP process has observed an active phase or positive write/intent counts for the project.
97
+ - `pending_writes`: Remaining writes based on the latest totals.
98
+ - `pending_intents`: Remaining memory intent annotations based on the latest totals.
99
+ - `verified_complete`: True only after activity has been observed, the project reaches `done` or `idle`, no work failed or remains pending, and `intent_ready` is not false.
100
+
101
+ ### Project inspection and memory lifecycle
102
+
103
+ - **`cuemap_projects`**: List projects and their summary metadata, including
104
+ whether each project is currently loaded in RAM.
105
+ - **`cuemap_project_load`**: Explicitly warm a persisted project before a
106
+ latency-sensitive operation. Ordinary project requests demand-load it when
107
+ needed.
108
+ - **`cuemap_project_save`**: Persist a current snapshot without unloading it.
109
+ - **`cuemap_project_unload`**: Persist and unload a project to reduce memory
110
+ usage. Active work can produce a retryable busy response.
111
+ - **`cuemap_project_pack` / `cuemap_project_package_load`**: Write or load a
112
+ ready-to-query local `.cuemap` package.
113
+ - **`cuemap_project_push` / `cuemap_project_pull`**: Transfer a package through
114
+ S3 using the engine host's configured AWS CLI.
115
+ - **`cuemap_project_sync`**: Fast-forward immutable S3 history and refuse divergence.
116
+ - **`cuemap_stats`**: Read repository-project statistics, or global engine statistics with `global: true`.
117
+ - **`cuemap_memory_get`**: Read one memory as decoded text and provenance by numeric `memory_id` and owning `project`. Requires an engine supporting `GET /memories/:id?decoded=true`; older engines return an upgrade error through this tool.
118
+ - **`cuemap_memory_reinforce`**: Reinforce one memory, optionally on explicit `cues`.
119
+ - **`cuemap_memory_delete`**: Permanently delete one memory. Requires `confirmed: true` after explicit user confirmation.
120
+ - **`cuemap_project_export`**: Export a cursor-paginated project page with configurable content, cue, and metadata inclusion.
121
+ - **`cuemap_project_artifacts`**: Inspect CueBridge artifact metadata without reloading it.
122
+
123
+ ### Explicit ingestion
124
+
125
+ - **`cuemap_ingest_url`**: Ingest one URL or recursively crawl it with `depth` and `same_domain_only` controls.
126
+ - **`cuemap_ingest_content`**: Ingest supplied text with filename, source-key, metadata, structural-cue, segmentation, and optional one-vector-per-produced-chunk `embeddings`.
127
+ - **`cuemap_ingest_file`**: Ingest one user-approved local file path.
128
+
129
+ These tools are for explicit ingestion requests. Repository initialization continues to use the preview, confirmation, and watcher workflow above.
130
+
131
+ ### Alias and Lexicon administration
132
+
133
+ - **`cuemap_alias_list`**, **`cuemap_alias_add`**, **`cuemap_alias_merge`**: Inspect and manage manual cue aliases. Merging requires `confirmed: true`.
134
+ - **`cuemap_lexicon_inspect`**, **`cuemap_lexicon_graph`**, **`cuemap_lexicon_wire`**, **`cuemap_lexicon_delete`**: Inspect and administer Lexicon relationships. Deletion requires `confirmed: true`.
135
+ - **`cuemap_add`**: Stores one natural-language memory. The project is created automatically if it does not exist.
58
136
  - `content` (string): Memory content to store.
59
- - `project` (string): Project ID that will own the memory.
137
+ - `project` (string, optional): Project ID that will own the memory. Defaults to the current repository-scoped project.
60
138
  - `cues` (string[], optional): Explicit cues/tags to associate with the memory.
61
139
  - `metadata` (object, optional): JSON metadata to store with the memory.
62
140
  - `source_key` (string, optional): Stable source key for deterministic upsert/deduplication.
63
- - `cuepacks` (string[], optional): CuePack names to apply during deterministic cue extraction.
141
+ - `event_time` (number, optional): Original event timestamp as Unix seconds. Defaults to ingestion time.
142
+ - `embedding` (number[], optional): Precomputed memory embedding.
64
143
  - `disable_temporal_chunking` (boolean, optional): Disable temporal chunking for this memory.
65
144
  - `async_ingest` (boolean, optional): Process ingestion in the background and return immediately.
66
145
 
146
+ - **`cuemap_intent_classify`**: Classifies text with the engine's local intent model. Accepts `target: "query"` or `"memory"` and returns relative intent scores, recall/memory eligibility, confidence weight, and model/taxonomy versions. Scores are ranking signals, not calibrated probabilities.
147
+
67
148
  - **`cuemap_recall`**: Recalls context about a codebase from your CueMap integrated brain. Uses natural language and semantic search to find relevant information.
68
149
  - `query` (string): The natural language query to search for.
69
150
  - `limit` (number, optional): Maximum results to return (default: 10).
151
+ - `response_mode` (`full` | `preview`, optional): Default `full`. Use `preview` for broad discovery; each hit returns a leading excerpt instead of full content, retaining IDs and metadata.
152
+ - `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.
70
153
  - `projects` (string[], optional): List of project IDs to scope the search to. Multiple enables cross-project queries.
71
154
  - `cues` (string[], optional): Specific cue tags to filter the search.
72
155
  - `query_time` (string, optional): Timestamp or natural-language time anchor for v0.7 temporal query intent.
73
156
  - `depth` (number, optional): Depth of multi-hop recall expander (default: 1).
74
- - `expansion_depth` (number, optional): Alias/cue expansion depth (default: 1).
157
+ - `expansion_depth` (number, optional): Neighbor context expansion (default: 1). Values above 1 include nearby parent chunks or source-ordered context, using a radius of `expansion_depth - 1` when linkage exists.
75
158
  - `auto_reinforce` (boolean, optional): Automatically reinforce retrieved memories (default: false).
76
159
  - `min_intersection` (number, optional): Minimum required cue intersection count (default: 0).
77
160
  - `explain` (boolean, optional): Include scoring explanation data in results (default: false).
78
161
  - `trace_timing` (boolean, optional): Include v0.7 timing diagnostics.
79
162
  - `disable_salience_bias` (boolean, optional): Disable salience scoring bias.
80
163
  - `disable_alias_expansion` (boolean, optional): Disable lexicon synonym injection during querying (default: true).
81
- - `cuepacks` (string[], optional): Cuepack names to apply during query-intent expansion.
82
164
  - `parent_fusion` (`off` | `auto` | `force`, optional): Chunk-parent fusion mode.
83
165
  - `ordered_reconstruction` (`off` | `auto` | `force`, optional): Ordered session reconstruction mode.
84
166
  - `evidence_coverage` (`off` | `auto` | `force`, optional): Multi-evidence coverage mode.
85
167
  - `disable_cuebridge_artifacts` (boolean, optional): Disable CueBridge artifact expansion.
86
168
  - `cuebridge_gap_limit` (number, optional): Maximum CueBridge gap expansions.
169
+ - `semantic_mode` (`lexical`, `semantic`, or `hybrid`, optional): Choose cue-only recall, vector candidate discovery, or local semantic reranking of lexical candidates. The engine default is `hybrid`.
170
+ - `query_embedding` (number[], optional): Supply a precomputed query vector when the calling application owns the embedding provider.
171
+
172
+ ### Recall response and follow-up inspection
173
+
174
+ Recall returns engine JSON in both MCP `structuredContent` and a matching JSON
175
+ text block. This replaces the earlier prose-only format. Each identified
176
+ memory carries `project_id` and `memory_id`; metadata, source locations, and
177
+ requested diagnostics are preserved as supplied by the engine. Explicit
178
+ project queries may return project blocks containing their own `results` or
179
+ `error`, including empty groups. Ordinary unscoped queries return memory
180
+ records directly in `results`.
181
+
182
+ Use a hit's project and ID with `cuemap_memory_get` when the stored record is
183
+ needed. That tool returns readable content without vectors or compressed
184
+ storage bytes; it does not expand neighboring chunks or read live files.
185
+ Prefer opening the cited source when recall already returned the relevant
186
+ text. Follow-up recalls should address a new evidence gap. See [SKILL.md](SKILL.md)
187
+ for the coding investigation workflow and bounded recall controls.
188
+
189
+ For broad discovery, pass `response_mode: "preview"`. A hit's `content` is
190
+ replaced by `preview`, `content_truncated`, and `content_length` (UTF-16 code
191
+ units). This is a leading excerpt, not a generated summary or query-selected
192
+ snippet. Full content is omitted from both MCP output forms; fetch promising
193
+ memories by their project/ID or read the live source. Full mode remains the
194
+ default. The engine shapes previews before sending its response. This does not change
195
+ ranking or retrieval work, and does not limit metadata or diagnostics.
87
196
 
88
197
  ## License
89
198
 
90
- MIT - See the [LICENSE](LICENSE) file for more details.
199
+ The MCP server package is MIT-licensed. Its optional native engine dependencies
200
+ are separate packages: v0.7.3 and later engine packages are Apache-2.0, while
201
+ pre-v0.7.3 engine packages remain under BSL-1.1. See [LICENSE](LICENSE) for the
202
+ MCP server license.