mcp-probe-kit 3.0.16 → 3.0.17
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 +601 -399
- package/build/index.js +13 -1
- package/build/lib/__tests__/memory-client.unit.test.d.ts +1 -0
- package/build/lib/__tests__/memory-client.unit.test.js +83 -0
- package/build/lib/__tests__/memory-config.unit.test.d.ts +1 -0
- package/build/lib/__tests__/memory-config.unit.test.js +33 -0
- package/build/lib/cursor-history-client.d.ts +54 -0
- package/build/lib/cursor-history-client.js +240 -0
- package/build/lib/gitnexus-bridge.js +6 -8
- package/build/lib/memory-client.d.ts +61 -0
- package/build/lib/memory-client.js +293 -0
- package/build/lib/memory-config.d.ts +14 -0
- package/build/lib/memory-config.js +31 -0
- package/build/lib/memory-orchestration.d.ts +26 -0
- package/build/lib/memory-orchestration.js +65 -0
- package/build/lib/project-detector.js +6 -4
- package/build/lib/workspace-root.d.ts +12 -0
- package/build/lib/workspace-root.js +153 -0
- package/build/resources/ui-ux-data/metadata.json +1 -1
- package/build/schemas/code-analysis-tools.d.ts +1 -1
- package/build/schemas/code-analysis-tools.js +1 -1
- package/build/schemas/index.d.ts +198 -4
- package/build/schemas/index.js +2 -0
- package/build/schemas/memory-tools.d.ts +191 -0
- package/build/schemas/memory-tools.js +106 -0
- package/build/schemas/orchestration-tools.d.ts +3 -3
- package/build/schemas/orchestration-tools.js +3 -3
- package/build/schemas/ui-ux-schemas.d.ts +8 -0
- package/build/schemas/ui-ux-schemas.js +4 -0
- package/build/tools/__tests__/cursor-history.unit.test.d.ts +1 -0
- package/build/tools/__tests__/cursor-history.unit.test.js +87 -0
- package/build/tools/__tests__/memorize_asset.unit.test.d.ts +1 -0
- package/build/tools/__tests__/memorize_asset.unit.test.js +68 -0
- package/build/tools/code_insight.d.ts +20 -0
- package/build/tools/code_insight.js +15 -0
- package/build/tools/cursor_list_conversations.d.ts +7 -0
- package/build/tools/cursor_list_conversations.js +35 -0
- package/build/tools/cursor_read_conversation.d.ts +7 -0
- package/build/tools/cursor_read_conversation.js +36 -0
- package/build/tools/cursor_search_conversations.d.ts +7 -0
- package/build/tools/cursor_search_conversations.js +36 -0
- package/build/tools/index.d.ts +6 -0
- package/build/tools/index.js +7 -0
- package/build/tools/init_project_context.d.ts +20 -1
- package/build/tools/init_project_context.js +114 -99
- package/build/tools/memorize_asset.d.ts +7 -0
- package/build/tools/memorize_asset.js +66 -0
- package/build/tools/read_memory_asset.d.ts +7 -0
- package/build/tools/read_memory_asset.js +26 -0
- package/build/tools/scan_and_extract_patterns.d.ts +27 -0
- package/build/tools/scan_and_extract_patterns.js +346 -0
- package/build/tools/start_bugfix.d.ts +20 -0
- package/build/tools/start_bugfix.js +97 -69
- package/build/tools/start_feature.d.ts +20 -0
- package/build/tools/start_feature.js +61 -31
- package/build/tools/start_onboard.d.ts +20 -0
- package/build/tools/start_onboard.js +15 -0
- package/build/tools/start_ui.d.ts +20 -0
- package/build/tools/start_ui.js +66 -32
- package/docs/data/tools.js +472 -373
- package/docs/i18n/all-tools/en.json +38 -5
- package/docs/i18n/all-tools/ja.json +14 -4
- package/docs/i18n/all-tools/ko.json +13 -3
- package/docs/i18n/all-tools/zh-CN.json +38 -5
- package/docs/i18n/en.json +48 -10
- package/docs/i18n/ja.json +47 -9
- package/docs/i18n/ko.json +47 -9
- package/docs/i18n/zh-CN.json +48 -10
- package/docs/pages/all-tools.html +515 -515
- package/docs/pages/examples.html +661 -661
- package/docs/pages/getting-started.html +673 -582
- package/docs/pages/migration.html +291 -291
- package/package.json +83 -82
- package/docs/debug-i18n.html +0 -163
package/package.json
CHANGED
|
@@ -1,82 +1,83 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "mcp-probe-kit",
|
|
3
|
-
"version": "3.0.
|
|
4
|
-
"description": "AI-Powered Development Toolkit - MCP Server with
|
|
5
|
-
"mcpName": "io.github.mybolide/mcp-probe-kit",
|
|
6
|
-
"type": "module",
|
|
7
|
-
"main": "build/index.js",
|
|
8
|
-
"bin": {
|
|
9
|
-
"mcp-probe-kit": "build/index.js"
|
|
10
|
-
},
|
|
11
|
-
"scripts": {
|
|
12
|
-
"build": "tsc",
|
|
13
|
-
"postbuild": "node scripts/copy-ui-embedded-data.mjs",
|
|
14
|
-
"watch": "tsc --watch",
|
|
15
|
-
"dev": "tsc && node build/index.js",
|
|
16
|
-
"test": "vitest --run",
|
|
17
|
-
"test:watch": "vitest",
|
|
18
|
-
"test:ui": "vitest --ui",
|
|
19
|
-
"inspector": "npx @modelcontextprotocol/inspector node build/index.js",
|
|
20
|
-
"prepare": "npm run build",
|
|
21
|
-
"prepublishOnly": "npm run build",
|
|
22
|
-
"sync-ui-data": "tsx scripts/sync-ui-data.ts",
|
|
23
|
-
"prebuild": "npm run sync-ui-data",
|
|
24
|
-
"docs:serve": "npx http-server docs -p 8080 -o"
|
|
25
|
-
},
|
|
26
|
-
"keywords": [
|
|
27
|
-
"mcp",
|
|
28
|
-
"model-context-protocol",
|
|
29
|
-
"cursor",
|
|
30
|
-
"ai-tools",
|
|
31
|
-
"development-tools",
|
|
32
|
-
"code-quality",
|
|
33
|
-
"code-review",
|
|
34
|
-
"refactor",
|
|
35
|
-
"debugging",
|
|
36
|
-
"sql-generator",
|
|
37
|
-
"ui-generator",
|
|
38
|
-
"react",
|
|
39
|
-
"vue",
|
|
40
|
-
"typescript",
|
|
41
|
-
"git-tools",
|
|
42
|
-
"ai-assistant"
|
|
43
|
-
],
|
|
44
|
-
"author": {
|
|
45
|
-
"name": "小墨 (Kyle)",
|
|
46
|
-
"url": "https://www.bytezonex.com/"
|
|
47
|
-
},
|
|
48
|
-
"license": "MIT",
|
|
49
|
-
"repository": {
|
|
50
|
-
"type": "git",
|
|
51
|
-
"url": "git+https://github.com/mybolide/mcp-probe-kit.git"
|
|
52
|
-
},
|
|
53
|
-
"bugs": {
|
|
54
|
-
"url": "https://github.com/mybolide/mcp-probe-kit/issues"
|
|
55
|
-
},
|
|
56
|
-
"homepage": "https://mcp-probe-kit.bytezonex.com",
|
|
57
|
-
"engines": {
|
|
58
|
-
"node": ">=18.0.0"
|
|
59
|
-
},
|
|
60
|
-
"files": [
|
|
61
|
-
"build",
|
|
62
|
-
"docs",
|
|
63
|
-
"README.md",
|
|
64
|
-
"LICENSE"
|
|
65
|
-
],
|
|
66
|
-
"dependencies": {
|
|
67
|
-
"@modelcontextprotocol/sdk": "^1.
|
|
68
|
-
"cross-spawn": "^7.0.6",
|
|
69
|
-
"csv-parse": "^6.1.0",
|
|
70
|
-
"
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
"@types/
|
|
75
|
-
"@types/
|
|
76
|
-
"@
|
|
77
|
-
"
|
|
78
|
-
"
|
|
79
|
-
"
|
|
80
|
-
"
|
|
81
|
-
|
|
82
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "mcp-probe-kit",
|
|
3
|
+
"version": "3.0.17",
|
|
4
|
+
"description": "AI-Powered Development Toolkit - MCP Server with 28 tools covering code quality, development efficiency, project management, and UI/UX design. Features: Structured Output, Workflow Orchestration, UI/UX Pro Max, and Requirements Interview.",
|
|
5
|
+
"mcpName": "io.github.mybolide/mcp-probe-kit",
|
|
6
|
+
"type": "module",
|
|
7
|
+
"main": "build/index.js",
|
|
8
|
+
"bin": {
|
|
9
|
+
"mcp-probe-kit": "build/index.js"
|
|
10
|
+
},
|
|
11
|
+
"scripts": {
|
|
12
|
+
"build": "tsc",
|
|
13
|
+
"postbuild": "node scripts/copy-ui-embedded-data.mjs",
|
|
14
|
+
"watch": "tsc --watch",
|
|
15
|
+
"dev": "tsc && node build/index.js",
|
|
16
|
+
"test": "vitest --run",
|
|
17
|
+
"test:watch": "vitest",
|
|
18
|
+
"test:ui": "vitest --ui",
|
|
19
|
+
"inspector": "npx @modelcontextprotocol/inspector node build/index.js",
|
|
20
|
+
"prepare": "npm run build",
|
|
21
|
+
"prepublishOnly": "npm run build",
|
|
22
|
+
"sync-ui-data": "tsx scripts/sync-ui-data.ts",
|
|
23
|
+
"prebuild": "npm run sync-ui-data",
|
|
24
|
+
"docs:serve": "npx http-server docs -p 8080 -o"
|
|
25
|
+
},
|
|
26
|
+
"keywords": [
|
|
27
|
+
"mcp",
|
|
28
|
+
"model-context-protocol",
|
|
29
|
+
"cursor",
|
|
30
|
+
"ai-tools",
|
|
31
|
+
"development-tools",
|
|
32
|
+
"code-quality",
|
|
33
|
+
"code-review",
|
|
34
|
+
"refactor",
|
|
35
|
+
"debugging",
|
|
36
|
+
"sql-generator",
|
|
37
|
+
"ui-generator",
|
|
38
|
+
"react",
|
|
39
|
+
"vue",
|
|
40
|
+
"typescript",
|
|
41
|
+
"git-tools",
|
|
42
|
+
"ai-assistant"
|
|
43
|
+
],
|
|
44
|
+
"author": {
|
|
45
|
+
"name": "小墨 (Kyle)",
|
|
46
|
+
"url": "https://www.bytezonex.com/"
|
|
47
|
+
},
|
|
48
|
+
"license": "MIT",
|
|
49
|
+
"repository": {
|
|
50
|
+
"type": "git",
|
|
51
|
+
"url": "git+https://github.com/mybolide/mcp-probe-kit.git"
|
|
52
|
+
},
|
|
53
|
+
"bugs": {
|
|
54
|
+
"url": "https://github.com/mybolide/mcp-probe-kit/issues"
|
|
55
|
+
},
|
|
56
|
+
"homepage": "https://mcp-probe-kit.bytezonex.com",
|
|
57
|
+
"engines": {
|
|
58
|
+
"node": ">=18.0.0"
|
|
59
|
+
},
|
|
60
|
+
"files": [
|
|
61
|
+
"build",
|
|
62
|
+
"docs",
|
|
63
|
+
"README.md",
|
|
64
|
+
"LICENSE"
|
|
65
|
+
],
|
|
66
|
+
"dependencies": {
|
|
67
|
+
"@modelcontextprotocol/sdk": "^1.29.0",
|
|
68
|
+
"cross-spawn": "^7.0.6",
|
|
69
|
+
"csv-parse": "^6.1.0",
|
|
70
|
+
"sqlite3": "^6.0.1",
|
|
71
|
+
"tar": "^7.5.6"
|
|
72
|
+
},
|
|
73
|
+
"devDependencies": {
|
|
74
|
+
"@types/cross-spawn": "^6.0.6",
|
|
75
|
+
"@types/node": "^20.0.0",
|
|
76
|
+
"@types/tar": "^6.1.13",
|
|
77
|
+
"@vitest/ui": "^4.0.18",
|
|
78
|
+
"fast-check": "^4.5.3",
|
|
79
|
+
"tsx": "^4.21.0",
|
|
80
|
+
"typescript": "^5.3.0",
|
|
81
|
+
"vitest": "^4.0.18"
|
|
82
|
+
}
|
|
83
|
+
}
|
package/docs/debug-i18n.html
DELETED
|
@@ -1,163 +0,0 @@
|
|
|
1
|
-
<!DOCTYPE html>
|
|
2
|
-
<html lang="zh-CN">
|
|
3
|
-
<head>
|
|
4
|
-
<meta charset="UTF-8">
|
|
5
|
-
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
6
|
-
<title>i18n 调试页面</title>
|
|
7
|
-
<style>
|
|
8
|
-
body { font-family: Arial, sans-serif; padding: 20px; max-width: 1200px; margin: 0 auto; }
|
|
9
|
-
.section { margin: 20px 0; padding: 15px; border: 1px solid #ddd; border-radius: 5px; }
|
|
10
|
-
.section h2 { margin-top: 0; color: #333; }
|
|
11
|
-
button { padding: 10px 20px; margin: 5px; cursor: pointer; }
|
|
12
|
-
pre { background: #f5f5f5; padding: 10px; border-radius: 3px; overflow-x: auto; }
|
|
13
|
-
.success { color: green; }
|
|
14
|
-
.error { color: red; }
|
|
15
|
-
.warning { color: orange; }
|
|
16
|
-
</style>
|
|
17
|
-
</head>
|
|
18
|
-
<body>
|
|
19
|
-
<h1>🔍 all-tools.html i18n 调试工具</h1>
|
|
20
|
-
|
|
21
|
-
<div class="section">
|
|
22
|
-
<h2>1. 语言切换测试</h2>
|
|
23
|
-
<button onclick="testLanguage('zh-CN')">测试中文</button>
|
|
24
|
-
<button onclick="testLanguage('en')">测试英文</button>
|
|
25
|
-
<button onclick="testLanguage('ja')">测试日文</button>
|
|
26
|
-
<button onclick="testLanguage('ko')">测试韩文</button>
|
|
27
|
-
<div id="lang-result"></div>
|
|
28
|
-
</div>
|
|
29
|
-
|
|
30
|
-
<div class="section">
|
|
31
|
-
<h2>2. 翻译文件检查</h2>
|
|
32
|
-
<button onclick="checkTranslationFiles()">检查所有翻译文件</button>
|
|
33
|
-
<div id="file-result"></div>
|
|
34
|
-
</div>
|
|
35
|
-
|
|
36
|
-
<div class="section">
|
|
37
|
-
<h2>3. 当前状态</h2>
|
|
38
|
-
<button onclick="showCurrentState()">显示当前状态</button>
|
|
39
|
-
<button onclick="clearStorage()">清除 localStorage</button>
|
|
40
|
-
<div id="state-result"></div>
|
|
41
|
-
</div>
|
|
42
|
-
|
|
43
|
-
<div class="section">
|
|
44
|
-
<h2>4. 打开测试页面</h2>
|
|
45
|
-
<a href="./pages/all-tools.html" target="_blank">
|
|
46
|
-
<button>在新标签页打开 all-tools.html</button>
|
|
47
|
-
</a>
|
|
48
|
-
</div>
|
|
49
|
-
|
|
50
|
-
<script src="./data/tools.js"></script>
|
|
51
|
-
<script src="./assets/js/i18n.js"></script>
|
|
52
|
-
<script>
|
|
53
|
-
async function testLanguage(lang) {
|
|
54
|
-
const result = document.getElementById('lang-result');
|
|
55
|
-
result.innerHTML = `<p>正在测试 ${lang}...</p>`;
|
|
56
|
-
|
|
57
|
-
try {
|
|
58
|
-
// 加载翻译文件
|
|
59
|
-
const response = await fetch(`./i18n/all-tools/${lang}.json`);
|
|
60
|
-
if (!response.ok) {
|
|
61
|
-
result.innerHTML = `<p class="error">❌ 翻译文件不存在: ./i18n/all-tools/${lang}.json</p>`;
|
|
62
|
-
return;
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
const translations = await response.json();
|
|
66
|
-
|
|
67
|
-
// 显示翻译内容
|
|
68
|
-
let html = `<p class="success">✅ 翻译文件加载成功</p>`;
|
|
69
|
-
html += `<h3>翻译内容预览:</h3>`;
|
|
70
|
-
html += `<pre>${JSON.stringify(translations, null, 2).substring(0, 1000)}...</pre>`;
|
|
71
|
-
|
|
72
|
-
// 检查关键字段
|
|
73
|
-
html += `<h3>关键字段检查:</h3>`;
|
|
74
|
-
html += `<ul>`;
|
|
75
|
-
html += `<li>meta.title: ${translations.meta?.title ? '✅' : '❌'}</li>`;
|
|
76
|
-
html += `<li>page.subtitle: ${translations.page?.subtitle ? '✅' : '❌'}</li>`;
|
|
77
|
-
html += `<li>search.placeholder: ${translations.search?.placeholder ? '✅' : '❌'}</li>`;
|
|
78
|
-
html += `<li>categories: ${translations.categories ? '✅' : '❌'}</li>`;
|
|
79
|
-
html += `<li>toolsData: ${translations.toolsData ? '✅' : '❌'}</li>`;
|
|
80
|
-
html += `</ul>`;
|
|
81
|
-
|
|
82
|
-
result.innerHTML = html;
|
|
83
|
-
} catch (error) {
|
|
84
|
-
result.innerHTML = `<p class="error">❌ 错误: ${error.message}</p>`;
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
async function checkTranslationFiles() {
|
|
89
|
-
const result = document.getElementById('file-result');
|
|
90
|
-
result.innerHTML = `<p>正在检查翻译文件...</p>`;
|
|
91
|
-
|
|
92
|
-
const languages = ['zh-CN', 'en', 'ja', 'ko'];
|
|
93
|
-
let html = '<ul>';
|
|
94
|
-
|
|
95
|
-
for (const lang of languages) {
|
|
96
|
-
try {
|
|
97
|
-
const response = await fetch(`./i18n/all-tools/${lang}.json`);
|
|
98
|
-
if (response.ok) {
|
|
99
|
-
const data = await response.json();
|
|
100
|
-
const toolCount = Object.keys(data.toolsData || {}).length;
|
|
101
|
-
html += `<li class="success">✅ ${lang}.json - ${toolCount} 个工具翻译</li>`;
|
|
102
|
-
} else {
|
|
103
|
-
html += `<li class="error">❌ ${lang}.json - 文件不存在</li>`;
|
|
104
|
-
}
|
|
105
|
-
} catch (error) {
|
|
106
|
-
html += `<li class="error">❌ ${lang}.json - 加载失败: ${error.message}</li>`;
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
html += '</ul>';
|
|
111
|
-
result.innerHTML = html;
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
function showCurrentState() {
|
|
115
|
-
const result = document.getElementById('state-result');
|
|
116
|
-
|
|
117
|
-
let html = '<h3>全局变量状态:</h3>';
|
|
118
|
-
html += `<ul>`;
|
|
119
|
-
html += `<li>window.currentLang: ${window.currentLang || '未定义'}</li>`;
|
|
120
|
-
html += `<li>window.translations: ${window.translations ? '已定义' : '未定义'}</li>`;
|
|
121
|
-
html += `<li>window.LANGUAGES: ${window.LANGUAGES ? '已定义' : '未定义'}</li>`;
|
|
122
|
-
html += `<li>localStorage.lang: <strong>${localStorage.getItem('lang') || '未设置'}</strong></li>`;
|
|
123
|
-
html += `</ul>`;
|
|
124
|
-
|
|
125
|
-
html += '<h3>toolsData 状态:</h3>';
|
|
126
|
-
html += `<ul>`;
|
|
127
|
-
html += `<li>toolsData: ${typeof toolsData !== 'undefined' ? '已定义' : '未定义'}</li>`;
|
|
128
|
-
if (typeof toolsData !== 'undefined') {
|
|
129
|
-
html += `<li>categories: ${toolsData.categories ? '已定义' : '未定义'}</li>`;
|
|
130
|
-
if (toolsData.categories) {
|
|
131
|
-
html += `<li>分类数量: ${Object.keys(toolsData.categories).length}</li>`;
|
|
132
|
-
html += `<li>分类列表: ${Object.keys(toolsData.categories).join(', ')}</li>`;
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
html += `</ul>`;
|
|
136
|
-
|
|
137
|
-
html += '<h3>已加载的翻译:</h3>';
|
|
138
|
-
if (window.translations) {
|
|
139
|
-
html += `<ul>`;
|
|
140
|
-
for (const lang in window.translations) {
|
|
141
|
-
html += `<li>${lang}: ${Object.keys(window.translations[lang]).join(', ')}</li>`;
|
|
142
|
-
}
|
|
143
|
-
html += `</ul>`;
|
|
144
|
-
} else {
|
|
145
|
-
html += `<p class="warning">⚠️ 没有已加载的翻译</p>`;
|
|
146
|
-
}
|
|
147
|
-
|
|
148
|
-
result.innerHTML = html;
|
|
149
|
-
}
|
|
150
|
-
|
|
151
|
-
function clearStorage() {
|
|
152
|
-
localStorage.removeItem('lang');
|
|
153
|
-
alert('✅ localStorage 已清除!\n\n请刷新页面测试默认语言检测。');
|
|
154
|
-
showCurrentState();
|
|
155
|
-
}
|
|
156
|
-
|
|
157
|
-
// 页面加载时显示当前状态
|
|
158
|
-
window.addEventListener('load', () => {
|
|
159
|
-
setTimeout(showCurrentState, 1000);
|
|
160
|
-
});
|
|
161
|
-
</script>
|
|
162
|
-
</body>
|
|
163
|
-
</html>
|