mcp-probe-kit 3.3.0 → 3.6.1

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.
Files changed (88) hide show
  1. package/README.md +781 -765
  2. package/build/index.js +198 -191
  3. package/build/lib/__tests__/agents-md-template.unit.test.js +1 -0
  4. package/build/lib/__tests__/dev-workflow.unit.test.d.ts +1 -0
  5. package/build/lib/__tests__/dev-workflow.unit.test.js +22 -0
  6. package/build/lib/__tests__/handles.unit.test.d.ts +1 -0
  7. package/build/lib/__tests__/handles.unit.test.js +19 -0
  8. package/build/lib/__tests__/mcp-apps.unit.test.d.ts +1 -0
  9. package/build/lib/__tests__/mcp-apps.unit.test.js +52 -0
  10. package/build/lib/__tests__/mcp-tool-skill-registry.unit.test.d.ts +1 -0
  11. package/build/lib/__tests__/mcp-tool-skill-registry.unit.test.js +18 -0
  12. package/build/lib/__tests__/memory-client.unit.test.js +105 -0
  13. package/build/lib/__tests__/spec-gate.unit.test.d.ts +1 -0
  14. package/build/lib/__tests__/spec-gate.unit.test.js +54 -0
  15. package/build/lib/__tests__/task-defaults.unit.test.d.ts +1 -0
  16. package/build/lib/__tests__/task-defaults.unit.test.js +27 -0
  17. package/build/lib/__tests__/workflow-skill-installer.unit.test.d.ts +1 -0
  18. package/build/lib/__tests__/workflow-skill-installer.unit.test.js +110 -0
  19. package/build/lib/__tests__/workspace-root.unit.test.d.ts +1 -0
  20. package/build/lib/__tests__/workspace-root.unit.test.js +31 -0
  21. package/build/lib/agents-md-template.js +10 -2
  22. package/build/lib/dev-workflow.d.ts +36 -0
  23. package/build/lib/dev-workflow.js +497 -0
  24. package/build/lib/handles.d.ts +31 -0
  25. package/build/lib/handles.js +36 -0
  26. package/build/lib/mcp-apps.d.ts +14 -0
  27. package/build/lib/mcp-apps.js +234 -0
  28. package/build/lib/mcp-tool-skill-registry.d.ts +46 -0
  29. package/build/lib/mcp-tool-skill-registry.js +256 -0
  30. package/build/lib/memory-client.d.ts +19 -0
  31. package/build/lib/memory-client.js +69 -0
  32. package/build/lib/memory-orchestration.d.ts +5 -0
  33. package/build/lib/memory-orchestration.js +20 -0
  34. package/build/lib/merge-agents-md.d.ts +2 -2
  35. package/build/lib/merge-agents-md.js +7 -4
  36. package/build/lib/output-schema-registry.d.ts +11 -0
  37. package/build/lib/output-schema-registry.js +80 -0
  38. package/build/lib/spec-gate.d.ts +32 -0
  39. package/build/lib/spec-gate.js +83 -0
  40. package/build/lib/task-defaults.d.ts +6 -0
  41. package/build/lib/task-defaults.js +20 -0
  42. package/build/lib/tool-annotations.js +3 -0
  43. package/build/lib/toolset-manager.js +2 -0
  44. package/build/lib/workflow-skill-installer.d.ts +40 -0
  45. package/build/lib/workflow-skill-installer.js +172 -0
  46. package/build/lib/workflow-skill-template.d.ts +9 -0
  47. package/build/lib/workflow-skill-template.js +85 -0
  48. package/build/lib/workflow-skill-version.d.ts +15 -0
  49. package/build/lib/workflow-skill-version.js +68 -0
  50. package/build/lib/workspace-root.d.ts +4 -0
  51. package/build/lib/workspace-root.js +33 -0
  52. package/build/schemas/basic-tools.d.ts +4 -0
  53. package/build/schemas/basic-tools.js +4 -0
  54. package/build/schemas/index.d.ts +114 -0
  55. package/build/schemas/index.js +1 -0
  56. package/build/schemas/memory-tools.d.ts +83 -0
  57. package/build/schemas/memory-tools.js +43 -0
  58. package/build/schemas/orchestration-tools.d.ts +8 -0
  59. package/build/schemas/orchestration-tools.js +8 -0
  60. package/build/schemas/output/code-insight-tools.d.ts +65 -0
  61. package/build/schemas/output/code-insight-tools.js +42 -0
  62. package/build/schemas/output/memory-tools.d.ts +576 -0
  63. package/build/schemas/output/memory-tools.js +148 -0
  64. package/build/schemas/project-tools.d.ts +19 -0
  65. package/build/schemas/project-tools.js +20 -0
  66. package/build/tools/__tests__/delete_memory_asset.unit.test.d.ts +1 -0
  67. package/build/tools/__tests__/delete_memory_asset.unit.test.js +87 -0
  68. package/build/tools/__tests__/search_memory.unit.test.js +1 -0
  69. package/build/tools/__tests__/start_bugfix.unit.test.js +34 -1
  70. package/build/tools/__tests__/update_memory_asset.unit.test.d.ts +1 -0
  71. package/build/tools/__tests__/update_memory_asset.unit.test.js +82 -0
  72. package/build/tools/__tests__/workflow.unit.test.d.ts +1 -0
  73. package/build/tools/__tests__/workflow.unit.test.js +24 -0
  74. package/build/tools/code_insight.js +5 -1
  75. package/build/tools/delete_memory_asset.d.ts +7 -0
  76. package/build/tools/delete_memory_asset.js +57 -0
  77. package/build/tools/index.d.ts +3 -0
  78. package/build/tools/index.js +3 -0
  79. package/build/tools/init_project.js +170 -158
  80. package/build/tools/search_memory.js +5 -2
  81. package/build/tools/start_bugfix.js +37 -4
  82. package/build/tools/start_feature.js +4 -3
  83. package/build/tools/start_ui.js +5 -4
  84. package/build/tools/update_memory_asset.d.ts +7 -0
  85. package/build/tools/update_memory_asset.js +98 -0
  86. package/build/tools/workflow.d.ts +13 -0
  87. package/build/tools/workflow.js +69 -0
  88. package/package.json +5 -3
package/README.md CHANGED
@@ -1,765 +1,781 @@
1
- # mcp-probe-kit — Know the Context, Feed the Moment
2
-
3
- <div align="center">
4
- <img src="docs/assets/logo.png" alt="įŸĨæ—ķMCP Logo" width="160"/>
5
- <h1>įŸĨæ—ķMCP | mcp-probe-kit</h1>
6
- <p><strong>Know the Context, Feed the Moment.</strong></p>
7
- <p>
8
- <code>Introspection</code> · <code>Context Hydration</code> · <code>Delegated Orchestration</code>
9
- </p>
10
- </div>
11
-
12
- ---
13
-
14
- <!-- mcp-name: io.github.mybolide/mcp-probe-kit -->
15
-
16
- > **Talk is cheap, show me the Context.**
17
- >
18
- > mcp-probe-kit is a protocol-level toolkit designed for developers who want AI to truly understand their project's intent. It's not just a collection of 27 tools—it's a context-aware system that helps AI agents grasp what you're building.
19
-
20
- **Languages**: [English](README.md) | [įŪ€ä―“äļ­æ–‡](i18n/README.zh-CN.md) | [æ—ĨæœŽčŠž](i18n/README.ja-JP.md) | [한ęĩ­ė–ī](i18n/README.ko-KR.md) | [EspaÃąol](i18n/README.es-ES.md) | [Français](i18n/README.fr-FR.md) | [Deutsch](i18n/README.de-DE.md) | [PortuguÊs (BR)](i18n/README.pt-BR.md)
21
-
22
- [![npm version](https://img.shields.io/npm/v/mcp-probe-kit.svg)](https://www.npmjs.com/package/mcp-probe-kit)
23
- [![npm downloads](https://img.shields.io/npm/dm/mcp-probe-kit.svg)](https://www.npmjs.com/package/mcp-probe-kit)
24
- [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
25
- [![GitHub stars](https://img.shields.io/github/stars/mybolide/mcp-probe-kit.svg)](https://github.com/mybolide/mcp-probe-kit/stargazers)
26
-
27
- > 🚀 AI-Powered Complete Development Toolkit - Covering the Entire Development Lifecycle
28
-
29
- A powerful MCP (Model Context Protocol) server providing **27 tools** covering the complete workflow from product analysis to final release (Requirements → Design → Development → Quality → Release), all tools support **structured output**.
30
-
31
- **🎉 v3.0 Major Update**: Streamlined tool count, focus on core competencies, eliminate choice paralysis, let AI do more native work
32
-
33
- **Supports All MCP Clients**: Cursor, Claude Desktop, Cline, Continue, and more
34
-
35
- **Protocol Version**: MCP 2025-11-25 · **SDK**: @modelcontextprotocol/sdk 1.27.1
36
-
37
- ---
38
-
39
- ## 📚 Complete Documentation
40
-
41
- **👉 [https://mcp-probe-kit.bytezonex.com](https://mcp-probe-kit.bytezonex.com/)**
42
-
43
- - [Quick Start](https://mcp-probe-kit.bytezonex.com/pages/getting-started.html) - Setup in 5 minutes
44
- - [Local Memory Stack (Qdrant + Nomic Embed)](docs/memory-local-setup.md) - Docker Compose, ports `50008` / `50012`, MCP env
45
- - [All Tools](https://mcp-probe-kit.bytezonex.com/pages/all-tools.html) - Complete list of 27 tools
46
- - [Best Practices](https://mcp-probe-kit.bytezonex.com/pages/examples.html) - Full development workflow guide
47
- - [v3.0 Migration Guide](https://mcp-probe-kit.bytezonex.com/pages/migration.html) - Upgrade from v2.x to v3.0
48
-
49
- ---
50
-
51
- ## âœĻ Core Features
52
-
53
- ### ðŸ“Ķ 27 Tools
54
-
55
- - **🔄 Workflow Orchestration** (6 tools) - One-click complex development workflows
56
- - `start_feature`, `start_bugfix`, `start_onboard`, `start_ui`, `start_product`, `start_ralph`
57
- - **🔍 Code Analysis** (4 tools) - Code quality, refactoring, and graph insight
58
- - `code_review`, `code_insight`, `fix_bug`, `refactor`
59
- - **📝 Git Tools** (2 tools) - Git commits and work reports
60
- - `gencommit`, `git_work_report`
61
- - **⚡ Code Generation** (1 tool) - Test generation
62
- - `gentest`
63
- - **ðŸ“Ķ Project Management** (7 tools) - Project initialization, requirements, and spec validation
64
- - `init_project`, `init_project_context`, `add_feature`, `check_spec`, `estimate`, `interview`, `ask_user`
65
- - **ðŸŽĻ UI/UX Utilities** (3 tools) - Design systems and UI data synchronization
66
- - `ui_design_system`, `ui_search`, `sync_ui_data`
67
- - **🧠 Memory** (4 tools) - Reusable asset memory
68
- - `search_memory`, `read_memory_asset`, `memorize_asset`, `scan_and_extract_patterns`
69
-
70
- ### ðŸ›Ąïļ Quality Constraints (single source of truth)
71
-
72
- All hard quality rules live in one module (`src/lib/quality-constraints.ts`) and are injected into `code_review`, the `add_feature` task templates, and the UI tools. Change once, apply everywhere — inspired by [taste-skill](https://github.com/Leonxlnx/taste-skill) and [impeccable](https://github.com/pbakaus/impeccable).
73
-
74
- - **Code limits**: single file â‰Ī 500 lines (split into modules/components when exceeded), function â‰Ī 50 lines, nesting â‰Ī 4, parameters â‰Ī 3.
75
- - **Completeness blacklist**: `code_review` flags placeholder/elision patterns (`// ...`, `// TODO`, `// rest of code`, bare `...`) as CRITICAL — "a partial output is a broken output".
76
- - **Anti-laziness task templates**: `add_feature` tasks now carry a Scope-lock deliverable count, a mandatory evidence block (read code before writing), a per-file line budget, and a binary zero-tolerance rule for placeholders. `check_spec` validates these (missing Scope-lock = error, thin task without evidence = warning).
77
- - **UI hard red lines**: numeric, machine-checkable rules — 4pt spacing scale, WCAG contrast (4.5/3/3), type scale â‰Ĩ 1.25, hero font â‰Ī 6rem, OKLCH, eight interaction states, cognitive load â‰Ī 4, motion 150-300ms.
78
- - **UI banned list + Pre-Flight checklist**: match-and-refuse blacklist for AI slop (default Inter/Roboto, AI purple-blue gradients, gradient text, cookie-cutter card grids, em-dash, cream/beige body backgrounds, nested cards) plus a delivery-gate self-check matrix.
79
-
80
- ### 🧠 Code Graph Bridge (GitNexus)
81
-
82
- - `code_insight` bridges GitNexus by default for query/context/impact analysis
83
- - The bridge launches `npx -y gitnexus@latest mcp` by default to reduce stale package risk
84
- - `init_project_context` bootstraps baseline graph docs under `docs/graph-insights/`; if `docs/project-context.md` already exists, it preserves the old context docs and only backfills graph docs plus the index entry
85
- - `start_feature` refreshes the GitNexus index and runs task-level `query/context/impact` narrowing before spec generation to reduce over-scoping
86
- - `start_bugfix` refreshes the GitNexus index and runs task-level graph analysis before TBP RCA to constrain failure boundary and blast radius
87
- - Older projects that already have `project-context.md` but no graph docs are bootstrapped automatically through the `init_project_context` step
88
- - If GitNexus is unavailable, the server falls back automatically without breaking orchestration
89
- - Real graph queries read the `.gitnexus` index; `docs/graph-insights/latest.md|json` are readable snapshots for humans and AI agents
90
- - Graph snapshots are exposed as resources (`probe://graph/latest`, `probe://graph/history`, `probe://graph/latest.md`)
91
- - Graph snapshots are also persisted to readable files in `.mcp-probe-kit/graph-snapshots` (customizable via `MCP_GRAPH_SNAPSHOT_DIR`)
92
- - Tool responses include `_meta.graph` with snapshot URI and local JSON/Markdown file paths
93
-
94
- ### 🐛 TBP 8-Step RCA for Bug Workflows
95
-
96
- - `start_bugfix` defaults to Toyota-style TBP 8-step root-cause analysis before repair
97
- - `fix_bug` returns a structured TBP skeleton covering phenomenon, timeline, ruled-out paths, boundary, root cause, evidence, and repair plan
98
- - This makes bug, regression, anomaly, and "why didn't it work" investigations follow analyze-first discipline instead of patching symptoms
99
-
100
- ### 🧠 Memory Retrieval
101
-
102
- - Memory tools use **Qdrant** as the vector database backend
103
- - Embedding service supports two modes:
104
- - `ollama`
105
- - `openai-compatible`
106
-
107
- **Memory tools:**
108
- - `search_memory` - Semantic search across the shared memory pool (optionally prefer `type` / `tags`); text output includes `id`, `score`, summary, description, and a `--- content ---` body (default up to 1500 chars via `MEMORY_SEARCH_CONTENT_MAX_CHARS`)
109
- - `memorize_asset` - Persist reusable code/spec/pattern assets into vector memory
110
- - `read_memory_asset` - Read full asset content by `asset_id` (text output includes the full `content` body)
111
- - `scan_and_extract_patterns` - Extract reusable patterns from code/file/directory before deciding whether to persist
112
-
113
- **Cross-repo memory pools:** do not rely on `source_project` / `source_path` for shared retrieval; put file paths in `content` instead. Search injection hides foreign `sourcePath` unless `MEMORY_REPO_ID` matches or `MEMORY_SEARCH_SHOW_SOURCE=true`.
114
-
115
- **Memory backend and embedding configuration:**
116
- - Vector database: **Qdrant**
117
- - **Recommended local setup:** `Qdrant (port 50008) + Infinity / nomic-embed (port 50012)` — lighter than Ollama; see **[Local Memory Stack guide](docs/memory-local-setup.md)** (äļ­æ–‡: [memory-local-setup.zh-CN.md](docs/memory-local-setup.zh-CN.md))
118
- - Supported embedding providers:
119
- - `ollama`
120
- - `openai-compatible` (Infinity, OpenAI, etc.)
121
- - Required environment variables for memory write/search:
122
- - `MEMORY_QDRANT_URL`
123
- - `MEMORY_EMBEDDING_URL`
124
- - `MEMORY_EMBEDDING_MODEL`
125
- - Optional environment variables:
126
- - `MEMORY_QDRANT_API_KEY`
127
- - `MEMORY_QDRANT_COLLECTION` (default: `mcp_probe_memory`)
128
- - `MEMORY_EMBEDDING_API_KEY`
129
- - `MEMORY_EMBEDDING_PROVIDER` (`ollama` by default)
130
- - `MEMORY_SEARCH_LIMIT` (default: `3`)
131
- - `MEMORY_SUMMARY_MAX_CHARS` (default: `280`)
132
- - `MEMORY_SEARCH_MIN_SCORE` (default: `0` = disabled; try `0.72` for noisy pools)
133
- - `MEMORY_SEARCH_SHOW_SOURCE` (default: `false`)
134
- - `MEMORY_REPO_ID` (optional; show `sourcePath` only when `sourceProject` matches)
135
- - `MEMORY_INJECTION_CONTENT_MAX_CHARS` (default: `1500`; max content per hit injected into `start_*` guides)
136
- - Behavior notes:
137
- - Read-only memory access only requires `MEMORY_QDRANT_URL`
138
- - Memory write is enabled only when `MEMORY_QDRANT_URL`, `MEMORY_EMBEDDING_URL`, and `MEMORY_EMBEDDING_MODEL` are all configured
139
- - The Qdrant collection is auto-created on first write, and vector dimension is inferred from the first embedding response
140
-
141
- **Recommended local memory setup (Qdrant + Nomic Embed / Infinity):**
142
-
143
- Full Docker Compose, ports, and troubleshooting: **[docs/memory-local-setup.md](docs/memory-local-setup.md)**
144
-
145
- ```json
146
- {
147
- "mcpServers": {
148
- "mcp-probe-kit": {
149
- "command": "npx",
150
- "args": ["-y", "mcp-probe-kit@latest"],
151
- "env": {
152
- "MEMORY_QDRANT_URL": "http://127.0.0.1:50008",
153
- "MEMORY_QDRANT_API_KEY": "your-qdrant-api-key",
154
- "MEMORY_QDRANT_COLLECTION": "mcp_probe_memory",
155
- "MEMORY_EMBEDDING_PROVIDER": "openai-compatible",
156
- "MEMORY_EMBEDDING_URL": "http://127.0.0.1:50012/embeddings",
157
- "MEMORY_EMBEDDING_MODEL": "nomic-ai/nomic-embed-text-v1.5",
158
- "MEMORY_EMBEDDING_API_KEY": "your-infinity-api-key",
159
- "MEMORY_SEARCH_LIMIT": "3",
160
- "MEMORY_SUMMARY_MAX_CHARS": "280"
161
- }
162
- }
163
- }
164
- }
165
- ```
166
-
167
- **Alternative: Qdrant + Ollama** (if you already run Ollama):
168
-
169
- ```bash
170
- docker run -d --name mcp-qdrant -p 6333:6333 qdrant/qdrant
171
- ollama pull nomic-embed-text
172
- ```
173
-
174
- ```json
175
- "MEMORY_QDRANT_URL": "http://127.0.0.1:6333",
176
- "MEMORY_EMBEDDING_PROVIDER": "ollama",
177
- "MEMORY_EMBEDDING_URL": "http://127.0.0.1:11434/api/embeddings",
178
- "MEMORY_EMBEDDING_MODEL": "nomic-embed-text"
179
- ```
180
-
181
- **OpenAI-compatible embedding (hosted API):**
182
- ```json
183
- {
184
- "mcpServers": {
185
- "mcp-probe-kit": {
186
- "command": "npx",
187
- "args": ["-y", "mcp-probe-kit@latest"],
188
- "env": {
189
- "MEMORY_QDRANT_URL": "http://127.0.0.1:6333",
190
- "MEMORY_QDRANT_COLLECTION": "mcp_probe_memory",
191
- "MEMORY_EMBEDDING_PROVIDER": "openai-compatible",
192
- "MEMORY_EMBEDDING_URL": "https://your-embedding-endpoint/v1/embeddings",
193
- "MEMORY_EMBEDDING_API_KEY": "your-api-key",
194
- "MEMORY_EMBEDDING_MODEL": "text-embedding-3-small"
195
- }
196
- }
197
- }
198
- }
199
- ```
200
-
201
- ### ðŸŽŊ Structured Output
202
-
203
- Core and orchestration tools support **structured output**, returning machine-readable JSON data, improving AI parsing accuracy, supporting tool chaining and state tracking.
204
-
205
- ### ⏱ïļ Native Tasks, Progress, and Cancellation
206
-
207
- - Built on MCP SDK native task support (`taskStore` + `taskMessageQueue`)
208
- - Supports task lifecycle endpoints: `tasks/get`, `tasks/result`, `tasks/list`, `tasks/cancel`
209
- - Advertises `capabilities.tasks.requests.tools.call` so clients can create tasks for `tools/call`
210
- - Emits `notifications/progress` when client provides `_meta.progressToken`
211
- - Handles request cancellation via `AbortSignal` and returns a clear cancellation error
212
- - Long-running orchestration tools (`start_*`) and `sync_ui_data` support cooperative cancellation/progress callbacks
213
-
214
- ### 🔌 Extensions & UI Apps (Optional)
215
-
216
- - Trace metadata passthrough: request `_meta.trace` is preserved in tool responses (`_meta.trace`)
217
- - Optional extensions capability switch: enable with `MCP_ENABLE_EXTENSIONS_CAPABILITY=1`
218
- - Optional MCP Apps resource output for UI tools: enable with `MCP_ENABLE_UI_APPS=1`
219
- - UI tools can expose preview resources via `ui://...` and response `_meta.ui.resourceUri`
220
-
221
- ### 🧭 Delegated Orchestration Protocol
222
-
223
- All `start_*` orchestration tools return an **execution plan** in `structuredContent.metadata.plan`.
224
- AI needs to **call tools step by step and persist files**, rather than the tool executing internally.
225
-
226
- **Plan Schema (Core Fields)**:
227
- ```json
228
- {
229
- "mode": "delegated",
230
- "steps": [
231
- {
232
- "id": "spec",
233
- "tool": "add_feature",
234
- "args": { "feature_name": "user-auth", "description": "User authentication feature" },
235
- "outputs": ["docs/specs/user-auth/requirements.md"]
236
- }
237
- ]
238
- }
239
- ```
240
-
241
- **Field Description**:
242
- - `mode`: Fixed as `delegated`
243
- - `steps`: Array of execution steps
244
- - `tool`: Tool name (e.g. `add_feature`)
245
- - `action`: Manual action description when no tool (e.g. `update_project_context`)
246
- - `args`: Tool parameters
247
- - `outputs`: Expected artifacts
248
- - `when/dependsOn/note`: Optional conditions and notes
249
-
250
- ### ðŸ§Đ Structured Output Field Specification (Key Fields)
251
-
252
- Both orchestration and atomic tools return `structuredContent`, common fields:
253
- - `summary`: One-line summary
254
- - `status`: Status (pending/success/failed/partial)
255
- - `steps`: Execution steps (orchestration tools)
256
- - `artifacts`: Artifact list (path + purpose)
257
- - `metadata.plan`: Delegated execution plan (only start_*)
258
- - `specArtifacts`: Specification artifacts (start_feature)
259
- - `estimate`: Estimation results (start_feature / estimate)
260
-
261
- ### 🧠 Requirements Clarification Mode (Requirements Loop)
262
-
263
- When requirements are unclear, use `requirements_mode=loop` in `start_feature / start_bugfix / start_ui`.
264
- This mode performs 1-2 rounds of structured clarification before entering spec/fix/UI execution.
265
-
266
- **Example:**
267
- ```json
268
- {
269
- "feature_name": "user-auth",
270
- "description": "User authentication feature",
271
- "requirements_mode": "loop",
272
- "loop_max_rounds": 2,
273
- "loop_question_budget": 5
274
- }
275
- ```
276
-
277
- ### ðŸ§Đ Template System (Regular Model Friendly)
278
-
279
- `add_feature` supports template profiles, default `auto` auto-selects: prefers `guided` when requirements are incomplete (includes detailed filling rules and checklists), selects `strict` when requirements are complete (more compact structure, suitable for high-capability models or archival scenarios).
280
-
281
- **Example:**
282
- ```json
283
- {
284
- "description": "Add user authentication feature",
285
- "template_profile": "auto"
286
- }
287
- ```
288
-
289
- **Applicable Tools**:
290
- - `start_feature` passes `template_profile` to `add_feature`
291
- - `start_bugfix` / `start_ui` also support `template_profile` for controlling guidance strength (auto/guided/strict)
292
-
293
- **Template Profile Strategy**:
294
- - `guided`: Less/incomplete requirements info, regular model priority
295
- - `strict`: Requirements structured, prefer more compact guidance
296
- - `auto`: Default recommendation, auto-selects guided/strict
297
-
298
- ### 🔄 Workflow Orchestration
299
-
300
- 6 intelligent orchestration tools that automatically combine multiple basic tools for one-click complex development workflows:
301
- - `start_feature` - New feature development (Requirements → Design → Estimation)
302
- - `start_bugfix` - Bug fixing (TBP 8-step RCA → Fix → Testing)
303
- - `start_onboard` - Project onboarding (Generate project context docs)
304
- - `start_ui` - UI development (Design system → Components → Code)
305
- - `start_product` - Product design (PRD → Prototype → Design system → HTML)
306
- - `start_ralph` - Ralph Loop (Iterative development until goal completion)
307
-
308
- ### 🚀 Product Design Workflow
309
-
310
- `start_product` is a complete product design orchestration tool, from requirements to interactive prototype:
311
-
312
- **Workflow:**
313
- 1. **Requirements Analysis** - Generate standard PRD (product overview, feature requirements, page list)
314
- 2. **Prototype Design** - Generate detailed prototype docs for each page
315
- 3. **Design System** - Generate design specifications based on product type
316
- 4. **HTML Prototype** - Generate interactive prototype viewable in browser
317
- 5. **Project Context** - Auto-update project documentation
318
-
319
- **Structured Output Additions**:
320
- - `start_product.structuredContent.artifacts`: Artifact list (PRD, prototypes, design system, etc.)
321
- - `interview.structuredContent.mode`: `usage` / `questions` / `record`
322
-
323
- ### ðŸŽĻ UI/UX Pro Max
324
-
325
- 4 UI/UX tools with `start_ui` as the unified entry point:
326
- - `start_ui` - One-click UI development (supports intelligent mode) (orchestration tool)
327
- - `ui_design_system` - Intelligent design system generation
328
- - `ui_search` - UI/UX data search (BM25 algorithm)
329
- - `sync_ui_data` - Sync latest UI/UX data locally
330
-
331
- **Note**: `start_ui` automatically calls `ui_design_system` and `ui_search`, you don't need to call them separately.
332
-
333
- **Inspiration:**
334
- - [ui-ux-pro-max-skill](https://github.com/nextlevelbuilder/ui-ux-pro-max-skill) - UI/UX design system philosophy
335
- - [json-render](https://github.com/vercel-labs/json-render) - JSON template rendering engine
336
-
337
- **Skill Bridge for UI/PRD workflows:**
338
- - `start_ui` and `start_product` now include a Skill Bridge section in guidance and `structuredContent.metadata.skills`.
339
- - Recommended skill call order: `ui-ux-pro-max` → `interaction-design` → `frontend-design`.
340
- - If some skills are missing, workflow continues with MCP main plan and marks unavailable skills in metadata.
341
-
342
- **Why use `sync_ui_data`?**
343
-
344
- Our `start_ui` tool relies on a rich UI/UX database (colors, icons, charts, components, design patterns, etc.) to generate high-quality design systems and code. This data comes from npm package [uipro-cli](https://www.npmjs.com/package/uipro-cli), including:
345
- - ðŸŽĻ Color schemes (mainstream brand colors, color palettes)
346
- - ðŸ”Ģ Icon libraries (React Icons, Heroicons, etc.)
347
- - 📊 Chart components (Recharts, Chart.js, etc.)
348
- - ðŸŽŊ Landing page templates (SaaS, e-commerce, government, etc.)
349
- - 📐 Design specifications (spacing, fonts, shadows, etc.)
350
-
351
- **Data Sync Strategy:**
352
- 1. **Embedded Data**: Synced at build time, works offline
353
- 2. **Background Auto Sync**: Downloads latest data to `~/.mcp-probe-kit/ui-ux-data/` without changing current session output
354
- 3. **Next-Start Activation**: Newly downloaded data is applied on next process start (keeps current session deterministic)
355
- 4. **Manual Sync**: Use `sync_ui_data` to force refresh cache immediately (still applies next start by default)
356
-
357
- This ensures `start_ui` can generate professional-grade UI code even offline.
358
-
359
- ### ðŸŽĪ Requirements Interview
360
-
361
- 2 interview tools to clarify requirements before development:
362
- - `interview` - Structured requirements interview
363
- - `ask_user` - AI proactive questioning
364
-
365
- ---
366
-
367
- ## 🧭 Tool Selection Guide
368
-
369
- ### When to use orchestration tools vs individual tools?
370
-
371
- **Use orchestration tools (start_*) when:**
372
- - ✅ Need complete workflow (multiple steps)
373
- - ✅ Want to automate multiple tasks
374
- - ✅ Need to generate multiple artifacts (docs, code, tests, etc.)
375
-
376
- **Use individual tools when:**
377
- - ✅ Only need specific functionality
378
- - ✅ Already have project context docs
379
- - ✅ Need more fine-grained control
380
-
381
- ### Common Scenario Selection
382
-
383
- | Scenario | Recommended Tool | Reason |
384
- |---------|-----------------|--------|
385
- | Develop new feature (complete flow) | `start_feature` | Auto-complete: spec→estimation |
386
- | Only need feature spec docs | `add_feature` | More lightweight, only generates docs |
387
- | Fix bug (complete flow) | `start_bugfix` | Root-cause-first flow: TBP RCA → fix → test |
388
- | Only need bug analysis | `fix_bug` | TBP 8-step RCA only, without full orchestration |
389
- | Generate design system | `ui_design_system` | Directly generate design specs |
390
- | Develop UI components | `start_ui` | Complete flow: design→components→code |
391
- | Product design (requirements to prototype) | `start_product` | One-click: PRD→prototype→HTML |
392
- | One-sentence requirement analysis | `init_project` | Generate complete project spec docs |
393
- | Project onboarding docs | `init_project_context` | Generate tech stack/architecture/conventions |
394
-
395
- ---
396
-
397
- ## 🚀 Quick Start
398
-
399
- ### Method 1: Use directly with npx (Recommended)
400
-
401
- No installation needed, use the latest version directly.
402
-
403
- #### Cursor / Cline Configuration
404
-
405
- **Config file location:**
406
- - Windows: `%APPDATA%\Cursor\User\globalStorage\saoudrizwan.claude-dev\settings\cline_mcp_settings.json`
407
- - macOS: `~/Library/Application Support/Cursor/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json`
408
- - Linux: `~/.config/Cursor/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json`
409
-
410
- **Config content:**
411
- ```json
412
- {
413
- "mcpServers": {
414
- "mcp-probe-kit": {
415
- "command": "npx",
416
- "args": ["mcp-probe-kit@latest"]
417
- }
418
- }
419
- }
420
- ```
421
-
422
- #### Claude Desktop Configuration
423
-
424
- **Config file location:**
425
- - Windows: `%APPDATA%\Claude\claude_desktop_config.json`
426
- - macOS: `~/Library/Application Support/Claude/claude_desktop_config.json`
427
- - Linux: `~/.config/Claude/claude_desktop_config.json`
428
-
429
- **Config content:**
430
- ```json
431
- {
432
- "mcpServers": {
433
- "mcp-probe-kit": {
434
- "command": "npx",
435
- "args": ["-y", "mcp-probe-kit@latest"]
436
- }
437
- }
438
- }
439
- ```
440
-
441
- #### OpenCode Configuration
442
-
443
- **Config file location:**
444
- - Project-level: `opencode.json` (in project root)
445
- - Global: `~/.config/opencode/opencode.json`
446
-
447
- **Config content:**
448
- ```json
449
- {
450
- "mcp": {
451
- "mcp-probe-kit": {
452
- "type": "local",
453
- "command": ["npx", "-y", "mcp-probe-kit@latest"],
454
- "enabled": true
455
- }
456
- }
457
- }
458
- ```
459
-
460
- > **Note:** OpenCode uses `opencode.json` with a different schema from Cursor/Claude Desktop. The key `mcp` replaces `mcpServers`, `command` is an array, `type: "local"` is required, and environment variables use `environment` instead of `env`. See [OpenCode MCP docs](https://opencode.ai/docs/mcp) for details.
461
-
462
- ### Method 2: Global Installation
463
-
464
- ```bash
465
- npm install -g mcp-probe-kit
466
- ```
467
-
468
- Use in config file:
469
- ```json
470
- {
471
- "mcpServers": {
472
- "mcp-probe-kit": {
473
- "command": "mcp-probe-kit"
474
- }
475
- }
476
- }
477
- ```
478
-
479
- ### Optional Memory System Setup
480
-
481
- If you want to use `memorize_asset`, `read_memory_asset`, and `scan_and_extract_patterns`, you need both:
482
-
483
- 1. A **Qdrant** vector database
484
- 2. An **embedding service** in either `ollama` or `openai-compatible` mode
485
-
486
- **Full guide (Docker Compose for Qdrant + Infinity, ports `50008` / `50012`, MCP env, smoke tests):**
487
-
488
- - English: [docs/memory-local-setup.md](docs/memory-local-setup.md)
489
- - äļ­æ–‡: [docs/memory-local-setup.zh-CN.md](docs/memory-local-setup.zh-CN.md)
490
-
491
- #### Option A: Qdrant + Nomic Embed / Infinity (recommended)
492
-
493
- Lightweight local stack; no Ollama. Deploy Qdrant and `nomic-embed` via Docker Compose (see guide), then:
494
-
495
- ```json
496
- {
497
- "mcpServers": {
498
- "mcp-probe-kit": {
499
- "command": "npx",
500
- "args": ["-y", "mcp-probe-kit@latest"],
501
- "env": {
502
- "MEMORY_QDRANT_URL": "http://127.0.0.1:50008",
503
- "MEMORY_QDRANT_API_KEY": "your-qdrant-api-key",
504
- "MEMORY_QDRANT_COLLECTION": "mcp_probe_memory",
505
- "MEMORY_EMBEDDING_PROVIDER": "openai-compatible",
506
- "MEMORY_EMBEDDING_URL": "http://127.0.0.1:50012/embeddings",
507
- "MEMORY_EMBEDDING_MODEL": "nomic-ai/nomic-embed-text-v1.5",
508
- "MEMORY_EMBEDDING_API_KEY": "your-infinity-api-key",
509
- "MEMORY_SEARCH_LIMIT": "3",
510
- "MEMORY_SUMMARY_MAX_CHARS": "280"
511
- }
512
- }
513
- }
514
- }
515
- ```
516
-
517
- > Embedding URL must be `/embeddings` (not `/v1/embeddings`). Qdrant requires `api-key` when `QDRANT__SERVICE__API_KEY` is set.
518
-
519
- #### Option B: Qdrant + Ollama
520
-
521
- ```bash
522
- docker run -d --name mcp-qdrant -p 6333:6333 qdrant/qdrant
523
- ollama pull nomic-embed-text
524
- ```
525
-
526
- ```json
527
- "MEMORY_QDRANT_URL": "http://127.0.0.1:6333",
528
- "MEMORY_EMBEDDING_PROVIDER": "ollama",
529
- "MEMORY_EMBEDDING_URL": "http://127.0.0.1:11434/api/embeddings",
530
- "MEMORY_EMBEDDING_MODEL": "nomic-embed-text"
531
- ```
532
-
533
- #### Option C: Qdrant + hosted OpenAI-compatible API
534
-
535
- ```json
536
- "MEMORY_QDRANT_URL": "http://127.0.0.1:50008",
537
- "MEMORY_EMBEDDING_PROVIDER": "openai-compatible",
538
- "MEMORY_EMBEDDING_URL": "https://your-embedding-endpoint/v1/embeddings",
539
- "MEMORY_EMBEDDING_API_KEY": "your-api-key",
540
- "MEMORY_EMBEDDING_MODEL": "text-embedding-3-small"
541
- ```
542
-
543
- #### Memory Environment Variables
544
-
545
- - `MEMORY_QDRANT_URL`: Qdrant base URL, required for all memory features
546
- - `MEMORY_QDRANT_API_KEY`: Optional Qdrant API key
547
- - `MEMORY_QDRANT_COLLECTION`: Collection name, default `mcp_probe_memory`
548
- - `MEMORY_EMBEDDING_PROVIDER`: `ollama` or `openai-compatible`
549
- - `MEMORY_EMBEDDING_URL`: Embedding endpoint URL
550
- - `MEMORY_EMBEDDING_API_KEY`: Optional for Ollama, usually required for hosted OpenAI-compatible providers
551
- - `MEMORY_EMBEDDING_MODEL`: Default is `nomic-embed-text`
552
- - `MEMORY_SEARCH_LIMIT`: Default search result count is `3`
553
- - `MEMORY_SUMMARY_MAX_CHARS`: Default summary truncation length is `280`
554
-
555
- #### Notes
556
-
557
- - Memory write capability is enabled only when `MEMORY_QDRANT_URL`, `MEMORY_EMBEDDING_URL`, and `MEMORY_EMBEDDING_MODEL` are configured
558
- - Memory read capability only requires `MEMORY_QDRANT_URL`
559
- - Qdrant collections are auto-created on first write with `Cosine` distance
560
- - Vector size is inferred from the first embedding response
561
-
562
- ### Windows Notes for Graph Tools
563
-
564
- Applies to `code_insight`, `start_feature`, `start_bugfix`, and `init_project_context`.
565
-
566
- - The GitNexus bridge uses `npx -y gitnexus@latest mcp` by default.
567
- - On Windows, the first cold start can take 20+ seconds because `npx` may check/download packages.
568
- - Some GitNexus dependencies use `tree-sitter-*` native modules. If your machine lacks Visual Studio Build Tools, the first install may fail with errors like `gyp ERR! find VS could not find a version of Visual Studio 2017 or newer to use`.
569
-
570
- Recommended on Windows:
571
-
572
- 1. Install Visual Studio Build Tools with the C++ workload if you use graph-aware tools regularly.
573
- 2. Prefer stable local/global CLI usage for GitNexus when your MCP client supports `env`.
574
- 3. Increase GitNexus connect/call timeouts on slower or first-run environments.
575
-
576
- Quick install command (Windows):
577
-
578
- ```powershell
579
- winget install Microsoft.VisualStudio.2022.BuildTools
580
- ```
581
-
582
- Example config using a preinstalled `gitnexus` CLI:
583
-
584
- ```json
585
- {
586
- "mcpServers": {
587
- "mcp-probe-kit": {
588
- "command": "mcp-probe-kit",
589
- "env": {
590
- "MCP_GITNEXUS_COMMAND": "gitnexus",
591
- "MCP_GITNEXUS_ARGS": "mcp",
592
- "MCP_GITNEXUS_CONNECT_TIMEOUT_MS": "30000",
593
- "MCP_GITNEXUS_TIMEOUT_MS": "45000"
594
- }
595
- }
596
- }
597
- }
598
- ```
599
-
600
- ### Restart Client
601
-
602
- After configuration, **completely quit and reopen** your MCP client.
603
-
604
- **👉 [Detailed Installation Guide](https://mcp-probe-kit.bytezonex.com/pages/getting-started.html)**
605
-
606
- ---
607
-
608
- ## ðŸ’Ą Usage Examples
609
-
610
- ### Daily Development
611
- ```bash
612
- code_review @feature.ts # Code review
613
- gentest @feature.ts # Generate tests
614
- gencommit # Generate commit message
615
- ```
616
-
617
- ### New Feature Development
618
- ```bash
619
- start_feature user-auth "User authentication feature"
620
- # Auto-complete: Requirements analysis → Design → Effort estimation
621
- ```
622
-
623
- ### Bug Fixing
624
- ```bash
625
- start_bugfix
626
- # Then paste error message
627
- # Auto-complete: Problem location → Fix solution → Test code
628
- ```
629
-
630
- ### Product Design
631
- ```bash
632
- start_product "Online Education Platform" --product_type=SaaS
633
- # Auto-complete: PRD → Prototype → Design system → HTML prototype
634
- ```
635
-
636
- ### UI Development
637
- ```bash
638
- start_ui "Login Page" --mode=auto
639
- # Auto-complete: Design system → Component generation → Code output
640
- ```
641
-
642
- ### Project Context Documentation
643
- ```bash
644
- # Single file mode (default) - Generate a complete project-context.md
645
- init_project_context
646
-
647
- # Modular mode - Generate 6 category docs (suitable for large projects)
648
- init_project_context --mode=modular
649
- # Generates: project-context.md (index) + 5 category docs
650
- ```
651
-
652
- ### Git Work Report
653
- ```bash
654
- # Generate daily report
655
- git_work_report --date 2026-02-03
656
-
657
- # Generate weekly report
658
- git_work_report --start_date 2026-02-01 --end_date 2026-02-07
659
-
660
- # Save to file
661
- git_work_report --date 2026-02-03 --output_file daily-report.md
662
- # Auto-analyze Git diff, generate concise professional report
663
- # If direct command fails, auto-provides temp script solution (auto-deletes after execution)
664
- ```
665
-
666
- **👉 [More Usage Examples](https://mcp-probe-kit.bytezonex.com/pages/examples.html)**
667
-
668
- ---
669
-
670
- ## ❓ FAQ
671
-
672
- ### Q1: Tool not working or errors?
673
-
674
- Check detailed logs:
675
-
676
- **Windows (PowerShell):**
677
- ```powershell
678
- npx -y mcp-probe-kit@latest 2>&1 | Tee-Object -FilePath .\mcp-probe-kit.log
679
- ```
680
-
681
- **macOS/Linux:**
682
- ```bash
683
- npx -y mcp-probe-kit@latest 2>&1 | tee ./mcp-probe-kit.log
684
- ```
685
-
686
- ### Q2: Client not recognizing tools after configuration?
687
-
688
- 1. **Restart client** (completely quit then reopen)
689
- 2. Check config file path is correct
690
- 3. Confirm JSON format is correct, no syntax errors
691
- 4. Check client developer tools or logs for error messages
692
-
693
- ### Q3: How to update to latest version?
694
-
695
- **npx method (Recommended):**
696
- Use `@latest` tag in config, automatically uses latest version.
697
-
698
- **Global installation method:**
699
- ```bash
700
- npm update -g mcp-probe-kit
701
- ```
702
-
703
- ### Q4: Why are graph-aware tools slow or timing out on Windows the first time?
704
-
705
- This usually affects `code_insight`, `start_feature`, `start_bugfix`, and `init_project_context`.
706
-
707
- Common causes:
708
-
709
- 1. `npx -y gitnexus@latest mcp` performs a cold start and may spend 20+ seconds checking/downloading packages.
710
- 2. GitNexus may need native `tree-sitter-*` modules, which can require Visual Studio Build Tools on Windows.
711
-
712
- If you see logs like:
713
-
714
- ```text
715
- gyp ERR! find VS could not find a version of Visual Studio 2017 or newer to use
716
- gyp ERR! find VS - missing any VC++ toolset
717
- ```
718
-
719
- Try this:
720
-
721
- 1. Install Visual Studio Build Tools with the C++ workload.
722
- 2. Retry once after dependencies finish installing.
723
- 3. If your client supports `env`, switch the bridge to a preinstalled `gitnexus` CLI and raise:
724
- `MCP_GITNEXUS_CONNECT_TIMEOUT_MS`
725
- `MCP_GITNEXUS_TIMEOUT_MS`
726
-
727
- **👉 [More FAQ](https://mcp-probe-kit.bytezonex.com/pages/getting-started.html)**
728
-
729
- ---
730
-
731
- ## ðŸĪ Contributing
732
-
733
- Issues and Pull Requests welcome!
734
-
735
- **Improvement suggestions:**
736
- - Add useful tools
737
- - Optimize existing tool prompts
738
- - Improve documentation and examples
739
- - Fix bugs
740
-
741
- ---
742
-
743
- ## 📄 License
744
-
745
- MIT License
746
-
747
- ---
748
-
749
- ## 🔗 Related Links
750
-
751
- - **Author**: [Kyle (小åĒĻ)](https://www.bytezonex.com/)
752
- - **GitHub**: [mcp-probe-kit](https://github.com/mybolide/mcp-probe-kit)
753
- - **npm**: [mcp-probe-kit](https://www.npmjs.com/package/mcp-probe-kit)
754
- - **Documentation**: [https://mcp-probe-kit.bytezonex.com](https://mcp-probe-kit.bytezonex.com/)
755
-
756
- **Related Projects:**
757
- - [Model Context Protocol (MCP)](https://modelcontextprotocol.io/) - Official MCP protocol docs
758
- - [GitHub Spec-Kit](https://github.com/github/spec-kit) - GitHub spec-driven development toolkit
759
- - [ui-ux-pro-max-skill](https://github.com/nextlevelbuilder/ui-ux-pro-max-skill) - UI/UX design system philosophy source
760
- - [json-render](https://github.com/vercel-labs/json-render) - JSON template rendering engine inspiration
761
- - [uipro-cli](https://www.npmjs.com/package/uipro-cli) - UI/UX data source
762
-
763
- ---
764
-
765
- **Made with âĪïļ for AI-Powered Development**
1
+ # mcp-probe-kit — Know the Context, Feed the Moment
2
+
3
+ <div align="center">
4
+ <img src="docs/assets/logo.png" alt="įŸĨæ—ķMCP Logo" width="160"/>
5
+ <h1>įŸĨæ—ķMCP | mcp-probe-kit</h1>
6
+ <p><strong>Know the Context, Feed the Moment.</strong></p>
7
+ <p>
8
+ <code>Introspection</code> · <code>Context Hydration</code> · <code>Delegated Orchestration</code>
9
+ </p>
10
+ </div>
11
+
12
+ ---
13
+
14
+ <!-- mcp-name: io.github.mybolide/mcp-probe-kit -->
15
+
16
+ > **Talk is cheap, show me the Context.**
17
+ >
18
+ > mcp-probe-kit is a protocol-level toolkit designed for developers who want AI to truly understand their project's intent. It's not just a collection of 30 tools—it's a context-aware system that helps AI agents grasp what you're building.
19
+
20
+ **Languages**: [English](README.md) | [įŪ€ä―“äļ­æ–‡](i18n/README.zh-CN.md) | [æ—ĨæœŽčŠž](i18n/README.ja-JP.md) | [한ęĩ­ė–ī](i18n/README.ko-KR.md) | [EspaÃąol](i18n/README.es-ES.md) | [Français](i18n/README.fr-FR.md) | [Deutsch](i18n/README.de-DE.md) | [PortuguÊs (BR)](i18n/README.pt-BR.md)
21
+
22
+ [![npm version](https://img.shields.io/npm/v/mcp-probe-kit.svg)](https://www.npmjs.com/package/mcp-probe-kit)
23
+ [![npm downloads](https://img.shields.io/npm/dm/mcp-probe-kit.svg)](https://www.npmjs.com/package/mcp-probe-kit)
24
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
25
+ [![GitHub stars](https://img.shields.io/github/stars/mybolide/mcp-probe-kit.svg)](https://github.com/mybolide/mcp-probe-kit/stargazers)
26
+
27
+ > 🚀 AI-Powered Complete Development Toolkit - Covering the Entire Development Lifecycle
28
+
29
+ A powerful MCP (Model Context Protocol) server providing **30 tools** covering the complete workflow from product analysis to final release (Requirements → Design → Development → Quality → Release), all tools support **structured output**.
30
+
31
+ **🎉 v3.0 Major Update**: Streamlined tool count, focus on core competencies, eliminate choice paralysis, let AI do more native work
32
+
33
+ **Supports All MCP Clients**: Cursor, Claude Desktop, Cline, Continue, and more
34
+
35
+ **Protocol Version**: MCP 2025-11-25 · **SDK**: @modelcontextprotocol/sdk 1.27.1
36
+
37
+ ---
38
+
39
+ ## 📚 Complete Documentation
40
+
41
+ **👉 [https://mcp-probe-kit.bytezonex.com](https://mcp-probe-kit.bytezonex.com/)**
42
+
43
+ - [Quick Start](https://mcp-probe-kit.bytezonex.com/pages/getting-started.html) - Setup in 5 minutes
44
+ - [Local Memory Stack (Qdrant + Nomic Embed)](docs/memory-local-setup.md) - Docker Compose, ports `50008` / `50012`, MCP env
45
+ - [All Tools](https://mcp-probe-kit.bytezonex.com/pages/all-tools.html) - Complete list of 30 tools
46
+ - [Best Practices](https://mcp-probe-kit.bytezonex.com/pages/examples.html) - Full development workflow guide
47
+ - [v3.0 Migration Guide](https://mcp-probe-kit.bytezonex.com/pages/migration.html) - Upgrade from v2.x to v3.0
48
+
49
+ ---
50
+
51
+ ## âœĻ Core Features
52
+
53
+ ### ðŸ“Ķ 30 Tools
54
+
55
+ - **🔄 Workflow Orchestration** (6 tools) - One-click complex development workflows
56
+ - `start_feature`, `start_bugfix`, `start_onboard`, `start_ui`, `start_product`, `start_ralph`
57
+ - **🔍 Code Analysis** (4 tools) - Code quality, refactoring, and graph insight
58
+ - `code_review`, `code_insight`, `fix_bug`, `refactor`
59
+ - **📝 Git Tools** (2 tools) - Git commits and work reports
60
+ - `gencommit`, `git_work_report`
61
+ - **⚡ Code Generation** (1 tool) - Test generation
62
+ - `gentest`
63
+ - **ðŸ“Ķ Project Management** (7 tools) - Project initialization, requirements, and spec validation
64
+ - `init_project`, `init_project_context`, `add_feature`, `check_spec`, `estimate`, `interview`, `ask_user`
65
+ - **ðŸŽĻ UI/UX Utilities** (3 tools) - Design systems and UI data synchronization
66
+ - `ui_design_system`, `ui_search`, `sync_ui_data`
67
+ - **🧠 Memory** (6 tools) - Reusable asset memory
68
+ - `search_memory`, `read_memory_asset`, `memorize_asset`, `update_memory_asset`, `delete_memory_asset`, `scan_and_extract_patterns`
69
+
70
+ ### ðŸ›Ąïļ Quality Constraints (single source of truth)
71
+
72
+ All hard quality rules live in one module (`src/lib/quality-constraints.ts`) and are injected into `code_review`, the `add_feature` task templates, and the UI tools. Change once, apply everywhere — inspired by [taste-skill](https://github.com/Leonxlnx/taste-skill) and [impeccable](https://github.com/pbakaus/impeccable).
73
+
74
+ - **Code limits**: single file â‰Ī 500 lines (split into modules/components when exceeded), function â‰Ī 50 lines, nesting â‰Ī 4, parameters â‰Ī 3.
75
+ - **Completeness blacklist**: `code_review` flags placeholder/elision patterns (`// ...`, `// TODO`, `// rest of code`, bare `...`) as CRITICAL — "a partial output is a broken output".
76
+ - **Anti-laziness task templates**: `add_feature` tasks now carry a Scope-lock deliverable count, a mandatory evidence block (read code before writing), a per-file line budget, and a binary zero-tolerance rule for placeholders. `check_spec` validates these (missing Scope-lock = error, thin task without evidence = warning).
77
+ - **UI hard red lines**: numeric, machine-checkable rules — 4pt spacing scale, WCAG contrast (4.5/3/3), type scale â‰Ĩ 1.25, hero font â‰Ī 6rem, OKLCH, eight interaction states, cognitive load â‰Ī 4, motion 150-300ms.
78
+ - **UI banned list + Pre-Flight checklist**: match-and-refuse blacklist for AI slop (default Inter/Roboto, AI purple-blue gradients, gradient text, cookie-cutter card grids, em-dash, cream/beige body backgrounds, nested cards) plus a delivery-gate self-check matrix.
79
+
80
+ ### 🧠 Code Graph Bridge (GitNexus)
81
+
82
+ - `code_insight` bridges GitNexus by default for query/context/impact analysis
83
+ - The bridge launches `npx -y gitnexus@latest mcp` by default to reduce stale package risk
84
+ - `init_project_context` bootstraps baseline graph docs under `docs/graph-insights/`; if `docs/project-context.md` already exists, it preserves the old context docs and only backfills graph docs plus the index entry
85
+ - `start_feature` refreshes the GitNexus index and runs task-level `query/context/impact` narrowing before spec generation to reduce over-scoping
86
+ - `start_bugfix` refreshes the GitNexus index and runs task-level graph analysis before TBP RCA to constrain failure boundary and blast radius
87
+ - Older projects that already have `project-context.md` but no graph docs are bootstrapped automatically through the `init_project_context` step
88
+ - If GitNexus is unavailable, the server falls back automatically without breaking orchestration
89
+ - Real graph queries read the `.gitnexus` index; `docs/graph-insights/latest.md|json` are readable snapshots for humans and AI agents
90
+ - Graph snapshots are exposed as MCP resources: Cursor lists **2 entries** (`probe://status`, `probe://graph/latest`); `latest` embeds history and file index. On-demand URIs (`probe://graph/history`, `probe://graph/latest.md`, `probe://graph/files`) remain readable via `resources/read`
91
+ - Graph snapshots are also persisted to readable files in `.mcp-probe-kit/graph-snapshots` (customizable via `MCP_GRAPH_SNAPSHOT_DIR`)
92
+ - Tool responses include `_meta.graph` with snapshot URI and local JSON/Markdown file paths
93
+
94
+ ### 🐛 TBP 8-Step RCA for Bug Workflows
95
+
96
+ - `start_bugfix` defaults to Toyota-style TBP 8-step root-cause analysis before repair
97
+ - `fix_bug` returns a structured TBP skeleton covering phenomenon, timeline, ruled-out paths, boundary, root cause, evidence, and repair plan
98
+ - This makes bug, regression, anomaly, and "why didn't it work" investigations follow analyze-first discipline instead of patching symptoms
99
+
100
+ ### 🧠 Memory Retrieval
101
+
102
+ - Memory tools use **Qdrant** as the vector database backend
103
+ - Embedding service supports two modes:
104
+ - `ollama`
105
+ - `openai-compatible`
106
+
107
+ **Memory tools:**
108
+ - `search_memory` - Semantic search across the shared memory pool (optionally prefer `type` / `tags`); text output includes `id`, `score`, summary, description, and a `--- content ---` body (default up to 1500 chars via `MEMORY_SEARCH_CONTENT_MAX_CHARS`)
109
+ - `memorize_asset` - Persist reusable code/spec/pattern assets into vector memory
110
+ - `read_memory_asset` - Read full asset content by `asset_id` (text output includes the full `content` body)
111
+ - `update_memory_asset` - Update an existing asset by `asset_id` (preserves ID; `content` changes re-embed)
112
+ - `delete_memory_asset` - Delete an asset by `asset_id` from the shared pool
113
+ - `scan_and_extract_patterns` - Extract reusable patterns from code/file/directory before deciding whether to persist
114
+
115
+ **Cross-repo memory pools:** do not rely on `source_project` / `source_path` for shared retrieval; put file paths in `content` instead. Search injection hides foreign `sourcePath` unless `MEMORY_REPO_ID` matches or `MEMORY_SEARCH_SHOW_SOURCE=true`.
116
+
117
+ **Memory backend and embedding configuration:**
118
+ - Vector database: **Qdrant**
119
+ - **Recommended local setup:** `Qdrant (port 50008) + Infinity / nomic-embed (port 50012)` — lighter than Ollama; see **[Local Memory Stack guide](docs/memory-local-setup.md)** (äļ­æ–‡: [memory-local-setup.zh-CN.md](docs/memory-local-setup.zh-CN.md))
120
+ - Supported embedding providers:
121
+ - `ollama`
122
+ - `openai-compatible` (Infinity, OpenAI, etc.)
123
+ - Required environment variables for memory write/search:
124
+ - `MEMORY_QDRANT_URL`
125
+ - `MEMORY_EMBEDDING_URL`
126
+ - `MEMORY_EMBEDDING_MODEL`
127
+ - Optional environment variables:
128
+ - `MEMORY_QDRANT_API_KEY`
129
+ - `MEMORY_QDRANT_COLLECTION` (default: `mcp_probe_memory`)
130
+ - `MEMORY_EMBEDDING_API_KEY`
131
+ - `MEMORY_EMBEDDING_PROVIDER` (`ollama` by default)
132
+ - `MEMORY_SEARCH_LIMIT` (default: `3`)
133
+ - `MEMORY_SUMMARY_MAX_CHARS` (default: `280`)
134
+ - `MEMORY_SEARCH_MIN_SCORE` (default: `0` = disabled; try `0.72` for noisy pools)
135
+ - `MEMORY_SEARCH_SHOW_SOURCE` (default: `false`)
136
+ - `MEMORY_REPO_ID` (optional; show `sourcePath` only when `sourceProject` matches)
137
+ - `MEMORY_INJECTION_CONTENT_MAX_CHARS` (default: `1500`; max content per hit injected into `start_*` guides)
138
+ - Behavior notes:
139
+ - Read-only memory access only requires `MEMORY_QDRANT_URL`
140
+ - Memory write is enabled only when `MEMORY_QDRANT_URL`, `MEMORY_EMBEDDING_URL`, and `MEMORY_EMBEDDING_MODEL` are all configured
141
+ - The Qdrant collection is auto-created on first write, and vector dimension is inferred from the first embedding response
142
+
143
+ **Recommended local memory setup (Qdrant + Nomic Embed / Infinity):**
144
+
145
+ Full Docker Compose, ports, and troubleshooting: **[docs/memory-local-setup.md](docs/memory-local-setup.md)**
146
+
147
+ ```json
148
+ {
149
+ "mcpServers": {
150
+ "mcp-probe-kit": {
151
+ "command": "npx",
152
+ "args": ["-y", "mcp-probe-kit@latest"],
153
+ "env": {
154
+ "MEMORY_QDRANT_URL": "http://127.0.0.1:50008",
155
+ "MEMORY_QDRANT_API_KEY": "your-qdrant-api-key",
156
+ "MEMORY_QDRANT_COLLECTION": "mcp_probe_memory",
157
+ "MEMORY_EMBEDDING_PROVIDER": "openai-compatible",
158
+ "MEMORY_EMBEDDING_URL": "http://127.0.0.1:50012/embeddings",
159
+ "MEMORY_EMBEDDING_MODEL": "nomic-ai/nomic-embed-text-v1.5",
160
+ "MEMORY_EMBEDDING_API_KEY": "your-infinity-api-key",
161
+ "MEMORY_SEARCH_LIMIT": "3",
162
+ "MEMORY_SUMMARY_MAX_CHARS": "280"
163
+ }
164
+ }
165
+ }
166
+ }
167
+ ```
168
+
169
+ **Alternative: Qdrant + Ollama** (if you already run Ollama):
170
+
171
+ ```bash
172
+ docker run -d --name mcp-qdrant -p 6333:6333 qdrant/qdrant
173
+ ollama pull nomic-embed-text
174
+ ```
175
+
176
+ ```json
177
+ "MEMORY_QDRANT_URL": "http://127.0.0.1:6333",
178
+ "MEMORY_EMBEDDING_PROVIDER": "ollama",
179
+ "MEMORY_EMBEDDING_URL": "http://127.0.0.1:11434/api/embeddings",
180
+ "MEMORY_EMBEDDING_MODEL": "nomic-embed-text"
181
+ ```
182
+
183
+ **OpenAI-compatible embedding (hosted API):**
184
+ ```json
185
+ {
186
+ "mcpServers": {
187
+ "mcp-probe-kit": {
188
+ "command": "npx",
189
+ "args": ["-y", "mcp-probe-kit@latest"],
190
+ "env": {
191
+ "MEMORY_QDRANT_URL": "http://127.0.0.1:6333",
192
+ "MEMORY_QDRANT_COLLECTION": "mcp_probe_memory",
193
+ "MEMORY_EMBEDDING_PROVIDER": "openai-compatible",
194
+ "MEMORY_EMBEDDING_URL": "https://your-embedding-endpoint/v1/embeddings",
195
+ "MEMORY_EMBEDDING_API_KEY": "your-api-key",
196
+ "MEMORY_EMBEDDING_MODEL": "text-embedding-3-small"
197
+ }
198
+ }
199
+ }
200
+ }
201
+ ```
202
+
203
+ ### ðŸŽŊ Structured Output
204
+
205
+ Core and orchestration tools support **structured output**, returning machine-readable JSON data, improving AI parsing accuracy, supporting tool chaining and state tracking.
206
+
207
+ ### ⏱ïļ Native Tasks, Progress, and Cancellation
208
+
209
+ - Built on MCP SDK native task support (`taskStore` + `taskMessageQueue`)
210
+ - Supports task lifecycle endpoints: `tasks/get`, `tasks/result`, `tasks/list`, `tasks/cancel`
211
+ - Advertises `capabilities.tasks.requests.tools.call` so clients can create tasks for `tools/call`
212
+ - Emits `notifications/progress` when client provides `_meta.progressToken`
213
+ - Handles request cancellation via `AbortSignal` and returns a clear cancellation error
214
+ - Long-running orchestration tools (`start_*`) and `sync_ui_data` support cooperative cancellation/progress callbacks
215
+
216
+ ### 🔌 Extensions & UI Apps (Optional)
217
+
218
+ - Trace metadata passthrough: request `_meta.trace` is preserved in tool responses (`_meta.trace`)
219
+ - Optional extensions capability switch: enable with `MCP_ENABLE_EXTENSIONS_CAPABILITY=1`
220
+ - Optional MCP Apps resource output for UI tools: enable with `MCP_ENABLE_UI_APPS=1`
221
+ - UI tools can expose preview resources via `ui://...` and response `_meta.ui.resourceUri`
222
+
223
+ ### 🧭 Delegated Orchestration Protocol
224
+
225
+ All `start_*` orchestration tools return an **execution plan** in `structuredContent.metadata.plan`.
226
+ AI needs to **call tools step by step and persist files**, rather than the tool executing internally.
227
+
228
+ **Plan Schema (Core Fields)**:
229
+ ```json
230
+ {
231
+ "mode": "delegated",
232
+ "steps": [
233
+ {
234
+ "id": "spec",
235
+ "tool": "add_feature",
236
+ "args": { "feature_name": "user-auth", "description": "User authentication feature" },
237
+ "outputs": ["docs/specs/user-auth/requirements.md"]
238
+ }
239
+ ]
240
+ }
241
+ ```
242
+
243
+ **Field Description**:
244
+ - `mode`: Fixed as `delegated`
245
+ - `steps`: Array of execution steps
246
+ - `tool`: Tool name (e.g. `add_feature`)
247
+ - `action`: Manual action description when no tool (e.g. `update_project_context`)
248
+ - `args`: Tool parameters
249
+ - `outputs`: Expected artifacts
250
+ - `when/dependsOn/note`: Optional conditions and notes
251
+
252
+ ### ðŸ§Đ Structured Output Field Specification (Key Fields)
253
+
254
+ Both orchestration and atomic tools return `structuredContent`, common fields:
255
+ - `summary`: One-line summary
256
+ - `status`: Status (pending/success/failed/partial)
257
+ - `steps`: Execution steps (orchestration tools)
258
+ - `artifacts`: Artifact list (path + purpose)
259
+ - `metadata.plan`: Delegated execution plan (only start_*)
260
+ - `specArtifacts`: Specification artifacts (start_feature)
261
+ - `estimate`: Estimation results (start_feature / estimate)
262
+
263
+ ### 🧠 Requirements Clarification Mode (Requirements Loop)
264
+
265
+ When requirements are unclear, use `requirements_mode=loop` in `start_feature / start_bugfix / start_ui`.
266
+ This mode performs 1-2 rounds of structured clarification before entering spec/fix/UI execution.
267
+
268
+ **Example:**
269
+ ```json
270
+ {
271
+ "feature_name": "user-auth",
272
+ "description": "User authentication feature",
273
+ "requirements_mode": "loop",
274
+ "loop_max_rounds": 2,
275
+ "loop_question_budget": 5
276
+ }
277
+ ```
278
+
279
+ ### ðŸ§Đ Template System (Regular Model Friendly)
280
+
281
+ `add_feature` supports template profiles, default `auto` auto-selects: prefers `guided` when requirements are incomplete (includes detailed filling rules and checklists), selects `strict` when requirements are complete (more compact structure, suitable for high-capability models or archival scenarios).
282
+
283
+ **Example:**
284
+ ```json
285
+ {
286
+ "description": "Add user authentication feature",
287
+ "template_profile": "auto"
288
+ }
289
+ ```
290
+
291
+ **Applicable Tools**:
292
+ - `start_feature` passes `template_profile` to `add_feature`
293
+ - `start_bugfix` / `start_ui` also support `template_profile` for controlling guidance strength (auto/guided/strict)
294
+
295
+ **Template Profile Strategy**:
296
+ - `guided`: Less/incomplete requirements info, regular model priority
297
+ - `strict`: Requirements structured, prefer more compact guidance
298
+ - `auto`: Default recommendation, auto-selects guided/strict
299
+
300
+ ### 🔄 Workflow Orchestration
301
+
302
+ 6 intelligent orchestration tools that automatically combine multiple basic tools for one-click complex development workflows:
303
+ - `start_feature` - New feature development (Requirements → Design → Estimation)
304
+ - `start_bugfix` - Bug fixing (TBP 8-step RCA → Fix → Testing)
305
+ - `start_onboard` - Project onboarding (Generate project context docs)
306
+ - `start_ui` - UI development (Design system → Components → Code)
307
+ - `start_product` - Product design (PRD → Prototype → Design system → HTML)
308
+ - `start_ralph` - Ralph Loop (Iterative development until goal completion)
309
+
310
+ ### 🚀 Product Design Workflow
311
+
312
+ `start_product` is a complete product design orchestration tool, from requirements to interactive prototype:
313
+
314
+ **Workflow:**
315
+ 1. **Requirements Analysis** - Generate standard PRD (product overview, feature requirements, page list)
316
+ 2. **Prototype Design** - Generate detailed prototype docs for each page
317
+ 3. **Design System** - Generate design specifications based on product type
318
+ 4. **HTML Prototype** - Generate interactive prototype viewable in browser
319
+ 5. **Project Context** - Auto-update project documentation
320
+
321
+ **Structured Output Additions**:
322
+ - `start_product.structuredContent.artifacts`: Artifact list (PRD, prototypes, design system, etc.)
323
+ - `interview.structuredContent.mode`: `usage` / `questions` / `record`
324
+
325
+ ### ðŸŽĻ UI/UX Pro Max
326
+
327
+ 4 UI/UX tools with `start_ui` as the unified entry point:
328
+ - `start_ui` - One-click UI development (supports intelligent mode) (orchestration tool)
329
+ - `ui_design_system` - Intelligent design system generation
330
+ - `ui_search` - UI/UX data search (BM25 algorithm)
331
+ - `sync_ui_data` - Sync latest UI/UX data locally
332
+
333
+ **Note**: `start_ui` automatically calls `ui_design_system` and `ui_search`, you don't need to call them separately.
334
+
335
+ **Inspiration:**
336
+ - [ui-ux-pro-max-skill](https://github.com/nextlevelbuilder/ui-ux-pro-max-skill) - UI/UX design system philosophy
337
+ - [json-render](https://github.com/vercel-labs/json-render) - JSON template rendering engine
338
+
339
+ **Skill Bridge for UI/PRD workflows:**
340
+ - `start_ui` and `start_product` now include a Skill Bridge section in guidance and `structuredContent.metadata.skills`.
341
+ - Recommended skill call order: `ui-ux-pro-max` → `interaction-design` → `frontend-design`.
342
+ - If some skills are missing, workflow continues with MCP main plan and marks unavailable skills in metadata.
343
+
344
+ **Why use `sync_ui_data`?**
345
+
346
+ Our `start_ui` tool relies on a rich UI/UX database (colors, icons, charts, components, design patterns, etc.) to generate high-quality design systems and code. This data comes from npm package [uipro-cli](https://www.npmjs.com/package/uipro-cli), including:
347
+ - ðŸŽĻ Color schemes (mainstream brand colors, color palettes)
348
+ - ðŸ”Ģ Icon libraries (React Icons, Heroicons, etc.)
349
+ - 📊 Chart components (Recharts, Chart.js, etc.)
350
+ - ðŸŽŊ Landing page templates (SaaS, e-commerce, government, etc.)
351
+ - 📐 Design specifications (spacing, fonts, shadows, etc.)
352
+
353
+ **Data Sync Strategy:**
354
+ 1. **Embedded Data**: Synced at build time, works offline
355
+ 2. **Background Auto Sync**: Downloads latest data to `~/.mcp-probe-kit/ui-ux-data/` without changing current session output
356
+ 3. **Next-Start Activation**: Newly downloaded data is applied on next process start (keeps current session deterministic)
357
+ 4. **Manual Sync**: Use `sync_ui_data` to force refresh cache immediately (still applies next start by default)
358
+
359
+ This ensures `start_ui` can generate professional-grade UI code even offline.
360
+
361
+ ### ðŸŽĪ Requirements Interview
362
+
363
+ 2 interview tools to clarify requirements before development:
364
+ - `interview` - Structured requirements interview
365
+ - `ask_user` - AI proactive questioning
366
+
367
+ ---
368
+
369
+ ## 🧭 Tool Selection Guide
370
+
371
+ ### When to use orchestration tools vs individual tools?
372
+
373
+ **Use orchestration tools (start_*) when:**
374
+ - ✅ Need complete workflow (multiple steps)
375
+ - ✅ Want to automate multiple tasks
376
+ - ✅ Need to generate multiple artifacts (docs, code, tests, etc.)
377
+
378
+ **Use individual tools when:**
379
+ - ✅ Only need specific functionality
380
+ - ✅ Already have project context docs
381
+ - ✅ Need more fine-grained control
382
+
383
+ ### Common Scenario Selection
384
+
385
+ | Scenario | Recommended Tool | Reason |
386
+ |---------|-----------------|--------|
387
+ | Develop new feature (complete flow) | `start_feature` | Auto-complete: spec→estimation |
388
+ | Only need feature spec docs | `add_feature` | More lightweight, only generates docs |
389
+ | Fix bug (complete flow) | `start_bugfix` | Root-cause-first flow: TBP RCA → fix → test |
390
+ | Only need bug analysis | `fix_bug` | TBP 8-step RCA only, without full orchestration |
391
+ | Generate design system | `ui_design_system` | Directly generate design specs |
392
+ | Develop UI components | `start_ui` | Complete flow: design→components→code |
393
+ | Product design (requirements to prototype) | `start_product` | One-click: PRD→prototype→HTML |
394
+ | One-sentence requirement analysis | `init_project` | Generate complete project spec docs |
395
+ | Project onboarding docs | `init_project_context` | Generate tech stack/architecture/conventions |
396
+
397
+ ---
398
+
399
+ ## 🚀 Quick Start
400
+
401
+ ### Method 1: Use directly with npx (Recommended)
402
+
403
+ No installation needed, use the latest version directly.
404
+
405
+ #### Cursor / Cline Configuration
406
+
407
+ **Config file location:**
408
+ - Windows: `%APPDATA%\Cursor\User\globalStorage\saoudrizwan.claude-dev\settings\cline_mcp_settings.json`
409
+ - macOS: `~/Library/Application Support/Cursor/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json`
410
+ - Linux: `~/.config/Cursor/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json`
411
+
412
+ **Config content:**
413
+ ```json
414
+ {
415
+ "mcpServers": {
416
+ "mcp-probe-kit": {
417
+ "command": "npx",
418
+ "args": ["-y", "mcp-probe-kit@latest"],
419
+ "env": {
420
+ "MCP_PROJECT_ROOT": "${workspaceFolder}"
421
+ }
422
+ }
423
+ }
424
+ }
425
+ ```
426
+
427
+ > **Skill 臩åŠĻåŪ‰čĢ…**ïžšäŧŧ意 MCP å·Ĩå…·č°ƒį”Ļ侚åœĻį”Ļ户éĄđį›Ū写å…Ĩ `.agents/skills/mcp-probe-kit/SKILL.md`ã€‚åŠĄåŋ…čŪūį―Ū `MCP_PROJECT_ROOT`或 Cursor æģĻå…Ĩįš„ `WORKSPACE_FOLDER_PATHS`åĶ则åŊčƒ―å†™åˆ°é”™čŊŊį›Ūå―•ã€‚éœ€ **v3.6.1+**。
428
+
429
+ #### Claude Desktop Configuration
430
+
431
+ **Config file location:**
432
+ - Windows: `%APPDATA%\Claude\claude_desktop_config.json`
433
+ - macOS: `~/Library/Application Support/Claude/claude_desktop_config.json`
434
+ - Linux: `~/.config/Claude/claude_desktop_config.json`
435
+
436
+ **Config content:**
437
+ ```json
438
+ {
439
+ "mcpServers": {
440
+ "mcp-probe-kit": {
441
+ "command": "npx",
442
+ "args": ["-y", "mcp-probe-kit@latest"],
443
+ "env": {
444
+ "MCP_PROJECT_ROOT": "${workspaceFolder}"
445
+ }
446
+ }
447
+ }
448
+ }
449
+ ```
450
+
451
+ #### OpenCode Configuration
452
+
453
+ **Config file location:**
454
+ - Project-level: `opencode.json` (in project root)
455
+ - Global: `~/.config/opencode/opencode.json`
456
+
457
+ **Config content:**
458
+ ```json
459
+ {
460
+ "mcp": {
461
+ "mcp-probe-kit": {
462
+ "type": "local",
463
+ "command": ["npx", "-y", "mcp-probe-kit@latest"],
464
+ "enabled": true
465
+ }
466
+ }
467
+ }
468
+ ```
469
+
470
+ > **Note:** OpenCode uses `opencode.json` with a different schema from Cursor/Claude Desktop. The key `mcp` replaces `mcpServers`, `command` is an array, `type: "local"` is required, and environment variables use `environment` instead of `env`. See [OpenCode MCP docs](https://opencode.ai/docs/mcp) for details.
471
+
472
+ ### Method 2: Global Installation
473
+
474
+ ```bash
475
+ npm install -g mcp-probe-kit
476
+ ```
477
+
478
+ Use in config file:
479
+ ```json
480
+ {
481
+ "mcpServers": {
482
+ "mcp-probe-kit": {
483
+ "command": "mcp-probe-kit"
484
+ }
485
+ }
486
+ }
487
+ ```
488
+
489
+ ### Optional Memory System Setup
490
+
491
+ If you want to use `memorize_asset`, `update_memory_asset`, `read_memory_asset`, `delete_memory_asset`, and `scan_and_extract_patterns`, configure as follows:
492
+
493
+ - **Qdrant only** (`MEMORY_QDRANT_URL`): `read_memory_asset`, `delete_memory_asset`
494
+ - **Qdrant + embedding** (all three `MEMORY_*` write/search vars): `search_memory`, `memorize_asset`, `update_memory_asset`
495
+ - **No memory backend**: `scan_and_extract_patterns` (local scan only; persist via `memorize_asset` when ready)
496
+
497
+ For full write/search you need both:
498
+
499
+ 1. A **Qdrant** vector database
500
+ 2. An **embedding service** in either `ollama` or `openai-compatible` mode
501
+
502
+ **Full guide (Docker Compose for Qdrant + Infinity, ports `50008` / `50012`, MCP env, smoke tests):**
503
+
504
+ - English: [docs/memory-local-setup.md](docs/memory-local-setup.md)
505
+ - äļ­æ–‡: [docs/memory-local-setup.zh-CN.md](docs/memory-local-setup.zh-CN.md)
506
+
507
+ #### Option A: Qdrant + Nomic Embed / Infinity (recommended)
508
+
509
+ Lightweight local stack; no Ollama. Deploy Qdrant and `nomic-embed` via Docker Compose (see guide), then:
510
+
511
+ ```json
512
+ {
513
+ "mcpServers": {
514
+ "mcp-probe-kit": {
515
+ "command": "npx",
516
+ "args": ["-y", "mcp-probe-kit@latest"],
517
+ "env": {
518
+ "MEMORY_QDRANT_URL": "http://127.0.0.1:50008",
519
+ "MEMORY_QDRANT_API_KEY": "your-qdrant-api-key",
520
+ "MEMORY_QDRANT_COLLECTION": "mcp_probe_memory",
521
+ "MEMORY_EMBEDDING_PROVIDER": "openai-compatible",
522
+ "MEMORY_EMBEDDING_URL": "http://127.0.0.1:50012/embeddings",
523
+ "MEMORY_EMBEDDING_MODEL": "nomic-ai/nomic-embed-text-v1.5",
524
+ "MEMORY_EMBEDDING_API_KEY": "your-infinity-api-key",
525
+ "MEMORY_SEARCH_LIMIT": "3",
526
+ "MEMORY_SUMMARY_MAX_CHARS": "280"
527
+ }
528
+ }
529
+ }
530
+ }
531
+ ```
532
+
533
+ > Embedding URL must be `/embeddings` (not `/v1/embeddings`). Qdrant requires `api-key` when `QDRANT__SERVICE__API_KEY` is set.
534
+
535
+ #### Option B: Qdrant + Ollama
536
+
537
+ ```bash
538
+ docker run -d --name mcp-qdrant -p 6333:6333 qdrant/qdrant
539
+ ollama pull nomic-embed-text
540
+ ```
541
+
542
+ ```json
543
+ "MEMORY_QDRANT_URL": "http://127.0.0.1:6333",
544
+ "MEMORY_EMBEDDING_PROVIDER": "ollama",
545
+ "MEMORY_EMBEDDING_URL": "http://127.0.0.1:11434/api/embeddings",
546
+ "MEMORY_EMBEDDING_MODEL": "nomic-embed-text"
547
+ ```
548
+
549
+ #### Option C: Qdrant + hosted OpenAI-compatible API
550
+
551
+ ```json
552
+ "MEMORY_QDRANT_URL": "http://127.0.0.1:50008",
553
+ "MEMORY_EMBEDDING_PROVIDER": "openai-compatible",
554
+ "MEMORY_EMBEDDING_URL": "https://your-embedding-endpoint/v1/embeddings",
555
+ "MEMORY_EMBEDDING_API_KEY": "your-api-key",
556
+ "MEMORY_EMBEDDING_MODEL": "text-embedding-3-small"
557
+ ```
558
+
559
+ #### Memory Environment Variables
560
+
561
+ - `MEMORY_QDRANT_URL`: Qdrant base URL, required for all memory features
562
+ - `MEMORY_QDRANT_API_KEY`: Optional Qdrant API key
563
+ - `MEMORY_QDRANT_COLLECTION`: Collection name, default `mcp_probe_memory`
564
+ - `MEMORY_EMBEDDING_PROVIDER`: `ollama` or `openai-compatible`
565
+ - `MEMORY_EMBEDDING_URL`: Embedding endpoint URL
566
+ - `MEMORY_EMBEDDING_API_KEY`: Optional for Ollama, usually required for hosted OpenAI-compatible providers
567
+ - `MEMORY_EMBEDDING_MODEL`: Default is `nomic-embed-text`
568
+ - `MEMORY_SEARCH_LIMIT`: Default search result count is `3`
569
+ - `MEMORY_SUMMARY_MAX_CHARS`: Default summary truncation length is `280`
570
+
571
+ #### Notes
572
+
573
+ - Memory write capability is enabled only when `MEMORY_QDRANT_URL`, `MEMORY_EMBEDDING_URL`, and `MEMORY_EMBEDDING_MODEL` are configured
574
+ - Memory read capability only requires `MEMORY_QDRANT_URL`
575
+ - Qdrant collections are auto-created on first write with `Cosine` distance
576
+ - Vector size is inferred from the first embedding response
577
+
578
+ ### Windows Notes for Graph Tools
579
+
580
+ Applies to `code_insight`, `start_feature`, `start_bugfix`, and `init_project_context`.
581
+
582
+ - The GitNexus bridge uses `npx -y gitnexus@latest mcp` by default.
583
+ - On Windows, the first cold start can take 20+ seconds because `npx` may check/download packages.
584
+ - Some GitNexus dependencies use `tree-sitter-*` native modules. If your machine lacks Visual Studio Build Tools, the first install may fail with errors like `gyp ERR! find VS could not find a version of Visual Studio 2017 or newer to use`.
585
+
586
+ Recommended on Windows:
587
+
588
+ 1. Install Visual Studio Build Tools with the C++ workload if you use graph-aware tools regularly.
589
+ 2. Prefer stable local/global CLI usage for GitNexus when your MCP client supports `env`.
590
+ 3. Increase GitNexus connect/call timeouts on slower or first-run environments.
591
+
592
+ Quick install command (Windows):
593
+
594
+ ```powershell
595
+ winget install Microsoft.VisualStudio.2022.BuildTools
596
+ ```
597
+
598
+ Example config using a preinstalled `gitnexus` CLI:
599
+
600
+ ```json
601
+ {
602
+ "mcpServers": {
603
+ "mcp-probe-kit": {
604
+ "command": "mcp-probe-kit",
605
+ "env": {
606
+ "MCP_GITNEXUS_COMMAND": "gitnexus",
607
+ "MCP_GITNEXUS_ARGS": "mcp",
608
+ "MCP_GITNEXUS_CONNECT_TIMEOUT_MS": "30000",
609
+ "MCP_GITNEXUS_TIMEOUT_MS": "45000"
610
+ }
611
+ }
612
+ }
613
+ }
614
+ ```
615
+
616
+ ### Restart Client
617
+
618
+ After configuration, **completely quit and reopen** your MCP client.
619
+
620
+ **👉 [Detailed Installation Guide](https://mcp-probe-kit.bytezonex.com/pages/getting-started.html)**
621
+
622
+ ---
623
+
624
+ ## ðŸ’Ą Usage Examples
625
+
626
+ ### Daily Development
627
+ ```bash
628
+ code_review @feature.ts # Code review
629
+ gentest @feature.ts # Generate tests
630
+ gencommit # Generate commit message
631
+ ```
632
+
633
+ ### New Feature Development
634
+ ```bash
635
+ start_feature user-auth "User authentication feature"
636
+ # Auto-complete: Requirements analysis → Design → Effort estimation
637
+ ```
638
+
639
+ ### Bug Fixing
640
+ ```bash
641
+ start_bugfix
642
+ # Then paste error message
643
+ # Auto-complete: Problem location → Fix solution → Test code
644
+ ```
645
+
646
+ ### Product Design
647
+ ```bash
648
+ start_product "Online Education Platform" --product_type=SaaS
649
+ # Auto-complete: PRD → Prototype → Design system → HTML prototype
650
+ ```
651
+
652
+ ### UI Development
653
+ ```bash
654
+ start_ui "Login Page" --mode=auto
655
+ # Auto-complete: Design system → Component generation → Code output
656
+ ```
657
+
658
+ ### Project Context Documentation
659
+ ```bash
660
+ # Single file mode (default) - Generate a complete project-context.md
661
+ init_project_context
662
+
663
+ # Modular mode - Generate 6 category docs (suitable for large projects)
664
+ init_project_context --mode=modular
665
+ # Generates: project-context.md (index) + 5 category docs
666
+ ```
667
+
668
+ ### Git Work Report
669
+ ```bash
670
+ # Generate daily report
671
+ git_work_report --date 2026-02-03
672
+
673
+ # Generate weekly report
674
+ git_work_report --start_date 2026-02-01 --end_date 2026-02-07
675
+
676
+ # Save to file
677
+ git_work_report --date 2026-02-03 --output_file daily-report.md
678
+ # Auto-analyze Git diff, generate concise professional report
679
+ # If direct command fails, auto-provides temp script solution (auto-deletes after execution)
680
+ ```
681
+
682
+ **👉 [More Usage Examples](https://mcp-probe-kit.bytezonex.com/pages/examples.html)**
683
+
684
+ ---
685
+
686
+ ## ❓ FAQ
687
+
688
+ ### Q1: Tool not working or errors?
689
+
690
+ Check detailed logs:
691
+
692
+ **Windows (PowerShell):**
693
+ ```powershell
694
+ npx -y mcp-probe-kit@latest 2>&1 | Tee-Object -FilePath .\mcp-probe-kit.log
695
+ ```
696
+
697
+ **macOS/Linux:**
698
+ ```bash
699
+ npx -y mcp-probe-kit@latest 2>&1 | tee ./mcp-probe-kit.log
700
+ ```
701
+
702
+ ### Q2: Client not recognizing tools after configuration?
703
+
704
+ 1. **Restart client** (completely quit then reopen)
705
+ 2. Check config file path is correct
706
+ 3. Confirm JSON format is correct, no syntax errors
707
+ 4. Check client developer tools or logs for error messages
708
+
709
+ ### Q3: How to update to latest version?
710
+
711
+ **npx method (Recommended):**
712
+ Use `@latest` tag in config, automatically uses latest version.
713
+
714
+ **Global installation method:**
715
+ ```bash
716
+ npm update -g mcp-probe-kit
717
+ ```
718
+
719
+ ### Q4: Why are graph-aware tools slow or timing out on Windows the first time?
720
+
721
+ This usually affects `code_insight`, `start_feature`, `start_bugfix`, and `init_project_context`.
722
+
723
+ Common causes:
724
+
725
+ 1. `npx -y gitnexus@latest mcp` performs a cold start and may spend 20+ seconds checking/downloading packages.
726
+ 2. GitNexus may need native `tree-sitter-*` modules, which can require Visual Studio Build Tools on Windows.
727
+
728
+ If you see logs like:
729
+
730
+ ```text
731
+ gyp ERR! find VS could not find a version of Visual Studio 2017 or newer to use
732
+ gyp ERR! find VS - missing any VC++ toolset
733
+ ```
734
+
735
+ Try this:
736
+
737
+ 1. Install Visual Studio Build Tools with the C++ workload.
738
+ 2. Retry once after dependencies finish installing.
739
+ 3. If your client supports `env`, switch the bridge to a preinstalled `gitnexus` CLI and raise:
740
+ `MCP_GITNEXUS_CONNECT_TIMEOUT_MS`
741
+ `MCP_GITNEXUS_TIMEOUT_MS`
742
+
743
+ **👉 [More FAQ](https://mcp-probe-kit.bytezonex.com/pages/getting-started.html)**
744
+
745
+ ---
746
+
747
+ ## ðŸĪ Contributing
748
+
749
+ Issues and Pull Requests welcome!
750
+
751
+ **Improvement suggestions:**
752
+ - Add useful tools
753
+ - Optimize existing tool prompts
754
+ - Improve documentation and examples
755
+ - Fix bugs
756
+
757
+ ---
758
+
759
+ ## 📄 License
760
+
761
+ MIT License
762
+
763
+ ---
764
+
765
+ ## 🔗 Related Links
766
+
767
+ - **Author**: [Kyle (小åĒĻ)](https://www.bytezonex.com/)
768
+ - **GitHub**: [mcp-probe-kit](https://github.com/mybolide/mcp-probe-kit)
769
+ - **npm**: [mcp-probe-kit](https://www.npmjs.com/package/mcp-probe-kit)
770
+ - **Documentation**: [https://mcp-probe-kit.bytezonex.com](https://mcp-probe-kit.bytezonex.com/)
771
+
772
+ **Related Projects:**
773
+ - [Model Context Protocol (MCP)](https://modelcontextprotocol.io/) - Official MCP protocol docs
774
+ - [GitHub Spec-Kit](https://github.com/github/spec-kit) - GitHub spec-driven development toolkit
775
+ - [ui-ux-pro-max-skill](https://github.com/nextlevelbuilder/ui-ux-pro-max-skill) - UI/UX design system philosophy source
776
+ - [json-render](https://github.com/vercel-labs/json-render) - JSON template rendering engine inspiration
777
+ - [uipro-cli](https://www.npmjs.com/package/uipro-cli) - UI/UX data source
778
+
779
+ ---
780
+
781
+ **Made with âĪïļ for AI-Powered Development**