ai-consultation-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.
- package/LICENSE +21 -0
- package/README.md +193 -0
- package/dist/api/index.d.ts +27 -0
- package/dist/api/index.js +213 -0
- package/dist/api/index.js.map +1 -0
- package/dist/api/middleware/security.d.ts +6 -0
- package/dist/api/middleware/security.js +28 -0
- package/dist/api/middleware/security.js.map +1 -0
- package/dist/api/routes/chat.d.ts +2 -0
- package/dist/api/routes/chat.js +78 -0
- package/dist/api/routes/chat.js.map +1 -0
- package/dist/api/routes/config.d.ts +2 -0
- package/dist/api/routes/config.js +81 -0
- package/dist/api/routes/config.js.map +1 -0
- package/dist/api/routes/providers.d.ts +2 -0
- package/dist/api/routes/providers.js +225 -0
- package/dist/api/routes/providers.js.map +1 -0
- package/dist/api/standalone-server.d.ts +12 -0
- package/dist/api/standalone-server.js +117 -0
- package/dist/api/standalone-server.js.map +1 -0
- package/dist/config/defaults.d.ts +17 -0
- package/dist/config/defaults.js +30 -0
- package/dist/config/defaults.js.map +1 -0
- package/dist/config/encryption.d.ts +12 -0
- package/dist/config/encryption.js +85 -0
- package/dist/config/encryption.js.map +1 -0
- package/dist/config/index.d.ts +5 -0
- package/dist/config/index.js +6 -0
- package/dist/config/index.js.map +1 -0
- package/dist/config/manager.d.ts +62 -0
- package/dist/config/manager.js +210 -0
- package/dist/config/manager.js.map +1 -0
- package/dist/config/prompts.d.ts +10 -0
- package/dist/config/prompts.js +168 -0
- package/dist/config/prompts.js.map +1 -0
- package/dist/config/schema.d.ts +141 -0
- package/dist/config/schema.js +54 -0
- package/dist/config/schema.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +260 -0
- package/dist/index.js.map +1 -0
- package/dist/installer/detector.d.ts +48 -0
- package/dist/installer/detector.js +164 -0
- package/dist/installer/detector.js.map +1 -0
- package/dist/installer/index.d.ts +7 -0
- package/dist/installer/index.js +10 -0
- package/dist/installer/index.js.map +1 -0
- package/dist/installer/installer.d.ts +16 -0
- package/dist/installer/installer.js +262 -0
- package/dist/installer/installer.js.map +1 -0
- package/dist/installer/tools.d.ts +16 -0
- package/dist/installer/tools.js +327 -0
- package/dist/installer/tools.js.map +1 -0
- package/dist/installer/types.d.ts +68 -0
- package/dist/installer/types.js +5 -0
- package/dist/installer/types.js.map +1 -0
- package/dist/providers/base.d.ts +44 -0
- package/dist/providers/base.js +84 -0
- package/dist/providers/base.js.map +1 -0
- package/dist/providers/deepseek.d.ts +30 -0
- package/dist/providers/deepseek.js +148 -0
- package/dist/providers/deepseek.js.map +1 -0
- package/dist/providers/index.d.ts +5 -0
- package/dist/providers/index.js +8 -0
- package/dist/providers/index.js.map +1 -0
- package/dist/providers/openai.d.ts +30 -0
- package/dist/providers/openai.js +123 -0
- package/dist/providers/openai.js.map +1 -0
- package/dist/providers/registry.d.ts +37 -0
- package/dist/providers/registry.js +65 -0
- package/dist/providers/registry.js.map +1 -0
- package/dist/providers/types.d.ts +71 -0
- package/dist/providers/types.js +2 -0
- package/dist/providers/types.js.map +1 -0
- package/dist/server/conversation.d.ts +105 -0
- package/dist/server/conversation.js +279 -0
- package/dist/server/conversation.js.map +1 -0
- package/dist/server/index.d.ts +2 -0
- package/dist/server/index.js +3 -0
- package/dist/server/index.js.map +1 -0
- package/dist/server/tools/consult.d.ts +15 -0
- package/dist/server/tools/consult.js +164 -0
- package/dist/server/tools/consult.js.map +1 -0
- package/dist/server/tools/index.d.ts +1 -0
- package/dist/server/tools/index.js +2 -0
- package/dist/server/tools/index.js.map +1 -0
- package/dist/types/config.d.ts +20 -0
- package/dist/types/config.js +2 -0
- package/dist/types/config.js.map +1 -0
- package/dist/types/index.d.ts +3 -0
- package/dist/types/index.js +4 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/messages.d.ts +48 -0
- package/dist/types/messages.js +2 -0
- package/dist/types/messages.js.map +1 -0
- package/dist/types/models.d.ts +39 -0
- package/dist/types/models.js +66 -0
- package/dist/types/models.js.map +1 -0
- package/dist/ui/index.html +1244 -0
- package/dist/utils/errors.d.ts +32 -0
- package/dist/utils/errors.js +53 -0
- package/dist/utils/errors.js.map +1 -0
- package/dist/utils/index.d.ts +2 -0
- package/dist/utils/index.js +3 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/logger.d.ts +13 -0
- package/dist/utils/logger.js +73 -0
- package/dist/utils/logger.js.map +1 -0
- package/package.json +65 -0
|
@@ -0,0 +1,262 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Multi-tool MCP installer
|
|
3
|
+
*/
|
|
4
|
+
import * as fs from 'fs';
|
|
5
|
+
import * as path from 'path';
|
|
6
|
+
import { detectAllTools, getConfigPath, getPlatform, fileExists, } from './detector.js';
|
|
7
|
+
/**
|
|
8
|
+
* Set nested value in object using dot notation
|
|
9
|
+
*/
|
|
10
|
+
function setNestedValue(obj, keyPath, key, value) {
|
|
11
|
+
const keys = keyPath.split('.');
|
|
12
|
+
let current = obj;
|
|
13
|
+
// Navigate to the parent object, creating intermediate objects as needed
|
|
14
|
+
for (const k of keys) {
|
|
15
|
+
if (!(k in current) || typeof current[k] !== 'object' || current[k] === null) {
|
|
16
|
+
current[k] = {};
|
|
17
|
+
}
|
|
18
|
+
current = current[k];
|
|
19
|
+
}
|
|
20
|
+
// Set the value
|
|
21
|
+
current[key] = value;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Get nested value from object using dot notation
|
|
25
|
+
*/
|
|
26
|
+
function getNestedValue(obj, keyPath) {
|
|
27
|
+
const keys = keyPath.split('.');
|
|
28
|
+
let current = obj;
|
|
29
|
+
for (const key of keys) {
|
|
30
|
+
if (current === null || typeof current !== 'object') {
|
|
31
|
+
return undefined;
|
|
32
|
+
}
|
|
33
|
+
current = current[key];
|
|
34
|
+
}
|
|
35
|
+
return current;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Create MCP server configuration object
|
|
39
|
+
*/
|
|
40
|
+
function createMcpServerConfig(tool) {
|
|
41
|
+
// Special handling for Zed (uses different format)
|
|
42
|
+
if (tool.id === 'zed') {
|
|
43
|
+
return {
|
|
44
|
+
command: tool.mcpConfig.command,
|
|
45
|
+
args: tool.mcpConfig.args,
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
// Special handling for Continue (uses transport wrapper)
|
|
49
|
+
if (tool.id === 'continue') {
|
|
50
|
+
return {
|
|
51
|
+
transport: {
|
|
52
|
+
type: 'stdio',
|
|
53
|
+
command: tool.mcpConfig.command,
|
|
54
|
+
args: tool.mcpConfig.args,
|
|
55
|
+
},
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
// Special handling for OpenCode (uses type, command as array, enabled)
|
|
59
|
+
if (tool.id === 'opencode') {
|
|
60
|
+
return {
|
|
61
|
+
type: 'local',
|
|
62
|
+
command: [tool.mcpConfig.command, ...tool.mcpConfig.args],
|
|
63
|
+
enabled: true,
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
// Special handling for Claude Code (uses type: stdio with env)
|
|
67
|
+
if (tool.id === 'claude-code') {
|
|
68
|
+
return {
|
|
69
|
+
type: 'stdio',
|
|
70
|
+
command: tool.mcpConfig.command,
|
|
71
|
+
args: tool.mcpConfig.args,
|
|
72
|
+
env: {},
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
// Special handling for VSCode Copilot (uses type: stdio)
|
|
76
|
+
if (tool.id === 'vscode-copilot') {
|
|
77
|
+
return {
|
|
78
|
+
type: 'stdio',
|
|
79
|
+
command: tool.mcpConfig.command,
|
|
80
|
+
args: tool.mcpConfig.args,
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
// Standard format for most tools
|
|
84
|
+
return {
|
|
85
|
+
command: tool.mcpConfig.command,
|
|
86
|
+
args: tool.mcpConfig.args,
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Install MCP to a specific tool
|
|
91
|
+
*/
|
|
92
|
+
export function installToTool(detected) {
|
|
93
|
+
const { tool } = detected;
|
|
94
|
+
const configPath = getConfigPath(tool);
|
|
95
|
+
if (!configPath) {
|
|
96
|
+
return {
|
|
97
|
+
tool,
|
|
98
|
+
success: false,
|
|
99
|
+
message: `No config path for platform ${getPlatform()}`,
|
|
100
|
+
error: 'Platform not supported',
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
const platform = getPlatform();
|
|
104
|
+
const configPathObj = tool.configPaths[platform];
|
|
105
|
+
if (!configPathObj) {
|
|
106
|
+
return {
|
|
107
|
+
tool,
|
|
108
|
+
success: false,
|
|
109
|
+
message: `No config path for platform ${platform}`,
|
|
110
|
+
error: 'Platform not supported',
|
|
111
|
+
};
|
|
112
|
+
}
|
|
113
|
+
try {
|
|
114
|
+
// Ensure directory exists
|
|
115
|
+
const configDir = path.dirname(configPath);
|
|
116
|
+
if (!fs.existsSync(configDir)) {
|
|
117
|
+
fs.mkdirSync(configDir, { recursive: true });
|
|
118
|
+
}
|
|
119
|
+
// Read existing config or create new one
|
|
120
|
+
let config = {};
|
|
121
|
+
if (fileExists(configPath)) {
|
|
122
|
+
try {
|
|
123
|
+
const content = fs.readFileSync(configPath, 'utf-8');
|
|
124
|
+
config = JSON.parse(content);
|
|
125
|
+
}
|
|
126
|
+
catch {
|
|
127
|
+
// If parse fails, start with empty config
|
|
128
|
+
config = {};
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
// Check if already installed
|
|
132
|
+
const mcpServers = getNestedValue(config, configPathObj.mcpKey);
|
|
133
|
+
if (mcpServers &&
|
|
134
|
+
typeof mcpServers === 'object' &&
|
|
135
|
+
tool.mcpConfig.serverName in mcpServers) {
|
|
136
|
+
return {
|
|
137
|
+
tool,
|
|
138
|
+
success: true,
|
|
139
|
+
message: 'Already installed',
|
|
140
|
+
configPath,
|
|
141
|
+
};
|
|
142
|
+
}
|
|
143
|
+
// Create MCP server config
|
|
144
|
+
const serverConfig = createMcpServerConfig(tool);
|
|
145
|
+
// Add MCP to config
|
|
146
|
+
setNestedValue(config, configPathObj.mcpKey, tool.mcpConfig.serverName, serverConfig);
|
|
147
|
+
// Write config
|
|
148
|
+
fs.writeFileSync(configPath, JSON.stringify(config, null, 2), 'utf-8');
|
|
149
|
+
return {
|
|
150
|
+
tool,
|
|
151
|
+
success: true,
|
|
152
|
+
message: tool.notes || 'Installed successfully',
|
|
153
|
+
configPath,
|
|
154
|
+
};
|
|
155
|
+
}
|
|
156
|
+
catch (error) {
|
|
157
|
+
return {
|
|
158
|
+
tool,
|
|
159
|
+
success: false,
|
|
160
|
+
message: 'Installation failed',
|
|
161
|
+
configPath,
|
|
162
|
+
error: error instanceof Error ? error.message : 'Unknown error',
|
|
163
|
+
};
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* Install MCP to all detected tools
|
|
168
|
+
*/
|
|
169
|
+
export function installToAllTools() {
|
|
170
|
+
const allTools = detectAllTools();
|
|
171
|
+
const detected = [];
|
|
172
|
+
const installed = [];
|
|
173
|
+
const skipped = [];
|
|
174
|
+
const errors = [];
|
|
175
|
+
for (const tool of allTools) {
|
|
176
|
+
if (!tool.installed) {
|
|
177
|
+
// Tool not installed on system
|
|
178
|
+
continue;
|
|
179
|
+
}
|
|
180
|
+
detected.push(tool);
|
|
181
|
+
if (tool.mcpAlreadyInstalled) {
|
|
182
|
+
// MCP already installed, skip
|
|
183
|
+
skipped.push(tool);
|
|
184
|
+
continue;
|
|
185
|
+
}
|
|
186
|
+
// Install MCP
|
|
187
|
+
const result = installToTool(tool);
|
|
188
|
+
if (result.success) {
|
|
189
|
+
installed.push(result);
|
|
190
|
+
}
|
|
191
|
+
else {
|
|
192
|
+
errors.push(result);
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
return { detected, installed, skipped, errors };
|
|
196
|
+
}
|
|
197
|
+
/**
|
|
198
|
+
* Print installation summary to console
|
|
199
|
+
*/
|
|
200
|
+
export function printInstallSummary(summary) {
|
|
201
|
+
console.log('\n📊 Installation Summary\n');
|
|
202
|
+
console.log('─'.repeat(50));
|
|
203
|
+
// Detected tools
|
|
204
|
+
if (summary.detected.length === 0) {
|
|
205
|
+
console.log('❌ No supported AI tools detected on this system.\n');
|
|
206
|
+
console.log('Supported tools:');
|
|
207
|
+
console.log(' - Claude Code (Anthropic CLI)');
|
|
208
|
+
console.log(' - Cursor');
|
|
209
|
+
console.log(' - Windsurf');
|
|
210
|
+
console.log(' - OpenCode');
|
|
211
|
+
console.log(' - VSCode Copilot (GitHub Copilot)');
|
|
212
|
+
console.log(' - Cline (VSCode extension)');
|
|
213
|
+
console.log(' - Continue (VSCode extension)');
|
|
214
|
+
console.log(' - Zed');
|
|
215
|
+
console.log(' - Roo Code (VSCode extension)\n');
|
|
216
|
+
return;
|
|
217
|
+
}
|
|
218
|
+
console.log(`\n🔍 Detected ${summary.detected.length} tool(s):\n`);
|
|
219
|
+
for (const tool of summary.detected) {
|
|
220
|
+
const status = tool.mcpAlreadyInstalled ? '✅ (already configured)' : '📦';
|
|
221
|
+
console.log(` ${status} ${tool.tool.name}`);
|
|
222
|
+
}
|
|
223
|
+
// Installed
|
|
224
|
+
if (summary.installed.length > 0) {
|
|
225
|
+
console.log(`\n✅ Installed to ${summary.installed.length} tool(s):\n`);
|
|
226
|
+
for (const result of summary.installed) {
|
|
227
|
+
console.log(` • ${result.tool.name}`);
|
|
228
|
+
console.log(` 📍 ${result.configPath}`);
|
|
229
|
+
if (result.tool.requiresRestart) {
|
|
230
|
+
console.log(` ⚠️ ${result.message}`);
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
// Skipped (already installed)
|
|
235
|
+
if (summary.skipped.length > 0) {
|
|
236
|
+
console.log(`\n⏭️ Skipped ${summary.skipped.length} tool(s) (already configured):\n`);
|
|
237
|
+
for (const tool of summary.skipped) {
|
|
238
|
+
console.log(` • ${tool.tool.name}`);
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
// Errors
|
|
242
|
+
if (summary.errors.length > 0) {
|
|
243
|
+
console.log(`\n❌ Failed to install to ${summary.errors.length} tool(s):\n`);
|
|
244
|
+
for (const result of summary.errors) {
|
|
245
|
+
console.log(` • ${result.tool.name}: ${result.error}`);
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
// Next steps
|
|
249
|
+
console.log('\n' + '─'.repeat(50));
|
|
250
|
+
console.log('\n🚀 Next steps:\n');
|
|
251
|
+
const needsRestart = summary.installed.filter((r) => r.tool.requiresRestart);
|
|
252
|
+
if (needsRestart.length > 0) {
|
|
253
|
+
console.log(' 1. Restart the following tools to load the MCP:');
|
|
254
|
+
for (const result of needsRestart) {
|
|
255
|
+
console.log(` - ${result.tool.name}`);
|
|
256
|
+
}
|
|
257
|
+
console.log('');
|
|
258
|
+
}
|
|
259
|
+
console.log(' 2. Configure your API key:');
|
|
260
|
+
console.log(' npx agent-consultation-mcp --config\n');
|
|
261
|
+
}
|
|
262
|
+
//# sourceMappingURL=installer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"installer.js","sourceRoot":"","sources":["../../src/installer/installer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tool definitions for multi-tool MCP installer
|
|
3
|
+
*/
|
|
4
|
+
import { ToolDefinition } from './types.js';
|
|
5
|
+
/**
|
|
6
|
+
* All supported tools with their configurations
|
|
7
|
+
*/
|
|
8
|
+
export declare const SUPPORTED_TOOLS: ToolDefinition[];
|
|
9
|
+
/**
|
|
10
|
+
* Get tool by ID
|
|
11
|
+
*/
|
|
12
|
+
export declare function getToolById(id: string): ToolDefinition | undefined;
|
|
13
|
+
/**
|
|
14
|
+
* Get all tool IDs
|
|
15
|
+
*/
|
|
16
|
+
export declare function getToolIds(): string[];
|
|
@@ -0,0 +1,327 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tool definitions for multi-tool MCP installer
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Default MCP configuration for agent-consultation
|
|
6
|
+
*/
|
|
7
|
+
const DEFAULT_MCP_CONFIG = {
|
|
8
|
+
serverName: 'agent-consultation',
|
|
9
|
+
command: 'npx',
|
|
10
|
+
args: ['-y', 'agent-consultation-mcp'],
|
|
11
|
+
};
|
|
12
|
+
/**
|
|
13
|
+
* All supported tools with their configurations
|
|
14
|
+
*/
|
|
15
|
+
export const SUPPORTED_TOOLS = [
|
|
16
|
+
// Claude Code (Official Anthropic CLI)
|
|
17
|
+
{
|
|
18
|
+
id: 'claude-code',
|
|
19
|
+
name: 'Claude Code',
|
|
20
|
+
description: 'Anthropic\'s official CLI for Claude',
|
|
21
|
+
configPaths: {
|
|
22
|
+
darwin: {
|
|
23
|
+
path: '.claude.json',
|
|
24
|
+
relative: true,
|
|
25
|
+
mcpKey: 'mcpServers',
|
|
26
|
+
format: 'json',
|
|
27
|
+
},
|
|
28
|
+
linux: {
|
|
29
|
+
path: '.claude.json',
|
|
30
|
+
relative: true,
|
|
31
|
+
mcpKey: 'mcpServers',
|
|
32
|
+
format: 'json',
|
|
33
|
+
},
|
|
34
|
+
win32: {
|
|
35
|
+
path: '.claude.json',
|
|
36
|
+
relative: true,
|
|
37
|
+
mcpKey: 'mcpServers',
|
|
38
|
+
format: 'json',
|
|
39
|
+
},
|
|
40
|
+
},
|
|
41
|
+
detection: {
|
|
42
|
+
binary: 'claude',
|
|
43
|
+
directory: '.claude',
|
|
44
|
+
},
|
|
45
|
+
mcpConfig: DEFAULT_MCP_CONFIG,
|
|
46
|
+
requiresRestart: true,
|
|
47
|
+
notes: 'Restart Claude Code to load the MCP',
|
|
48
|
+
},
|
|
49
|
+
// Cursor
|
|
50
|
+
{
|
|
51
|
+
id: 'cursor',
|
|
52
|
+
name: 'Cursor',
|
|
53
|
+
description: 'AI-first code editor',
|
|
54
|
+
configPaths: {
|
|
55
|
+
darwin: {
|
|
56
|
+
path: '.cursor/mcp.json',
|
|
57
|
+
relative: true,
|
|
58
|
+
mcpKey: 'mcpServers',
|
|
59
|
+
format: 'json',
|
|
60
|
+
},
|
|
61
|
+
linux: {
|
|
62
|
+
path: '.cursor/mcp.json',
|
|
63
|
+
relative: true,
|
|
64
|
+
mcpKey: 'mcpServers',
|
|
65
|
+
format: 'json',
|
|
66
|
+
},
|
|
67
|
+
win32: {
|
|
68
|
+
path: '.cursor/mcp.json',
|
|
69
|
+
relative: true,
|
|
70
|
+
mcpKey: 'mcpServers',
|
|
71
|
+
format: 'json',
|
|
72
|
+
},
|
|
73
|
+
},
|
|
74
|
+
detection: {
|
|
75
|
+
binary: 'cursor',
|
|
76
|
+
directory: '.cursor',
|
|
77
|
+
},
|
|
78
|
+
mcpConfig: DEFAULT_MCP_CONFIG,
|
|
79
|
+
requiresRestart: true,
|
|
80
|
+
notes: 'Restart Cursor to load the MCP',
|
|
81
|
+
},
|
|
82
|
+
// Windsurf (Codeium)
|
|
83
|
+
{
|
|
84
|
+
id: 'windsurf',
|
|
85
|
+
name: 'Windsurf',
|
|
86
|
+
description: 'Codeium\'s AI-powered IDE',
|
|
87
|
+
configPaths: {
|
|
88
|
+
darwin: {
|
|
89
|
+
path: '.codeium/windsurf/mcp_config.json',
|
|
90
|
+
relative: true,
|
|
91
|
+
mcpKey: 'mcpServers',
|
|
92
|
+
format: 'json',
|
|
93
|
+
},
|
|
94
|
+
linux: {
|
|
95
|
+
path: '.codeium/windsurf/mcp_config.json',
|
|
96
|
+
relative: true,
|
|
97
|
+
mcpKey: 'mcpServers',
|
|
98
|
+
format: 'json',
|
|
99
|
+
},
|
|
100
|
+
win32: {
|
|
101
|
+
path: '.codeium/windsurf/mcp_config.json',
|
|
102
|
+
relative: true,
|
|
103
|
+
mcpKey: 'mcpServers',
|
|
104
|
+
format: 'json',
|
|
105
|
+
},
|
|
106
|
+
},
|
|
107
|
+
detection: {
|
|
108
|
+
binary: 'windsurf',
|
|
109
|
+
directory: '.codeium/windsurf',
|
|
110
|
+
},
|
|
111
|
+
mcpConfig: DEFAULT_MCP_CONFIG,
|
|
112
|
+
requiresRestart: true,
|
|
113
|
+
notes: 'Restart Windsurf to load the MCP',
|
|
114
|
+
},
|
|
115
|
+
// Cline (VSCode Extension)
|
|
116
|
+
{
|
|
117
|
+
id: 'cline',
|
|
118
|
+
name: 'Cline',
|
|
119
|
+
description: 'Autonomous coding agent for VSCode',
|
|
120
|
+
configPaths: {
|
|
121
|
+
darwin: {
|
|
122
|
+
path: 'Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json',
|
|
123
|
+
relative: true,
|
|
124
|
+
mcpKey: 'mcpServers',
|
|
125
|
+
format: 'json',
|
|
126
|
+
},
|
|
127
|
+
linux: {
|
|
128
|
+
path: '.config/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json',
|
|
129
|
+
relative: true,
|
|
130
|
+
mcpKey: 'mcpServers',
|
|
131
|
+
format: 'json',
|
|
132
|
+
},
|
|
133
|
+
win32: {
|
|
134
|
+
path: 'AppData/Roaming/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json',
|
|
135
|
+
relative: true,
|
|
136
|
+
mcpKey: 'mcpServers',
|
|
137
|
+
format: 'json',
|
|
138
|
+
},
|
|
139
|
+
},
|
|
140
|
+
detection: {
|
|
141
|
+
vscodeExtension: 'saoudrizwan.claude-dev',
|
|
142
|
+
configFile: true,
|
|
143
|
+
},
|
|
144
|
+
mcpConfig: DEFAULT_MCP_CONFIG,
|
|
145
|
+
requiresRestart: false,
|
|
146
|
+
notes: 'Reload VSCode window or restart Cline extension',
|
|
147
|
+
},
|
|
148
|
+
// Continue (VSCode/JetBrains Extension)
|
|
149
|
+
{
|
|
150
|
+
id: 'continue',
|
|
151
|
+
name: 'Continue',
|
|
152
|
+
description: 'Open-source AI code assistant',
|
|
153
|
+
configPaths: {
|
|
154
|
+
darwin: {
|
|
155
|
+
path: '.continue/config.json',
|
|
156
|
+
relative: true,
|
|
157
|
+
mcpKey: 'experimental.modelContextProtocolServers',
|
|
158
|
+
format: 'json',
|
|
159
|
+
},
|
|
160
|
+
linux: {
|
|
161
|
+
path: '.continue/config.json',
|
|
162
|
+
relative: true,
|
|
163
|
+
mcpKey: 'experimental.modelContextProtocolServers',
|
|
164
|
+
format: 'json',
|
|
165
|
+
},
|
|
166
|
+
win32: {
|
|
167
|
+
path: '.continue/config.json',
|
|
168
|
+
relative: true,
|
|
169
|
+
mcpKey: 'experimental.modelContextProtocolServers',
|
|
170
|
+
format: 'json',
|
|
171
|
+
},
|
|
172
|
+
},
|
|
173
|
+
detection: {
|
|
174
|
+
directory: '.continue',
|
|
175
|
+
vscodeExtension: 'Continue.continue',
|
|
176
|
+
},
|
|
177
|
+
mcpConfig: {
|
|
178
|
+
serverName: 'agent-consultation',
|
|
179
|
+
command: 'npx',
|
|
180
|
+
args: ['-y', 'agent-consultation-mcp'],
|
|
181
|
+
},
|
|
182
|
+
requiresRestart: false,
|
|
183
|
+
notes: 'Reload Continue extension to load the MCP',
|
|
184
|
+
},
|
|
185
|
+
// Zed
|
|
186
|
+
{
|
|
187
|
+
id: 'zed',
|
|
188
|
+
name: 'Zed',
|
|
189
|
+
description: 'High-performance code editor',
|
|
190
|
+
configPaths: {
|
|
191
|
+
darwin: {
|
|
192
|
+
path: '.config/zed/settings.json',
|
|
193
|
+
relative: true,
|
|
194
|
+
mcpKey: 'context_servers',
|
|
195
|
+
format: 'json',
|
|
196
|
+
},
|
|
197
|
+
linux: {
|
|
198
|
+
path: '.config/zed/settings.json',
|
|
199
|
+
relative: true,
|
|
200
|
+
mcpKey: 'context_servers',
|
|
201
|
+
format: 'json',
|
|
202
|
+
},
|
|
203
|
+
},
|
|
204
|
+
detection: {
|
|
205
|
+
binary: 'zed',
|
|
206
|
+
directory: '.config/zed',
|
|
207
|
+
},
|
|
208
|
+
mcpConfig: {
|
|
209
|
+
serverName: 'agent-consultation',
|
|
210
|
+
command: 'npx',
|
|
211
|
+
args: ['-y', 'agent-consultation-mcp'],
|
|
212
|
+
},
|
|
213
|
+
requiresRestart: false,
|
|
214
|
+
notes: 'Zed will auto-reload the configuration',
|
|
215
|
+
},
|
|
216
|
+
// Roo Code (VSCode Extension - Roo-Cline fork)
|
|
217
|
+
{
|
|
218
|
+
id: 'roo-code',
|
|
219
|
+
name: 'Roo Code',
|
|
220
|
+
description: 'AI coding assistant (Cline fork)',
|
|
221
|
+
configPaths: {
|
|
222
|
+
darwin: {
|
|
223
|
+
path: 'Library/Application Support/Code/User/globalStorage/rooveterinaryinc.roo-cline/settings/cline_mcp_settings.json',
|
|
224
|
+
relative: true,
|
|
225
|
+
mcpKey: 'mcpServers',
|
|
226
|
+
format: 'json',
|
|
227
|
+
},
|
|
228
|
+
linux: {
|
|
229
|
+
path: '.config/Code/User/globalStorage/rooveterinaryinc.roo-cline/settings/cline_mcp_settings.json',
|
|
230
|
+
relative: true,
|
|
231
|
+
mcpKey: 'mcpServers',
|
|
232
|
+
format: 'json',
|
|
233
|
+
},
|
|
234
|
+
win32: {
|
|
235
|
+
path: 'AppData/Roaming/Code/User/globalStorage/rooveterinaryinc.roo-cline/settings/cline_mcp_settings.json',
|
|
236
|
+
relative: true,
|
|
237
|
+
mcpKey: 'mcpServers',
|
|
238
|
+
format: 'json',
|
|
239
|
+
},
|
|
240
|
+
},
|
|
241
|
+
detection: {
|
|
242
|
+
vscodeExtension: 'rooveterinaryinc.roo-cline',
|
|
243
|
+
configFile: true,
|
|
244
|
+
},
|
|
245
|
+
mcpConfig: DEFAULT_MCP_CONFIG,
|
|
246
|
+
requiresRestart: false,
|
|
247
|
+
notes: 'Reload VSCode window to load the MCP',
|
|
248
|
+
},
|
|
249
|
+
// OpenCode
|
|
250
|
+
{
|
|
251
|
+
id: 'opencode',
|
|
252
|
+
name: 'OpenCode',
|
|
253
|
+
description: 'AI-powered terminal coding assistant',
|
|
254
|
+
configPaths: {
|
|
255
|
+
darwin: {
|
|
256
|
+
path: '.config/opencode/opencode.json',
|
|
257
|
+
relative: true,
|
|
258
|
+
mcpKey: 'mcp',
|
|
259
|
+
format: 'json',
|
|
260
|
+
},
|
|
261
|
+
linux: {
|
|
262
|
+
path: '.config/opencode/opencode.json',
|
|
263
|
+
relative: true,
|
|
264
|
+
mcpKey: 'mcp',
|
|
265
|
+
format: 'json',
|
|
266
|
+
},
|
|
267
|
+
win32: {
|
|
268
|
+
path: '.config/opencode/opencode.json',
|
|
269
|
+
relative: true,
|
|
270
|
+
mcpKey: 'mcp',
|
|
271
|
+
format: 'json',
|
|
272
|
+
},
|
|
273
|
+
},
|
|
274
|
+
detection: {
|
|
275
|
+
binary: 'opencode',
|
|
276
|
+
directory: '.config/opencode',
|
|
277
|
+
},
|
|
278
|
+
mcpConfig: DEFAULT_MCP_CONFIG,
|
|
279
|
+
requiresRestart: false,
|
|
280
|
+
notes: 'OpenCode will auto-detect the new MCP server',
|
|
281
|
+
},
|
|
282
|
+
// VSCode GitHub Copilot (User MCP Config)
|
|
283
|
+
{
|
|
284
|
+
id: 'vscode-copilot',
|
|
285
|
+
name: 'VSCode Copilot',
|
|
286
|
+
description: 'GitHub Copilot in Visual Studio Code',
|
|
287
|
+
configPaths: {
|
|
288
|
+
darwin: {
|
|
289
|
+
path: 'Library/Application Support/Code/User/mcp.json',
|
|
290
|
+
relative: true,
|
|
291
|
+
mcpKey: 'servers',
|
|
292
|
+
format: 'json',
|
|
293
|
+
},
|
|
294
|
+
linux: {
|
|
295
|
+
path: '.config/Code/User/mcp.json',
|
|
296
|
+
relative: true,
|
|
297
|
+
mcpKey: 'servers',
|
|
298
|
+
format: 'json',
|
|
299
|
+
},
|
|
300
|
+
win32: {
|
|
301
|
+
path: 'AppData/Roaming/Code/User/mcp.json',
|
|
302
|
+
relative: true,
|
|
303
|
+
mcpKey: 'servers',
|
|
304
|
+
format: 'json',
|
|
305
|
+
},
|
|
306
|
+
},
|
|
307
|
+
detection: {
|
|
308
|
+
configFile: true,
|
|
309
|
+
},
|
|
310
|
+
mcpConfig: DEFAULT_MCP_CONFIG,
|
|
311
|
+
requiresRestart: false,
|
|
312
|
+
notes: 'Reload VSCode window to load the MCP',
|
|
313
|
+
},
|
|
314
|
+
];
|
|
315
|
+
/**
|
|
316
|
+
* Get tool by ID
|
|
317
|
+
*/
|
|
318
|
+
export function getToolById(id) {
|
|
319
|
+
return SUPPORTED_TOOLS.find((tool) => tool.id === id);
|
|
320
|
+
}
|
|
321
|
+
/**
|
|
322
|
+
* Get all tool IDs
|
|
323
|
+
*/
|
|
324
|
+
export function getToolIds() {
|
|
325
|
+
return SUPPORTED_TOOLS.map((tool) => tool.id);
|
|
326
|
+
}
|
|
327
|
+
//# sourceMappingURL=tools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/installer/tools.ts"],"names":[],"mappings":"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"}
|