@nordsym/apiclaw 1.5.14 → 1.5.16
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-install.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/mcp-install.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"mcp-install.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/mcp-install.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAQH,MAAM,WAAW,iBAAiB;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAwOD;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CA0HjF"}
|
|
@@ -1,23 +1,18 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
/**
|
|
3
2
|
* MCP Install Command
|
|
4
3
|
* Simple, focused command to install APIClaw into MCP config files
|
|
5
4
|
* Supports Claude Desktop and Claude Code
|
|
6
5
|
*/
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
};
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
const fs_1 = require("fs");
|
|
13
|
-
const path_1 = require("path");
|
|
14
|
-
const os_1 = require("os");
|
|
15
|
-
const chalk_1 = __importDefault(require("chalk"));
|
|
6
|
+
import { existsSync, readFileSync, writeFileSync, mkdirSync } from 'fs';
|
|
7
|
+
import { dirname, join } from 'path';
|
|
8
|
+
import { platform, homedir } from 'os';
|
|
9
|
+
import { execSync } from 'child_process';
|
|
10
|
+
import chalk from 'chalk';
|
|
16
11
|
/**
|
|
17
12
|
* Detect operating system
|
|
18
13
|
*/
|
|
19
14
|
function detectOS() {
|
|
20
|
-
const os =
|
|
15
|
+
const os = platform();
|
|
21
16
|
switch (os) {
|
|
22
17
|
case 'darwin': return 'mac';
|
|
23
18
|
case 'win32': return 'win';
|
|
@@ -28,7 +23,7 @@ function detectOS() {
|
|
|
28
23
|
* Get home directory
|
|
29
24
|
*/
|
|
30
25
|
function getHome() {
|
|
31
|
-
return
|
|
26
|
+
return homedir();
|
|
32
27
|
}
|
|
33
28
|
/**
|
|
34
29
|
* Get config paths for supported clients
|
|
@@ -44,11 +39,11 @@ function getClientConfigs() {
|
|
|
44
39
|
getConfigPath: () => {
|
|
45
40
|
switch (os) {
|
|
46
41
|
case 'mac':
|
|
47
|
-
return
|
|
42
|
+
return join(home, 'Library', 'Application Support', 'Claude', 'claude_desktop_config.json');
|
|
48
43
|
case 'win':
|
|
49
|
-
return
|
|
44
|
+
return join(process.env.APPDATA || join(home, 'AppData', 'Roaming'), 'Claude', 'claude_desktop_config.json');
|
|
50
45
|
case 'linux':
|
|
51
|
-
return
|
|
46
|
+
return join(home, '.config', 'Claude', 'claude_desktop_config.json');
|
|
52
47
|
}
|
|
53
48
|
},
|
|
54
49
|
},
|
|
@@ -58,7 +53,16 @@ function getClientConfigs() {
|
|
|
58
53
|
configKey: 'mcpServers',
|
|
59
54
|
getConfigPath: () => {
|
|
60
55
|
// Claude Code uses ~/.claude.json on all platforms
|
|
61
|
-
return
|
|
56
|
+
return join(home, '.claude.json');
|
|
57
|
+
},
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
name: 'codex',
|
|
61
|
+
displayName: 'Codex (OpenAI)',
|
|
62
|
+
configKey: 'mcp',
|
|
63
|
+
getConfigPath: () => {
|
|
64
|
+
// Codex uses ~/.codex/config.toml
|
|
65
|
+
return join(home, '.codex', 'config.toml');
|
|
62
66
|
},
|
|
63
67
|
},
|
|
64
68
|
];
|
|
@@ -76,10 +80,10 @@ const APICLAW_CONFIG = {
|
|
|
76
80
|
*/
|
|
77
81
|
function readConfig(path) {
|
|
78
82
|
try {
|
|
79
|
-
if (!
|
|
83
|
+
if (!existsSync(path)) {
|
|
80
84
|
return { success: true, config: {}, isNew: true };
|
|
81
85
|
}
|
|
82
|
-
const content =
|
|
86
|
+
const content = readFileSync(path, 'utf-8');
|
|
83
87
|
if (!content.trim()) {
|
|
84
88
|
return { success: true, config: {}, isNew: true };
|
|
85
89
|
}
|
|
@@ -98,17 +102,17 @@ function readConfig(path) {
|
|
|
98
102
|
*/
|
|
99
103
|
function writeConfig(path, config, createBackup = true) {
|
|
100
104
|
try {
|
|
101
|
-
const dir =
|
|
102
|
-
if (!
|
|
103
|
-
|
|
105
|
+
const dir = dirname(path);
|
|
106
|
+
if (!existsSync(dir)) {
|
|
107
|
+
mkdirSync(dir, { recursive: true });
|
|
104
108
|
}
|
|
105
109
|
// Create backup if file exists
|
|
106
|
-
if (createBackup &&
|
|
110
|
+
if (createBackup && existsSync(path)) {
|
|
107
111
|
const backupPath = `${path}.backup.${Date.now()}.json`;
|
|
108
|
-
const existing =
|
|
109
|
-
|
|
112
|
+
const existing = readFileSync(path, 'utf-8');
|
|
113
|
+
writeFileSync(backupPath, existing, 'utf-8');
|
|
110
114
|
}
|
|
111
|
-
|
|
115
|
+
writeFileSync(path, JSON.stringify(config, null, 2), 'utf-8');
|
|
112
116
|
return { success: true };
|
|
113
117
|
}
|
|
114
118
|
catch (error) {
|
|
@@ -118,10 +122,59 @@ function writeConfig(path, config, createBackup = true) {
|
|
|
118
122
|
};
|
|
119
123
|
}
|
|
120
124
|
}
|
|
125
|
+
/**
|
|
126
|
+
* Check if Codex CLI is available
|
|
127
|
+
*/
|
|
128
|
+
function isCodexAvailable() {
|
|
129
|
+
try {
|
|
130
|
+
execSync('codex --version', { stdio: 'pipe' });
|
|
131
|
+
return true;
|
|
132
|
+
}
|
|
133
|
+
catch {
|
|
134
|
+
return false;
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* Install APIClaw to Codex using CLI
|
|
139
|
+
*/
|
|
140
|
+
function installToCodex(dryRun) {
|
|
141
|
+
if (!isCodexAvailable()) {
|
|
142
|
+
return { success: false, message: 'Codex CLI not found' };
|
|
143
|
+
}
|
|
144
|
+
try {
|
|
145
|
+
// Check if already installed
|
|
146
|
+
try {
|
|
147
|
+
const output = execSync('codex mcp get apiclaw', { encoding: 'utf-8', stdio: 'pipe' });
|
|
148
|
+
if (output.includes('apiclaw')) {
|
|
149
|
+
return { success: true, message: 'Already installed', skipped: true };
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
catch {
|
|
153
|
+
// Not installed, continue
|
|
154
|
+
}
|
|
155
|
+
if (dryRun) {
|
|
156
|
+
console.log(chalk.cyan('\n Would run: codex mcp add apiclaw -- npx -y @nordsym/apiclaw'));
|
|
157
|
+
return { success: true, message: 'Dry run - no changes made', skipped: true };
|
|
158
|
+
}
|
|
159
|
+
// Install
|
|
160
|
+
execSync('codex mcp add apiclaw -- npx -y @nordsym/apiclaw', { stdio: 'pipe' });
|
|
161
|
+
return { success: true, message: 'Installed via CLI' };
|
|
162
|
+
}
|
|
163
|
+
catch (error) {
|
|
164
|
+
return {
|
|
165
|
+
success: false,
|
|
166
|
+
message: error instanceof Error ? error.message : 'Unknown error'
|
|
167
|
+
};
|
|
168
|
+
}
|
|
169
|
+
}
|
|
121
170
|
/**
|
|
122
171
|
* Install APIClaw into a client config
|
|
123
172
|
*/
|
|
124
173
|
function installToClient(client, dryRun) {
|
|
174
|
+
// Special handling for Codex
|
|
175
|
+
if (client.name === 'codex') {
|
|
176
|
+
return installToCodex(dryRun);
|
|
177
|
+
}
|
|
125
178
|
const configPath = client.getConfigPath();
|
|
126
179
|
// Read existing config
|
|
127
180
|
const readResult = readConfig(configPath);
|
|
@@ -140,8 +193,8 @@ function installToClient(client, dryRun) {
|
|
|
140
193
|
// Add APIClaw config
|
|
141
194
|
config.mcpServers.apiclaw = APICLAW_CONFIG;
|
|
142
195
|
if (dryRun) {
|
|
143
|
-
console.log(
|
|
144
|
-
console.log(
|
|
196
|
+
console.log(chalk.cyan(`\n Would add to ${configPath}:`));
|
|
197
|
+
console.log(chalk.gray(JSON.stringify({ apiclaw: APICLAW_CONFIG }, null, 4)));
|
|
145
198
|
return { success: true, message: 'Dry run - no changes made', skipped: true };
|
|
146
199
|
}
|
|
147
200
|
// Write config
|
|
@@ -157,10 +210,10 @@ function installToClient(client, dryRun) {
|
|
|
157
210
|
/**
|
|
158
211
|
* Main mcp-install command handler
|
|
159
212
|
*/
|
|
160
|
-
async function mcpInstallCommand(options) {
|
|
213
|
+
export async function mcpInstallCommand(options) {
|
|
161
214
|
const os = detectOS();
|
|
162
215
|
const osName = os === 'mac' ? 'macOS' : os === 'win' ? 'Windows' : 'Linux';
|
|
163
|
-
console.log(
|
|
216
|
+
console.log(chalk.bold('\n🦞 APIClaw MCP Install\n'));
|
|
164
217
|
console.log(`Platform: ${osName}\n`);
|
|
165
218
|
const clients = getClientConfigs();
|
|
166
219
|
let targetClients = clients;
|
|
@@ -175,11 +228,13 @@ async function mcpInstallCommand(options) {
|
|
|
175
228
|
'code': 'claude-code',
|
|
176
229
|
'claude-code': 'claude-code',
|
|
177
230
|
'claudecode': 'claude-code',
|
|
231
|
+
'codex': 'codex',
|
|
232
|
+
'openai': 'codex',
|
|
178
233
|
};
|
|
179
234
|
const targetName = aliases[normalizedClient];
|
|
180
235
|
if (!targetName) {
|
|
181
|
-
console.log(
|
|
182
|
-
console.log(' Supported: claude-desktop, claude-code');
|
|
236
|
+
console.log(chalk.red(`❌ Unknown client: ${options.client}`));
|
|
237
|
+
console.log(' Supported: claude-desktop, claude-code, codex');
|
|
183
238
|
process.exit(1);
|
|
184
239
|
}
|
|
185
240
|
targetClients = clients.filter(c => c.name === targetName);
|
|
@@ -188,10 +243,18 @@ async function mcpInstallCommand(options) {
|
|
|
188
243
|
console.log('🔍 Detecting MCP clients...\n');
|
|
189
244
|
const detectedClients = [];
|
|
190
245
|
for (const client of targetClients) {
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
246
|
+
let exists = false;
|
|
247
|
+
// Special detection for Codex (check CLI availability)
|
|
248
|
+
if (client.name === 'codex') {
|
|
249
|
+
exists = isCodexAvailable();
|
|
250
|
+
}
|
|
251
|
+
else {
|
|
252
|
+
// For JSON-based configs, check file/dir existence
|
|
253
|
+
const configPath = client.getConfigPath();
|
|
254
|
+
const configDir = dirname(configPath);
|
|
255
|
+
exists = existsSync(configPath) || existsSync(configDir);
|
|
256
|
+
}
|
|
257
|
+
const icon = exists ? chalk.green('✓') : chalk.gray('✗');
|
|
195
258
|
const status = exists ? 'found' : 'not found';
|
|
196
259
|
console.log(` ${icon} ${client.displayName} ${status}`);
|
|
197
260
|
if (exists) {
|
|
@@ -200,7 +263,7 @@ async function mcpInstallCommand(options) {
|
|
|
200
263
|
}
|
|
201
264
|
console.log('');
|
|
202
265
|
if (detectedClients.length === 0) {
|
|
203
|
-
console.log(
|
|
266
|
+
console.log(chalk.yellow('⚠️ No MCP clients detected.'));
|
|
204
267
|
console.log(' Install Claude Desktop or Claude Code first.\n');
|
|
205
268
|
process.exit(0);
|
|
206
269
|
}
|
|
@@ -213,30 +276,30 @@ async function mcpInstallCommand(options) {
|
|
|
213
276
|
if (result.success) {
|
|
214
277
|
if (result.skipped) {
|
|
215
278
|
skipCount++;
|
|
216
|
-
console.log(
|
|
279
|
+
console.log(chalk.yellow(`⏭️ ${client.displayName}: ${result.message}`));
|
|
217
280
|
}
|
|
218
281
|
else {
|
|
219
282
|
successCount++;
|
|
220
|
-
console.log(
|
|
283
|
+
console.log(chalk.green(`✓ ${client.displayName}: ${result.message}`));
|
|
221
284
|
}
|
|
222
285
|
}
|
|
223
286
|
else {
|
|
224
287
|
failCount++;
|
|
225
|
-
console.log(
|
|
288
|
+
console.log(chalk.red(`✗ ${client.displayName}: ${result.message}`));
|
|
226
289
|
}
|
|
227
290
|
}
|
|
228
291
|
// Summary
|
|
229
292
|
console.log('\n' + '═'.repeat(50));
|
|
230
293
|
if (failCount === 0) {
|
|
231
294
|
if (options.dryRun) {
|
|
232
|
-
console.log(
|
|
295
|
+
console.log(chalk.cyan('\n✅ Dry run complete! Run without --dry-run to apply changes.\n'));
|
|
233
296
|
}
|
|
234
297
|
else if (successCount > 0) {
|
|
235
|
-
console.log(
|
|
236
|
-
console.log(
|
|
237
|
-
console.log(
|
|
238
|
-
console.log(
|
|
239
|
-
console.log(
|
|
298
|
+
console.log(chalk.green('\n✅ APIClaw installed successfully!\n'));
|
|
299
|
+
console.log(chalk.bold('What you get:\n'));
|
|
300
|
+
console.log(chalk.cyan(' 🔍 Search') + ' 22,000+ APIs to discover');
|
|
301
|
+
console.log(chalk.cyan(' 🌐 Open APIs') + ' 1,600 free APIs');
|
|
302
|
+
console.log(chalk.cyan(' 🔑 Direct Call') + ' 1,500+ premium (APIClaw manages keys)');
|
|
240
303
|
console.log('');
|
|
241
304
|
console.log('Next:');
|
|
242
305
|
console.log(' 1. Restart your MCP client');
|
|
@@ -245,17 +308,18 @@ async function mcpInstallCommand(options) {
|
|
|
245
308
|
console.log('Docs: https://apiclaw.com/docs\n');
|
|
246
309
|
}
|
|
247
310
|
else {
|
|
248
|
-
console.log(
|
|
249
|
-
console.log(
|
|
250
|
-
console.log(
|
|
251
|
-
console.log(
|
|
252
|
-
console.log(
|
|
311
|
+
console.log(chalk.yellow('\n✅ APIClaw already installed in all clients.\n'));
|
|
312
|
+
console.log(chalk.bold('What you have:\n'));
|
|
313
|
+
console.log(chalk.cyan(' 🔍 Search') + ' 22,000+ APIs to discover');
|
|
314
|
+
console.log(chalk.cyan(' 🌐 Open APIs') + ' 1,600 free APIs');
|
|
315
|
+
console.log(chalk.cyan(' 🔑 Direct Call') + ' 1,500+ premium (APIClaw manages keys)');
|
|
253
316
|
console.log('');
|
|
254
317
|
console.log('Run with --force to reinstall (coming soon).\n');
|
|
255
318
|
}
|
|
256
319
|
}
|
|
257
320
|
else {
|
|
258
|
-
console.log(
|
|
321
|
+
console.log(chalk.red(`\n⚠️ Installation completed with ${failCount} error(s).\n`));
|
|
259
322
|
process.exit(1);
|
|
260
323
|
}
|
|
261
324
|
}
|
|
325
|
+
//# sourceMappingURL=mcp-install.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-install.js","sourceRoot":"","sources":["../../../src/cli/commands/mcp-install.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mcp-install.js","sourceRoot":"","sources":["../../../src/cli/commands/mcp-install.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
import { existsSync, readFileSync, writeFileSync, mkdirSync } from 'fs';
|
|
8
8
|
import { dirname, join } from 'path';
|
|
9
9
|
import { platform, homedir } from 'os';
|
|
10
|
+
import { execSync } from 'child_process';
|
|
10
11
|
import chalk from 'chalk';
|
|
11
12
|
|
|
12
13
|
export interface MCPInstallOptions {
|
|
@@ -74,6 +75,15 @@ function getClientConfigs(): ClientConfig[] {
|
|
|
74
75
|
return join(home, '.claude.json');
|
|
75
76
|
},
|
|
76
77
|
},
|
|
78
|
+
{
|
|
79
|
+
name: 'codex',
|
|
80
|
+
displayName: 'Codex (OpenAI)',
|
|
81
|
+
configKey: 'mcp',
|
|
82
|
+
getConfigPath: () => {
|
|
83
|
+
// Codex uses ~/.codex/config.toml
|
|
84
|
+
return join(home, '.codex', 'config.toml');
|
|
85
|
+
},
|
|
86
|
+
},
|
|
77
87
|
];
|
|
78
88
|
|
|
79
89
|
return clients;
|
|
@@ -138,10 +148,62 @@ function writeConfig(path: string, config: any, createBackup = true): { success:
|
|
|
138
148
|
}
|
|
139
149
|
}
|
|
140
150
|
|
|
151
|
+
/**
|
|
152
|
+
* Check if Codex CLI is available
|
|
153
|
+
*/
|
|
154
|
+
function isCodexAvailable(): boolean {
|
|
155
|
+
try {
|
|
156
|
+
execSync('codex --version', { stdio: 'pipe' });
|
|
157
|
+
return true;
|
|
158
|
+
} catch {
|
|
159
|
+
return false;
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
/**
|
|
164
|
+
* Install APIClaw to Codex using CLI
|
|
165
|
+
*/
|
|
166
|
+
function installToCodex(dryRun: boolean): { success: boolean; message: string; skipped?: boolean } {
|
|
167
|
+
if (!isCodexAvailable()) {
|
|
168
|
+
return { success: false, message: 'Codex CLI not found' };
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
try {
|
|
172
|
+
// Check if already installed
|
|
173
|
+
try {
|
|
174
|
+
const output = execSync('codex mcp get apiclaw', { encoding: 'utf-8', stdio: 'pipe' });
|
|
175
|
+
if (output.includes('apiclaw')) {
|
|
176
|
+
return { success: true, message: 'Already installed', skipped: true };
|
|
177
|
+
}
|
|
178
|
+
} catch {
|
|
179
|
+
// Not installed, continue
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
if (dryRun) {
|
|
183
|
+
console.log(chalk.cyan('\n Would run: codex mcp add apiclaw -- npx -y @nordsym/apiclaw'));
|
|
184
|
+
return { success: true, message: 'Dry run - no changes made', skipped: true };
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
// Install
|
|
188
|
+
execSync('codex mcp add apiclaw -- npx -y @nordsym/apiclaw', { stdio: 'pipe' });
|
|
189
|
+
return { success: true, message: 'Installed via CLI' };
|
|
190
|
+
} catch (error) {
|
|
191
|
+
return {
|
|
192
|
+
success: false,
|
|
193
|
+
message: error instanceof Error ? error.message : 'Unknown error'
|
|
194
|
+
};
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
|
|
141
198
|
/**
|
|
142
199
|
* Install APIClaw into a client config
|
|
143
200
|
*/
|
|
144
201
|
function installToClient(client: ClientConfig, dryRun: boolean): { success: boolean; message: string; skipped?: boolean } {
|
|
202
|
+
// Special handling for Codex
|
|
203
|
+
if (client.name === 'codex') {
|
|
204
|
+
return installToCodex(dryRun);
|
|
205
|
+
}
|
|
206
|
+
|
|
145
207
|
const configPath = client.getConfigPath();
|
|
146
208
|
|
|
147
209
|
// Read existing config
|
|
@@ -207,12 +269,14 @@ export async function mcpInstallCommand(options: MCPInstallOptions): Promise<voi
|
|
|
207
269
|
'code': 'claude-code',
|
|
208
270
|
'claude-code': 'claude-code',
|
|
209
271
|
'claudecode': 'claude-code',
|
|
272
|
+
'codex': 'codex',
|
|
273
|
+
'openai': 'codex',
|
|
210
274
|
};
|
|
211
275
|
|
|
212
276
|
const targetName = aliases[normalizedClient];
|
|
213
277
|
if (!targetName) {
|
|
214
278
|
console.log(chalk.red(`❌ Unknown client: ${options.client}`));
|
|
215
|
-
console.log(' Supported: claude-desktop, claude-code');
|
|
279
|
+
console.log(' Supported: claude-desktop, claude-code, codex');
|
|
216
280
|
process.exit(1);
|
|
217
281
|
}
|
|
218
282
|
|
|
@@ -224,9 +288,17 @@ export async function mcpInstallCommand(options: MCPInstallOptions): Promise<voi
|
|
|
224
288
|
|
|
225
289
|
const detectedClients: ClientConfig[] = [];
|
|
226
290
|
for (const client of targetClients) {
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
291
|
+
let exists = false;
|
|
292
|
+
|
|
293
|
+
// Special detection for Codex (check CLI availability)
|
|
294
|
+
if (client.name === 'codex') {
|
|
295
|
+
exists = isCodexAvailable();
|
|
296
|
+
} else {
|
|
297
|
+
// For JSON-based configs, check file/dir existence
|
|
298
|
+
const configPath = client.getConfigPath();
|
|
299
|
+
const configDir = dirname(configPath);
|
|
300
|
+
exists = existsSync(configPath) || existsSync(configDir);
|
|
301
|
+
}
|
|
230
302
|
|
|
231
303
|
const icon = exists ? chalk.green('✓') : chalk.gray('✗');
|
|
232
304
|
const status = exists ? 'found' : 'not found';
|