@qikdev/mcp 6.10.3 → 6.13.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 (43) hide show
  1. package/README.md +122 -157
  2. package/build/bin/cli.js +147 -176
  3. package/build/bin/cli.js.map +1 -1
  4. package/build/src/config.d.ts +10 -2
  5. package/build/src/config.d.ts.map +1 -1
  6. package/build/src/config.js +36 -4
  7. package/build/src/config.js.map +1 -1
  8. package/build/src/index.d.ts +0 -1
  9. package/build/src/index.d.ts.map +1 -1
  10. package/build/src/index.js +0 -10
  11. package/build/src/index.js.map +1 -1
  12. package/build/src/start.d.ts +3 -0
  13. package/build/src/start.d.ts.map +1 -0
  14. package/build/src/start.js +9 -0
  15. package/build/src/start.js.map +1 -0
  16. package/build/src/tools/checkin.d.ts.map +1 -1
  17. package/build/src/tools/checkin.js +29 -24
  18. package/build/src/tools/checkin.js.map +1 -1
  19. package/build/src/tools/content.d.ts.map +1 -1
  20. package/build/src/tools/content.js +26 -21
  21. package/build/src/tools/content.js.map +1 -1
  22. package/build/src/tools/create.d.ts.map +1 -1
  23. package/build/src/tools/create.js +18 -12
  24. package/build/src/tools/create.js.map +1 -1
  25. package/build/src/tools/file.d.ts +23 -0
  26. package/build/src/tools/file.d.ts.map +1 -0
  27. package/build/src/tools/file.js +282 -0
  28. package/build/src/tools/file.js.map +1 -0
  29. package/build/src/tools/index.d.ts.map +1 -1
  30. package/build/src/tools/index.js +9 -0
  31. package/build/src/tools/index.js.map +1 -1
  32. package/build/src/tools/interface-builder.d.ts +5 -0
  33. package/build/src/tools/interface-builder.d.ts.map +1 -1
  34. package/build/src/tools/interface-builder.js +182 -27
  35. package/build/src/tools/interface-builder.js.map +1 -1
  36. package/build/src/tools/update.d.ts.map +1 -1
  37. package/build/src/tools/update.js +29 -12
  38. package/build/src/tools/update.js.map +1 -1
  39. package/build/src/tools/utils.d.ts +6 -0
  40. package/build/src/tools/utils.d.ts.map +1 -1
  41. package/build/src/tools/utils.js +26 -0
  42. package/build/src/tools/utils.js.map +1 -1
  43. package/package.json +1 -1
package/build/bin/cli.js CHANGED
@@ -35,6 +35,37 @@ async function checkForUpdates() {
35
35
  };
36
36
  }
37
37
  }
38
+ async function promptForInstance() {
39
+ const mgr = new ConfigManager();
40
+ const instances = await mgr.listInstances();
41
+ if (instances.length === 0) {
42
+ console.log(chalk.red('No Qik MCP instances configured.'));
43
+ console.log(chalk.gray('Run "npx @qikdev/mcp setup" to get started.'));
44
+ return null;
45
+ }
46
+ if (instances.length === 1) {
47
+ const inst = instances[0];
48
+ const instanceMgr = new ConfigManager(inst.isLegacy ? undefined : inst.name);
49
+ const config = await instanceMgr.loadConfig();
50
+ if (!config)
51
+ return null;
52
+ return { instanceName: inst.name, config, manager: instanceMgr };
53
+ }
54
+ const { selectedInstance } = await inquirer.prompt([{
55
+ type: 'list',
56
+ name: 'selectedInstance',
57
+ message: 'Which Qik instance would you like to manage?',
58
+ choices: instances.map(inst => ({
59
+ name: `${inst.serverName || inst.name}${inst.isLegacy ? ' (legacy)' : ''} — ${inst.apiUrl || 'https://api.qik.dev'}`,
60
+ value: inst.name,
61
+ })),
62
+ }]);
63
+ const instanceMgr = new ConfigManager(selectedInstance === 'config' ? undefined : selectedInstance);
64
+ const config = await instanceMgr.loadConfig();
65
+ if (!config)
66
+ return null;
67
+ return { instanceName: selectedInstance, config, manager: instanceMgr };
68
+ }
38
69
  async function updateCommand() {
39
70
  console.log(chalk.blue.bold(`šŸ”„ Qik MCP Server Update (v${VERSION})\n`));
40
71
  try {
@@ -47,15 +78,17 @@ async function updateCommand() {
47
78
  return;
48
79
  }
49
80
  updateSpinner.succeed(chalk.yellow(`Update available: ${updateInfo.currentVersion} → ${updateInfo.latestVersion}`));
50
- // Check if already configured
51
- const status = await configManager.getStatus();
81
+ // Check for existing instances
82
+ const selection = await promptForInstance();
52
83
  let preserveConfig = false;
53
84
  let existingConfig = null;
54
- if (status.configured) {
55
- console.log(chalk.green('\nāœ… Existing configuration found!'));
56
- console.log(chalk.gray(` Token: ${status.config?.accessToken?.substring(0, 10)}...`));
57
- console.log(chalk.gray(` API URL: ${status.config?.apiUrl || 'https://api.qik.dev'}`));
58
- console.log(chalk.gray(` Server Name: ${status.config?.serverName || 'qik'}`));
85
+ let instanceManager = null;
86
+ if (selection) {
87
+ instanceManager = selection.manager;
88
+ const status = await instanceManager.getStatus();
89
+ console.log(chalk.green(`\nāœ… Instance found: ${selection.config.serverName || selection.instanceName}`));
90
+ console.log(chalk.gray(` Token: ${selection.config.accessToken?.substring(0, 10)}...`));
91
+ console.log(chalk.gray(` API URL: ${selection.config.apiUrl || 'https://api.qik.dev'}`));
59
92
  const { keepConfig } = await inquirer.prompt([{
60
93
  type: 'confirm',
61
94
  name: 'keepConfig',
@@ -64,8 +97,7 @@ async function updateCommand() {
64
97
  }]);
65
98
  if (keepConfig) {
66
99
  preserveConfig = true;
67
- existingConfig = status.config;
68
- // Validate existing token
100
+ existingConfig = selection.config;
69
101
  if (status.tokenValid === false) {
70
102
  console.log(chalk.yellow('\nāš ļø Your existing token appears to be invalid.'));
71
103
  const { updateToken } = await inquirer.prompt([{
@@ -116,12 +148,12 @@ async function updateCommand() {
116
148
  installSpinner.warn(chalk.yellow('Global installation failed, but npx will use latest version'));
117
149
  }
118
150
  // Configure with preserved or new settings
119
- if (preserveConfig && existingConfig) {
151
+ if (preserveConfig && existingConfig && instanceManager) {
120
152
  console.log(chalk.blue('\nšŸ”§ Updating configuration with preserved settings...'));
121
153
  // Validate token if it was updated
122
- if (existingConfig.accessToken !== status.config?.accessToken) {
154
+ if (existingConfig.accessToken !== selection?.config?.accessToken) {
123
155
  const validationSpinner = ora('Validating updated token...').start();
124
- const validation = await configManager.validateToken(existingConfig.accessToken, existingConfig.apiUrl || 'https://api.qik.dev');
156
+ const validation = await instanceManager.validateToken(existingConfig.accessToken, existingConfig.apiUrl || 'https://api.qik.dev');
125
157
  if (!validation.valid) {
126
158
  validationSpinner.fail(chalk.red('Token validation failed'));
127
159
  console.log(chalk.red(`Error: ${validation.error}`));
@@ -130,10 +162,11 @@ async function updateCommand() {
130
162
  validationSpinner.succeed(chalk.green('Token validated successfully!'));
131
163
  }
132
164
  // Save preserved config with version info
133
- await configManager.saveConfig(existingConfig, updateInfo.latestVersion);
165
+ await instanceManager.saveConfig(existingConfig, updateInfo.latestVersion);
134
166
  // Update MCP configuration to ensure it uses the latest version
167
+ const serverName = existingConfig.serverName || 'qik';
135
168
  const mcpSpinner = ora('Updating MCP server configuration...').start();
136
- const mcpResult = await configManager.addToMcpConfig(existingConfig.serverName || 'qik');
169
+ const mcpResult = await instanceManager.addToMcpConfig(serverName, selection?.instanceName);
137
170
  if (mcpResult.success) {
138
171
  mcpSpinner.succeed(chalk.green('MCP server configuration updated!'));
139
172
  if (mcpResult.configPaths && mcpResult.configPaths.length > 0) {
@@ -172,52 +205,14 @@ async function setupCommand() {
172
205
  else {
173
206
  updateSpinner.succeed(chalk.green('āœ… Using latest version from npm registry\n'));
174
207
  }
175
- // Check if already configured
176
- const status = await configManager.getStatus();
177
- if (status.configured && status.tokenValid) {
178
- console.log(chalk.green('āœ… Qik MCP Server is already configured and working!'));
179
- console.log(chalk.gray(` Token: ${status.config?.accessToken?.substring(0, 10)}...`));
180
- console.log(chalk.gray(` API URL: ${status.config?.apiUrl || 'https://api.qik.dev'}`));
181
- console.log(chalk.gray(` MCP Configured: ${status.mcpConfigured ? 'Yes' : 'No'}`));
182
- const { reconfigure } = await inquirer.prompt([{
183
- type: 'confirm',
184
- name: 'reconfigure',
185
- message: 'Would you like to reconfigure?',
186
- default: false,
187
- }]);
188
- if (!reconfigure) {
189
- // Even if not reconfiguring, ensure MCP configs are updated to latest version
190
- const mcpSpinner = ora('Updating MCP server configuration...').start();
191
- const mcpResult = await configManager.addToMcpConfig(status.config?.serverName || 'qik');
192
- if (mcpResult.success) {
193
- mcpSpinner.succeed(chalk.green('MCP server configuration updated!'));
194
- if (mcpResult.configPaths && mcpResult.configPaths.length > 0) {
195
- console.log(chalk.gray(` Updated: ${mcpResult.configPaths.join(', ')}`));
196
- }
197
- // Show debugging details
198
- if (mcpResult.details) {
199
- console.log(chalk.gray('\n Details:'));
200
- mcpResult.details.forEach(detail => {
201
- console.log(chalk.gray(` ${detail}`));
202
- });
203
- }
204
- // Update the config with current version info
205
- await configManager.saveConfig(status.config, VERSION);
206
- console.log(chalk.green('\nāœ… MCP configuration refreshed to use latest version!'));
207
- }
208
- else {
209
- mcpSpinner.warn(chalk.yellow('MCP configuration update failed'));
210
- console.log(chalk.yellow(`Warning: ${mcpResult.error}`));
211
- // Show debugging details even on failure
212
- if (mcpResult.details) {
213
- console.log(chalk.gray('\n Details:'));
214
- mcpResult.details.forEach(detail => {
215
- console.log(chalk.gray(` ${detail}`));
216
- });
217
- }
218
- }
219
- return;
208
+ // Show existing instances
209
+ const existingInstances = await configManager.listInstances();
210
+ if (existingInstances.length > 0) {
211
+ console.log(chalk.white('Existing Qik MCP instances:'));
212
+ for (const inst of existingInstances) {
213
+ console.log(chalk.gray(` - ${inst.serverName || inst.name} (${inst.apiUrl || 'https://api.qik.dev'})`));
220
214
  }
215
+ console.log(chalk.gray(' You can add another instance or reconfigure an existing one.\n'));
221
216
  }
222
217
  // Use default API URL
223
218
  const apiUrl = 'https://api.qik.dev';
@@ -264,55 +259,47 @@ async function setupCommand() {
264
259
  let loginResponse = await axios.post(`${apiUrl}/user/login`, { email, password }, {
265
260
  timeout: 15000,
266
261
  });
267
- loginSpinner.succeed(chalk.green('Login successful!'));
268
262
  session = loginResponse.data;
269
- }
270
- catch (loginError) {
271
- if (axios.isAxiosError(loginError) && loginError.response?.status === 401) {
272
- // Check if MFA is required
273
- const responseData = loginError.response?.data;
274
- if (responseData?.mfa || responseData?.message?.toLowerCase().includes('mfa') || responseData?.message?.toLowerCase().includes('verification')) {
275
- loginSpinner.info(chalk.yellow('MFA verification required - a code has been sent to your email'));
276
- const { mfaCode } = await inquirer.prompt([{
277
- type: 'input',
278
- name: 'mfaCode',
279
- message: 'Enter the verification code from your email:',
280
- validate: (input) => {
281
- if (!input.trim())
282
- return 'Verification code is required';
283
- return true;
284
- },
285
- }]);
286
- const mfaSpinner = ora('Verifying...').start();
287
- try {
288
- const mfaResponse = await axios.post(`${apiUrl}/user/login`, {
289
- email,
290
- password,
291
- mfa: mfaCode.trim(),
292
- }, { timeout: 15000 });
293
- mfaSpinner.succeed(chalk.green('Login successful!'));
294
- session = mfaResponse.data;
295
- }
296
- catch (mfaError) {
297
- mfaSpinner.fail(chalk.red('Verification failed'));
298
- const msg = axios.isAxiosError(mfaError) ? mfaError.response?.data?.message || mfaError.message : mfaError.message;
299
- console.log(chalk.red(`Error: ${msg}`));
300
- process.exit(1);
301
- }
263
+ // Check if MFA is required (API returns 200 with { mfa: true, type, to, expires })
264
+ if (session?.mfa === true) {
265
+ loginSpinner.info(chalk.yellow(`MFA verification required — a code has been sent to ${session.to || 'your email'}`));
266
+ const { mfaCode } = await inquirer.prompt([{
267
+ type: 'input',
268
+ name: 'mfaCode',
269
+ message: 'Enter the verification code:',
270
+ validate: (input) => {
271
+ if (!input.trim())
272
+ return 'Verification code is required';
273
+ return true;
274
+ },
275
+ }]);
276
+ const mfaSpinner = ora('Verifying...').start();
277
+ try {
278
+ const mfaResponse = await axios.post(`${apiUrl}/user/login`, {
279
+ email,
280
+ password,
281
+ mfa: mfaCode.trim(),
282
+ }, { timeout: 15000 });
283
+ mfaSpinner.succeed(chalk.green('Login successful!'));
284
+ session = mfaResponse.data;
302
285
  }
303
- else {
304
- loginSpinner.fail(chalk.red('Login failed'));
305
- console.log(chalk.red(`Error: ${responseData?.message || 'Invalid email or password'}`));
286
+ catch (mfaError) {
287
+ mfaSpinner.fail(chalk.red('Verification failed'));
288
+ const msg = axios.isAxiosError(mfaError) ? mfaError.response?.data?.message || mfaError.message : mfaError.message;
289
+ console.log(chalk.red(`Error: ${msg}`));
306
290
  process.exit(1);
307
291
  }
308
292
  }
309
293
  else {
310
- loginSpinner.fail(chalk.red('Login failed'));
311
- const msg = axios.isAxiosError(loginError) ? loginError.response?.data?.message || loginError.message : loginError.message;
312
- console.log(chalk.red(`Error: ${msg}`));
313
- process.exit(1);
294
+ loginSpinner.succeed(chalk.green('Login successful!'));
314
295
  }
315
296
  }
297
+ catch (loginError) {
298
+ loginSpinner.fail(chalk.red('Login failed'));
299
+ const msg = axios.isAxiosError(loginError) ? loginError.response?.data?.message || loginError.message : loginError.message;
300
+ console.log(chalk.red(`Error: ${msg}`));
301
+ process.exit(1);
302
+ }
316
303
  // Extract tokens from session
317
304
  accessToken = session.token.accessToken;
318
305
  refreshToken = session.token.refreshToken;
@@ -420,12 +407,14 @@ async function setupCommand() {
420
407
  ...(refreshToken && { refreshToken }),
421
408
  ...(tokenExpires && { tokenExpires }),
422
409
  };
410
+ // Save to per-instance config file
411
+ const instanceManager = new ConfigManager(serverName);
423
412
  const saveSpinner = ora('Saving configuration...').start();
424
- await configManager.saveConfig(config, VERSION);
425
- saveSpinner.succeed(chalk.green('Configuration saved!'));
426
- // Configure MCP
413
+ await instanceManager.saveConfig(config, VERSION);
414
+ saveSpinner.succeed(chalk.green(`Configuration saved to ~/.qik-mcp/${serverName}.json`));
415
+ // Configure MCP with QIK_INSTANCE env var
427
416
  const mcpSpinner = ora('Configuring MCP server...').start();
428
- const mcpResult = await configManager.addToMcpConfig(serverName);
417
+ const mcpResult = await instanceManager.addToMcpConfig(serverName, serverName);
429
418
  if (!mcpResult.success) {
430
419
  mcpSpinner.warn(chalk.yellow('MCP configuration failed'));
431
420
  console.log(chalk.yellow(`Warning: ${mcpResult.error}`));
@@ -437,7 +426,8 @@ async function setupCommand() {
437
426
  "command": "npx",
438
427
  "args": ["@qikdev/mcp", "run"],
439
428
  "env": {
440
- "NODE_ENV": "production"
429
+ "NODE_ENV": "production",
430
+ "QIK_INSTANCE": "${serverName}"
441
431
  }
442
432
  }
443
433
  }
@@ -465,33 +455,34 @@ async function setupCommand() {
465
455
  }
466
456
  async function statusCommand() {
467
457
  try {
468
- const status = await configManager.getStatus();
469
458
  console.log(chalk.blue.bold(`šŸ“Š Qik MCP Server Status (v${VERSION})\n`));
470
- if (!status.configured) {
459
+ const instances = await configManager.listInstances();
460
+ if (instances.length === 0) {
471
461
  console.log(chalk.red('āŒ Not configured'));
472
- console.log(chalk.gray('Run "qik-mcp-server setup" to get started.'));
462
+ console.log(chalk.gray('Run "npx @qikdev/mcp setup" to get started.'));
473
463
  return;
474
464
  }
475
- console.log(chalk.green('āœ… Configured'));
476
- console.log(chalk.gray(` Token: ${status.config?.accessToken?.substring(0, 10)}...`));
477
- console.log(chalk.gray(` API URL: ${status.config?.apiUrl || 'https://api.qik.dev'}`));
478
- console.log(chalk.gray(` Server Name: ${status.config?.serverName || 'qik'}`));
479
- if (status.tokenValid === false) {
480
- console.log(chalk.red('āŒ Token invalid'));
481
- if (status.error) {
482
- console.log(chalk.red(` Error: ${status.error}`));
465
+ for (const inst of instances) {
466
+ const mgr = new ConfigManager(inst.isLegacy ? undefined : inst.name);
467
+ const status = await mgr.getStatus();
468
+ console.log(chalk.white.bold(`${inst.serverName || inst.name}${inst.isLegacy ? ' (legacy)' : ''}`));
469
+ console.log(chalk.gray(` API URL: ${inst.apiUrl || 'https://api.qik.dev'}`));
470
+ console.log(chalk.gray(` Token: ${status.config?.accessToken?.substring(0, 10)}...`));
471
+ if (status.tokenValid === false) {
472
+ console.log(chalk.red(' Token: INVALID'));
473
+ if (status.error)
474
+ console.log(chalk.red(` Error: ${status.error}`));
483
475
  }
484
- console.log(chalk.gray('Run "qik-mcp-server setup" to reconfigure.'));
485
- }
486
- else {
487
- console.log(chalk.green('āœ… Token valid'));
488
- }
489
- if (status.mcpConfigured) {
490
- console.log(chalk.green('āœ… MCP configured'));
491
- }
492
- else {
493
- console.log(chalk.yellow('āš ļø MCP not configured'));
494
- console.log(chalk.gray('The server may not be available in Claude.'));
476
+ else {
477
+ console.log(chalk.green(' Token: valid'));
478
+ }
479
+ if (status.mcpConfigured) {
480
+ console.log(chalk.green(' MCP: configured'));
481
+ }
482
+ else {
483
+ console.log(chalk.yellow(' MCP: not configured'));
484
+ }
485
+ console.log('');
495
486
  }
496
487
  }
497
488
  catch (error) {
@@ -501,16 +492,21 @@ async function statusCommand() {
501
492
  }
502
493
  async function runCommand() {
503
494
  try {
504
- const status = await configManager.getStatus();
495
+ // QIK_INSTANCE is set by Claude Desktop config (from addToMcpConfig)
496
+ const instanceName = process.env.QIK_INSTANCE;
497
+ const instanceMgr = new ConfigManager(instanceName);
498
+ const status = await instanceMgr.getStatus();
505
499
  if (!status.configured || !status.tokenValid) {
506
500
  console.error(chalk.red('āŒ Server not properly configured.'));
507
- console.log(chalk.gray('Run "qik-mcp-server setup" first.'));
501
+ console.log(chalk.gray('Run "npx @qikdev/mcp setup" first.'));
508
502
  process.exit(1);
509
503
  }
510
- // Set environment variables and run the server
504
+ // Set environment variables so tool handlers can resolve config via env
511
505
  const config = status.config;
512
506
  process.env.QIK_ACCESS_TOKEN = config.accessToken;
513
507
  process.env.QIK_API_URL = config.apiUrl || 'https://api.qik.dev';
508
+ if (instanceName)
509
+ process.env.QIK_INSTANCE = instanceName;
514
510
  if (config.refreshToken)
515
511
  process.env.QIK_REFRESH_TOKEN = config.refreshToken;
516
512
  if (config.tokenExpires)
@@ -528,6 +524,9 @@ async function runCommand() {
528
524
  async function updateTokenCommand() {
529
525
  try {
530
526
  console.log(chalk.blue.bold(`šŸ”‘ Update Access Token (v${VERSION})\n`));
527
+ const selection = await promptForInstance();
528
+ if (!selection)
529
+ return;
531
530
  const { accessToken } = await inquirer.prompt([{
532
531
  type: 'password',
533
532
  name: 'accessToken',
@@ -539,12 +538,10 @@ async function updateTokenCommand() {
539
538
  return true;
540
539
  },
541
540
  }]);
542
- // Load existing config
543
- const existingConfig = await configManager.loadConfig();
544
- const apiUrl = existingConfig?.apiUrl || 'https://api.qik.dev';
541
+ const apiUrl = selection.config.apiUrl || 'https://api.qik.dev';
545
542
  // Validate new token
546
543
  const spinner = ora('Validating new access token...').start();
547
- const validation = await configManager.validateToken(accessToken, apiUrl);
544
+ const validation = await selection.manager.validateToken(accessToken, apiUrl);
548
545
  if (!validation.valid) {
549
546
  spinner.fail(chalk.red('Token validation failed'));
550
547
  console.log(chalk.red(`Error: ${validation.error}`));
@@ -553,11 +550,11 @@ async function updateTokenCommand() {
553
550
  spinner.succeed(chalk.green('Token validated successfully!'));
554
551
  // Update config
555
552
  const newConfig = {
556
- ...existingConfig,
553
+ ...selection.config,
557
554
  accessToken,
558
555
  };
559
- await configManager.saveConfig(newConfig, VERSION);
560
- console.log(chalk.green('āœ… Access token updated successfully!'));
556
+ await selection.manager.saveConfig(newConfig, VERSION);
557
+ console.log(chalk.green(`āœ… Access token updated for ${selection.config.serverName || selection.instanceName}!`));
561
558
  }
562
559
  catch (error) {
563
560
  console.error(chalk.red('Failed to update token:'), error.message);
@@ -567,61 +564,39 @@ async function updateTokenCommand() {
567
564
  async function removeCommand() {
568
565
  console.log(chalk.blue.bold(`šŸ—‘ļø Qik MCP Server Removal (v${VERSION})\n`));
569
566
  try {
570
- // Check current status
571
- const status = await configManager.getStatus();
572
- if (!status.configured) {
573
- console.log(chalk.yellow('āš ļø Qik MCP Server is not configured.'));
574
- console.log(chalk.gray('Nothing to remove.'));
567
+ const selection = await promptForInstance();
568
+ if (!selection)
575
569
  return;
576
- }
570
+ const { instanceName, config: instConfig, manager: instanceMgr } = selection;
571
+ const serverName = instConfig.serverName || 'qik';
577
572
  // Show what will be removed
578
573
  console.log(chalk.white('The following will be removed:'));
579
- console.log(chalk.gray(` • Configuration file: ~/.qik-mcp/config.json`));
580
- console.log(chalk.gray(` • Server name: ${status.config?.serverName || 'qik'}`));
581
- if (status.mcpConfigured && status.mcpConfigPaths) {
582
- console.log(chalk.gray(' • MCP server entries from:'));
583
- status.mcpConfigPaths.forEach(path => {
584
- console.log(chalk.gray(` - ${path}`));
585
- });
586
- }
574
+ console.log(chalk.gray(` • Configuration file: ~/.qik-mcp/${instanceName}.json`));
575
+ console.log(chalk.gray(` • Server name: ${serverName}`));
587
576
  console.log('');
588
577
  // Confirm removal
589
578
  const { confirmRemoval } = await inquirer.prompt([{
590
579
  type: 'confirm',
591
580
  name: 'confirmRemoval',
592
- message: 'Are you sure you want to remove the Qik MCP Server configuration?',
581
+ message: `Are you sure you want to remove "${serverName}"?`,
593
582
  default: false,
594
583
  }]);
595
584
  if (!confirmRemoval) {
596
585
  console.log(chalk.gray('Removal cancelled.'));
597
586
  return;
598
587
  }
599
- const serverName = status.config?.serverName || 'qik';
600
588
  // Remove from MCP configurations
601
589
  const mcpSpinner = ora('Removing from MCP configurations...').start();
602
- const mcpResult = await configManager.removeFromMcpConfig(serverName);
590
+ const mcpResult = await instanceMgr.removeFromMcpConfig(serverName);
603
591
  if (mcpResult.success) {
604
592
  mcpSpinner.succeed(chalk.green('Removed from MCP configurations'));
605
- if (mcpResult.configPaths && mcpResult.configPaths.length > 0) {
606
- console.log(chalk.gray(` Updated: ${mcpResult.configPaths.join(', ')}`));
607
- }
608
- // Show details if available
609
- if (mcpResult.details) {
610
- console.log(chalk.gray('\n Details:'));
611
- mcpResult.details.forEach(detail => {
612
- console.log(chalk.gray(` ${detail}`));
613
- });
614
- }
615
593
  }
616
594
  else {
617
595
  mcpSpinner.warn(chalk.yellow('Failed to remove from some MCP configurations'));
618
- if (mcpResult.error) {
619
- console.log(chalk.yellow(` Warning: ${mcpResult.error}`));
620
- }
621
596
  }
622
597
  // Remove local configuration
623
598
  const configSpinner = ora('Removing local configuration...').start();
624
- const configResult = await configManager.removeConfig();
599
+ const configResult = await instanceMgr.removeConfig();
625
600
  if (configResult.success) {
626
601
  configSpinner.succeed(chalk.green('Local configuration removed'));
627
602
  }
@@ -630,14 +605,9 @@ async function removeCommand() {
630
605
  console.log(chalk.red(`Error: ${configResult.error}`));
631
606
  }
632
607
  // Try to remove config directory if empty
633
- const dirResult = await configManager.removeConfigDir();
634
- if (dirResult.success) {
635
- console.log(chalk.gray(' Configuration directory cleaned up'));
636
- }
608
+ await instanceMgr.removeConfigDir();
637
609
  // Success message
638
- console.log(chalk.green.bold('\nšŸŽ‰ Qik MCP Server removed successfully!'));
639
- console.log(chalk.gray(' - MCP server entries removed from configuration files'));
640
- console.log(chalk.gray(' - Local configuration deleted'));
610
+ console.log(chalk.green.bold(`\nšŸŽ‰ "${serverName}" removed successfully!`));
641
611
  console.log(chalk.gray(' - You may need to restart Claude Desktop/VS Code\n'));
642
612
  console.log(chalk.blue('To reinstall later, run:'));
643
613
  console.log(chalk.cyan(' npx @qikdev/mcp setup'));
@@ -669,7 +639,8 @@ async function installCommand() {
669
639
  "command": "npx",
670
640
  "args": ["@qikdev/mcp", "run"],
671
641
  "env": {
672
- "NODE_ENV": "production"
642
+ "NODE_ENV": "production",
643
+ "QIK_INSTANCE": "qik"
673
644
  }
674
645
  }
675
646
  }
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../bin/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../bin/cli.ts"],"names":[],"mappings":"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"}