@getmikk/mcp-server 1.6.0 → 1.8.0
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 +45 -7
- package/dist/index.cjs +2279 -1281
- package/dist/index.cjs.map +4 -4
- package/package.json +4 -4
package/README.md
CHANGED
|
@@ -1,8 +1,17 @@
|
|
|
1
1
|
# @getmikk/mcp-server
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
> Give your AI assistant real architectural intelligence — not guesses.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
[](https://www.npmjs.com/package/@getmikk/mcp-server)
|
|
6
|
+
[](../../LICENSE)
|
|
7
|
+
|
|
8
|
+
MCP (Model Context Protocol) server for [Mikk](../../README.md) — connects your project's full architectural graph directly to AI assistants like Claude Desktop, Cursor, and any MCP-compatible client.
|
|
9
|
+
|
|
10
|
+
Once connected, your AI assistant can answer questions like *"what breaks if I change this file?"*, *"who calls `parseToken`?"*, and *"what are the architectural constraints for this project?"* — all grounded in the actual call graph, real export surfaces, and real constraint definitions. Not hallucinated. Not guessed.
|
|
11
|
+
|
|
12
|
+
Every tool reads from `mikk.lock.json` — no re-parsing, millisecond response times.
|
|
13
|
+
|
|
14
|
+
> Part of [Mikk](../../README.md) — the codebase nervous system for AI-assisted development.
|
|
6
15
|
|
|
7
16
|
---
|
|
8
17
|
|
|
@@ -61,23 +70,27 @@ mikk-mcp /path/to/project
|
|
|
61
70
|
|
|
62
71
|
---
|
|
63
72
|
|
|
64
|
-
## Tools (
|
|
73
|
+
## Tools (15)
|
|
65
74
|
|
|
66
75
|
All tools read from the lock file (`mikk.lock.json`) — fast, no re-parsing.
|
|
67
76
|
|
|
68
77
|
| Tool | Purpose |
|
|
69
78
|
|---|---|
|
|
70
79
|
| `mikk_get_project_overview` | Modules, function counts, tech stack, constraints |
|
|
80
|
+
| `mikk_get_session_context` | **One-shot AI session start** — get project overview, recent changes, hot modules, and constraint status instantly |
|
|
81
|
+
| `mikk_get_changes` | What files changed since the last codebase analysis |
|
|
71
82
|
| `mikk_query_context` | Ask an architecture question — returns graph-traced context with call chains |
|
|
72
83
|
| `mikk_impact_analysis` | Blast radius of changing a specific file |
|
|
73
|
-
| `mikk_before_edit` | **Call before editing any file** — exported functions at risk,
|
|
84
|
+
| `mikk_before_edit` | **Call before editing any file** — exported functions at risk, actual boundary constraint violations, full blast radius |
|
|
74
85
|
| `mikk_find_usages` | Every function that calls a specific function — essential before renaming |
|
|
75
86
|
| `mikk_list_modules` | All declared modules with file/function counts |
|
|
76
87
|
| `mikk_get_module_detail` | Functions, files, exported API, and internal call graph for a module |
|
|
77
88
|
| `mikk_get_function_detail` | Params, return type, call graph, source body, error handling for a function |
|
|
78
89
|
| `mikk_search_functions` | Substring search across all function names |
|
|
90
|
+
| `mikk_semantic_search` | **Natural-language semantic search** using local vector embeddings (Xenova/all-MiniLM-L6-v2). Query: *"validate a JWT token"* returns functions ranked by semantic similarity (e.g. `verifyToken`, `validateJwt`). Requires optional `@xenova/transformers` package. |
|
|
79
91
|
| `mikk_get_constraints` | All architectural constraints and design decisions |
|
|
80
92
|
| `mikk_get_file` | Read raw source of any project file (with path traversal guard) |
|
|
93
|
+
| `mikk_read_file` | Read raw source, scoped only to specific functions to save token context |
|
|
81
94
|
| `mikk_get_routes` | Detected HTTP routes (Express / Koa / Hono style) |
|
|
82
95
|
|
|
83
96
|
### Staleness warning
|
|
@@ -149,13 +162,37 @@ name: string # function name (e.g. "parseToken")
|
|
|
149
162
|
|
|
150
163
|
---
|
|
151
164
|
|
|
165
|
+
### `mikk_semantic_search`
|
|
166
|
+
|
|
167
|
+
Find functions by **natural-language meaning**, not just name matching. Uses local vector embeddings (Xenova/all-MiniLM-L6-v2) to rank functions by semantic similarity.
|
|
168
|
+
|
|
169
|
+
```
|
|
170
|
+
query: string # natural-language description (e.g. "validate JWT token", "send email notification")
|
|
171
|
+
topK: number # max results to return (default 10)
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
**Example queries**:
|
|
175
|
+
- `"validate JWT token"` → ranks `verifyToken`, `validateJwt`, `checkToken` highest
|
|
176
|
+
- `"send an email notification"` → ranks `sendWelcomeEmail`, `notifyUser`, `emailAlert` highest
|
|
177
|
+
- `"database persistence"` → ranks `saveUser`, `storeRecord`, `commitTransaction` highest
|
|
178
|
+
|
|
179
|
+
**Advantages over `mikk_search_functions`**:
|
|
180
|
+
- Keyword search: exact substring match (very fast, narrow results)
|
|
181
|
+
- Semantic search: meaning match (slower, broader understanding, finds related functions)
|
|
182
|
+
|
|
183
|
+
**Requirements**: `@xenova/transformers` must be installed in your project (`npm install @xenova/transformers`). The first query will download the model (~22 MB) to `~/.cache/huggingface/` and cache it locally.
|
|
184
|
+
|
|
185
|
+
**Availability check**: If `@xenova/transformers` is not installed, the tool returns a helpful error message with installation instructions.
|
|
186
|
+
|
|
187
|
+
---
|
|
188
|
+
|
|
152
189
|
### `mikk_impact_analysis`
|
|
153
190
|
|
|
154
191
|
```
|
|
155
192
|
file: string # relative path to the file being changed
|
|
156
193
|
```
|
|
157
194
|
|
|
158
|
-
Returns `changedNodes`, `impactedNodes`, depth, confidence, and the top 30 impacted functions.
|
|
195
|
+
Returns `changedNodes`, `impactedNodes`, depth, confidence, `classified` risk breakdown, and the top 30 impacted functions.
|
|
159
196
|
|
|
160
197
|
---
|
|
161
198
|
|
|
@@ -163,8 +200,9 @@ Returns `changedNodes`, `impactedNodes`, depth, confidence, and the top 30 impac
|
|
|
163
200
|
|
|
164
201
|
1. **Before editing** → call `mikk_before_edit` with the files you plan to touch
|
|
165
202
|
2. **Understanding a flow** → call `mikk_query_context` with your question
|
|
166
|
-
3. **
|
|
167
|
-
4. **
|
|
203
|
+
3. **Searching by meaning** → call `mikk_semantic_search` for natural-language queries
|
|
204
|
+
4. **Renaming a function** → call `mikk_find_usages` first
|
|
205
|
+
5. **Exploring the project** → `mikk_get_project_overview` → `mikk_get_module_detail`
|
|
168
206
|
|
|
169
207
|
---
|
|
170
208
|
|