@visualization-hub/dev-mcp 1.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 (75) hide show
  1. package/README.md +93 -0
  2. package/bin/viz-dev-mcp.js +2 -0
  3. package/dist/client/discovery-api.d.ts +17 -0
  4. package/dist/client/discovery-api.d.ts.map +1 -0
  5. package/dist/client/discovery-api.js +47 -0
  6. package/dist/client/discovery-api.js.map +1 -0
  7. package/dist/client/environment-api.d.ts +3 -0
  8. package/dist/client/environment-api.d.ts.map +1 -0
  9. package/dist/client/environment-api.js +13 -0
  10. package/dist/client/environment-api.js.map +1 -0
  11. package/dist/client/http.d.ts +7 -0
  12. package/dist/client/http.d.ts.map +1 -0
  13. package/dist/client/http.js +38 -0
  14. package/dist/client/http.js.map +1 -0
  15. package/dist/client/inspection-api.d.ts +9 -0
  16. package/dist/client/inspection-api.d.ts.map +1 -0
  17. package/dist/client/inspection-api.js +30 -0
  18. package/dist/client/inspection-api.js.map +1 -0
  19. package/dist/client/transfer-api.d.ts +10 -0
  20. package/dist/client/transfer-api.d.ts.map +1 -0
  21. package/dist/client/transfer-api.js +49 -0
  22. package/dist/client/transfer-api.js.map +1 -0
  23. package/dist/config.d.ts +12 -0
  24. package/dist/config.d.ts.map +1 -0
  25. package/dist/config.js +46 -0
  26. package/dist/config.js.map +1 -0
  27. package/dist/index.d.ts +2 -0
  28. package/dist/index.d.ts.map +1 -0
  29. package/dist/index.js +364 -0
  30. package/dist/index.js.map +1 -0
  31. package/dist/templates/template-engine.d.ts +6 -0
  32. package/dist/templates/template-engine.d.ts.map +1 -0
  33. package/dist/templates/template-engine.js +350 -0
  34. package/dist/templates/template-engine.js.map +1 -0
  35. package/dist/templates/types.d.ts +14 -0
  36. package/dist/templates/types.d.ts.map +1 -0
  37. package/dist/templates/types.js +3 -0
  38. package/dist/templates/types.js.map +1 -0
  39. package/dist/tools/builder.tool.d.ts +18 -0
  40. package/dist/tools/builder.tool.d.ts.map +1 -0
  41. package/dist/tools/builder.tool.js +105 -0
  42. package/dist/tools/builder.tool.js.map +1 -0
  43. package/dist/tools/compliance.tool.d.ts +25 -0
  44. package/dist/tools/compliance.tool.d.ts.map +1 -0
  45. package/dist/tools/compliance.tool.js +300 -0
  46. package/dist/tools/compliance.tool.js.map +1 -0
  47. package/dist/tools/discovery.tools.d.ts +27 -0
  48. package/dist/tools/discovery.tools.d.ts.map +1 -0
  49. package/dist/tools/discovery.tools.js +43 -0
  50. package/dist/tools/discovery.tools.js.map +1 -0
  51. package/dist/tools/environment.tools.d.ts +91 -0
  52. package/dist/tools/environment.tools.d.ts.map +1 -0
  53. package/dist/tools/environment.tools.js +140 -0
  54. package/dist/tools/environment.tools.js.map +1 -0
  55. package/dist/tools/inspection.tools.d.ts +29 -0
  56. package/dist/tools/inspection.tools.d.ts.map +1 -0
  57. package/dist/tools/inspection.tools.js +42 -0
  58. package/dist/tools/inspection.tools.js.map +1 -0
  59. package/dist/tools/scaffolding.tool.d.ts +23 -0
  60. package/dist/tools/scaffolding.tool.d.ts.map +1 -0
  61. package/dist/tools/scaffolding.tool.js +70 -0
  62. package/dist/tools/scaffolding.tool.js.map +1 -0
  63. package/dist/tools/transfer.tools.d.ts +50 -0
  64. package/dist/tools/transfer.tools.d.ts.map +1 -0
  65. package/dist/tools/transfer.tools.js +105 -0
  66. package/dist/tools/transfer.tools.js.map +1 -0
  67. package/dist/utils/archive.d.ts +16 -0
  68. package/dist/utils/archive.d.ts.map +1 -0
  69. package/dist/utils/archive.js +65 -0
  70. package/dist/utils/archive.js.map +1 -0
  71. package/dist/utils/logger.d.ts +11 -0
  72. package/dist/utils/logger.d.ts.map +1 -0
  73. package/dist/utils/logger.js +22 -0
  74. package/dist/utils/logger.js.map +1 -0
  75. package/package.json +52 -0
package/dist/index.js ADDED
@@ -0,0 +1,364 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const index_js_1 = require("@modelcontextprotocol/sdk/server/index.js");
7
+ const stdio_js_1 = require("@modelcontextprotocol/sdk/server/stdio.js");
8
+ const types_js_1 = require("@modelcontextprotocol/sdk/types.js");
9
+ const config_1 = require("./config");
10
+ const logger_1 = require("./utils/logger");
11
+ // 导入各工具处理器
12
+ const discovery_tools_1 = require("./tools/discovery.tools");
13
+ const inspection_tools_1 = require("./tools/inspection.tools");
14
+ const environment_tools_1 = require("./tools/environment.tools");
15
+ const scaffolding_tool_1 = require("./tools/scaffolding.tool");
16
+ const builder_tool_1 = require("./tools/builder.tool");
17
+ const compliance_tool_1 = require("./tools/compliance.tool");
18
+ const transfer_tools_1 = require("./tools/transfer.tools");
19
+ const fs_1 = __importDefault(require("fs"));
20
+ const path_1 = __importDefault(require("path"));
21
+ const config = (0, config_1.getConfig)();
22
+ // 读取 package.json 版本号
23
+ let pkgVersion = '1.0.0';
24
+ try {
25
+ const pkgPath = path_1.default.resolve(__dirname, '../package.json');
26
+ if (fs_1.default.existsSync(pkgPath)) {
27
+ const pkg = JSON.parse(fs_1.default.readFileSync(pkgPath, 'utf-8'));
28
+ if (pkg.version)
29
+ pkgVersion = pkg.version;
30
+ }
31
+ }
32
+ catch {
33
+ // fallback
34
+ }
35
+ // 1. 初始化 MCP 服务实例
36
+ const server = new index_js_1.Server({
37
+ name: '@visualization-hub/dev-mcp',
38
+ version: pkgVersion
39
+ }, {
40
+ capabilities: {
41
+ tools: {}
42
+ }
43
+ });
44
+ // 2. 工具定义清单
45
+ // 2. 工具定义清单
46
+ const TOOLS = [
47
+ // ===== 1. 全流程引导与规范工具 =====
48
+ {
49
+ name: 'VisualizationHub_get_developer_guide',
50
+ description: '【全流程智能导航】获取可视化组件全生命周期研发阶段指引(包含 init/scaffold/coding/build/compliance/upload 阶段的前置依赖、必调工具、红线禁忌点与准出检查项)',
51
+ inputSchema: {
52
+ type: 'object',
53
+ properties: {
54
+ stage: {
55
+ type: 'string',
56
+ enum: ['init', 'scaffold', 'coding', 'build', 'compliance', 'upload', 'all'],
57
+ default: 'all',
58
+ description: '指定查看的开发阶段,默认 all 返回全览'
59
+ }
60
+ }
61
+ }
62
+ },
63
+ {
64
+ name: 'VisualizationHub_get_project_rule',
65
+ description: '获取组件资产开发规范、13 项沙箱约束与编写禁忌指南',
66
+ inputSchema: {
67
+ type: 'object',
68
+ properties: {
69
+ section: { type: 'string', description: '指定章节 (可选)' }
70
+ }
71
+ }
72
+ },
73
+ {
74
+ name: 'VisualizationHub_get_development_workflow',
75
+ description: '获取组件资产 10 步标准化开发流程',
76
+ inputSchema: { type: 'object', properties: {} }
77
+ },
78
+ {
79
+ name: 'VisualizationHub_get_global_packages',
80
+ description: '查询平台预置的核心可视化引擎版本 (Cesium, Three, ECharts 等) 及可选扩展库清单 (/static/libs)',
81
+ inputSchema: {
82
+ type: 'object',
83
+ properties: {
84
+ page_type: { type: 'string', description: '技术栈类型 (cesium/three/openlayers 等)' }
85
+ }
86
+ }
87
+ },
88
+ {
89
+ name: 'VisualizationHub_get_project_url',
90
+ description: '获取指定组件版本在平台沙箱中的真实在线预览 URL',
91
+ inputSchema: {
92
+ type: 'object',
93
+ properties: {
94
+ project_name: { type: 'string', description: '组件唯一标识' },
95
+ version: { type: 'string', description: '组件版本号 (可选,默认最新)' }
96
+ },
97
+ required: ['project_name']
98
+ }
99
+ },
100
+ // ===== 2. 资产检索与源码查阅工具 =====
101
+ {
102
+ name: 'VisualizationHub_search_projects',
103
+ description: '多关键词全文检索知识库平台已有组件资产列表',
104
+ inputSchema: {
105
+ type: 'object',
106
+ properties: {
107
+ keywords: { type: 'array', items: { type: 'string' }, description: '关键词数组' },
108
+ page_type: { type: 'string', description: '技术栈过滤 (cesium/three/echarts 等)' },
109
+ page: { type: 'number', default: 1 },
110
+ page_size: { type: 'number', default: 20 }
111
+ }
112
+ }
113
+ },
114
+ {
115
+ name: 'VisualizationHub_list_categories',
116
+ description: '查询知识库平台所有技术栈分类列表及组件数量统计',
117
+ inputSchema: { type: 'object', properties: {} }
118
+ },
119
+ {
120
+ name: 'VisualizationHub_get_project_detail',
121
+ description: '查询单个组件的完整元数据、依赖清单与版本历史记录',
122
+ inputSchema: {
123
+ type: 'object',
124
+ properties: {
125
+ project_name: { type: 'string', description: '组件唯一标识' }
126
+ },
127
+ required: ['project_name']
128
+ }
129
+ },
130
+ {
131
+ name: 'VisualizationHub_list_my_projects',
132
+ description: '查询当前 API Key 用户拥有的私有/名下组件列表',
133
+ inputSchema: {
134
+ type: 'object',
135
+ properties: {
136
+ page: { type: 'number', default: 1 },
137
+ page_size: { type: 'number', default: 20 }
138
+ }
139
+ }
140
+ },
141
+ {
142
+ name: 'VisualizationHub_get_project_files',
143
+ description: '查询远端组件指定版本内的完整文件目录树与文件大小',
144
+ inputSchema: {
145
+ type: 'object',
146
+ properties: {
147
+ project_name: { type: 'string', description: '组件唯一标识' },
148
+ version: { type: 'string', description: '版本号 (可选)' }
149
+ },
150
+ required: ['project_name']
151
+ }
152
+ },
153
+ {
154
+ name: 'VisualizationHub_get_file_content',
155
+ description: '直接提取远端组件中指定单个源码文件 (如 index.vue, src/index.ts) 的完整文本代码',
156
+ inputSchema: {
157
+ type: 'object',
158
+ properties: {
159
+ project_name: { type: 'string', description: '组件唯一标识' },
160
+ file_path: { type: 'string', description: '文件相对路径' },
161
+ version: { type: 'string', description: '版本号 (可选)' }
162
+ },
163
+ required: ['project_name', 'file_path']
164
+ }
165
+ },
166
+ {
167
+ name: 'VisualizationHub_grep_source_code',
168
+ description: '在知识库全部组件或指定组件中进行代码关键字/正则全文检索',
169
+ inputSchema: {
170
+ type: 'object',
171
+ properties: {
172
+ query: { type: 'string', description: '搜索关键词或正则表达式' },
173
+ project_name: { type: 'string', description: '限定组件名称 (可选)' },
174
+ file_pattern: { type: 'string', description: '文件过滤通配符 (可选)' }
175
+ },
176
+ required: ['query']
177
+ }
178
+ },
179
+ // ===== 3. 本地工程化闭环研发工具 =====
180
+ {
181
+ name: 'VisualizationHub_create_component_project',
182
+ description: '【脚手架生成】在本地指定路径或当前工作区生成完整的 Vue 3 + TS + Vite 组件工程(开箱即满足 13 项沙箱合规规范)',
183
+ inputSchema: {
184
+ type: 'object',
185
+ properties: {
186
+ projectName: { type: 'string', description: '组件英文标识 (符合 npm 命名规范: ^[a-z0-9-_]+$)' },
187
+ pageType: { type: 'string', description: '技术栈类型 (cesium/three/openlayers/echarts/mapbox/canvas/common)' },
188
+ title: { type: 'string', description: '组件中文显示标题' },
189
+ description: { type: 'string', description: '组件描述' },
190
+ libraries: { type: 'array', items: { type: 'string' }, description: '引用的扩展库 (如 ["tween.js", "turf"])' },
191
+ targetDir: { type: 'string', description: '目标存放目录 (可选,默认在当前工作区生成)' },
192
+ overwrite: { type: 'boolean', default: false, description: '若目标目录已存在是否强制覆盖' }
193
+ },
194
+ required: ['projectName', 'pageType', 'title']
195
+ }
196
+ },
197
+ {
198
+ name: 'VisualizationHub_build_component_project',
199
+ description: '【本地编译打包】调用本地 Vite 构建打包工程,输出沙箱专属的 dist/index.js 与 dist/index.css,直接捕获类型与语法报错',
200
+ inputSchema: {
201
+ type: 'object',
202
+ properties: {
203
+ projectDir: { type: 'string', description: '本地组件工程根目录路径' }
204
+ },
205
+ required: ['projectDir']
206
+ }
207
+ },
208
+ {
209
+ name: 'VisualizationHub_check_sandbox_compliance',
210
+ description: '【沙箱合规自检】自动化对本地工程源码执行 13 项沙箱合规静态代码扫描,输出得分、违规行号与修改建议',
211
+ inputSchema: {
212
+ type: 'object',
213
+ properties: {
214
+ projectDir: { type: 'string', description: '本地组件工程根目录路径' }
215
+ },
216
+ required: ['projectDir']
217
+ }
218
+ },
219
+ {
220
+ name: 'VisualizationHub_upload_component_project',
221
+ description: '【物理流秒级发布】本地打包 ZIP 并通过底层 HTTP 物理流秒级直传知识库平台 (耗时 < 0.1s,0 Token,支持 Pre-Flight 防呆校验)',
222
+ inputSchema: {
223
+ type: 'object',
224
+ properties: {
225
+ projectDir: { type: 'string', description: '本地组件工程根目录路径' },
226
+ uploadType: { type: 'string', enum: ['test', 'final'], default: 'test', description: '发布模式:test (测试覆盖) 或 final (正式备份发布)' },
227
+ changelog: { type: 'string', description: '版本更新说明 (可选)' },
228
+ skipPreflight: { type: 'boolean', default: false, description: '是否跳过 Pre-Flight 自动化合规前置检查' }
229
+ },
230
+ required: ['projectDir']
231
+ }
232
+ },
233
+ {
234
+ name: 'VisualizationHub_download_component_project',
235
+ description: '【组件拉取与解压】从知识库拉取组件 ZIP 包并在本地指定目录直接解压为可二次开发的工程',
236
+ inputSchema: {
237
+ type: 'object',
238
+ properties: {
239
+ projectName: { type: 'string', description: '组件唯一标识' },
240
+ version: { type: 'string', description: '版本号 (可选,默认最新)' },
241
+ targetDir: { type: 'string', description: '本地解压目标目录' }
242
+ },
243
+ required: ['projectName']
244
+ }
245
+ },
246
+ {
247
+ name: 'VisualizationHub_delete_version',
248
+ description: '【版本删除】调用云端鉴权接口删除指定组件的指定版本',
249
+ inputSchema: {
250
+ type: 'object',
251
+ properties: {
252
+ projectName: { type: 'string', description: '组件唯一标识' },
253
+ version: { type: 'string', description: '要删除的版本号' }
254
+ },
255
+ required: ['projectName', 'version']
256
+ }
257
+ }
258
+ ];
259
+ // 3. 处理工具列表请求
260
+ server.setRequestHandler(types_js_1.ListToolsRequestSchema, async () => {
261
+ return {
262
+ tools: TOOLS
263
+ };
264
+ });
265
+ // 4. 处理工具执行分发
266
+ server.setRequestHandler(types_js_1.CallToolRequestSchema, async (request) => {
267
+ const { name, arguments: args = {} } = request.params;
268
+ const toolKey = (name || '').replace(/^VisualizationHub_/, '');
269
+ try {
270
+ let resultData;
271
+ switch (toolKey) {
272
+ // 引导与环境
273
+ case 'get_developer_guide':
274
+ resultData = await (0, environment_tools_1.handleGetDeveloperGuide)(args);
275
+ break;
276
+ case 'get_project_rule':
277
+ resultData = await (0, environment_tools_1.handleGetProjectRule)(args);
278
+ break;
279
+ case 'get_development_workflow':
280
+ resultData = await (0, environment_tools_1.handleGetDevelopmentWorkflow)();
281
+ break;
282
+ case 'get_global_packages':
283
+ resultData = await (0, environment_tools_1.handleGetGlobalPackages)(args);
284
+ break;
285
+ case 'get_project_url':
286
+ resultData = await (0, environment_tools_1.handleGetProjectUrl)(args);
287
+ break;
288
+ // 检索与源码
289
+ case 'search_projects':
290
+ resultData = await (0, discovery_tools_1.handleSearchProjects)(args);
291
+ break;
292
+ case 'list_categories':
293
+ resultData = await (0, discovery_tools_1.handleListCategories)();
294
+ break;
295
+ case 'get_project_detail':
296
+ resultData = await (0, discovery_tools_1.handleGetProjectDetail)(args);
297
+ break;
298
+ case 'list_my_projects':
299
+ resultData = await (0, discovery_tools_1.handleListMyProjects)(args);
300
+ break;
301
+ case 'get_project_files':
302
+ resultData = await (0, inspection_tools_1.handleGetProjectFiles)(args);
303
+ break;
304
+ case 'get_file_content':
305
+ resultData = await (0, inspection_tools_1.handleGetFileContent)(args);
306
+ break;
307
+ case 'grep_source_code':
308
+ resultData = await (0, inspection_tools_1.handleGrepSourceCode)(args);
309
+ break;
310
+ // 本地研发与发布
311
+ case 'create_component_project':
312
+ resultData = await (0, scaffolding_tool_1.handleCreateComponentProject)(args);
313
+ break;
314
+ case 'build_component_project':
315
+ resultData = await (0, builder_tool_1.handleBuildComponentProject)(args);
316
+ break;
317
+ case 'check_sandbox_compliance':
318
+ resultData = await (0, compliance_tool_1.handleCheckSandboxCompliance)(args);
319
+ break;
320
+ case 'upload_component_project':
321
+ resultData = await (0, transfer_tools_1.handleUploadComponentProject)(args);
322
+ break;
323
+ case 'download_component_project':
324
+ resultData = await (0, transfer_tools_1.handleDownloadComponentProject)(args);
325
+ break;
326
+ case 'delete_version':
327
+ resultData = await (0, transfer_tools_1.handleDeleteVersion)(args);
328
+ break;
329
+ default:
330
+ throw new Error(`[未知工具] 未找到名为 "${name}" 的 MCP 工具`);
331
+ }
332
+ return {
333
+ content: [
334
+ {
335
+ type: 'text',
336
+ text: JSON.stringify(resultData, null, 2)
337
+ }
338
+ ]
339
+ };
340
+ }
341
+ catch (error) {
342
+ logger_1.logger.error(`工具 [${name}] 执行异常:`, error.message);
343
+ return {
344
+ isError: true,
345
+ content: [
346
+ {
347
+ type: 'text',
348
+ text: `[Error: ${name}] ${error.message}`
349
+ }
350
+ ]
351
+ };
352
+ }
353
+ });
354
+ // 5. 启动 Stdio 传输层监听
355
+ async function main() {
356
+ const transport = new stdio_js_1.StdioServerTransport();
357
+ await server.connect(transport);
358
+ logger_1.logger.info(`Visualization Hub Developer MCP Toolkit v${pkgVersion} 已启动`);
359
+ }
360
+ main().catch((err) => {
361
+ logger_1.logger.error('开发者 MCP 启动致命错误:', err);
362
+ process.exit(1);
363
+ });
364
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { ITemplateOptions, IGeneratedFile } from './types';
2
+ /**
3
+ * 模板生成引擎:为指定技术栈输出符合沙箱 13 项规范的完整工程文件集合
4
+ */
5
+ export declare function generateProjectFiles(options: ITemplateOptions): IGeneratedFile[];
6
+ //# sourceMappingURL=template-engine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"template-engine.d.ts","sourceRoot":"","sources":["../../src/templates/template-engine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE3D;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,gBAAgB,GAAG,cAAc,EAAE,CAiWhF"}