@vdpeijl/kb-mcp 0.1.2 → 0.2.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.
package/dist/src/cli.js CHANGED
@@ -13,6 +13,7 @@ const main = defineCommand({
13
13
  sync: () => import('./commands/sync.js').then(m => m.default),
14
14
  sources: () => import('./commands/sources.js').then(m => m.default),
15
15
  setup: () => import('./commands/setup.js').then(m => m.default),
16
+ uninstall: () => import('./commands/uninstall.js').then(m => m.default),
16
17
  doctor: () => import('./commands/doctor.js').then(m => m.default),
17
18
  stats: () => import('./commands/stats.js').then(m => m.default),
18
19
  },
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD,MAAM,IAAI,GAAG,aAAa,CAAC;IACzB,IAAI,EAAE;QACJ,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,OAAO;QAChB,WAAW,EAAE,kDAAkD;KAChE;IACD,WAAW,EAAE;QACX,KAAK,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;QAC/D,IAAI,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;QAC7D,IAAI,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;QAC7D,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;QACnE,KAAK,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;QAC/D,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;QACjE,KAAK,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;KAChE;CACF,CAAC,CAAC;AAEH,UAAU;AACV,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD,MAAM,IAAI,GAAG,aAAa,CAAC;IACzB,IAAI,EAAE;QACJ,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,OAAO;QAChB,WAAW,EAAE,kDAAkD;KAChE;IACD,WAAW,EAAE;QACX,KAAK,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;QAC/D,IAAI,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;QAC7D,IAAI,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;QAC7D,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;QACnE,KAAK,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;QAC/D,SAAS,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,yBAAyB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;QACvE,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;QACjE,KAAK,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;KAChE;CACF,CAAC,CAAC;AAEH,UAAU;AACV,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../../src/commands/setup.ts"],"names":[],"mappings":";;;;;;;AAyEA,wBA+CG"}
1
+ {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../../src/commands/setup.ts"],"names":[],"mappings":";;;;;;;AAkKA,wBAmDG"}
@@ -1,78 +1,134 @@
1
1
  import { defineCommand } from 'citty';
2
+ import { existsSync, readFileSync, writeFileSync, mkdirSync } from 'fs';
3
+ import { homedir } from 'os';
4
+ import { join, dirname } from 'path';
5
+ import { execSync } from 'child_process';
2
6
  import { exitWithError } from '../utils/errors.js';
7
+ async function setupClaudeCode() {
8
+ const cmd = 'claude mcp add --transport stdio knowledge-base -- bash -l -c "kb-mcp serve"';
9
+ try {
10
+ execSync(cmd, { stdio: 'inherit' });
11
+ console.log('✅ Successfully configured Claude Code');
12
+ }
13
+ catch (error) {
14
+ if (error.message?.includes('command not found')) {
15
+ throw new Error('Claude Code CLI not found. Please install it first:\n npm install -g @anthropic/claude-code');
16
+ }
17
+ throw error;
18
+ }
19
+ }
20
+ async function setupJsonClient(configPath, clientName, merger) {
21
+ const fullPath = configPath.startsWith('~')
22
+ ? join(homedir(), configPath.slice(2))
23
+ : configPath;
24
+ // Ensure directory exists
25
+ mkdirSync(dirname(fullPath), { recursive: true });
26
+ // Read existing config or create new
27
+ let config = {};
28
+ if (existsSync(fullPath)) {
29
+ try {
30
+ const content = readFileSync(fullPath, 'utf-8');
31
+ config = JSON.parse(content);
32
+ }
33
+ catch (error) {
34
+ console.warn(`⚠️ Failed to parse ${fullPath}, creating new config`);
35
+ }
36
+ }
37
+ // Merge configuration
38
+ config = merger(config);
39
+ // Write back
40
+ writeFileSync(fullPath, JSON.stringify(config, null, 2) + '\n', 'utf-8');
41
+ console.log(`✅ Successfully configured ${clientName} at ${fullPath}`);
42
+ }
3
43
  const CONFIGS = {
4
44
  'claude-code': {
5
45
  name: 'Claude Code',
6
46
  path: '~/.claude/claude_desktop_config.json',
7
- config: {
8
- mcpServers: {
9
- 'knowledge-base': {
10
- command: 'kb-mcp',
11
- args: ['serve'],
12
- },
13
- },
14
- },
47
+ cliCommand: 'claude mcp add --transport stdio knowledge-base -- bash -l -c "kb-mcp serve"',
48
+ setup: setupClaudeCode,
15
49
  },
16
50
  cursor: {
17
51
  name: 'Cursor',
18
- path: 'Settings → Features → MCP Servers',
19
- config: {
20
- mcpServers: {
21
- 'knowledge-base': {
22
- command: 'kb-mcp',
23
- args: ['serve'],
24
- },
25
- },
52
+ path: join(homedir(), '.cursor', 'mcp.json'),
53
+ setup: async () => {
54
+ await setupJsonClient(join(homedir(), '.cursor', 'mcp.json'), 'Cursor', (existing) => {
55
+ if (!existing.mcpServers) {
56
+ existing.mcpServers = {};
57
+ }
58
+ existing.mcpServers['knowledge-base'] = {
59
+ command: 'bash',
60
+ args: ['-l', '-c', 'kb-mcp serve'],
61
+ };
62
+ return existing;
63
+ });
26
64
  },
27
65
  },
28
66
  windsurf: {
29
67
  name: 'Windsurf',
30
68
  path: '~/.codeium/windsurf/mcp_config.json',
31
- config: {
32
- mcpServers: {
33
- 'knowledge-base': {
34
- command: 'kb-mcp',
35
- args: ['serve'],
36
- },
37
- },
69
+ setup: async () => {
70
+ await setupJsonClient(join(homedir(), '.codeium', 'windsurf', 'mcp_config.json'), 'Windsurf', (existing) => {
71
+ if (!existing.mcpServers) {
72
+ existing.mcpServers = {};
73
+ }
74
+ existing.mcpServers['knowledge-base'] = {
75
+ command: 'bash',
76
+ args: ['-l', '-c', 'kb-mcp serve'],
77
+ };
78
+ return existing;
79
+ });
38
80
  },
39
81
  },
40
82
  continue: {
41
83
  name: 'Continue.dev',
42
84
  path: '~/.continue/config.json',
43
- config: {
44
- experimental: {
45
- modelContextProtocolServers: [
46
- {
85
+ setup: async () => {
86
+ await setupJsonClient(join(homedir(), '.continue', 'config.json'), 'Continue.dev', (existing) => {
87
+ if (!existing.experimental) {
88
+ existing.experimental = {};
89
+ }
90
+ if (!existing.experimental.modelContextProtocolServers) {
91
+ existing.experimental.modelContextProtocolServers = [];
92
+ }
93
+ // Check if kb-mcp already exists
94
+ const servers = existing.experimental.modelContextProtocolServers;
95
+ const hasKbMcp = servers.some((s) => s.transport?.command?.includes('kb-mcp'));
96
+ if (!hasKbMcp) {
97
+ servers.push({
47
98
  transport: {
48
99
  type: 'stdio',
49
- command: 'kb-mcp',
50
- args: ['serve'],
100
+ command: 'bash',
101
+ args: ['-l', '-c', 'kb-mcp serve'],
51
102
  },
52
- },
53
- ],
54
- },
103
+ });
104
+ }
105
+ return existing;
106
+ });
55
107
  },
56
108
  },
57
109
  zed: {
58
110
  name: 'Zed',
59
111
  path: '~/.config/zed/settings.json',
60
- config: {
61
- context_servers: {
62
- 'knowledge-base': {
112
+ setup: async () => {
113
+ await setupJsonClient(join(homedir(), '.config', 'zed', 'settings.json'), 'Zed', (existing) => {
114
+ if (!existing.context_servers) {
115
+ existing.context_servers = {};
116
+ }
117
+ existing.context_servers['knowledge-base'] = {
63
118
  command: {
64
- path: 'kb-mcp',
65
- args: ['serve'],
119
+ path: 'bash',
120
+ args: ['-l', '-c', 'kb-mcp serve'],
66
121
  },
67
- },
68
- },
122
+ };
123
+ return existing;
124
+ });
69
125
  },
70
126
  },
71
127
  };
72
128
  export default defineCommand({
73
129
  meta: {
74
130
  name: 'setup',
75
- description: 'Print MCP client configuration',
131
+ description: 'Automatically configure MCP client',
76
132
  },
77
133
  args: {
78
134
  client: {
@@ -87,7 +143,7 @@ export default defineCommand({
87
143
  if (!client) {
88
144
  // Show all options
89
145
  console.log('\n🔧 MCP Client Setup\n');
90
- console.log('Run with a client name to see specific configuration:\n');
146
+ console.log('Run with a client name to automatically configure:\n');
91
147
  for (const [key, value] of Object.entries(CONFIGS)) {
92
148
  console.log(` kb-mcp setup ${key.padEnd(15)} # ${value.name}`);
93
149
  }
@@ -101,11 +157,13 @@ export default defineCommand({
101
157
  console.error();
102
158
  process.exit(1);
103
159
  }
104
- console.log(`\n🔧 ${config.name} Configuration\n`);
105
- console.log(`Add this to ${config.path}:\n`);
106
- console.log('```json');
107
- console.log(JSON.stringify(config.config, null, 2));
108
- console.log('```\n');
160
+ console.log(`\n🔧 Configuring ${config.name}...\n`);
161
+ await config.setup();
162
+ console.log();
163
+ console.log('Next steps:');
164
+ console.log(' 1. Restart your MCP client');
165
+ console.log(' 2. The knowledge-base MCP server should now be available');
166
+ console.log();
109
167
  }
110
168
  catch (error) {
111
169
  exitWithError(error);
@@ -1 +1 @@
1
- {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../../src/commands/setup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../../src/commands/setup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AACxE,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAC7B,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AASnD,KAAK,UAAU,eAAe;IAC5B,MAAM,GAAG,GAAG,8EAA8E,CAAC;IAE3F,IAAI,CAAC;QACH,QAAQ,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;QACpC,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;IACvD,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,IAAI,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC;YACjD,MAAM,IAAI,KAAK,CAAC,8FAA8F,CAAC,CAAC;QAClH,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,KAAK,UAAU,eAAe,CAAC,UAAkB,EAAE,UAAkB,EAAE,MAA8B;IACnG,MAAM,QAAQ,GAAG,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC;QACzC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACtC,CAAC,CAAC,UAAU,CAAC;IAEf,0BAA0B;IAC1B,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAElD,qCAAqC;IACrC,IAAI,MAAM,GAAQ,EAAE,CAAC;IACrB,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzB,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAChD,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC/B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,uBAAuB,QAAQ,uBAAuB,CAAC,CAAC;QACvE,CAAC;IACH,CAAC;IAED,sBAAsB;IACtB,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IAExB,aAAa;IACb,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC,CAAC;IACzE,OAAO,CAAC,GAAG,CAAC,6BAA6B,UAAU,OAAO,QAAQ,EAAE,CAAC,CAAC;AACxE,CAAC;AAED,MAAM,OAAO,GAAiC;IAC5C,aAAa,EAAE;QACb,IAAI,EAAE,aAAa;QACnB,IAAI,EAAE,sCAAsC;QAC5C,UAAU,EAAE,8EAA8E;QAC1F,KAAK,EAAE,eAAe;KACvB;IACD,MAAM,EAAE;QACN,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,UAAU,CAAC;QAC5C,KAAK,EAAE,KAAK,IAAI,EAAE;YAChB,MAAM,eAAe,CACnB,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,UAAU,CAAC,EACtC,QAAQ,EACR,CAAC,QAAQ,EAAE,EAAE;gBACX,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;oBACzB,QAAQ,CAAC,UAAU,GAAG,EAAE,CAAC;gBAC3B,CAAC;gBACD,QAAQ,CAAC,UAAU,CAAC,gBAAgB,CAAC,GAAG;oBACtC,OAAO,EAAE,MAAM;oBACf,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,cAAc,CAAC;iBACnC,CAAC;gBACF,OAAO,QAAQ,CAAC;YAClB,CAAC,CACF,CAAC;QACJ,CAAC;KACF;IACD,QAAQ,EAAE;QACR,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,qCAAqC;QAC3C,KAAK,EAAE,KAAK,IAAI,EAAE;YAChB,MAAM,eAAe,CACnB,IAAI,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,iBAAiB,CAAC,EAC1D,UAAU,EACV,CAAC,QAAQ,EAAE,EAAE;gBACX,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;oBACzB,QAAQ,CAAC,UAAU,GAAG,EAAE,CAAC;gBAC3B,CAAC;gBACD,QAAQ,CAAC,UAAU,CAAC,gBAAgB,CAAC,GAAG;oBACtC,OAAO,EAAE,MAAM;oBACf,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,cAAc,CAAC;iBACnC,CAAC;gBACF,OAAO,QAAQ,CAAC;YAClB,CAAC,CACF,CAAC;QACJ,CAAC;KACF;IACD,QAAQ,EAAE;QACR,IAAI,EAAE,cAAc;QACpB,IAAI,EAAE,yBAAyB;QAC/B,KAAK,EAAE,KAAK,IAAI,EAAE;YAChB,MAAM,eAAe,CACnB,IAAI,CAAC,OAAO,EAAE,EAAE,WAAW,EAAE,aAAa,CAAC,EAC3C,cAAc,EACd,CAAC,QAAQ,EAAE,EAAE;gBACX,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;oBAC3B,QAAQ,CAAC,YAAY,GAAG,EAAE,CAAC;gBAC7B,CAAC;gBACD,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,2BAA2B,EAAE,CAAC;oBACvD,QAAQ,CAAC,YAAY,CAAC,2BAA2B,GAAG,EAAE,CAAC;gBACzD,CAAC;gBAED,iCAAiC;gBACjC,MAAM,OAAO,GAAG,QAAQ,CAAC,YAAY,CAAC,2BAA2B,CAAC;gBAClE,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CACvC,CAAC,CAAC,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAC,QAAQ,CAAC,CACzC,CAAC;gBAEF,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACd,OAAO,CAAC,IAAI,CAAC;wBACX,SAAS,EAAE;4BACT,IAAI,EAAE,OAAO;4BACb,OAAO,EAAE,MAAM;4BACf,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,cAAc,CAAC;yBACnC;qBACF,CAAC,CAAC;gBACL,CAAC;gBAED,OAAO,QAAQ,CAAC;YAClB,CAAC,CACF,CAAC;QACJ,CAAC;KACF;IACD,GAAG,EAAE;QACH,IAAI,EAAE,KAAK;QACX,IAAI,EAAE,6BAA6B;QACnC,KAAK,EAAE,KAAK,IAAI,EAAE;YAChB,MAAM,eAAe,CACnB,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,eAAe,CAAC,EAClD,KAAK,EACL,CAAC,QAAQ,EAAE,EAAE;gBACX,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,CAAC;oBAC9B,QAAQ,CAAC,eAAe,GAAG,EAAE,CAAC;gBAChC,CAAC;gBACD,QAAQ,CAAC,eAAe,CAAC,gBAAgB,CAAC,GAAG;oBAC3C,OAAO,EAAE;wBACP,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,cAAc,CAAC;qBACnC;iBACF,CAAC;gBACF,OAAO,QAAQ,CAAC;YAClB,CAAC,CACF,CAAC;QACJ,CAAC;KACF;CACF,CAAC;AAEF,eAAe,aAAa,CAAC;IAC3B,IAAI,EAAE;QACJ,IAAI,EAAE,OAAO;QACb,WAAW,EAAE,oCAAoC;KAClD;IACD,IAAI,EAAE;QACJ,MAAM,EAAE;YACN,IAAI,EAAE,YAAY;YAClB,WAAW,EAAE,2DAA2D;YACxE,QAAQ,EAAE,KAAK;SAChB;KACF;IACD,KAAK,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE;QAChB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,MAA4B,CAAC;YAEjD,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,mBAAmB;gBACnB,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;gBACvC,OAAO,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAAC;gBAEpE,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;oBACnD,OAAO,CAAC,GAAG,CAAC,kBAAkB,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;gBAClE,CAAC;gBAED,OAAO,CAAC,GAAG,EAAE,CAAC;gBACd,OAAO;YACT,CAAC;YAED,MAAM,MAAM,GAAG,OAAO,CAAC,MAA8B,CAAC,CAAC;YAEvD,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,OAAO,CAAC,KAAK,CAAC,uBAAuB,MAAM,IAAI,CAAC,CAAC;gBACjD,OAAO,CAAC,KAAK,CAAC,oBAAoB,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;gBACrE,OAAO,CAAC,KAAK,EAAE,CAAC;gBAChB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,oBAAoB,MAAM,CAAC,IAAI,OAAO,CAAC,CAAC;YAEpD,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;YAErB,OAAO,CAAC,GAAG,EAAE,CAAC;YACd,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;YAC3B,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;YAC5C,OAAO,CAAC,GAAG,CAAC,4DAA4D,CAAC,CAAC;YAC1E,OAAO,CAAC,GAAG,EAAE,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,aAAa,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;CACF,CAAC,CAAC"}
@@ -0,0 +1,9 @@
1
+ declare const _default: import("citty").CommandDef<{
2
+ 'keep-data': {
3
+ type: "boolean";
4
+ description: string;
5
+ default: false;
6
+ };
7
+ }>;
8
+ export default _default;
9
+ //# sourceMappingURL=uninstall.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uninstall.d.ts","sourceRoot":"","sources":["../../../src/commands/uninstall.ts"],"names":[],"mappings":";;;;;;;AAsHA,wBAgEG"}
@@ -0,0 +1,146 @@
1
+ import { defineCommand } from 'citty';
2
+ import { existsSync, rmSync, readFileSync, writeFileSync } from 'fs';
3
+ import { homedir } from 'os';
4
+ import { join } from 'path';
5
+ import { exitWithError } from '../utils/errors.js';
6
+ import { getXDGPaths } from '../config/paths.js';
7
+ const CLIENT_CONFIGS = [
8
+ {
9
+ name: 'Claude Code',
10
+ path: join(homedir(), '.claude', 'claude_desktop_config.json'),
11
+ removeEntry: (config) => {
12
+ if (config.mcpServers?.['knowledge-base']) {
13
+ delete config.mcpServers['knowledge-base'];
14
+ return true;
15
+ }
16
+ return false;
17
+ },
18
+ },
19
+ {
20
+ name: 'Cursor',
21
+ path: join(homedir(), '.cursor', 'mcp.json'),
22
+ removeEntry: (config) => {
23
+ if (config.mcpServers?.['knowledge-base']) {
24
+ delete config.mcpServers['knowledge-base'];
25
+ return true;
26
+ }
27
+ return false;
28
+ },
29
+ },
30
+ {
31
+ name: 'Windsurf',
32
+ path: join(homedir(), '.codeium', 'windsurf', 'mcp_config.json'),
33
+ removeEntry: (config) => {
34
+ if (config.mcpServers?.['knowledge-base']) {
35
+ delete config.mcpServers['knowledge-base'];
36
+ return true;
37
+ }
38
+ return false;
39
+ },
40
+ },
41
+ {
42
+ name: 'Zed',
43
+ path: join(homedir(), '.config', 'zed', 'settings.json'),
44
+ removeEntry: (config) => {
45
+ if (config.context_servers?.['knowledge-base']) {
46
+ delete config.context_servers['knowledge-base'];
47
+ return true;
48
+ }
49
+ return false;
50
+ },
51
+ },
52
+ {
53
+ name: 'Continue.dev',
54
+ path: join(homedir(), '.continue', 'config.json'),
55
+ removeEntry: (config) => {
56
+ if (config.experimental?.modelContextProtocolServers) {
57
+ const servers = config.experimental.modelContextProtocolServers;
58
+ const initialLength = servers.length;
59
+ config.experimental.modelContextProtocolServers = servers.filter(server => !server.transport.command.includes('kb-mcp'));
60
+ return servers.length !== initialLength;
61
+ }
62
+ return false;
63
+ },
64
+ },
65
+ ];
66
+ function removeFromMcpConfigs() {
67
+ const removed = [];
68
+ for (const client of CLIENT_CONFIGS) {
69
+ if (!existsSync(client.path)) {
70
+ continue;
71
+ }
72
+ try {
73
+ const content = readFileSync(client.path, 'utf-8');
74
+ const config = JSON.parse(content);
75
+ if (client.removeEntry(config)) {
76
+ writeFileSync(client.path, JSON.stringify(config, null, 2) + '\n', 'utf-8');
77
+ removed.push(client.name);
78
+ }
79
+ }
80
+ catch (error) {
81
+ console.warn(`⚠ Failed to update ${client.name} config: ${error}`);
82
+ }
83
+ }
84
+ return removed;
85
+ }
86
+ export default defineCommand({
87
+ meta: {
88
+ name: 'uninstall',
89
+ description: 'Remove kb-mcp data and MCP server configurations',
90
+ },
91
+ args: {
92
+ 'keep-data': {
93
+ type: 'boolean',
94
+ description: 'Keep database and config files, only remove from MCP clients',
95
+ default: false,
96
+ },
97
+ },
98
+ async run({ args }) {
99
+ try {
100
+ console.log('\n🗑️ Uninstalling kb-mcp...\n');
101
+ const keepData = args['keep-data'];
102
+ const removed = [];
103
+ // Remove from MCP client configs
104
+ console.log('Removing from MCP client configurations...');
105
+ const removedClients = removeFromMcpConfigs();
106
+ if (removedClients.length > 0) {
107
+ console.log(`✓ Removed from: ${removedClients.join(', ')}`);
108
+ removed.push(...removedClients);
109
+ }
110
+ else {
111
+ console.log(' No MCP configurations found');
112
+ }
113
+ if (!keepData) {
114
+ const paths = getXDGPaths();
115
+ // Remove data directory
116
+ if (existsSync(paths.data)) {
117
+ rmSync(paths.data, { recursive: true, force: true });
118
+ console.log(`✓ Removed data directory: ${paths.data}`);
119
+ removed.push('data files');
120
+ }
121
+ // Remove config directory
122
+ if (existsSync(paths.config)) {
123
+ rmSync(paths.config, { recursive: true, force: true });
124
+ console.log(`✓ Removed config directory: ${paths.config}`);
125
+ removed.push('config file');
126
+ }
127
+ }
128
+ console.log();
129
+ if (removed.length > 0) {
130
+ console.log('✅ kb-mcp has been uninstalled');
131
+ console.log();
132
+ console.log('To completely remove the package, run:');
133
+ console.log(' npm uninstall -g @vdpeijl/kb-mcp');
134
+ console.log();
135
+ }
136
+ else {
137
+ console.log('ℹ️ No kb-mcp installations found');
138
+ console.log();
139
+ }
140
+ }
141
+ catch (error) {
142
+ exitWithError(error);
143
+ }
144
+ },
145
+ });
146
+ //# sourceMappingURL=uninstall.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uninstall.js","sourceRoot":"","sources":["../../../src/commands/uninstall.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vdpeijl/kb-mcp",
3
- "version": "0.1.2",
3
+ "version": "0.2.0",
4
4
  "description": "MCP server for searching Zendesk knowledge bases",
5
5
  "type": "module",
6
6
  "bin": {