mcp-probe-kit 1.15.1 → 2.0.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.
Files changed (162) hide show
  1. package/README.md +113 -1642
  2. package/build/index.js +75 -42
  3. package/build/lib/elicitation-helper.d.ts +73 -0
  4. package/build/lib/elicitation-helper.js +130 -0
  5. package/build/lib/response.d.ts +32 -0
  6. package/build/lib/response.js +28 -0
  7. package/build/lib/tasks-manager.d.ts +116 -0
  8. package/build/lib/tasks-manager.js +217 -0
  9. package/build/lib/toolset-manager.d.ts +48 -0
  10. package/build/lib/toolset-manager.js +112 -0
  11. package/build/schemas/basic-tools.d.ts +0 -32
  12. package/build/schemas/basic-tools.js +0 -34
  13. package/build/schemas/code-analysis-tools.d.ts +0 -36
  14. package/build/schemas/code-analysis-tools.js +0 -38
  15. package/build/schemas/code-gen-tools.d.ts +0 -44
  16. package/build/schemas/code-gen-tools.js +0 -46
  17. package/build/schemas/doc-util-tools.d.ts +0 -54
  18. package/build/schemas/doc-util-tools.js +0 -58
  19. package/build/schemas/index.d.ts +0 -188
  20. package/build/schemas/orchestration-tools.d.ts +0 -22
  21. package/build/schemas/orchestration-tools.js +0 -23
  22. package/build/schemas/output/core-tools.d.ts +817 -0
  23. package/build/schemas/output/core-tools.js +421 -0
  24. package/build/schemas/output/generation-tools.d.ts +936 -0
  25. package/build/schemas/output/generation-tools.js +446 -0
  26. package/build/schemas/output/helper-tools.d.ts +243 -0
  27. package/build/schemas/output/helper-tools.js +138 -0
  28. package/build/schemas/output/index.d.ts +76 -0
  29. package/build/schemas/output/index.js +96 -0
  30. package/build/schemas/output/project-tools.d.ts +702 -0
  31. package/build/schemas/output/project-tools.js +339 -0
  32. package/build/schemas/output/ui-ux-tools.d.ts +469 -0
  33. package/build/schemas/output/ui-ux-tools.js +218 -0
  34. package/build/schemas/output/workflow-tools.d.ts +267 -0
  35. package/build/schemas/output/workflow-tools.js +179 -0
  36. package/build/schemas/structured-output.d.ts +1317 -0
  37. package/build/schemas/structured-output.js +1017 -0
  38. package/build/tools/__tests__/start_ui.integration.test.js +5 -5
  39. package/build/tools/__tests__/start_ui.property.test.js +11 -11
  40. package/build/tools/add_feature.d.ts +1 -13
  41. package/build/tools/add_feature.js +48 -13
  42. package/build/tools/analyze_project.js +57 -18
  43. package/build/tools/check_deps.d.ts +1 -13
  44. package/build/tools/check_deps.js +24 -15
  45. package/build/tools/code_review.d.ts +1 -13
  46. package/build/tools/code_review.js +19 -16
  47. package/build/tools/debug.d.ts +1 -13
  48. package/build/tools/debug.js +18 -16
  49. package/build/tools/estimate.d.ts +1 -19
  50. package/build/tools/estimate.js +36 -6
  51. package/build/tools/fix_bug.d.ts +1 -13
  52. package/build/tools/fix_bug.js +24 -6
  53. package/build/tools/gen_mock.d.ts +1 -19
  54. package/build/tools/gen_mock.js +42 -227
  55. package/build/tools/genapi.d.ts +1 -13
  56. package/build/tools/genapi.js +18 -15
  57. package/build/tools/genchangelog.d.ts +1 -13
  58. package/build/tools/genchangelog.js +36 -212
  59. package/build/tools/gencommit.d.ts +1 -7
  60. package/build/tools/gencommit.js +21 -13
  61. package/build/tools/gendoc.d.ts +1 -13
  62. package/build/tools/gendoc.js +18 -15
  63. package/build/tools/genpr.d.ts +1 -13
  64. package/build/tools/genpr.js +28 -157
  65. package/build/tools/genreadme.d.ts +1 -13
  66. package/build/tools/genreadme.js +22 -587
  67. package/build/tools/gensql.d.ts +1 -13
  68. package/build/tools/gensql.js +24 -283
  69. package/build/tools/gentest.d.ts +1 -13
  70. package/build/tools/gentest.js +49 -16
  71. package/build/tools/index.d.ts +0 -10
  72. package/build/tools/index.js +0 -10
  73. package/build/tools/init_component_catalog.d.ts +3 -20
  74. package/build/tools/init_component_catalog.js +141 -786
  75. package/build/tools/init_project.d.ts +7 -13
  76. package/build/tools/init_project.js +54 -16
  77. package/build/tools/init_project_context.d.ts +1 -13
  78. package/build/tools/init_project_context.js +41 -14
  79. package/build/tools/perf.d.ts +1 -13
  80. package/build/tools/perf.js +18 -15
  81. package/build/tools/refactor.d.ts +1 -13
  82. package/build/tools/refactor.js +54 -15
  83. package/build/tools/render_ui.d.ts +2 -19
  84. package/build/tools/render_ui.js +201 -347
  85. package/build/tools/resolve_conflict.d.ts +1 -13
  86. package/build/tools/resolve_conflict.js +18 -15
  87. package/build/tools/security_scan.d.ts +1 -13
  88. package/build/tools/security_scan.js +16 -5
  89. package/build/tools/start_api.d.ts +7 -13
  90. package/build/tools/start_api.js +69 -157
  91. package/build/tools/start_bugfix.d.ts +1 -7
  92. package/build/tools/start_bugfix.js +38 -2
  93. package/build/tools/start_doc.d.ts +7 -13
  94. package/build/tools/start_doc.js +76 -169
  95. package/build/tools/start_feature.d.ts +1 -7
  96. package/build/tools/start_feature.js +54 -2
  97. package/build/tools/start_onboard.d.ts +1 -7
  98. package/build/tools/start_onboard.js +40 -2
  99. package/build/tools/start_ralph.d.ts +1 -7
  100. package/build/tools/start_ralph.js +88 -2
  101. package/build/tools/start_refactor.d.ts +7 -13
  102. package/build/tools/start_refactor.js +75 -148
  103. package/build/tools/start_release.d.ts +7 -13
  104. package/build/tools/start_release.js +56 -131
  105. package/build/tools/start_review.d.ts +7 -13
  106. package/build/tools/start_review.js +70 -142
  107. package/build/tools/start_ui.d.ts +1 -7
  108. package/build/tools/start_ui.js +98 -8
  109. package/build/tools/ui-ux-tools.d.ts +3 -39
  110. package/build/tools/ui-ux-tools.js +201 -125
  111. package/docs/data/tools.js +864 -0
  112. package/docs/index.html +594 -0
  113. package/docs/pages/all-tools.html +649 -0
  114. package/docs/pages/examples.html +564 -0
  115. package/docs/pages/getting-started.html +529 -0
  116. package/docs/pages/migration.html +308 -0
  117. package/docs/specs/algorithm-enhancement/roadmap.md +619 -0
  118. package/docs/specs/vnext-upgrade/00-OVERVIEW.md +258 -0
  119. package/docs/specs/vnext-upgrade/BETA_RELEASE_GUIDE.md +328 -0
  120. package/docs/specs/vnext-upgrade/GITHUB_DISCUSSION_TEMPLATE.md +236 -0
  121. package/docs/specs/vnext-upgrade/M8.9-PROGRESS-UPDATE.md +248 -0
  122. package/docs/specs/vnext-upgrade/PROGRESS-SUMMARY.md +195 -0
  123. package/docs/specs/vnext-upgrade/QUICK_REFERENCE.md +338 -0
  124. package/docs/specs/vnext-upgrade/README.md +125 -0
  125. package/docs/specs/vnext-upgrade/STATUS-UPDATE-2026-01-26.md +230 -0
  126. package/docs/specs/vnext-upgrade/TOOL_CLEANUP.md +343 -0
  127. package/docs/specs/vnext-upgrade/completed/M1-M2-SUMMARY.md +27 -0
  128. package/docs/specs/vnext-upgrade/completed/M3_COMPLETION_SUMMARY.md +273 -0
  129. package/docs/specs/vnext-upgrade/completed/M4-SUMMARY.md +19 -0
  130. package/docs/specs/vnext-upgrade/completed/M5_COMPLETION_SUMMARY.md +0 -0
  131. package/docs/specs/vnext-upgrade/completed/M8.1-SUMMARY.md +247 -0
  132. package/docs/specs/vnext-upgrade/completed/M8.2-SUMMARY.md +296 -0
  133. package/docs/specs/vnext-upgrade/completed/M8.3-SUMMARY.md +241 -0
  134. package/docs/specs/vnext-upgrade/completed/M8.3-TEST-SUMMARY.md +216 -0
  135. package/docs/specs/vnext-upgrade/completed/M8.4-SUMMARY.md +217 -0
  136. package/docs/specs/vnext-upgrade/completed/M8.4-TEST-SUMMARY.md +198 -0
  137. package/docs/specs/vnext-upgrade/completed/M8.5-SUMMARY.md +202 -0
  138. package/docs/specs/vnext-upgrade/completed/M8.5-TEST-SUMMARY.md +223 -0
  139. package/docs/specs/vnext-upgrade/completed/M8.6-SUMMARY.md +299 -0
  140. package/docs/specs/vnext-upgrade/completed/M8.8-TEST-SUMMARY.md +216 -0
  141. package/docs/specs/vnext-upgrade/completed/TOOL-CLEANUP-SUMMARY.md +210 -0
  142. package/docs/specs/vnext-upgrade/design.md +848 -0
  143. package/docs/specs/vnext-upgrade/requirements.md +221 -0
  144. package/docs/specs/vnext-upgrade/tasks/00-INDEX.md +335 -0
  145. package/docs/specs/vnext-upgrade/tasks/M8.1-SCHEMA-DEFINITION.md +300 -0
  146. package/docs/specs/vnext-upgrade/tasks/M8.2-P1-TOOLS.md +249 -0
  147. package/docs/specs/vnext-upgrade/tasks/M8.3-GENERATION-TOOLS.md +49 -0
  148. package/docs/specs/vnext-upgrade/tasks/M8.4-ORCHESTRATION-TOOLS.md +28 -0
  149. package/docs/specs/vnext-upgrade/tasks/M8.5-PROJECT-TOOLS.md +29 -0
  150. package/docs/specs/vnext-upgrade/tasks/M8.6-UI-TOOLS.md +66 -0
  151. package/docs/specs/vnext-upgrade/tasks/M8.7-HELPER-TOOLS.md +24 -0
  152. package/docs/specs/vnext-upgrade/tasks/M8.8-INTEGRATION-TESTS.md +90 -0
  153. package/docs/specs/vnext-upgrade/tasks/M8.9-DOCUMENTATION.md +103 -0
  154. package/docs/styles/docs.css +556 -0
  155. package/docs/styles/page.css +815 -0
  156. package/docs/vnext/MCP_2025-11-25_GUIDE.md +276 -0
  157. package/docs/vnext/vNext-PRD.md +488 -0
  158. package/package.json +6 -6
  159. package/docs/BEST_PRACTICES.md +0 -1185
  160. package/docs/HOW_TO_TRIGGER.md +0 -1141
  161. package/docs/MCP-Probe-Kit-/344/275/277/347/224/250/346/211/213/345/206/214.html +0 -544
  162. package/docs/MCP-Probe-Kit-/344/275/277/347/224/250/346/211/213/345/206/214.md +0 -1447
@@ -0,0 +1,649 @@
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>所有工具 - 39个AI研发工具完整列表 | MCP Probe Kit</title>
7
+
8
+ <!-- SEO Meta Tags -->
9
+ <meta name="description" content="MCP Probe Kit 完整工具列表:10个工作流编排工具、7个代码分析工具、4个Git工具、7个生成工具、7个项目管理工具、6个UI/UX工具。每个工具包含详细使用说明、参数定义和代码示例。">
10
+ <meta name="keywords" content="AI 开发工具, 代码生成工具, 代码审查工具, Git 自动化, UI 生成, Mock 数据生成, SQL 生成, 代码重构, 性能优化, 安全扫描">
11
+ <meta name="author" content="小墨 (Kyle) - ByteZoneX">
12
+ <meta name="robots" content="index, follow">
13
+ <link rel="canonical" href="https://mcp-probe-kit.bytezonex.com/pages/all-tools.html">
14
+ <link rel="icon" type="image/x-icon" href="https://www.bytezonex.com/favicon.ico">
15
+
16
+ <!-- Open Graph / Facebook -->
17
+ <meta property="og:type" content="article">
18
+ <meta property="og:url" content="https://mcp-probe-kit.bytezonex.com/pages/all-tools.html">
19
+ <meta property="og:title" content="所有工具 - 39个AI研发工具完整列表 | MCP Probe Kit">
20
+ <meta property="og:description" content="浏览 MCP Probe Kit 全部 39 个工具,覆盖工作流编排、代码分析、Git 自动化、UI 生成等 7 大类别。每个工具都有详细文档和示例。">
21
+
22
+ <!-- Twitter -->
23
+ <meta property="twitter:card" content="summary_large_image">
24
+ <meta property="twitter:url" content="https://mcp-probe-kit.bytezonex.com/pages/all-tools.html">
25
+ <meta property="twitter:title" content="所有工具 - 39个AI研发工具完整列表 | MCP Probe Kit">
26
+ <meta property="twitter:description" content="浏览 MCP Probe Kit 全部 39 个工具,覆盖开发全流程。">
27
+
28
+ <link rel="stylesheet" href="../styles/page.css">
29
+ <style>
30
+ /* 工具页面专用样式 */
31
+
32
+ .category-section {
33
+ margin-bottom: var(--spacing-xl);
34
+ }
35
+
36
+ .category-header {
37
+ display: flex;
38
+ align-items: center;
39
+ gap: var(--spacing-md);
40
+ margin-bottom: var(--spacing-lg);
41
+ padding-bottom: var(--spacing-md);
42
+ border-bottom: 2px solid var(--border);
43
+ }
44
+
45
+ .category-icon {
46
+ font-size: 28px;
47
+ }
48
+
49
+ .category-title {
50
+ font-size: 24px;
51
+ font-weight: 600;
52
+ color: var(--text-primary);
53
+ margin: 0;
54
+ }
55
+
56
+ .category-count {
57
+ background: var(--primary);
58
+ color: white;
59
+ padding: 4px 12px;
60
+ border-radius: 12px;
61
+ font-size: 13px;
62
+ font-weight: 600;
63
+ }
64
+
65
+ .search-box {
66
+ margin-bottom: var(--spacing-xl);
67
+ }
68
+
69
+ .search-input {
70
+ width: 100%;
71
+ padding: 16px 20px;
72
+ border: 2px solid var(--border);
73
+ border-radius: 12px;
74
+ font-size: 16px;
75
+ transition: all 0.2s;
76
+ }
77
+
78
+ .search-input:focus {
79
+ outline: none;
80
+ border-color: var(--primary);
81
+ box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1);
82
+ }
83
+
84
+ .search-input::placeholder {
85
+ color: var(--text-tertiary);
86
+ }
87
+
88
+ .search-results {
89
+ margin-top: var(--spacing-sm);
90
+ font-size: 14px;
91
+ color: var(--text-secondary);
92
+ }
93
+
94
+ .tools-grid {
95
+ display: flex;
96
+ flex-direction: column;
97
+ gap: var(--spacing-lg);
98
+ }
99
+
100
+ .tool-card {
101
+ background: var(--bg-card);
102
+ border: 1px solid var(--border);
103
+ border-radius: 12px;
104
+ padding: var(--spacing-lg);
105
+ transition: all 0.2s;
106
+ display: flex;
107
+ flex-direction: column;
108
+ gap: var(--spacing-md);
109
+ }
110
+
111
+ .tool-card:hover {
112
+ box-shadow: var(--shadow-md);
113
+ border-color: var(--primary);
114
+ }
115
+
116
+ .tool-main {
117
+ flex: 1;
118
+ }
119
+
120
+ .tool-header {
121
+ display: flex;
122
+ align-items: center;
123
+ gap: var(--spacing-md);
124
+ margin-bottom: var(--spacing-sm);
125
+ }
126
+
127
+ .tool-name {
128
+ font-size: 18px;
129
+ font-weight: 600;
130
+ color: var(--text-primary);
131
+ font-family: 'Courier New', monospace;
132
+ }
133
+
134
+ .tool-badges {
135
+ display: flex;
136
+ gap: var(--spacing-sm);
137
+ flex-wrap: wrap;
138
+ }
139
+
140
+ .tool-badge {
141
+ padding: 4px 8px;
142
+ border-radius: 6px;
143
+ font-size: 11px;
144
+ font-weight: 600;
145
+ }
146
+
147
+ .tool-badge.structured {
148
+ background: #D1FAE5;
149
+ color: #065F46;
150
+ }
151
+
152
+ .tool-description {
153
+ color: var(--text-secondary);
154
+ font-size: 14px;
155
+ line-height: 1.6;
156
+ margin-bottom: var(--spacing-sm);
157
+ }
158
+
159
+ .tool-meta {
160
+ font-size: 12px;
161
+ color: var(--text-tertiary);
162
+ font-family: 'Courier New', monospace;
163
+ }
164
+
165
+ .tool-details {
166
+ display: block;
167
+ margin-top: var(--spacing-md);
168
+ padding-top: var(--spacing-md);
169
+ border-top: 1px solid var(--border);
170
+ }
171
+
172
+ .tool-section {
173
+ margin-bottom: var(--spacing-md);
174
+ }
175
+
176
+ .tool-section:last-child {
177
+ margin-bottom: 0;
178
+ }
179
+
180
+ .tool-section-title {
181
+ font-size: 14px;
182
+ font-weight: 600;
183
+ color: var(--text-primary);
184
+ margin-bottom: var(--spacing-sm);
185
+ display: flex;
186
+ align-items: center;
187
+ gap: var(--spacing-sm);
188
+ }
189
+
190
+ .tool-section-content {
191
+ font-size: 14px;
192
+ color: var(--text-secondary);
193
+ line-height: 1.6;
194
+ }
195
+
196
+ .tool-section-content ul {
197
+ margin: var(--spacing-sm) 0;
198
+ padding-left: var(--spacing-lg);
199
+ }
200
+
201
+ .tool-section-content li {
202
+ margin-bottom: var(--spacing-xs);
203
+ }
204
+
205
+ .tool-section-content code {
206
+ background: var(--bg-hover);
207
+ padding: 2px 6px;
208
+ border-radius: 4px;
209
+ font-family: 'Courier New', monospace;
210
+ font-size: 0.9em;
211
+ color: #DB2777;
212
+ }
213
+
214
+ .tool-example {
215
+ background: #F8FAFC;
216
+ border: 1px solid var(--border);
217
+ border-radius: 8px;
218
+ padding: var(--spacing-md);
219
+ margin-top: var(--spacing-sm);
220
+ }
221
+
222
+ .tool-example-title {
223
+ font-size: 13px;
224
+ font-weight: 600;
225
+ color: var(--text-secondary);
226
+ margin-bottom: var(--spacing-sm);
227
+ }
228
+
229
+ .tool-example-code {
230
+ background: #1E293B;
231
+ color: #E2E8F0;
232
+ padding: var(--spacing-md);
233
+ border-radius: 6px;
234
+ font-family: 'Courier New', monospace;
235
+ font-size: 13px;
236
+ line-height: 1.5;
237
+ overflow-x: auto;
238
+ white-space: pre-wrap;
239
+ }
240
+
241
+ .no-results {
242
+ text-align: center;
243
+ padding: var(--spacing-xl);
244
+ color: var(--text-secondary);
245
+ }
246
+
247
+ .no-results-icon {
248
+ font-size: 48px;
249
+ margin-bottom: var(--spacing-md);
250
+ }
251
+ </style>
252
+ </head>
253
+ <body>
254
+ <!-- Topbar -->
255
+ <nav class="topbar" id="topbar">
256
+ <div class="topbar-container">
257
+ <a href="../index.html" class="topbar-brand">
258
+ <span>🚀</span>
259
+ <span>MCP Probe Kit</span>
260
+ </a>
261
+
262
+ <div class="topbar-actions">
263
+ <a href="https://www.bytezonex.com/" target="_blank" rel="noopener" class="topbar-link external">
264
+ <span>ByteZoneX</span>
265
+ </a>
266
+ <a href="https://github.com/mybolide/mcp-probe-kit" target="_blank" rel="noopener" class="topbar-link external">
267
+ <span>GitHub</span>
268
+ </a>
269
+ <a href="https://www.npmjs.com/package/mcp-probe-kit" target="_blank" rel="noopener" class="topbar-link external">
270
+ <span>npm</span>
271
+ </a>
272
+ </div>
273
+ </div>
274
+ </nav>
275
+
276
+ <!-- Layout Container -->
277
+ <div class="layout">
278
+ <!-- Sidebar -->
279
+ <aside class="sidebar" id="sidebar">
280
+ <nav class="sidebar-nav">
281
+ <div class="nav-section">
282
+ <div class="nav-section-title">快速开始</div>
283
+ <a href="../index.html" class="nav-item">
284
+ <div class="nav-item-content">
285
+ <span class="icon">🏠</span>
286
+ <span>文档首页</span>
287
+ </div>
288
+ </a>
289
+ <a href="./getting-started.html" class="nav-item">
290
+ <div class="nav-item-content">
291
+ <span class="icon">📖</span>
292
+ <span>安装配置</span>
293
+ </div>
294
+ </a>
295
+ </div>
296
+
297
+ <div class="nav-section">
298
+ <div class="nav-section-title">工具文档</div>
299
+ <a href="./all-tools.html" class="nav-item active">
300
+ <div class="nav-item-content">
301
+ <span class="icon">🛠️</span>
302
+ <span>所有工具</span>
303
+ </div>
304
+ <span class="badge">39</span>
305
+ </a>
306
+ </div>
307
+
308
+ <div class="nav-section">
309
+ <div class="nav-section-title">指南</div>
310
+ <a href="./migration.html" class="nav-item">
311
+ <div class="nav-item-content">
312
+ <span class="icon">🚀</span>
313
+ <span>迁移指南</span>
314
+ </div>
315
+ </a>
316
+ <a href="./examples.html" class="nav-item">
317
+ <div class="nav-item-content">
318
+ <span class="icon">💡</span>
319
+ <span>最佳实践</span>
320
+ </div>
321
+ </a>
322
+ </div>
323
+
324
+ <div class="nav-section">
325
+ <div class="nav-section-title">资源</div>
326
+ <a href="https://www.bytezonex.com/" target="_blank" rel="noopener" class="nav-item">
327
+ <div class="nav-item-content">
328
+ <span class="icon">🌐</span>
329
+ <span>ByteZoneX 主站</span>
330
+ </div>
331
+ <span class="external-icon">↗</span>
332
+ </a>
333
+ <a href="https://github.com/mybolide/mcp-probe-kit" target="_blank" rel="noopener" class="nav-item">
334
+ <div class="nav-item-content">
335
+ <span class="icon">💻</span>
336
+ <span>GitHub 仓库</span>
337
+ </div>
338
+ <span class="external-icon">↗</span>
339
+ </a>
340
+ <a href="https://www.npmjs.com/package/mcp-probe-kit" target="_blank" rel="noopener" class="nav-item">
341
+ <div class="nav-item-content">
342
+ <span class="icon">📦</span>
343
+ <span>npm 包</span>
344
+ </div>
345
+ <span class="external-icon">↗</span>
346
+ </a>
347
+ <a href="https://github.com/mybolide/mcp-probe-kit/issues" target="_blank" rel="noopener" class="nav-item">
348
+ <div class="nav-item-content">
349
+ <span class="icon">🐛</span>
350
+ <span>问题反馈</span>
351
+ </div>
352
+ <span class="external-icon">↗</span>
353
+ </a>
354
+ </div>
355
+ </nav>
356
+
357
+ <!-- Sidebar Footer -->
358
+ <div class="sidebar-footer">
359
+ <div class="sidebar-footer-title">快速链接</div>
360
+ <div class="sidebar-footer-links">
361
+ <a href="https://www.bytezonex.com/" target="_blank" rel="noopener" class="sidebar-footer-link">
362
+ <span>🌐</span>
363
+ <span>ByteZoneX</span>
364
+ <span class="external-icon">↗</span>
365
+ </a>
366
+ <a href="https://github.com/mybolide/mcp-probe-kit" target="_blank" rel="noopener" class="sidebar-footer-link">
367
+ <span>💻</span>
368
+ <span>GitHub</span>
369
+ <span class="external-icon">↗</span>
370
+ </a>
371
+ <a href="https://www.npmjs.com/package/mcp-probe-kit" target="_blank" rel="noopener" class="sidebar-footer-link">
372
+ <span>📦</span>
373
+ <span>npm</span>
374
+ <span class="external-icon">↗</span>
375
+ </a>
376
+ </div>
377
+
378
+ <!-- QR Code -->
379
+ <div class="sidebar-qrcode">
380
+ <div class="sidebar-qrcode-title">关注公众号</div>
381
+ <img src="https://oss.bolzjb.com/wx_qrcode.jpg" alt="微信公众号" />
382
+ <div class="sidebar-qrcode-desc">获取更多技术分享</div>
383
+ </div>
384
+ </div>
385
+ </aside>
386
+
387
+ <!-- Main Content -->
388
+ <main class="main-content">
389
+ <div class="content-wrapper">
390
+ <!-- Breadcrumb -->
391
+ <nav class="breadcrumb">
392
+ <a href="../index.html">文档首页</a>
393
+ <span class="breadcrumb-separator">/</span>
394
+ <a href="#">工具文档</a>
395
+ <span class="breadcrumb-separator">/</span>
396
+ <span>所有工具</span>
397
+ </nav>
398
+
399
+ <!-- Page Header -->
400
+ <h1 class="page-title">所有工具</h1>
401
+ <p class="page-description">MCP Probe Kit 提供 39 个实用工具,100% 支持结构化输出</p>
402
+ <div class="page-meta">
403
+ <span>📦 v2.0.0</span>
404
+ <span>·</span>
405
+ <span>最后更新:2026-01-27</span>
406
+ <span>·</span>
407
+ <a href="https://github.com/mybolide/mcp-probe-kit/edit/main/docs/pages/all-tools.html" target="_blank" rel="noopener">编辑此页 ↗</a>
408
+ <span>·</span>
409
+ <a href="https://github.com/mybolide/mcp-probe-kit/issues/new" target="_blank" rel="noopener">反馈问题 ↗</a>
410
+ </div>
411
+
412
+ <!-- 搜索框 -->
413
+ <div class="search-box">
414
+ <input
415
+ type="text"
416
+ id="searchInput"
417
+ class="search-input"
418
+ placeholder="🔍 搜索工具名称或描述..."
419
+ autocomplete="off"
420
+ />
421
+ <div id="searchResults" class="search-results"></div>
422
+ </div>
423
+
424
+ <!-- 工具列表容器 -->
425
+ <div id="tools-container"></div>
426
+
427
+ <!-- Next Steps CTA -->
428
+ <div class="next-cta">
429
+ <h3>🎯 开始使用</h3>
430
+ <p>选择你感兴趣的工具,提升开发效率</p>
431
+ <div class="next-cta-links">
432
+ <a href="./getting-started.html" class="next-cta-link">
433
+ <span>📖</span>
434
+ <span>安装配置</span>
435
+ </a>
436
+ <a href="./examples.html" class="next-cta-link">
437
+ <span>💡</span>
438
+ <span>学习最佳实践</span>
439
+ </a>
440
+ <a href="https://github.com/mybolide/mcp-probe-kit" target="_blank" rel="noopener" class="next-cta-link">
441
+ <span>💻</span>
442
+ <span>GitHub 仓库</span>
443
+ </a>
444
+ </div>
445
+ </div>
446
+ </div>
447
+
448
+ <!-- Footer -->
449
+ <footer class="footer">
450
+ <div class="footer-container">
451
+ <div>Made with ❤️ by <a href="https://www.bytezonex.com/" target="_blank" rel="noopener">小墨 (Kyle)</a></div>
452
+ <div>
453
+ © 2024-2026 MCP Probe Kit · MIT License ·
454
+ <a href="https://www.bytezonex.com/" target="_blank" rel="noopener">主站 ByteZoneX ↗</a>
455
+ </div>
456
+ </div>
457
+ </footer>
458
+ </main>
459
+ </div>
460
+
461
+ <!-- Mobile Menu Button -->
462
+ <button class="mobile-menu-btn" onclick="toggleSidebar()">☰</button>
463
+
464
+ <!-- 引入工具数据 -->
465
+ <script src="../data/tools.js"></script>
466
+ <script>
467
+ // Topbar scroll effect
468
+ const topbar = document.getElementById('topbar');
469
+ window.addEventListener('scroll', () => {
470
+ if (window.pageYOffset > 10) {
471
+ topbar.classList.add('scrolled');
472
+ } else {
473
+ topbar.classList.remove('scrolled');
474
+ }
475
+ });
476
+
477
+ // Sidebar toggle (mobile)
478
+ function toggleSidebar() {
479
+ document.getElementById('sidebar').classList.toggle('open');
480
+ }
481
+
482
+ // Close sidebar when clicking outside (mobile)
483
+ if (window.innerWidth <= 768) {
484
+ document.querySelector('.main-content').addEventListener('click', function() {
485
+ document.getElementById('sidebar').classList.remove('open');
486
+ });
487
+ }
488
+
489
+ // 渲染工具列表
490
+ let allTools = []; // 存储所有工具的扁平数组
491
+
492
+ function renderTools(filteredTools = null) {
493
+ const container = document.getElementById('tools-container');
494
+ let html = '';
495
+
496
+ // 如果有过滤结果,只渲染过滤后的工具
497
+ if (filteredTools) {
498
+ if (filteredTools.length === 0) {
499
+ html = `
500
+ <div class="no-results">
501
+ <div class="no-results-icon">🔍</div>
502
+ <p>未找到匹配的工具</p>
503
+ </div>
504
+ `;
505
+ } else {
506
+ html += '<div class="tools-grid">';
507
+ filteredTools.forEach(tool => {
508
+ html += renderToolCard(tool);
509
+ });
510
+ html += '</div>';
511
+ }
512
+ } else {
513
+ // 渲染所有分类
514
+ for (const [categoryKey, categoryInfo] of Object.entries(categories)) {
515
+ const tools = toolsData[categoryKey];
516
+ if (!tools || tools.length === 0) continue;
517
+
518
+ html += `
519
+ <div class="category-section">
520
+ <div class="category-header">
521
+ <span class="category-icon">${categoryInfo.icon}</span>
522
+ <h2 class="category-title">${categoryInfo.title}</h2>
523
+ <span class="category-count">${categoryInfo.count} 个</span>
524
+ </div>
525
+ <div class="tools-grid">
526
+ `;
527
+
528
+ tools.forEach(tool => {
529
+ html += renderToolCard({ ...tool, category: categoryKey });
530
+ });
531
+
532
+ html += `
533
+ </div>
534
+ </div>
535
+ `;
536
+ }
537
+ }
538
+
539
+ container.innerHTML = html;
540
+ }
541
+
542
+ // 渲染单个工具卡片
543
+ function renderToolCard(tool) {
544
+ const hasDetails = tool.params || tool.usage || tool.example;
545
+
546
+ let detailsHTML = '';
547
+ if (hasDetails) {
548
+ detailsHTML = `
549
+ <div class="tool-details">
550
+ ${tool.usage ? `
551
+ <div class="tool-section">
552
+ <div class="tool-section-title">📖 使用说明</div>
553
+ <div class="tool-section-content">${tool.usage}</div>
554
+ </div>
555
+ ` : ''}
556
+
557
+ ${tool.params ? `
558
+ <div class="tool-section">
559
+ <div class="tool-section-title">⚙️ 参数说明</div>
560
+ <div class="tool-section-content">
561
+ <ul>
562
+ ${tool.params.map(p => `
563
+ <li>
564
+ <code>${p.name}</code>
565
+ <span style="color: var(--text-tertiary);">(${p.type}${p.required ? ', 必填' : ', 可选'})</span>
566
+ - ${p.desc}
567
+ </li>
568
+ `).join('')}
569
+ </ul>
570
+ </div>
571
+ </div>
572
+ ` : ''}
573
+
574
+ ${tool.example ? `
575
+ <div class="tool-section">
576
+ <div class="tool-section-title">💡 使用示例</div>
577
+ <div class="tool-example">
578
+ <div class="tool-example-code">${tool.example.replace(/</g, '&lt;').replace(/>/g, '&gt;')}</div>
579
+ </div>
580
+ </div>
581
+ ` : ''}
582
+ </div>
583
+ `;
584
+ }
585
+
586
+ return `
587
+ <div class="tool-card">
588
+ <div class="tool-main">
589
+ <div class="tool-header">
590
+ <div class="tool-name">${tool.name}</div>
591
+ <div class="tool-badges">
592
+ <span class="tool-badge structured">✓ 结构化</span>
593
+ </div>
594
+ </div>
595
+ <div class="tool-description">${tool.description}</div>
596
+ <div class="tool-meta">Schema: ${tool.schema}</div>
597
+ </div>
598
+ ${detailsHTML}
599
+ </div>
600
+ `;
601
+ }
602
+
603
+ // 搜索功能
604
+ function searchTools(query) {
605
+ if (!query.trim()) {
606
+ document.getElementById('searchResults').textContent = '';
607
+ renderTools();
608
+ return;
609
+ }
610
+
611
+ const lowerQuery = query.toLowerCase();
612
+ const results = allTools.filter(tool => {
613
+ return tool.name.toLowerCase().includes(lowerQuery) ||
614
+ tool.description.toLowerCase().includes(lowerQuery);
615
+ });
616
+
617
+ const resultsText = results.length > 0
618
+ ? `找到 ${results.length} 个匹配的工具`
619
+ : '未找到匹配的工具';
620
+ document.getElementById('searchResults').textContent = resultsText;
621
+
622
+ renderTools(results);
623
+ }
624
+
625
+ // 初始化
626
+ function init() {
627
+ // 构建扁平的工具数组
628
+ allTools = [];
629
+ for (const [categoryKey, tools] of Object.entries(toolsData)) {
630
+ tools.forEach(tool => {
631
+ allTools.push({ ...tool, category: categoryKey });
632
+ });
633
+ }
634
+
635
+ // 渲染所有工具
636
+ renderTools();
637
+
638
+ // 绑定搜索事件
639
+ const searchInput = document.getElementById('searchInput');
640
+ searchInput.addEventListener('input', (e) => {
641
+ searchTools(e.target.value);
642
+ });
643
+ }
644
+
645
+ // 页面加载完成后初始化
646
+ document.addEventListener('DOMContentLoaded', init);
647
+ </script>
648
+ </body>
649
+ </html>