@mcp-abap-adt/configurator 0.0.3 → 0.0.5
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/bin/mcp-conf.js +90 -11
- package/docs/CLIENT_INSTALLERS.md +15 -3
- package/package.json +1 -1
package/bin/mcp-conf.js
CHANGED
|
@@ -229,13 +229,13 @@ const serverArgs = serverArgsRaw.filter(Boolean);
|
|
|
229
229
|
if (options.transport === "sse") {
|
|
230
230
|
fail("Codex does not support SSE transport.");
|
|
231
231
|
}
|
|
232
|
-
requireScope("Codex", ["global"], scope);
|
|
232
|
+
requireScope("Codex", ["global", "local"], scope);
|
|
233
233
|
if (options.list) {
|
|
234
|
-
listCodexConfig(getCodexPath(platform, home, userProfile));
|
|
234
|
+
listCodexConfig(getCodexPath(platform, home, userProfile, scope));
|
|
235
235
|
} else if (options.where) {
|
|
236
|
-
whereCodexConfig(getCodexPath(platform, home, userProfile), options.name);
|
|
236
|
+
whereCodexConfig(getCodexPath(platform, home, userProfile, scope), options.name);
|
|
237
237
|
} else {
|
|
238
|
-
writeCodexConfig(getCodexPath(platform, home, userProfile), options.name, serverArgs);
|
|
238
|
+
writeCodexConfig(getCodexPath(platform, home, userProfile, scope), options.name, serverArgs);
|
|
239
239
|
}
|
|
240
240
|
break;
|
|
241
241
|
case "claude":
|
|
@@ -299,6 +299,25 @@ const serverArgs = serverArgsRaw.filter(Boolean);
|
|
|
299
299
|
);
|
|
300
300
|
}
|
|
301
301
|
break;
|
|
302
|
+
case "antigravity":
|
|
303
|
+
requireScope("Antigravity", ["global", "local"], scope);
|
|
304
|
+
if (scope === "local") {
|
|
305
|
+
process.stdout.write("Antigravity local scope is not supported yet.\n");
|
|
306
|
+
break;
|
|
307
|
+
}
|
|
308
|
+
if (options.list) {
|
|
309
|
+
listJsonConfig(getAntigravityPath(home, scope), "antigravity");
|
|
310
|
+
} else if (options.where) {
|
|
311
|
+
whereJsonConfig(getAntigravityPath(home, scope), "antigravity", options.name);
|
|
312
|
+
} else {
|
|
313
|
+
writeJsonConfig(
|
|
314
|
+
getAntigravityPath(home, scope),
|
|
315
|
+
options.name,
|
|
316
|
+
serverArgs,
|
|
317
|
+
"antigravity",
|
|
318
|
+
);
|
|
319
|
+
}
|
|
320
|
+
break;
|
|
302
321
|
case "copilot":
|
|
303
322
|
requireScope("GitHub Copilot", ["local"], scope);
|
|
304
323
|
if (options.list) {
|
|
@@ -368,7 +387,10 @@ function getClinePath(platformValue, homeDir, appDataDir) {
|
|
|
368
387
|
);
|
|
369
388
|
}
|
|
370
389
|
|
|
371
|
-
function getCodexPath(platformValue, homeDir, userProfileDir) {
|
|
390
|
+
function getCodexPath(platformValue, homeDir, userProfileDir, scopeValue) {
|
|
391
|
+
if (scopeValue === "local") {
|
|
392
|
+
return path.join(process.cwd(), ".codex", "config.toml");
|
|
393
|
+
}
|
|
372
394
|
if (platformValue === "win32") {
|
|
373
395
|
return path.join(userProfileDir, ".codex", "config.toml");
|
|
374
396
|
}
|
|
@@ -423,6 +445,13 @@ function getOpenCodePath(platformValue, homeDir, appDataDir, scopeValue) {
|
|
|
423
445
|
return path.join(homeDir, ".config", "opencode", "opencode.json");
|
|
424
446
|
}
|
|
425
447
|
|
|
448
|
+
function getAntigravityPath(homeDir, scopeValue) {
|
|
449
|
+
if (scopeValue === "local") {
|
|
450
|
+
return path.join(process.cwd(), ".antigravity", "mcp.json");
|
|
451
|
+
}
|
|
452
|
+
return path.join(homeDir, ".gemini", "antigravity", "mcp_config.json");
|
|
453
|
+
}
|
|
454
|
+
|
|
426
455
|
function getWindsurfPath(platformValue, homeDir, userProfileDir) {
|
|
427
456
|
if (platformValue === "win32") {
|
|
428
457
|
return path.join(userProfileDir, ".codeium", "windsurf", "mcp_config.json");
|
|
@@ -483,6 +512,8 @@ function writeJsonConfig(filePath, serverName, argsArray, clientType) {
|
|
|
483
512
|
const data = readJson(filePath);
|
|
484
513
|
if (clientType === "opencode") {
|
|
485
514
|
data.mcp = data.mcp || {};
|
|
515
|
+
} else if (clientType === "antigravity") {
|
|
516
|
+
data.mcpServers = data.mcpServers || {};
|
|
486
517
|
} else if (clientType === "copilot") {
|
|
487
518
|
data.servers = data.servers || {};
|
|
488
519
|
data.inputs = data.inputs || [];
|
|
@@ -509,6 +540,8 @@ function writeJsonConfig(filePath, serverName, argsArray, clientType) {
|
|
|
509
540
|
};
|
|
510
541
|
if (clientType === "opencode") {
|
|
511
542
|
store[serverName].enabled = !options.disabled;
|
|
543
|
+
} else if (clientType === "antigravity") {
|
|
544
|
+
store[serverName].disabled = !!options.disabled;
|
|
512
545
|
} else {
|
|
513
546
|
store[serverName].disabled = !!options.disabled;
|
|
514
547
|
}
|
|
@@ -577,6 +610,29 @@ function writeJsonConfig(filePath, serverName, argsArray, clientType) {
|
|
|
577
610
|
writeFile(filePath, JSON.stringify(data, null, 2));
|
|
578
611
|
return;
|
|
579
612
|
}
|
|
613
|
+
if (clientType === "antigravity") {
|
|
614
|
+
if (options.transport === "stdio") {
|
|
615
|
+
store[serverName] = {
|
|
616
|
+
command: options.command,
|
|
617
|
+
args: argsArray,
|
|
618
|
+
timeout: options.timeout,
|
|
619
|
+
disabled: !!options.disabled,
|
|
620
|
+
};
|
|
621
|
+
} else {
|
|
622
|
+
const entry = {
|
|
623
|
+
type: "http",
|
|
624
|
+
serverUrl: options.url,
|
|
625
|
+
timeout: options.timeout,
|
|
626
|
+
disabled: !!options.disabled,
|
|
627
|
+
};
|
|
628
|
+
if (Object.keys(options.headers).length > 0) {
|
|
629
|
+
entry.headers = options.headers;
|
|
630
|
+
}
|
|
631
|
+
store[serverName] = entry;
|
|
632
|
+
}
|
|
633
|
+
writeFile(filePath, JSON.stringify(data, null, 2));
|
|
634
|
+
return;
|
|
635
|
+
}
|
|
580
636
|
if (options.transport === "stdio") {
|
|
581
637
|
data.mcpServers[serverName] = {
|
|
582
638
|
command: options.command,
|
|
@@ -938,6 +994,8 @@ function listJsonConfig(filePath, clientType) {
|
|
|
938
994
|
let store;
|
|
939
995
|
if (clientType === "opencode") {
|
|
940
996
|
store = data.mcp || {};
|
|
997
|
+
} else if (clientType === "antigravity") {
|
|
998
|
+
store = data.mcpServers || {};
|
|
941
999
|
} else if (clientType === "copilot") {
|
|
942
1000
|
store = data.servers || {};
|
|
943
1001
|
} else {
|
|
@@ -1003,6 +1061,8 @@ function whereJsonConfig(filePath, clientType, serverName) {
|
|
|
1003
1061
|
let store;
|
|
1004
1062
|
if (clientType === "opencode") {
|
|
1005
1063
|
store = data.mcp || {};
|
|
1064
|
+
} else if (clientType === "antigravity") {
|
|
1065
|
+
store = data.mcpServers || {};
|
|
1006
1066
|
} else if (clientType === "copilot") {
|
|
1007
1067
|
store = data.servers || {};
|
|
1008
1068
|
} else {
|
|
@@ -1172,6 +1232,7 @@ Run:
|
|
|
1172
1232
|
Notes:
|
|
1173
1233
|
Scope defaults to --global (Copilot uses --local only).
|
|
1174
1234
|
For Claude, --local maps to the project scope file ./.mcp.json.
|
|
1235
|
+
For Codex, --local writes to ./.codex/config.toml.
|
|
1175
1236
|
`);
|
|
1176
1237
|
return;
|
|
1177
1238
|
}
|
|
@@ -1183,7 +1244,7 @@ Usage:
|
|
|
1183
1244
|
mcp-conf add --client <name> --name <serverName> [--env <path> | --mcp <dest>] [options]
|
|
1184
1245
|
|
|
1185
1246
|
Options:
|
|
1186
|
-
--client <name> cline | codex | claude | goose | cursor | windsurf | opencode | copilot (repeatable)
|
|
1247
|
+
--client <name> cline | codex | claude | goose | cursor | windsurf | opencode | copilot | antigravity (repeatable)
|
|
1187
1248
|
--name <serverName> required MCP server name key
|
|
1188
1249
|
--env <path> .env path (stdio only)
|
|
1189
1250
|
--mcp <dest> destination name (stdio only)
|
|
@@ -1197,6 +1258,9 @@ Options:
|
|
|
1197
1258
|
--timeout <seconds> entry timeout (default: 60)
|
|
1198
1259
|
--force overwrite existing entry
|
|
1199
1260
|
--dry-run print changes without writing files
|
|
1261
|
+
|
|
1262
|
+
Notes:
|
|
1263
|
+
Antigravity local scope is not supported yet; use --global.
|
|
1200
1264
|
`);
|
|
1201
1265
|
break;
|
|
1202
1266
|
case "rm":
|
|
@@ -1206,13 +1270,16 @@ Usage:
|
|
|
1206
1270
|
mcp-conf rm --client <name> --name <serverName> [options]
|
|
1207
1271
|
|
|
1208
1272
|
Options:
|
|
1209
|
-
--client <name> cline | codex | claude | goose | cursor | windsurf | opencode | copilot (repeatable)
|
|
1273
|
+
--client <name> cline | codex | claude | goose | cursor | windsurf | opencode | copilot | antigravity (repeatable)
|
|
1210
1274
|
--name <serverName> required MCP server name key
|
|
1211
1275
|
--global write to global user config (default)
|
|
1212
1276
|
--local write to project config (where supported)
|
|
1213
1277
|
--all-projects Claude global: remove across all projects
|
|
1214
1278
|
--project <path> Claude global: target a specific project path
|
|
1215
1279
|
--dry-run print changes without writing files
|
|
1280
|
+
|
|
1281
|
+
Notes:
|
|
1282
|
+
Antigravity local scope is not supported yet; use --global.
|
|
1216
1283
|
`);
|
|
1217
1284
|
break;
|
|
1218
1285
|
case "ls":
|
|
@@ -1222,11 +1289,14 @@ Usage:
|
|
|
1222
1289
|
mcp-conf ls --client <name> [options]
|
|
1223
1290
|
|
|
1224
1291
|
Options:
|
|
1225
|
-
--client <name> cline | codex | claude | goose | cursor | windsurf | opencode | copilot (repeatable)
|
|
1292
|
+
--client <name> cline | codex | claude | goose | cursor | windsurf | opencode | copilot | antigravity (repeatable)
|
|
1226
1293
|
--global write to global user config (default)
|
|
1227
1294
|
--local write to project config (where supported)
|
|
1228
1295
|
--all-projects Claude global: list across all projects
|
|
1229
1296
|
--project <path> Claude global: target a specific project path
|
|
1297
|
+
|
|
1298
|
+
Notes:
|
|
1299
|
+
Antigravity local scope is not supported yet; use --global.
|
|
1230
1300
|
`);
|
|
1231
1301
|
break;
|
|
1232
1302
|
case "enable":
|
|
@@ -1236,13 +1306,16 @@ Usage:
|
|
|
1236
1306
|
mcp-conf enable --client <name> --name <serverName> [options]
|
|
1237
1307
|
|
|
1238
1308
|
Options:
|
|
1239
|
-
--client <name> cline | codex | claude | goose | cursor | windsurf | opencode | copilot (repeatable)
|
|
1309
|
+
--client <name> cline | codex | claude | goose | cursor | windsurf | opencode | copilot | antigravity (repeatable)
|
|
1240
1310
|
--name <serverName> required MCP server name key
|
|
1241
1311
|
--global write to global user config (default)
|
|
1242
1312
|
--local write to project config (where supported)
|
|
1243
1313
|
--all-projects Claude global: enable across all projects
|
|
1244
1314
|
--project <path> Claude global: target a specific project path
|
|
1245
1315
|
--dry-run print changes without writing files
|
|
1316
|
+
|
|
1317
|
+
Notes:
|
|
1318
|
+
Antigravity local scope is not supported yet; use --global.
|
|
1246
1319
|
`);
|
|
1247
1320
|
break;
|
|
1248
1321
|
case "disable":
|
|
@@ -1252,13 +1325,16 @@ Usage:
|
|
|
1252
1325
|
mcp-conf disable --client <name> --name <serverName> [options]
|
|
1253
1326
|
|
|
1254
1327
|
Options:
|
|
1255
|
-
--client <name> cline | codex | claude | goose | cursor | windsurf | opencode | copilot (repeatable)
|
|
1328
|
+
--client <name> cline | codex | claude | goose | cursor | windsurf | opencode | copilot | antigravity (repeatable)
|
|
1256
1329
|
--name <serverName> required MCP server name key
|
|
1257
1330
|
--global write to global user config (default)
|
|
1258
1331
|
--local write to project config (where supported)
|
|
1259
1332
|
--all-projects Claude global: disable across all projects
|
|
1260
1333
|
--project <path> Claude global: target a specific project path
|
|
1261
1334
|
--dry-run print changes without writing files
|
|
1335
|
+
|
|
1336
|
+
Notes:
|
|
1337
|
+
Antigravity local scope is not supported yet; use --global.
|
|
1262
1338
|
`);
|
|
1263
1339
|
break;
|
|
1264
1340
|
case "where":
|
|
@@ -1268,12 +1344,15 @@ Usage:
|
|
|
1268
1344
|
mcp-conf where --client <name> --name <serverName> [options]
|
|
1269
1345
|
|
|
1270
1346
|
Options:
|
|
1271
|
-
--client <name> cline | codex | claude | goose | cursor | windsurf | opencode | copilot (repeatable)
|
|
1347
|
+
--client <name> cline | codex | claude | goose | cursor | windsurf | opencode | copilot | antigravity (repeatable)
|
|
1272
1348
|
--name <serverName> required MCP server name key
|
|
1273
1349
|
--global write to global user config (default)
|
|
1274
1350
|
--local write to project config (where supported)
|
|
1275
1351
|
--all-projects Claude global: search across all projects
|
|
1276
1352
|
--project <path> Claude global: target a specific project path
|
|
1353
|
+
|
|
1354
|
+
Notes:
|
|
1355
|
+
Antigravity local scope is not supported yet; use --global.
|
|
1277
1356
|
`);
|
|
1278
1357
|
break;
|
|
1279
1358
|
default:
|
|
@@ -22,6 +22,7 @@ mcp-conf add --client codex --name abap-http --transport http --url http://local
|
|
|
22
22
|
mcp-conf add --client codex --name abap-http --transport http --url http://localhost:3000/mcp/stream/http --header x-mcp-destination=trial
|
|
23
23
|
mcp-conf add --client opencode --name abap --transport http --url http://localhost:3000/mcp/stream/http
|
|
24
24
|
mcp-conf add --client copilot --name abap --transport http --url http://localhost:3000/mcp/stream/http --header x-mcp-destination=trial
|
|
25
|
+
mcp-conf add --client antigravity --name abap --transport http --url http://localhost:3000/mcp/stream/http
|
|
25
26
|
```
|
|
26
27
|
|
|
27
28
|
## Common Tasks
|
|
@@ -45,6 +46,7 @@ Enable MCP:
|
|
|
45
46
|
```bash
|
|
46
47
|
mcp-conf enable --client codex --name abap
|
|
47
48
|
mcp-conf enable --client cline --name abap
|
|
49
|
+
mcp-conf enable --client antigravity --name abap
|
|
48
50
|
```
|
|
49
51
|
|
|
50
52
|
Remove MCP:
|
|
@@ -52,6 +54,7 @@ Remove MCP:
|
|
|
52
54
|
mcp-conf rm --client codex --name abap
|
|
53
55
|
mcp-conf rm --client cline --name abap
|
|
54
56
|
mcp-conf rm --client claude --name abap
|
|
57
|
+
mcp-conf rm --client antigravity --name abap
|
|
55
58
|
```
|
|
56
59
|
|
|
57
60
|
List MCP servers:
|
|
@@ -60,6 +63,7 @@ mcp-conf ls --client codex
|
|
|
60
63
|
mcp-conf ls --client cline
|
|
61
64
|
mcp-conf ls --client claude --local
|
|
62
65
|
mcp-conf ls --client claude --all-projects
|
|
66
|
+
mcp-conf ls --client antigravity --global
|
|
63
67
|
```
|
|
64
68
|
|
|
65
69
|
Find where a server is defined:
|
|
@@ -71,14 +75,14 @@ mcp-conf where --client claude --name goose --all-projects
|
|
|
71
75
|
|
|
72
76
|
Options:
|
|
73
77
|
- Commands: `add`, `rm`, `ls`, `enable`, `disable`, `where` (first argument)
|
|
74
|
-
- `--client <name>` (repeatable): `cline`, `codex`, `claude`, `goose`, `cursor`, `windsurf`, `opencode`, `copilot`
|
|
78
|
+
- `--client <name>` (repeatable): `cline`, `codex`, `claude`, `goose`, `cursor`, `windsurf`, `opencode`, `copilot`, `antigravity`
|
|
75
79
|
- `--env <path>`: use a specific `.env` file
|
|
76
80
|
- `--mcp <destination>`: use service key destination
|
|
77
81
|
- `--name <serverName>`: MCP server name (required)
|
|
78
82
|
- `--transport <type>`: `stdio`, `sse`, or `http` (`http` maps to `streamableHttp`)
|
|
79
83
|
- `--command <bin>`: command to run (default: `mcp-abap-adt`)
|
|
80
84
|
- `--global`: write to the global user config (default)
|
|
81
|
-
- `--local`: write to the project config (supported by `cursor`, `opencode`, `copilot`, `claude`)
|
|
85
|
+
- `--local`: write to the project config (supported by `cursor`, `opencode`, `copilot`, `claude`, `codex`)
|
|
82
86
|
- `--all-projects`: for Claude (global scope), apply `rm/enable/disable/ls/where` across all projects
|
|
83
87
|
- `--project <path>`: for Claude (global scope), target a specific project path
|
|
84
88
|
- `--url <http(s)://...>`: required for `sse` and `http`
|
|
@@ -89,13 +93,16 @@ Notes:
|
|
|
89
93
|
- `disable` and `rm` do not require `--env` or `--mcp`.
|
|
90
94
|
- `--env`/`--mcp` are only valid for `stdio` transport. For `sse/http`, use `--url` and optional `--header`.
|
|
91
95
|
- Cursor/Copilot enable/disable are not implemented yet.
|
|
96
|
+
- Antigravity enable/disable uses `disabled: true|false` on the entry.
|
|
97
|
+
- Antigravity local scope is not supported yet; use `--global`.
|
|
92
98
|
- Claude stores enable/disable state under `enabledMcpServers` and `disabledMcpServers` for each project.
|
|
93
99
|
- Claude enable/disable always updates `~/.claude.json` (global scope), even if you pass `--local`.
|
|
100
|
+
- Antigravity HTTP entries use `serverUrl` instead of `url`.
|
|
94
101
|
- New entries for Cline, Codex, Windsurf, Goose, Claude, and OpenCode are added **disabled by default**. Use `enable` to turn them on.
|
|
95
102
|
- Windsurf follows `disabled` like Cline. The configurator sets `disabled = true` for default-disabled entries.
|
|
96
103
|
- `enable`/`disable` only work if the server entry already exists. Use add commands with `--env` or `--mcp` first.
|
|
97
104
|
- Non-stdio transports are supported for Cline/Cursor/Windsurf/Claude/Goose. Codex supports `http` (streamable HTTP) but not `sse`.
|
|
98
|
-
- Codex writes custom headers under `http_headers` in `~/.codex/config.toml
|
|
105
|
+
- Codex writes custom headers under `http_headers` in `~/.codex/config.toml` (or `./.codex/config.toml` for `--local`).
|
|
99
106
|
- Codex HTTP entries include `startup_timeout_sec` (default: 60).
|
|
100
107
|
- `--dry-run`: print changes without writing files
|
|
101
108
|
- `--force`: overwrite existing server entry if it exists
|
|
@@ -113,6 +120,7 @@ Global (default) locations:
|
|
|
113
120
|
- **Codex**:
|
|
114
121
|
- Linux/macOS: `~/.codex/config.toml`
|
|
115
122
|
- Windows: `%USERPROFILE%\.codex\config.toml`
|
|
123
|
+
- Local (project): `./.codex/config.toml`
|
|
116
124
|
- **Claude Code (CLI)**:
|
|
117
125
|
- Linux default: `~/.claude.json` (per-project entries under `projects.<cwd>.mcpServers`)
|
|
118
126
|
- **Claude Desktop**:
|
|
@@ -130,6 +138,8 @@ Global (default) locations:
|
|
|
130
138
|
- **OpenCode**:
|
|
131
139
|
- Linux/macOS: `~/.config/opencode/opencode.json`
|
|
132
140
|
- Windows: `%APPDATA%\opencode\opencode.json`
|
|
141
|
+
- **Antigravity**:
|
|
142
|
+
- Linux/macOS: `~/.gemini/antigravity/mcp_config.json`
|
|
133
143
|
|
|
134
144
|
Local (project) locations:
|
|
135
145
|
- **Claude Code**:
|
|
@@ -140,3 +150,5 @@ Local (project) locations:
|
|
|
140
150
|
- Project: `./opencode.json` (uses `mcp.<name>` entries with `enabled: true|false`)
|
|
141
151
|
- **GitHub Copilot**:
|
|
142
152
|
- Project: `./.vscode/mcp.json` (uses `servers.<name>` entries)
|
|
153
|
+
- **Antigravity**:
|
|
154
|
+
- Project: `./.antigravity/mcp.json` (community-reported; not supported yet)
|