@panguard-ai/panguard-mcp 1.3.0 → 1.3.2

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 (37) hide show
  1. package/dist/cli/index.d.ts +13 -0
  2. package/dist/cli/index.js +67 -0
  3. package/dist/cli/index.js.map +1 -0
  4. package/dist/config/index.d.ts +2 -2
  5. package/dist/config/index.d.ts.map +1 -1
  6. package/dist/config/index.js +1 -1
  7. package/dist/config/index.js.map +1 -1
  8. package/dist/config/mcp-config-reader.d.ts +3 -2
  9. package/dist/config/mcp-config-reader.d.ts.map +1 -1
  10. package/dist/config/mcp-config-reader.js +81 -4
  11. package/dist/config/mcp-config-reader.js.map +1 -1
  12. package/dist/config/mcp-injector.d.ts +30 -0
  13. package/dist/config/mcp-injector.d.ts.map +1 -1
  14. package/dist/config/mcp-injector.js +216 -2
  15. package/dist/config/mcp-injector.js.map +1 -1
  16. package/dist/config/platform-detector.d.ts +4 -3
  17. package/dist/config/platform-detector.d.ts.map +1 -1
  18. package/dist/config/platform-detector.js +166 -2
  19. package/dist/config/platform-detector.js.map +1 -1
  20. package/dist/index.d.ts +12 -0
  21. package/dist/index.js +12 -0
  22. package/dist/index.js.map +1 -0
  23. package/dist/server.d.ts +356 -0
  24. package/dist/server.js +323 -0
  25. package/dist/server.js.map +1 -0
  26. package/dist/tools/guard-tools.d.ts +62 -0
  27. package/dist/tools/guard-tools.d.ts.map +1 -0
  28. package/dist/tools/guard-tools.js +356 -0
  29. package/dist/tools/guard-tools.js.map +1 -0
  30. package/dist/tools/manage-tools.d.ts +65 -0
  31. package/dist/tools/manage-tools.js +299 -0
  32. package/dist/tools/manage-tools.js.map +1 -0
  33. package/dist/tools/scan-tools.d.ts +46 -0
  34. package/dist/tools/scan-tools.js +157 -0
  35. package/dist/tools/scan-tools.js.map +1 -0
  36. package/package.json +14 -13
  37. package/LICENSE +0 -21
@@ -2,12 +2,13 @@
2
2
  * Platform Detector - Detect installed AI agent runtimes
3
3
  * 平台偵測器 - 偵測已安裝的 AI Agent 執行環境
4
4
  *
5
- * Detects Claude Code, Claude Desktop, Cursor, OpenClaw, Codex, WorkBuddy, NemoClaw, and ArkClaw.
6
- * 偵測 Claude Code、Claude Desktop、Cursor、OpenClaw、Codex、WorkBuddy、NemoClaw ArkClaw。
5
+ * Detects 14 platforms: Claude Code, Claude Desktop, Cursor, OpenClaw, Codex,
6
+ * WorkBuddy, NemoClaw, ArkClaw, Windsurf, QClaw, Cline, VS Code Copilot,
7
+ * Zed, Gemini CLI, Continue, Roo Code.
7
8
  *
8
9
  * @module @panguard-ai/panguard-mcp/config/platform-detector
9
10
  */
10
- export type PlatformId = 'claude-code' | 'claude-desktop' | 'cursor' | 'openclaw' | 'codex' | 'workbuddy' | 'nemoclaw' | 'arkclaw';
11
+ export type PlatformId = 'claude-code' | 'claude-desktop' | 'cursor' | 'openclaw' | 'codex' | 'workbuddy' | 'nemoclaw' | 'arkclaw' | 'windsurf' | 'qclaw' | 'cline' | 'vscode-copilot' | 'zed' | 'gemini-cli' | 'continue' | 'roo-code';
11
12
  export interface DetectedPlatform {
12
13
  id: PlatformId;
13
14
  name: string;
@@ -1 +1 @@
1
- {"version":3,"file":"platform-detector.d.ts","sourceRoot":"","sources":["../../src/config/platform-detector.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAUH,MAAM,MAAM,UAAU,GAClB,aAAa,GACb,gBAAgB,GAChB,QAAQ,GACR,UAAU,GACV,OAAO,GACP,WAAW,GACX,UAAU,GACV,SAAS,CAAC;AAEd,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,UAAU,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;IAClB,iBAAiB,EAAE,OAAO,CAAC;CAC5B;AAwGD;;;;;GAKG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC,CA+GnE;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,UAAU,EAAE,UAAU,GAAG,MAAM,CAmB5D"}
1
+ {"version":3,"file":"platform-detector.d.ts","sourceRoot":"","sources":["../../src/config/platform-detector.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAUH,MAAM,MAAM,UAAU,GAClB,aAAa,GACb,gBAAgB,GAChB,QAAQ,GACR,UAAU,GACV,OAAO,GACP,WAAW,GACX,UAAU,GACV,SAAS,GACT,UAAU,GACV,OAAO,GACP,OAAO,GACP,gBAAgB,GAChB,KAAK,GACL,YAAY,GACZ,UAAU,GACV,UAAU,CAAC;AAEf,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,UAAU,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;IAClB,iBAAiB,EAAE,OAAO,CAAC;CAC5B;AA6OD;;;;;GAKG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAqOnE;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,UAAU,EAAE,UAAU,GAAG,MAAM,CAmC5D"}
@@ -2,8 +2,9 @@
2
2
  * Platform Detector - Detect installed AI agent runtimes
3
3
  * 平台偵測器 - 偵測已安裝的 AI Agent 執行環境
4
4
  *
5
- * Detects Claude Code, Claude Desktop, Cursor, OpenClaw, Codex, WorkBuddy, NemoClaw, and ArkClaw.
6
- * 偵測 Claude Code、Claude Desktop、Cursor、OpenClaw、Codex、WorkBuddy、NemoClaw ArkClaw。
5
+ * Detects 14 platforms: Claude Code, Claude Desktop, Cursor, OpenClaw, Codex,
6
+ * WorkBuddy, NemoClaw, ArkClaw, Windsurf, QClaw, Cline, VS Code Copilot,
7
+ * Zed, Gemini CLI, Continue, Roo Code.
7
8
  *
8
9
  * @module @panguard-ai/panguard-mcp/config/platform-detector
9
10
  */
@@ -102,6 +103,68 @@ function getNemoClawConfigPath() {
102
103
  function getArkClawConfigPath() {
103
104
  return join(homedir(), '.arkclaw', 'mcp.json');
104
105
  }
106
+ /** Get the MCP config path for Windsurf (Codeium). */
107
+ function getWindsurfConfigPath() {
108
+ return join(homedir(), '.codeium', 'windsurf', 'mcp_config.json');
109
+ }
110
+ /** Get the MCP config path for QClaw (Tencent). */
111
+ function getQClawConfigPath() {
112
+ return join(homedir(), '.qclaw', 'mcp.json');
113
+ }
114
+ /** Get the MCP settings path for Cline (VS Code extension). */
115
+ function getClineConfigPath() {
116
+ const home = homedir();
117
+ switch (platform()) {
118
+ case 'darwin':
119
+ return join(home, 'Library', 'Application Support', 'Code', 'User', 'globalStorage', 'saoudrizwan.claude-dev', 'settings', 'cline_mcp_settings.json');
120
+ case 'win32':
121
+ return join(process.env['APPDATA'] ?? join(home, 'AppData', 'Roaming'), 'Code', 'User', 'globalStorage', 'saoudrizwan.claude-dev', 'settings', 'cline_mcp_settings.json');
122
+ default:
123
+ return join(home, '.config', 'Code', 'User', 'globalStorage', 'saoudrizwan.claude-dev', 'settings', 'cline_mcp_settings.json');
124
+ }
125
+ }
126
+ /** Get the MCP config path for VS Code Copilot. */
127
+ function getVSCodeCopilotConfigPath() {
128
+ const home = homedir();
129
+ switch (platform()) {
130
+ case 'darwin':
131
+ return join(home, 'Library', 'Application Support', 'Code', 'User', 'settings.json');
132
+ case 'win32':
133
+ return join(process.env['APPDATA'] ?? join(home, 'AppData', 'Roaming'), 'Code', 'User', 'settings.json');
134
+ default:
135
+ return join(home, '.config', 'Code', 'User', 'settings.json');
136
+ }
137
+ }
138
+ /** Get the MCP config path for Zed editor. */
139
+ function getZedConfigPath() {
140
+ const home = homedir();
141
+ switch (platform()) {
142
+ case 'win32':
143
+ return join(process.env['APPDATA'] ?? join(home, 'AppData', 'Roaming'), 'Zed', 'settings.json');
144
+ default:
145
+ return join(home, '.config', 'zed', 'settings.json');
146
+ }
147
+ }
148
+ /** Get the MCP config path for Gemini CLI. */
149
+ function getGeminiCliConfigPath() {
150
+ return join(homedir(), '.gemini', 'settings.json');
151
+ }
152
+ /** Get the MCP config path for Continue.dev. */
153
+ function getContinueConfigPath() {
154
+ return join(homedir(), '.continue', 'mcp.json');
155
+ }
156
+ /** Get the MCP settings path for Roo Code (VS Code extension). */
157
+ function getRooCodeConfigPath() {
158
+ const home = homedir();
159
+ switch (platform()) {
160
+ case 'darwin':
161
+ return join(home, 'Library', 'Application Support', 'Code', 'User', 'globalStorage', 'rooveterinaryinc.roo-cline', 'settings', 'cline_mcp_settings.json');
162
+ case 'win32':
163
+ return join(process.env['APPDATA'] ?? join(home, 'AppData', 'Roaming'), 'Code', 'User', 'globalStorage', 'rooveterinaryinc.roo-cline', 'settings', 'cline_mcp_settings.json');
164
+ default:
165
+ return join(home, '.config', 'Code', 'User', 'globalStorage', 'rooveterinaryinc.roo-cline', 'settings', 'cline_mcp_settings.json');
166
+ }
167
+ }
105
168
  /**
106
169
  * Detect all supported AI agent platforms.
107
170
  * 偵測所有支援的 AI Agent 平台。
@@ -201,6 +264,91 @@ export async function detectPlatforms() {
201
264
  catch {
202
265
  /* not installed */
203
266
  }
267
+ // Windsurf (Codeium)
268
+ const wsPath = getWindsurfConfigPath();
269
+ const wsDetected = (await commandExists('windsurf')) || existsSync(join(homedir(), '.codeium', 'windsurf'));
270
+ platforms.push({
271
+ id: 'windsurf',
272
+ name: 'Windsurf',
273
+ configPath: wsPath,
274
+ detected: wsDetected,
275
+ alreadyConfigured: hasPanguardMCPEntry(wsPath),
276
+ });
277
+ // QClaw (Tencent)
278
+ const qcPath = getQClawConfigPath();
279
+ const qcDetected = (await commandExists('qclaw')) || existsSync(join(homedir(), '.qclaw'));
280
+ platforms.push({
281
+ id: 'qclaw',
282
+ name: 'QClaw',
283
+ configPath: qcPath,
284
+ detected: qcDetected,
285
+ alreadyConfigured: hasPanguardMCPEntry(qcPath),
286
+ });
287
+ // Cline (VS Code extension)
288
+ const clinePath = getClineConfigPath();
289
+ const clineDetected = existsSync(clinePath) ||
290
+ existsSync(join(homedir(), 'Library', 'Application Support', 'Code', 'User', 'globalStorage', 'saoudrizwan.claude-dev'));
291
+ platforms.push({
292
+ id: 'cline',
293
+ name: 'Cline',
294
+ configPath: clinePath,
295
+ detected: clineDetected,
296
+ alreadyConfigured: hasPanguardMCPEntry(clinePath),
297
+ });
298
+ // VS Code Copilot (via .vscode/mcp.json or user settings)
299
+ const vscodePath = getVSCodeCopilotConfigPath();
300
+ const vscodeDetected = (await commandExists('code')) ||
301
+ (platform() === 'darwin' && existsSync('/Applications/Visual Studio Code.app'));
302
+ platforms.push({
303
+ id: 'vscode-copilot',
304
+ name: 'VS Code Copilot',
305
+ configPath: vscodePath,
306
+ detected: vscodeDetected,
307
+ alreadyConfigured: false, // VS Code uses different config structure
308
+ });
309
+ // Zed
310
+ const zedPath = getZedConfigPath();
311
+ const zedDetected = (await commandExists('zed')) ||
312
+ existsSync(join(homedir(), '.config', 'zed')) ||
313
+ (platform() === 'darwin' && existsSync('/Applications/Zed.app'));
314
+ platforms.push({
315
+ id: 'zed',
316
+ name: 'Zed',
317
+ configPath: zedPath,
318
+ detected: zedDetected,
319
+ alreadyConfigured: false, // Zed uses context_servers, not mcpServers
320
+ });
321
+ // Gemini CLI
322
+ const geminiPath = getGeminiCliConfigPath();
323
+ const geminiDetected = (await commandExists('gemini')) || existsSync(join(homedir(), '.gemini'));
324
+ platforms.push({
325
+ id: 'gemini-cli',
326
+ name: 'Gemini CLI',
327
+ configPath: geminiPath,
328
+ detected: geminiDetected,
329
+ alreadyConfigured: hasPanguardMCPEntry(geminiPath),
330
+ });
331
+ // Continue.dev
332
+ const continuePath = getContinueConfigPath();
333
+ const continueDetected = existsSync(join(homedir(), '.continue'));
334
+ platforms.push({
335
+ id: 'continue',
336
+ name: 'Continue',
337
+ configPath: continuePath,
338
+ detected: continueDetected,
339
+ alreadyConfigured: hasPanguardMCPEntry(continuePath),
340
+ });
341
+ // Roo Code (VS Code extension)
342
+ const rooPath = getRooCodeConfigPath();
343
+ const rooDetected = existsSync(rooPath) ||
344
+ existsSync(join(homedir(), 'Library', 'Application Support', 'Code', 'User', 'globalStorage', 'rooveterinaryinc.roo-cline'));
345
+ platforms.push({
346
+ id: 'roo-code',
347
+ name: 'Roo Code',
348
+ configPath: rooPath,
349
+ detected: rooDetected,
350
+ alreadyConfigured: hasPanguardMCPEntry(rooPath),
351
+ });
204
352
  const detected = platforms.filter((p) => p.detected);
205
353
  logger.info(`Detected ${detected.length} platform(s): ${detected.map((p) => p.name).join(', ') || 'none'}`);
206
354
  return platforms;
@@ -227,6 +375,22 @@ export function getConfigPath(platformId) {
227
375
  return getNemoClawConfigPath();
228
376
  case 'arkclaw':
229
377
  return getArkClawConfigPath();
378
+ case 'windsurf':
379
+ return getWindsurfConfigPath();
380
+ case 'qclaw':
381
+ return getQClawConfigPath();
382
+ case 'cline':
383
+ return getClineConfigPath();
384
+ case 'vscode-copilot':
385
+ return getVSCodeCopilotConfigPath();
386
+ case 'zed':
387
+ return getZedConfigPath();
388
+ case 'gemini-cli':
389
+ return getGeminiCliConfigPath();
390
+ case 'continue':
391
+ return getContinueConfigPath();
392
+ case 'roo-code':
393
+ return getRooCodeConfigPath();
230
394
  }
231
395
  }
232
396
  //# sourceMappingURL=platform-detector.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"platform-detector.js","sourceRoot":"","sources":["../../src/config/platform-detector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"platform-detector.js","sourceRoot":"","sources":["../../src/config/platform-detector.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Panguard MCP - Public API
3
+ * Panguard MCP - 公開 API
4
+ *
5
+ * MCP server for Panguard AI — control security scanning and guard from
6
+ * Claude Desktop, Cursor, or Claude Code via conversation.
7
+ * 用於 Panguard AI 的 MCP 伺服器 — 透過對話從 Claude Desktop、Cursor 或 Claude Code 控制安全掃描和守護。
8
+ *
9
+ * @module @panguard-ai/panguard-mcp
10
+ */
11
+ export { startMCPServer, getAllToolDefinitions, dispatchTool, PANGUARD_MCP_VERSION, } from './server.js';
12
+ //# sourceMappingURL=index.d.ts.map
package/dist/index.js ADDED
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Panguard MCP - Public API
3
+ * Panguard MCP - 公開 API
4
+ *
5
+ * MCP server for Panguard AI — control security scanning and guard from
6
+ * Claude Desktop, Cursor, or Claude Code via conversation.
7
+ * 用於 Panguard AI 的 MCP 伺服器 — 透過對話從 Claude Desktop、Cursor 或 Claude Code 控制安全掃描和守護。
8
+ *
9
+ * @module @panguard-ai/panguard-mcp
10
+ */
11
+ export { startMCPServer, getAllToolDefinitions, dispatchTool, PANGUARD_MCP_VERSION, } from './server.js';
12
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EACL,cAAc,EACd,qBAAqB,EACrB,YAAY,EACZ,oBAAoB,GACrB,MAAM,aAAa,CAAC"}
@@ -0,0 +1,356 @@
1
+ /**
2
+ * Panguard MCP - Server
3
+ * Panguard MCP - 伺服器
4
+ *
5
+ * Main MCP server entry: registers all tools and dispatches incoming requests.
6
+ * 主要 MCP 伺服器入口:註冊所有工具並分派傳入請求。
7
+ *
8
+ * @module @panguard-ai/panguard-mcp/server
9
+ */
10
+ /** MCP server version / MCP 伺服器版本 */
11
+ export declare const PANGUARD_MCP_VERSION: string;
12
+ /**
13
+ * Returns the complete list of all MCP tool definitions.
14
+ * 返回所有 MCP 工具定義的完整清單。
15
+ */
16
+ export declare function getAllToolDefinitions(): ({
17
+ name: string;
18
+ description: string;
19
+ inputSchema: {
20
+ type: "object";
21
+ properties: {
22
+ depth: {
23
+ type: string;
24
+ enum: string[];
25
+ description: string;
26
+ default: string;
27
+ };
28
+ lang: {
29
+ type: string;
30
+ enum: string[];
31
+ description: string;
32
+ default: string;
33
+ };
34
+ dir?: undefined;
35
+ dataDir?: undefined;
36
+ mode?: undefined;
37
+ limit?: undefined;
38
+ severity?: undefined;
39
+ ip?: undefined;
40
+ duration?: undefined;
41
+ reason?: undefined;
42
+ output?: undefined;
43
+ path?: undefined;
44
+ generateReport?: undefined;
45
+ };
46
+ required?: undefined;
47
+ };
48
+ } | {
49
+ name: string;
50
+ description: string;
51
+ inputSchema: {
52
+ type: "object";
53
+ properties: {
54
+ dir: {
55
+ type: string;
56
+ description: string;
57
+ default: string;
58
+ };
59
+ lang: {
60
+ type: string;
61
+ enum: string[];
62
+ default: string;
63
+ description?: undefined;
64
+ };
65
+ depth?: undefined;
66
+ dataDir?: undefined;
67
+ mode?: undefined;
68
+ limit?: undefined;
69
+ severity?: undefined;
70
+ ip?: undefined;
71
+ duration?: undefined;
72
+ reason?: undefined;
73
+ output?: undefined;
74
+ path?: undefined;
75
+ generateReport?: undefined;
76
+ };
77
+ required: string[];
78
+ };
79
+ } | {
80
+ name: string;
81
+ description: string;
82
+ inputSchema: {
83
+ type: "object";
84
+ properties: {
85
+ dataDir: {
86
+ type: string;
87
+ description: string;
88
+ };
89
+ mode: {
90
+ type: string;
91
+ enum: string[];
92
+ description: string;
93
+ default?: undefined;
94
+ };
95
+ depth?: undefined;
96
+ lang?: undefined;
97
+ dir?: undefined;
98
+ limit?: undefined;
99
+ severity?: undefined;
100
+ ip?: undefined;
101
+ duration?: undefined;
102
+ reason?: undefined;
103
+ output?: undefined;
104
+ path?: undefined;
105
+ generateReport?: undefined;
106
+ };
107
+ required?: undefined;
108
+ };
109
+ } | {
110
+ name: string;
111
+ description: string;
112
+ inputSchema: {
113
+ type: "object";
114
+ properties: {
115
+ dataDir: {
116
+ type: string;
117
+ description: string;
118
+ };
119
+ depth?: undefined;
120
+ lang?: undefined;
121
+ dir?: undefined;
122
+ mode?: undefined;
123
+ limit?: undefined;
124
+ severity?: undefined;
125
+ ip?: undefined;
126
+ duration?: undefined;
127
+ reason?: undefined;
128
+ output?: undefined;
129
+ path?: undefined;
130
+ generateReport?: undefined;
131
+ };
132
+ required?: undefined;
133
+ };
134
+ } | {
135
+ name: string;
136
+ description: string;
137
+ inputSchema: {
138
+ type: "object";
139
+ properties: {
140
+ limit: {
141
+ type: string;
142
+ description: string;
143
+ default: number;
144
+ };
145
+ severity: {
146
+ type: string;
147
+ enum: string[];
148
+ default: string;
149
+ };
150
+ dataDir: {
151
+ type: string;
152
+ description: string;
153
+ };
154
+ depth?: undefined;
155
+ lang?: undefined;
156
+ dir?: undefined;
157
+ mode?: undefined;
158
+ ip?: undefined;
159
+ duration?: undefined;
160
+ reason?: undefined;
161
+ output?: undefined;
162
+ path?: undefined;
163
+ generateReport?: undefined;
164
+ };
165
+ required?: undefined;
166
+ };
167
+ } | {
168
+ name: string;
169
+ description: string;
170
+ inputSchema: {
171
+ type: "object";
172
+ properties: {
173
+ ip: {
174
+ type: string;
175
+ description: string;
176
+ };
177
+ duration: {
178
+ type: string;
179
+ description: string;
180
+ default: string;
181
+ };
182
+ reason: {
183
+ type: string;
184
+ description: string;
185
+ };
186
+ depth?: undefined;
187
+ lang?: undefined;
188
+ dir?: undefined;
189
+ dataDir?: undefined;
190
+ mode?: undefined;
191
+ limit?: undefined;
192
+ severity?: undefined;
193
+ output?: undefined;
194
+ path?: undefined;
195
+ generateReport?: undefined;
196
+ };
197
+ required: string[];
198
+ };
199
+ } | {
200
+ name: string;
201
+ description: string;
202
+ inputSchema: {
203
+ type: "object";
204
+ properties: {
205
+ output: {
206
+ type: string;
207
+ description: string;
208
+ default: string;
209
+ };
210
+ lang: {
211
+ type: string;
212
+ enum: string[];
213
+ default: string;
214
+ description?: undefined;
215
+ };
216
+ depth: {
217
+ type: string;
218
+ enum: string[];
219
+ default: string;
220
+ description?: undefined;
221
+ };
222
+ dir?: undefined;
223
+ dataDir?: undefined;
224
+ mode?: undefined;
225
+ limit?: undefined;
226
+ severity?: undefined;
227
+ ip?: undefined;
228
+ duration?: undefined;
229
+ reason?: undefined;
230
+ path?: undefined;
231
+ generateReport?: undefined;
232
+ };
233
+ required?: undefined;
234
+ };
235
+ } | {
236
+ name: string;
237
+ description: string;
238
+ inputSchema: {
239
+ type: "object";
240
+ properties: {
241
+ dataDir: {
242
+ type: string;
243
+ description: string;
244
+ };
245
+ lang: {
246
+ type: string;
247
+ enum: string[];
248
+ default: string;
249
+ description?: undefined;
250
+ };
251
+ mode: {
252
+ type: string;
253
+ enum: string[];
254
+ default: string;
255
+ description?: undefined;
256
+ };
257
+ depth?: undefined;
258
+ dir?: undefined;
259
+ limit?: undefined;
260
+ severity?: undefined;
261
+ ip?: undefined;
262
+ duration?: undefined;
263
+ reason?: undefined;
264
+ output?: undefined;
265
+ path?: undefined;
266
+ generateReport?: undefined;
267
+ };
268
+ required?: undefined;
269
+ };
270
+ } | {
271
+ name: string;
272
+ description: string;
273
+ inputSchema: {
274
+ type: "object";
275
+ properties: {
276
+ path: {
277
+ type: string;
278
+ description: string;
279
+ };
280
+ depth?: undefined;
281
+ lang?: undefined;
282
+ dir?: undefined;
283
+ dataDir?: undefined;
284
+ mode?: undefined;
285
+ limit?: undefined;
286
+ severity?: undefined;
287
+ ip?: undefined;
288
+ duration?: undefined;
289
+ reason?: undefined;
290
+ output?: undefined;
291
+ generateReport?: undefined;
292
+ };
293
+ required: string[];
294
+ };
295
+ } | {
296
+ name: string;
297
+ description: string;
298
+ inputSchema: {
299
+ type: "object";
300
+ properties: {
301
+ dataDir: {
302
+ type: string;
303
+ description: string;
304
+ };
305
+ lang: {
306
+ type: string;
307
+ enum: string[];
308
+ default: string;
309
+ description?: undefined;
310
+ };
311
+ mode: {
312
+ type: string;
313
+ enum: string[];
314
+ default: string;
315
+ description?: undefined;
316
+ };
317
+ generateReport: {
318
+ type: string;
319
+ description: string;
320
+ default: boolean;
321
+ };
322
+ depth?: undefined;
323
+ dir?: undefined;
324
+ limit?: undefined;
325
+ severity?: undefined;
326
+ ip?: undefined;
327
+ duration?: undefined;
328
+ reason?: undefined;
329
+ output?: undefined;
330
+ path?: undefined;
331
+ };
332
+ required?: undefined;
333
+ };
334
+ })[];
335
+ /**
336
+ * Dispatch an incoming tool call to the appropriate handler.
337
+ * 將傳入的工具呼叫分派給適當的處理程序。
338
+ *
339
+ * @param name - Tool name / 工具名稱
340
+ * @param args - Tool arguments / 工具參數
341
+ */
342
+ export declare function dispatchTool(name: string, args: Record<string, unknown>): Promise<{
343
+ content: {
344
+ type: "text";
345
+ text: string;
346
+ }[];
347
+ }>;
348
+ /**
349
+ * Create and start the MCP server using stdio transport.
350
+ * 使用 stdio 傳輸建立並啟動 MCP 伺服器。
351
+ *
352
+ * This is the main entry point for the MCP server process.
353
+ * 這是 MCP 伺服器進程的主要入口點。
354
+ */
355
+ export declare function startMCPServer(): Promise<void>;
356
+ //# sourceMappingURL=server.d.ts.map