mcp-probe-kit 3.0.24 → 3.2.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 +755 -779
- package/build/index.js +42 -41
- package/build/lib/__tests__/spec-validator.unit.test.js +115 -0
- package/build/lib/agents-md-template.js +32 -32
- package/build/lib/memory-orchestration.js +29 -8
- package/build/lib/skill-bridge.js +12 -12
- package/build/lib/spec-validator.d.ts +36 -0
- package/build/lib/spec-validator.js +103 -0
- package/build/lib/template-loader.js +149 -47
- package/build/lib/tool-annotations.d.ts +30 -0
- package/build/lib/tool-annotations.js +55 -0
- package/build/lib/toolset-manager.js +2 -0
- package/build/resources/index.d.ts +4 -0
- package/build/resources/index.js +4 -0
- package/build/resources/tool-params-guide.d.ts +571 -0
- package/build/resources/tool-params-guide.js +488 -0
- package/build/resources/ui-ux-data/guidelines/vercel-web-interface.json +1632 -1632
- package/build/resources/ui-ux-data/metadata.json +30 -30
- package/build/resources/ui-ux-data/shadcn/blocks.json +2541 -2541
- package/build/resources/ui-ux-data/shadcn/components.json +997 -997
- package/build/resources/ui-ux-data/themes/presets.json +483 -483
- package/build/schemas/index.d.ts +22 -22
- package/build/schemas/memory-tools.d.ts +0 -22
- package/build/schemas/memory-tools.js +0 -14
- package/build/schemas/project-tools.d.ts +22 -0
- package/build/schemas/project-tools.js +23 -0
- package/build/tools/analyze_project.d.ts +1 -0
- package/build/tools/analyze_project.js +527 -0
- package/build/tools/check_deps.d.ts +13 -0
- package/build/tools/check_deps.js +204 -0
- package/build/tools/check_spec.d.ts +7 -0
- package/build/tools/check_spec.js +81 -0
- package/build/tools/code_insight.js +41 -41
- package/build/tools/convert.d.ts +13 -0
- package/build/tools/convert.js +599 -0
- package/build/tools/css_order.d.ts +13 -0
- package/build/tools/css_order.js +81 -0
- package/build/tools/debug.d.ts +13 -0
- package/build/tools/debug.js +131 -0
- package/build/tools/design2code.d.ts +20 -0
- package/build/tools/design2code.js +426 -0
- package/build/tools/detect_shell.d.ts +6 -0
- package/build/tools/detect_shell.js +151 -0
- package/build/tools/explain.d.ts +13 -0
- package/build/tools/explain.js +390 -0
- package/build/tools/fix.d.ts +13 -0
- package/build/tools/fix.js +303 -0
- package/build/tools/fix_bug.js +161 -161
- package/build/tools/gen_mock.d.ts +22 -0
- package/build/tools/gen_mock.js +269 -0
- package/build/tools/gen_skill.d.ts +13 -0
- package/build/tools/gen_skill.js +560 -0
- package/build/tools/genapi.d.ts +13 -0
- package/build/tools/genapi.js +174 -0
- package/build/tools/genchangelog.d.ts +13 -0
- package/build/tools/genchangelog.js +250 -0
- package/build/tools/gencommit.js +60 -60
- package/build/tools/gendoc.d.ts +13 -0
- package/build/tools/gendoc.js +232 -0
- package/build/tools/genpr.d.ts +13 -0
- package/build/tools/genpr.js +194 -0
- package/build/tools/genreadme.d.ts +13 -0
- package/build/tools/genreadme.js +626 -0
- package/build/tools/gensql.d.ts +13 -0
- package/build/tools/gensql.js +320 -0
- package/build/tools/genui.d.ts +13 -0
- package/build/tools/genui.js +803 -0
- package/build/tools/index.d.ts +1 -1
- package/build/tools/index.js +1 -1
- package/build/tools/init_component_catalog.d.ts +22 -0
- package/build/tools/init_component_catalog.js +809 -0
- package/build/tools/init_project_context.js +432 -432
- package/build/tools/init_setting.d.ts +13 -0
- package/build/tools/init_setting.js +47 -0
- package/build/tools/perf.d.ts +13 -0
- package/build/tools/perf.js +409 -0
- package/build/tools/render_ui.d.ts +22 -0
- package/build/tools/render_ui.js +384 -0
- package/build/tools/resolve_conflict.d.ts +13 -0
- package/build/tools/resolve_conflict.js +349 -0
- package/build/tools/security_scan.d.ts +22 -0
- package/build/tools/security_scan.js +323 -0
- package/build/tools/split.d.ts +13 -0
- package/build/tools/split.js +599 -0
- package/build/tools/start_api.d.ts +13 -0
- package/build/tools/start_api.js +193 -0
- package/build/tools/start_bugfix.js +254 -243
- package/build/tools/start_doc.d.ts +13 -0
- package/build/tools/start_doc.js +207 -0
- package/build/tools/start_feature.js +162 -127
- package/build/tools/start_product.js +1 -1
- package/build/tools/start_refactor.d.ts +13 -0
- package/build/tools/start_refactor.js +188 -0
- package/build/tools/start_release.d.ts +13 -0
- package/build/tools/start_release.js +167 -0
- package/build/tools/start_review.d.ts +13 -0
- package/build/tools/start_review.js +175 -0
- package/build/tools/start_ui.js +426 -412
- package/build/tools/ui-ux-tools.js +290 -290
- package/build/utils/__tests__/vercel-guidelines-sync.unit.test.js +12 -12
- package/build/utils/themes-sync.js +8 -8
- package/package.json +81 -83
- package/build/lib/__tests__/memory-orchestration.unit.test.js +0 -88
- package/build/lib/__tests__/memory-payload.unit.test.js +0 -35
- package/build/lib/cursor-history-client.d.ts +0 -54
- package/build/lib/cursor-history-client.js +0 -240
- package/build/tools/__tests__/cursor-history.unit.test.js +0 -38
- package/build/tools/cursor_read_conversation.d.ts +0 -7
- package/build/tools/cursor_read_conversation.js +0 -36
- package/docs/.mcp-probe/layout.json +0 -11
- package/docs/CNAME +0 -1
- package/docs/assets/font/MaterialSymbolsOutlined.codepoints +0 -4102
- package/docs/assets/font/MaterialSymbolsOutlined.ttf +0 -0
- package/docs/assets/font/noto-sans-sc-400.ttf +0 -0
- package/docs/assets/font/noto-sans-sc-700.ttf +0 -0
- package/docs/assets/font/noto-sans-sc-900.ttf +0 -0
- package/docs/assets/js/i18n.js +0 -375
- package/docs/assets/js/tailwind.js +0 -83
- package/docs/assets/logo-zh.png +0 -0
- package/docs/assets/logo.png +0 -0
- package/docs/data/tools.js +0 -523
- package/docs/i18n/all-tools/en.json +0 -190
- package/docs/i18n/all-tools/ja.json +0 -171
- package/docs/i18n/all-tools/ko.json +0 -171
- package/docs/i18n/all-tools/zh-CN.json +0 -190
- package/docs/i18n/en.json +0 -626
- package/docs/i18n/ja.json +0 -602
- package/docs/i18n/ko.json +0 -602
- package/docs/i18n/zh-CN.json +0 -626
- package/docs/index.html +0 -327
- package/docs/memory-local-setup.md +0 -315
- package/docs/memory-local-setup.zh-CN.md +0 -283
- package/docs/pages/all-tools.html +0 -515
- package/docs/pages/examples.html +0 -717
- package/docs/pages/getting-started.html +0 -964
- package/docs/pages/migration.html +0 -308
- package/docs/specs/user-auth/design.md +0 -82
- package/docs/specs/user-auth/requirements.md +0 -52
- package/docs/specs/user-auth/tasks.md +0 -55
- /package/build/lib/__tests__/{memory-orchestration.unit.test.d.ts → spec-validator.unit.test.d.ts} +0 -0
- /package/build/{lib/__tests__/memory-payload.unit.test.d.ts → utils/design-docs-generator.d.ts} +0 -0
- /package/build/{tools/__tests__/cursor-history.unit.test.d.ts → utils/design-docs-generator.js} +0 -0
|
@@ -1,283 +0,0 @@
|
|
|
1
|
-
# 本地记忆栈(Qdrant + Nomic Embed)
|
|
2
|
-
|
|
3
|
-
面向 `search_memory`、`memorize_asset`、`read_memory_asset`、`scan_and_extract_patterns` 的**轻量本机部署**说明:
|
|
4
|
-
|
|
5
|
-
- **Qdrant** — 向量库(端口 `50008`)
|
|
6
|
-
- **Infinity(nomic-embed)** — 向量生成(端口 `50012`),**替代 Ollama**,对用户更轻
|
|
7
|
-
|
|
8
|
-
建议使用 Docker Compose 统一部署;端口采用 `500xx` 段,避免与其它服务冲突。
|
|
9
|
-
|
|
10
|
-
| 服务 | 宿主机端口 | 容器端口 | 说明 |
|
|
11
|
-
|------|------------|----------|------|
|
|
12
|
-
| Qdrant HTTP | `50008` | `6333` | REST、Dashboard |
|
|
13
|
-
| Qdrant gRPC | `50009` | `6334` | gRPC |
|
|
14
|
-
| Nomic Embed | `50012` | `7997` | OpenAI 兼容 embedding |
|
|
15
|
-
|
|
16
|
-
---
|
|
17
|
-
|
|
18
|
-
## 1. Qdrant 向量数据库
|
|
19
|
-
|
|
20
|
-
### 服务信息
|
|
21
|
-
|
|
22
|
-
| 项 | 值 |
|
|
23
|
-
|----|-----|
|
|
24
|
-
| **镜像** | `qdrant/qdrant:latest` |
|
|
25
|
-
| **容器名** | `qdrant` |
|
|
26
|
-
| **HTTP** | `http://127.0.0.1:50008` |
|
|
27
|
-
| **gRPC** | `127.0.0.1:50009` |
|
|
28
|
-
| **数据** | `./data` → `/qdrant/storage` |
|
|
29
|
-
| **快照** | `./snapshots` → `/qdrant/snapshots` |
|
|
30
|
-
| **认证** | `.env` 中 `QDRANT_API_KEY`,请求头 `api-key` |
|
|
31
|
-
|
|
32
|
-
### `docker-compose.yml`
|
|
33
|
-
|
|
34
|
-
```yaml
|
|
35
|
-
services:
|
|
36
|
-
qdrant:
|
|
37
|
-
image: qdrant/qdrant:latest
|
|
38
|
-
container_name: qdrant
|
|
39
|
-
restart: always
|
|
40
|
-
env_file:
|
|
41
|
-
- .env
|
|
42
|
-
ports:
|
|
43
|
-
- "50008:6333"
|
|
44
|
-
- "50009:6334"
|
|
45
|
-
volumes:
|
|
46
|
-
- ./data:/qdrant/storage
|
|
47
|
-
- ./snapshots:/qdrant/snapshots
|
|
48
|
-
environment:
|
|
49
|
-
- QDRANT__SERVICE__HTTP_PORT=6333
|
|
50
|
-
- QDRANT__SERVICE__GRPC_PORT=6334
|
|
51
|
-
- QDRANT__LOG_LEVEL=INFO
|
|
52
|
-
- QDRANT__SERVICE__API_KEY=${QDRANT_API_KEY}
|
|
53
|
-
healthcheck:
|
|
54
|
-
test:
|
|
55
|
-
- "CMD"
|
|
56
|
-
- "bash"
|
|
57
|
-
- "-c"
|
|
58
|
-
- "exec 3<>/dev/tcp/127.0.0.1/6333 && printf 'GET /collections HTTP/1.1\r\nHost: localhost\r\napi-key: ${QDRANT_API_KEY}\r\nConnection: close\r\n\r\n' >&3 && IFS= read -r line <&3 && [[ \"$$line\" == *\"200\"* ]]"
|
|
59
|
-
interval: 30s
|
|
60
|
-
timeout: 10s
|
|
61
|
-
retries: 5
|
|
62
|
-
start_period: 30s
|
|
63
|
-
```
|
|
64
|
-
|
|
65
|
-
### `.env.example`
|
|
66
|
-
|
|
67
|
-
```bash
|
|
68
|
-
# 复制:copy .env.example .env
|
|
69
|
-
# 生成密钥:python -c "import secrets; print(secrets.token_urlsafe(32))"
|
|
70
|
-
|
|
71
|
-
QDRANT_API_KEY=请改为长随机串
|
|
72
|
-
QDRANT_URL=http://127.0.0.1:50008
|
|
73
|
-
```
|
|
74
|
-
|
|
75
|
-
### 首次部署
|
|
76
|
-
|
|
77
|
-
```powershell
|
|
78
|
-
cd qdrant
|
|
79
|
-
copy .env.example .env
|
|
80
|
-
# 编辑 .env,设置 QDRANT_API_KEY
|
|
81
|
-
docker compose up -d
|
|
82
|
-
```
|
|
83
|
-
|
|
84
|
-
### 验证
|
|
85
|
-
|
|
86
|
-
```bash
|
|
87
|
-
curl http://127.0.0.1:50008/collections \
|
|
88
|
-
-H "api-key: 你的QDRANT_API_KEY"
|
|
89
|
-
|
|
90
|
-
# 面板(需填入相同 Key)
|
|
91
|
-
# http://127.0.0.1:50008/dashboard
|
|
92
|
-
```
|
|
93
|
-
|
|
94
|
-
### 常用命令
|
|
95
|
-
|
|
96
|
-
```powershell
|
|
97
|
-
docker compose up -d
|
|
98
|
-
docker compose down
|
|
99
|
-
docker compose logs -f qdrant
|
|
100
|
-
docker compose restart qdrant
|
|
101
|
-
```
|
|
102
|
-
|
|
103
|
-
### 说明
|
|
104
|
-
|
|
105
|
-
- 开启 `QDRANT__SERVICE__API_KEY` 后,所有 REST/gRPC 请求必须带 `api-key` 头。
|
|
106
|
-
- mcp-probe-kit 通过环境变量 `MEMORY_QDRANT_API_KEY` 传入。
|
|
107
|
-
- 首次 `memorize_asset` 写入会自动创建 collection `mcp_probe_memory`(Cosine;维度由首次 embedding 推断)。
|
|
108
|
-
|
|
109
|
-
---
|
|
110
|
-
|
|
111
|
-
## 2. Nomic Embed(Infinity 推理服务)
|
|
112
|
-
|
|
113
|
-
基于 [Infinity](https://github.com/michaelfeil/infinity),模型 `nomic-ai/nomic-embed-text-v1.5`,**768 维**,无需 Ollama。
|
|
114
|
-
|
|
115
|
-
### 服务信息
|
|
116
|
-
|
|
117
|
-
| 项 | 值 |
|
|
118
|
-
|----|-----|
|
|
119
|
-
| **镜像** | `michaelf34/infinity:0.0.70` |
|
|
120
|
-
| **容器名** | `nomic-embed` |
|
|
121
|
-
| **端口** | `50012` → `7997` |
|
|
122
|
-
| **模型** | `nomic-ai/nomic-embed-text-v1.5` |
|
|
123
|
-
| **向量维度** | 768 |
|
|
124
|
-
| **引擎** | `torch`(无 GPU 走 CPU) |
|
|
125
|
-
| **认证** | `INFINITY_API_KEY`(`Authorization: Bearer`) |
|
|
126
|
-
| **模型缓存** | 卷 `hf_cache` → `/app/.cache` |
|
|
127
|
-
|
|
128
|
-
### `docker-compose.yml`
|
|
129
|
-
|
|
130
|
-
```yaml
|
|
131
|
-
services:
|
|
132
|
-
nomic-embed:
|
|
133
|
-
image: michaelf34/infinity:0.0.70
|
|
134
|
-
container_name: nomic-embed
|
|
135
|
-
restart: unless-stopped
|
|
136
|
-
ports:
|
|
137
|
-
- "50012:7997"
|
|
138
|
-
volumes:
|
|
139
|
-
- hf_cache:/app/.cache
|
|
140
|
-
environment:
|
|
141
|
-
INFINITY_API_KEY: ${INFINITY_API_KEY}
|
|
142
|
-
command:
|
|
143
|
-
- v2
|
|
144
|
-
- --model-id
|
|
145
|
-
- nomic-ai/nomic-embed-text-v1.5
|
|
146
|
-
- --revision
|
|
147
|
-
- main
|
|
148
|
-
- --dtype
|
|
149
|
-
- float32
|
|
150
|
-
- --batch-size
|
|
151
|
-
- "8"
|
|
152
|
-
- --engine
|
|
153
|
-
- torch
|
|
154
|
-
- --port
|
|
155
|
-
- "7997"
|
|
156
|
-
- --no-bettertransformer
|
|
157
|
-
healthcheck:
|
|
158
|
-
test:
|
|
159
|
-
- "CMD"
|
|
160
|
-
- "curl"
|
|
161
|
-
- "-f"
|
|
162
|
-
- "http://127.0.0.1:7997/health"
|
|
163
|
-
interval: 30s
|
|
164
|
-
timeout: 10s
|
|
165
|
-
retries: 5
|
|
166
|
-
start_period: 120s
|
|
167
|
-
|
|
168
|
-
volumes:
|
|
169
|
-
hf_cache:
|
|
170
|
-
```
|
|
171
|
-
|
|
172
|
-
### 首次部署
|
|
173
|
-
|
|
174
|
-
```powershell
|
|
175
|
-
cd nomic-embed
|
|
176
|
-
copy .env.example .env
|
|
177
|
-
docker compose up -d
|
|
178
|
-
docker logs -f nomic-embed
|
|
179
|
-
```
|
|
180
|
-
|
|
181
|
-
冷启动需下载模型,约 **2–5 分钟**,日志出现 `ready to batch requests` 即就绪。
|
|
182
|
-
|
|
183
|
-
### 访问与验证
|
|
184
|
-
|
|
185
|
-
```bash
|
|
186
|
-
curl http://127.0.0.1:50012/health
|
|
187
|
-
|
|
188
|
-
curl http://127.0.0.1:50012/models \
|
|
189
|
-
-H "Authorization: Bearer 你的INFINITY_API_KEY"
|
|
190
|
-
|
|
191
|
-
# 注意:路径是 POST /embeddings,不是 /v1/embeddings
|
|
192
|
-
curl http://127.0.0.1:50012/embeddings \
|
|
193
|
-
-H "Authorization: Bearer 你的INFINITY_API_KEY" \
|
|
194
|
-
-H "Content-Type: application/json" \
|
|
195
|
-
-d '{"model":"nomic-ai/nomic-embed-text-v1.5","input":"hello world"}'
|
|
196
|
-
```
|
|
197
|
-
|
|
198
|
-
Swagger:`http://127.0.0.1:50012/docs`
|
|
199
|
-
|
|
200
|
-
### 性能(纯 CPU,参考)
|
|
201
|
-
|
|
202
|
-
| 场景 | 约耗时 |
|
|
203
|
-
|------|--------|
|
|
204
|
-
| 单条短文本(热) | 30–50 ms |
|
|
205
|
-
| 首条 | ~150 ms |
|
|
206
|
-
| batch 8 | ~150 ms |
|
|
207
|
-
| 常驻内存 | ~1 GB |
|
|
208
|
-
|
|
209
|
-
适合 MCP 记忆、低频写入;不适合高并发批量入库。
|
|
210
|
-
|
|
211
|
-
---
|
|
212
|
-
|
|
213
|
-
## 3. 与 mcp-probe-kit / Qdrant 配合
|
|
214
|
-
|
|
215
|
-
**推荐组合**:Qdrant `50008` + Infinity `50012`。
|
|
216
|
-
|
|
217
|
-
```json
|
|
218
|
-
{
|
|
219
|
-
"mcpServers": {
|
|
220
|
-
"mcp-probe-kit": {
|
|
221
|
-
"command": "npx",
|
|
222
|
-
"args": ["-y", "mcp-probe-kit@latest"],
|
|
223
|
-
"env": {
|
|
224
|
-
"MEMORY_QDRANT_URL": "http://127.0.0.1:50008",
|
|
225
|
-
"MEMORY_QDRANT_API_KEY": "与 qdrant/.env 中 QDRANT_API_KEY 相同",
|
|
226
|
-
"MEMORY_QDRANT_COLLECTION": "mcp_probe_memory",
|
|
227
|
-
"MEMORY_EMBEDDING_PROVIDER": "openai-compatible",
|
|
228
|
-
"MEMORY_EMBEDDING_URL": "http://127.0.0.1:50012/embeddings",
|
|
229
|
-
"MEMORY_EMBEDDING_MODEL": "nomic-ai/nomic-embed-text-v1.5",
|
|
230
|
-
"MEMORY_EMBEDDING_API_KEY": "与 nomic-embed/.env 中 INFINITY_API_KEY 相同",
|
|
231
|
-
"MEMORY_SEARCH_LIMIT": "3",
|
|
232
|
-
"MEMORY_SUMMARY_MAX_CHARS": "280",
|
|
233
|
-
"MEMORY_SEARCH_MIN_SCORE": "0",
|
|
234
|
-
"MEMORY_SEARCH_SHOW_SOURCE": "false",
|
|
235
|
-
"MEMORY_REPO_ID": ""
|
|
236
|
-
}
|
|
237
|
-
}
|
|
238
|
-
}
|
|
239
|
-
}
|
|
240
|
-
```
|
|
241
|
-
|
|
242
|
-
Claude Code:写入 `.mcp.json` 的 `mcpServers.mcp-probe-kit.env`。修改后**完全重启** Cursor。
|
|
243
|
-
|
|
244
|
-
---
|
|
245
|
-
|
|
246
|
-
## 4. 端到端自测
|
|
247
|
-
|
|
248
|
-
```bash
|
|
249
|
-
curl -s http://127.0.0.1:50008/collections -H "api-key: 你的QDRANT_API_KEY"
|
|
250
|
-
|
|
251
|
-
curl -s -X POST http://127.0.0.1:50012/embeddings \
|
|
252
|
-
-H "Authorization: Bearer 你的INFINITY_API_KEY" \
|
|
253
|
-
-H "Content-Type: application/json" \
|
|
254
|
-
-d '{"model":"nomic-ai/nomic-embed-text-v1.5","input":"测试"}' \
|
|
255
|
-
| jq '.data[0].embedding | length'
|
|
256
|
-
# 期望输出:768
|
|
257
|
-
```
|
|
258
|
-
|
|
259
|
-
---
|
|
260
|
-
|
|
261
|
-
## 5. 故障排查
|
|
262
|
-
|
|
263
|
-
| 现象 | 处理 |
|
|
264
|
-
|------|------|
|
|
265
|
-
| Qdrant `401` | 配置 `MEMORY_QDRANT_API_KEY`,与 `.env` 一致 |
|
|
266
|
-
| Embedding `401` | 检查 `Authorization: Bearer` 与 `INFINITY_API_KEY` |
|
|
267
|
-
| Embedding `404` | URL 必须是 `/embeddings`,勿用 `/v1/embeddings` |
|
|
268
|
-
| health 长期 `starting` | 首次下模型,看 `docker logs nomic-embed` |
|
|
269
|
-
| 日志 `No CUDA runtime` | 正常,表示 CPU 推理 |
|
|
270
|
-
| 向量维度不匹配 | 换模型后需新 collection 或删旧 collection |
|
|
271
|
-
| 记忆写入不可用 | 同时配置 `MEMORY_QDRANT_URL`、`MEMORY_EMBEDDING_URL`、`MEMORY_EMBEDDING_MODEL` |
|
|
272
|
-
|
|
273
|
-
---
|
|
274
|
-
|
|
275
|
-
## 6. 其它方案
|
|
276
|
-
|
|
277
|
-
| 方案 | 适用 |
|
|
278
|
-
|------|------|
|
|
279
|
-
| **本指南(Qdrant + Infinity)** | 本地开发默认,比 Ollama 轻 |
|
|
280
|
-
| Qdrant + Ollama | 已用 Ollama 跑聊天模型时 |
|
|
281
|
-
| Qdrant + 云端 OpenAI 兼容 API | 不想跑本地 embedding 容器 |
|
|
282
|
-
|
|
283
|
-
英文版:[memory-local-setup.md](./memory-local-setup.md)
|