@kenkaiiii/ggcoder 4.3.234 → 4.3.236

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 (57) hide show
  1. package/dist/cli/command-routing.d.ts +1 -1
  2. package/dist/cli/command-routing.d.ts.map +1 -1
  3. package/dist/cli/command-routing.js +2 -0
  4. package/dist/cli/command-routing.js.map +1 -1
  5. package/dist/cli/command-routing.test.js +1 -0
  6. package/dist/cli/command-routing.test.js.map +1 -1
  7. package/dist/cli/mcp.d.ts +2 -0
  8. package/dist/cli/mcp.d.ts.map +1 -0
  9. package/dist/cli/mcp.js +309 -0
  10. package/dist/cli/mcp.js.map +1 -0
  11. package/dist/cli.d.ts.map +1 -1
  12. package/dist/cli.js +6 -2
  13. package/dist/cli.js.map +1 -1
  14. package/dist/config.d.ts +1 -0
  15. package/dist/config.d.ts.map +1 -1
  16. package/dist/config.js +1 -0
  17. package/dist/config.js.map +1 -1
  18. package/dist/core/mcp/client.d.ts +20 -0
  19. package/dist/core/mcp/client.d.ts.map +1 -1
  20. package/dist/core/mcp/client.js +55 -11
  21. package/dist/core/mcp/client.js.map +1 -1
  22. package/dist/core/mcp/defaults.d.ts +7 -0
  23. package/dist/core/mcp/defaults.d.ts.map +1 -1
  24. package/dist/core/mcp/defaults.js +14 -0
  25. package/dist/core/mcp/defaults.js.map +1 -1
  26. package/dist/core/mcp/index.d.ts +6 -1
  27. package/dist/core/mcp/index.d.ts.map +1 -1
  28. package/dist/core/mcp/index.js +3 -1
  29. package/dist/core/mcp/index.js.map +1 -1
  30. package/dist/core/mcp/parse-add-command.d.ts +25 -0
  31. package/dist/core/mcp/parse-add-command.d.ts.map +1 -0
  32. package/dist/core/mcp/parse-add-command.js +220 -0
  33. package/dist/core/mcp/parse-add-command.js.map +1 -0
  34. package/dist/core/mcp/parse-add-command.test.d.ts +2 -0
  35. package/dist/core/mcp/parse-add-command.test.d.ts.map +1 -0
  36. package/dist/core/mcp/parse-add-command.test.js +75 -0
  37. package/dist/core/mcp/parse-add-command.test.js.map +1 -0
  38. package/dist/core/mcp/store.d.ts +80 -0
  39. package/dist/core/mcp/store.d.ts.map +1 -0
  40. package/dist/core/mcp/store.js +157 -0
  41. package/dist/core/mcp/store.js.map +1 -0
  42. package/dist/core/mcp/store.test.d.ts +2 -0
  43. package/dist/core/mcp/store.test.d.ts.map +1 -0
  44. package/dist/core/mcp/store.test.js +101 -0
  45. package/dist/core/mcp/store.test.js.map +1 -0
  46. package/dist/ui/mcp.d.ts +62 -0
  47. package/dist/ui/mcp.d.ts.map +1 -0
  48. package/dist/ui/mcp.js +302 -0
  49. package/dist/ui/mcp.js.map +1 -0
  50. package/dist/ui/terminal-history-retry-dedup.test.d.ts +2 -0
  51. package/dist/ui/terminal-history-retry-dedup.test.d.ts.map +1 -0
  52. package/dist/ui/terminal-history-retry-dedup.test.js +61 -0
  53. package/dist/ui/terminal-history-retry-dedup.test.js.map +1 -0
  54. package/dist/ui/terminal-history.d.ts.map +1 -1
  55. package/dist/ui/terminal-history.js +36 -0
  56. package/dist/ui/terminal-history.js.map +1 -1
  57. package/package.json +4 -4
@@ -1,4 +1,4 @@
1
- export type CliSubcommandName = "pixel" | "login" | "logout" | "sessions" | "telegram" | "serve" | "doctor" | "agent-home-login" | "agent-home";
1
+ export type CliSubcommandName = "pixel" | "mcp" | "login" | "logout" | "sessions" | "telegram" | "serve" | "doctor" | "agent-home-login" | "agent-home";
2
2
  export type CliCommandRouteResult = {
3
3
  kind: "handled";
4
4
  subcommand: CliSubcommandName;
@@ -1 +1 @@
1
- {"version":3,"file":"command-routing.d.ts","sourceRoot":"","sources":["../../src/cli/command-routing.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,iBAAiB,GACzB,OAAO,GACP,OAAO,GACP,QAAQ,GACR,UAAU,GACV,UAAU,GACV,OAAO,GACP,QAAQ,GACR,kBAAkB,GAClB,YAAY,CAAC;AAEjB,MAAM,MAAM,qBAAqB,GAC7B;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,UAAU,EAAE,iBAAiB,CAAA;CAAE,GAClD;IAAE,IAAI,EAAE,UAAU,CAAA;CAAE,GACpB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,CAAC;AAErD,KAAK,iBAAiB,GAAG,MAAM,IAAI,CAAC;AAEpC,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,KAAK,CAAC;IAC9B,QAAQ,EAAE,MAAM,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,CAAC;CACxD;AA6BD;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,wBAAwB,GAAG,qBAAqB,CAwB7F"}
1
+ {"version":3,"file":"command-routing.d.ts","sourceRoot":"","sources":["../../src/cli/command-routing.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,iBAAiB,GACzB,OAAO,GACP,KAAK,GACL,OAAO,GACP,QAAQ,GACR,UAAU,GACV,UAAU,GACV,OAAO,GACP,QAAQ,GACR,kBAAkB,GAClB,YAAY,CAAC;AAEjB,MAAM,MAAM,qBAAqB,GAC7B;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,UAAU,EAAE,iBAAiB,CAAA;CAAE,GAClD;IAAE,IAAI,EAAE,UAAU,CAAA;CAAE,GACpB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,CAAC;AAErD,KAAK,iBAAiB,GAAG,MAAM,IAAI,CAAC;AAEpC,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,KAAK,CAAC;IAC9B,QAAQ,EAAE,MAAM,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,CAAC;CACxD;AA+BD;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,wBAAwB,GAAG,qBAAqB,CAwB7F"}
@@ -1,5 +1,6 @@
1
1
  const SUBCOMMANDS_THAT_KEEP_ARGV = new Set([
2
2
  "pixel",
3
+ "mcp",
3
4
  "login",
4
5
  "logout",
5
6
  "telegram",
@@ -8,6 +9,7 @@ const SUBCOMMANDS_THAT_KEEP_ARGV = new Set([
8
9
  ]);
9
10
  function isCliSubcommandName(value) {
10
11
  return (value === "pixel" ||
12
+ value === "mcp" ||
11
13
  value === "login" ||
12
14
  value === "logout" ||
13
15
  value === "sessions" ||
@@ -1 +1 @@
1
- {"version":3,"file":"command-routing.js","sourceRoot":"","sources":["../../src/cli/command-routing.ts"],"names":[],"mappings":"AAyBA,MAAM,0BAA0B,GAAmC,IAAI,GAAG,CAAC;IACzE,OAAO;IACP,OAAO;IACP,QAAQ;IACR,UAAU;IACV,QAAQ;IACR,kBAAkB;CACnB,CAAC,CAAC;AAEH,SAAS,mBAAmB,CAAC,KAAyB;IACpD,OAAO,CACL,KAAK,KAAK,OAAO;QACjB,KAAK,KAAK,OAAO;QACjB,KAAK,KAAK,QAAQ;QAClB,KAAK,KAAK,UAAU;QACpB,KAAK,KAAK,UAAU;QACpB,KAAK,KAAK,OAAO;QACjB,KAAK,KAAK,QAAQ;QAClB,KAAK,KAAK,kBAAkB;QAC5B,KAAK,KAAK,YAAY,CACvB,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAc;IACxC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACpB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,oBAAoB,CAAC,OAAiC;IACpE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;IAEpD,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACnD,SAAS,EAAE,CAAC;QACZ,IAAI,CAAC,CAAC,CAAC,CAAC;IACV,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IAE3B,IAAI,mBAAmB,CAAC,UAAU,CAAC,EAAE,CAAC;QACpC,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;YAChD,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC;QACD,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QACvB,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC;IACzC,CAAC;IAED,IAAI,UAAU,KAAK,UAAU,EAAE,CAAC;QAC9B,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACzB,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;IAC9B,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;AACtC,CAAC"}
1
+ {"version":3,"file":"command-routing.js","sourceRoot":"","sources":["../../src/cli/command-routing.ts"],"names":[],"mappings":"AA0BA,MAAM,0BAA0B,GAAmC,IAAI,GAAG,CAAC;IACzE,OAAO;IACP,KAAK;IACL,OAAO;IACP,QAAQ;IACR,UAAU;IACV,QAAQ;IACR,kBAAkB;CACnB,CAAC,CAAC;AAEH,SAAS,mBAAmB,CAAC,KAAyB;IACpD,OAAO,CACL,KAAK,KAAK,OAAO;QACjB,KAAK,KAAK,KAAK;QACf,KAAK,KAAK,OAAO;QACjB,KAAK,KAAK,QAAQ;QAClB,KAAK,KAAK,UAAU;QACpB,KAAK,KAAK,UAAU;QACpB,KAAK,KAAK,OAAO;QACjB,KAAK,KAAK,QAAQ;QAClB,KAAK,KAAK,kBAAkB;QAC5B,KAAK,KAAK,YAAY,CACvB,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAc;IACxC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACpB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,oBAAoB,CAAC,OAAiC;IACpE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;IAEpD,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACnD,SAAS,EAAE,CAAC;QACZ,IAAI,CAAC,CAAC,CAAC,CAAC;IACV,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IAE3B,IAAI,mBAAmB,CAAC,UAAU,CAAC,EAAE,CAAC;QACpC,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;YAChD,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC;QACD,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QACvB,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC;IACzC,CAAC;IAED,IAAI,UAAU,KAAK,UAAU,EAAE,CAAC;QAC9B,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACzB,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;IAC9B,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;AACtC,CAAC"}
@@ -3,6 +3,7 @@ import { routeCliCommandInput } from "./command-routing.js";
3
3
  function handlers(calls) {
4
4
  return {
5
5
  pixel: () => calls.push("pixel"),
6
+ mcp: () => calls.push("mcp"),
6
7
  login: () => calls.push("login"),
7
8
  logout: () => calls.push("logout"),
8
9
  sessions: () => calls.push("sessions"),
@@ -1 +1 @@
1
- {"version":3,"file":"command-routing.test.js","sourceRoot":"","sources":["../../src/cli/command-routing.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"command-routing.test.js","sourceRoot":"","sources":["../../src/cli/command-routing.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function runMcp(): Promise<void>;
2
+ //# sourceMappingURL=mcp.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../src/cli/mcp.ts"],"names":[],"mappings":"AAgCA,wBAAsB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CA0C5C"}
@@ -0,0 +1,309 @@
1
+ import chalk from "chalk";
2
+ import { ensureAppDirs } from "../config.js";
3
+ import { initLogger, log, closeLogger } from "../core/logger.js";
4
+ import { MCPClientManager, loadServers, addServer, removeServer, getServer, globalMcpPath, projectMcpPath, parseMcpAddCommand, } from "../core/mcp/index.js";
5
+ import { renderMcpDashboard, renderScopeSelector, promptLine, promptWithBanner, transportSummary, bannerLines, mcpColors as C, } from "../ui/mcp.js";
6
+ import { CLI_VERSION, clearVisibleScreen, requireInteractiveTTY } from "./shared.js";
7
+ const dim = chalk.hex(C.dim);
8
+ const primary = chalk.hex(C.primary);
9
+ const good = chalk.hex(C.good);
10
+ const bad = chalk.hex(C.bad);
11
+ export async function runMcp() {
12
+ const paths = await ensureAppDirs();
13
+ initLogger(paths.logFile, { version: CLI_VERSION });
14
+ log("INFO", "mcp", "mcp command started");
15
+ const cwd = process.cwd();
16
+ const sub = process.argv[3];
17
+ const rest = process.argv.slice(4);
18
+ try {
19
+ if (sub === "--help" || sub === "-h") {
20
+ printMcpHelp();
21
+ return;
22
+ }
23
+ if (sub === "list") {
24
+ await runList(cwd);
25
+ return;
26
+ }
27
+ if (sub === "get") {
28
+ await runGet(rest, cwd);
29
+ return;
30
+ }
31
+ if (sub === "remove" || sub === "rm") {
32
+ await runRemove(rest, cwd);
33
+ return;
34
+ }
35
+ if (sub === "add") {
36
+ await runAdd(rest, cwd);
37
+ return;
38
+ }
39
+ if (sub) {
40
+ process.stderr.write(`Unknown mcp subcommand: ${sub}\n`);
41
+ printMcpHelp();
42
+ process.exit(1);
43
+ }
44
+ // No subcommand → interactive dashboard.
45
+ requireInteractiveTTY();
46
+ await runDashboard(cwd);
47
+ }
48
+ finally {
49
+ closeLogger();
50
+ }
51
+ }
52
+ function printMcpHelp() {
53
+ console.log(`ggcoder mcp — add and manage MCP servers
54
+
55
+ Usage:
56
+ ggcoder mcp Open the interactive dashboard
57
+ ggcoder mcp list List servers with live connection status
58
+ ggcoder mcp get <name> Show one server's config
59
+ ggcoder mcp add <args…> Add a server (claude-compatible grammar)
60
+ ggcoder mcp remove <name> [--scope s] Remove a server
61
+
62
+ Add examples:
63
+ ggcoder mcp add --transport http notion https://mcp.notion.com/mcp
64
+ ggcoder mcp add --transport sse asana https://mcp.asana.com/sse
65
+ ggcoder mcp add airtable -- npx -y airtable-mcp-server
66
+
67
+ Scopes:
68
+ global ~/.gg/mcp.json (all GG Coder sessions)
69
+ project ./.gg/mcp.json (the current project)
70
+
71
+ Configs are stored in the same { "mcpServers": { … } } shape Claude Code uses.`);
72
+ }
73
+ /** Connect each loaded server and join with its scope for display. */
74
+ async function buildRows(cwd) {
75
+ const scoped = await loadServers(cwd);
76
+ if (scoped.length === 0)
77
+ return [];
78
+ const manager = new MCPClientManager();
79
+ try {
80
+ const results = await manager.connectAllDetailed(scoped.map((s) => s.config));
81
+ return scoped.map((s) => {
82
+ const result = results.find((r) => r.name === s.config.name);
83
+ return {
84
+ config: s.config,
85
+ scope: s.scope,
86
+ ok: result?.ok ?? false,
87
+ toolCount: result?.toolCount ?? 0,
88
+ error: result?.error,
89
+ };
90
+ });
91
+ }
92
+ finally {
93
+ await manager.dispose();
94
+ }
95
+ }
96
+ async function runList(cwd) {
97
+ const rows = await buildRows(cwd);
98
+ if (rows.length === 0) {
99
+ console.log(dim("No MCP servers configured. Add one with `ggcoder mcp add …`."));
100
+ return;
101
+ }
102
+ for (const row of rows) {
103
+ const status = row.ok
104
+ ? good(`🟢 ${row.toolCount} tool${row.toolCount === 1 ? "" : "s"}`)
105
+ : bad(`🔴 ${row.error ?? "failed"}`);
106
+ console.log(`${primary(row.config.name)} ${dim(`(${row.scope})`)} ${status}\n ${dim(transportSummary(row.config))}`);
107
+ }
108
+ }
109
+ async function runGet(rest, cwd) {
110
+ const name = rest[0];
111
+ if (!name) {
112
+ process.stderr.write("Usage: ggcoder mcp get <name>\n");
113
+ process.exit(1);
114
+ }
115
+ const found = await getServer(name, cwd);
116
+ if (!found) {
117
+ console.log(dim(`No server named "${name}".`));
118
+ return;
119
+ }
120
+ console.log(primary(found.config.name) + dim(` (${found.scope})`));
121
+ console.log(formatConfig(found.config));
122
+ }
123
+ function maskValue(value) {
124
+ if (value.length <= 8)
125
+ return "••••";
126
+ return value.slice(0, 4) + "…" + value.slice(-4);
127
+ }
128
+ function formatConfig(config) {
129
+ const lines = [];
130
+ if (config.url) {
131
+ lines.push(dim(" transport: ") + "http/sse");
132
+ lines.push(dim(" url: ") + config.url);
133
+ if (config.headers) {
134
+ for (const [k, v] of Object.entries(config.headers)) {
135
+ lines.push(dim(` header: `) + `${k}: ${maskValue(v)}`);
136
+ }
137
+ }
138
+ }
139
+ else {
140
+ lines.push(dim(" transport: ") + "stdio");
141
+ lines.push(dim(" command: ") + [config.command, ...(config.args ?? [])].join(" "));
142
+ if (config.env) {
143
+ for (const [k, v] of Object.entries(config.env)) {
144
+ lines.push(dim(` env: `) + `${k}=${maskValue(v)}`);
145
+ }
146
+ }
147
+ }
148
+ if (config.timeout)
149
+ lines.push(dim(" timeout: ") + String(config.timeout));
150
+ return lines.join("\n");
151
+ }
152
+ function parseScopeFlag(rest) {
153
+ const idx = rest.findIndex((a) => a === "--scope" || a === "-s");
154
+ if (idx === -1)
155
+ return undefined;
156
+ const value = rest[idx + 1]?.toLowerCase();
157
+ if (value === "global" || value === "user")
158
+ return "global";
159
+ if (value === "project" || value === "local")
160
+ return "project";
161
+ return undefined;
162
+ }
163
+ async function runRemove(rest, cwd) {
164
+ const scopeValue = parseScopeArgValue(rest);
165
+ const name = rest.find((a) => !a.startsWith("-") && a !== scopeValue);
166
+ if (!name) {
167
+ process.stderr.write("Usage: ggcoder mcp remove <name> [--scope global|project]\n");
168
+ process.exit(1);
169
+ }
170
+ const requested = parseScopeFlag(rest);
171
+ const scope = requested ?? (await getServer(name, cwd))?.scope;
172
+ if (!scope) {
173
+ console.log(dim(`No server named "${name}".`));
174
+ return;
175
+ }
176
+ const removed = await removeServer(name, scope, cwd);
177
+ if (removed) {
178
+ console.log(good(`✓ Removed "${name}" from ${scope} scope.`));
179
+ }
180
+ else {
181
+ console.log(dim(`No server named "${name}" in ${scope} scope.`));
182
+ }
183
+ }
184
+ /** The token that is the value of --scope/-s, so we can exclude it as the name. */
185
+ function parseScopeArgValue(rest) {
186
+ const idx = rest.findIndex((a) => a === "--scope" || a === "-s");
187
+ return idx === -1 ? undefined : rest[idx + 1];
188
+ }
189
+ async function runAdd(rest, cwd) {
190
+ const parsed = parseMcpAddCommand(rest.join(" "));
191
+ if (!parsed.ok) {
192
+ process.stderr.write(bad(`✗ ${parsed.error}\n`));
193
+ process.exit(1);
194
+ }
195
+ const { config, scope: requestedScope } = parsed.value;
196
+ const probeResult = await probeServer(config);
197
+ if (probeResult.ok) {
198
+ console.log(good(`✓ Connected — ${probeResult.toolCount} tool${probeResult.toolCount === 1 ? "" : "s"}.`));
199
+ }
200
+ else {
201
+ console.log(bad(`✗ Could not connect: ${probeResult.error ?? "unknown error"}`));
202
+ console.log(dim(" Saving anyway — fix the config and retry later."));
203
+ }
204
+ // Non-interactive: default to project scope when no --scope was given.
205
+ const scope = requestedScope ?? "project";
206
+ const result = await addServer(config, scope, cwd);
207
+ if (!result.ok) {
208
+ process.stderr.write(bad(`✗ ${result.error}\n`));
209
+ process.exit(1);
210
+ }
211
+ const file = scope === "global" ? globalMcpPath() : projectMcpPath(cwd);
212
+ console.log(good(`✓ Added "${config.name}" to ${scope} scope`) + dim(` (${file})`));
213
+ if (!requestedScope) {
214
+ console.log(dim(" Use --scope global to add it for all sessions instead."));
215
+ }
216
+ console.log(dim(" Restart ggcoder to load the new server."));
217
+ }
218
+ async function probeServer(config) {
219
+ const manager = new MCPClientManager();
220
+ try {
221
+ const result = await manager.probe(config);
222
+ return { ok: result.ok, toolCount: result.toolCount, error: result.error };
223
+ }
224
+ finally {
225
+ await manager.dispose();
226
+ }
227
+ }
228
+ // ── Interactive dashboard ──────────────────────────────────────────
229
+ async function runDashboard(cwd) {
230
+ for (;;) {
231
+ clearVisibleScreen();
232
+ console.log(dim("Connecting to MCP servers…"));
233
+ const rows = await buildRows(cwd);
234
+ clearVisibleScreen();
235
+ const action = await renderMcpDashboard({ version: CLI_VERSION, rows });
236
+ if (action.kind === "close") {
237
+ console.log(dim("Closed MCP dashboard."));
238
+ return;
239
+ }
240
+ if (action.kind === "retry") {
241
+ continue;
242
+ }
243
+ if (action.kind === "remove") {
244
+ const removed = await removeServer(action.name, action.scope, cwd);
245
+ console.log(removed
246
+ ? good(`✓ Removed "${action.name}".`)
247
+ : dim(`Nothing removed for "${action.name}".`));
248
+ continue;
249
+ }
250
+ if (action.kind === "details") {
251
+ const found = await getServer(action.name, cwd);
252
+ if (found) {
253
+ clearVisibleScreen();
254
+ console.log(bannerLines(CLI_VERSION, `${found.config.name} (${found.scope})`).join("\n"));
255
+ console.log("");
256
+ console.log(formatConfig(found.config));
257
+ console.log(dim("\n Press Enter to return…"));
258
+ await promptLine("");
259
+ }
260
+ continue;
261
+ }
262
+ if (action.kind === "add") {
263
+ await runInteractiveAdd(cwd);
264
+ continue;
265
+ }
266
+ }
267
+ }
268
+ async function runInteractiveAdd(cwd) {
269
+ const line = await promptWithBanner(CLI_VERSION, {
270
+ subtitle: "Add a server",
271
+ question: "Command: ",
272
+ hint: "Paste a `claude mcp add …` or `ggcoder mcp add …` line. Empty to go back.",
273
+ });
274
+ if (line === null)
275
+ return;
276
+ const parsed = parseMcpAddCommand(line);
277
+ if (!parsed.ok) {
278
+ console.log(bad(`✗ ${parsed.error}`));
279
+ await pause();
280
+ return;
281
+ }
282
+ const config = parsed.value.config;
283
+ const requestedScope = parsed.value.scope;
284
+ console.log(dim("Validating connection…"));
285
+ const probeResult = await probeServer(config);
286
+ if (probeResult.ok) {
287
+ console.log(good(`✓ Connected — ${probeResult.toolCount} tool${probeResult.toolCount === 1 ? "" : "s"}.`));
288
+ }
289
+ else {
290
+ console.log(bad(`✗ Could not connect: ${probeResult.error ?? "unknown error"}`));
291
+ console.log(dim(" You can still save it and fix the config later."));
292
+ }
293
+ const scope = requestedScope ?? (await renderScopeSelector(CLI_VERSION, cwd));
294
+ if (!scope)
295
+ return;
296
+ const result = await addServer(config, scope, cwd, true);
297
+ if (!result.ok) {
298
+ console.log(bad(`✗ ${result.error}`));
299
+ await pause();
300
+ return;
301
+ }
302
+ console.log(good(`✓ Added "${config.name}" to ${scope} scope.`));
303
+ console.log(dim(" Restart ggcoder to load the new server."));
304
+ await pause();
305
+ }
306
+ async function pause() {
307
+ await promptLine(dim("Press Enter to continue…"));
308
+ }
309
+ //# sourceMappingURL=mcp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../src/cli/mcp.ts"],"names":[],"mappings":"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"}
package/dist/cli.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AA0DA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAIvD,OAAO,KAAK,EAAE,OAAO,EAAY,aAAa,EAAE,MAAM,kBAAkB,CAAC;AA8CzE,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,aAAa,GAAG,SAAS,CAMvF;AA8nCD,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,aAAa,EAAE,CA2IvE"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AA0DA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAIvD,OAAO,KAAK,EAAE,OAAO,EAAY,aAAa,EAAE,MAAM,kBAAkB,CAAC;AA+CzE,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,aAAa,GAAG,SAAS,CAMvF;AAioCD,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,aAAa,EAAE,CA2IvE"}
package/dist/cli.js CHANGED
@@ -67,9 +67,10 @@ import { shouldCompact, compact } from "./core/compaction/compactor.js";
67
67
  import { createCompactedSessionCheckpoint, formatRestoreInfoText, getRestoredMessagesForDisplay, } from "./core/session-compaction.js";
68
68
  import { setEstimatorModel } from "./core/compaction/token-estimator.js";
69
69
  import { getContextWindow, getDefaultModel, getMaxThinkingLevel, getModel, } from "./core/model-registry.js";
70
- import { MCPClientManager, getMCPServers } from "./core/mcp/index.js";
70
+ import { MCPClientManager, getAllMcpServers } from "./core/mcp/index.js";
71
71
  import { runPixel } from "./cli/pixel.js";
72
72
  import { runLogin, runLogout, runDoctor } from "./cli/auth.js";
73
+ import { runMcp } from "./cli/mcp.js";
73
74
  import { CLI_VERSION, LOGO_LINES, clearVisibleScreen, displayName, gradientLine, requireInteractiveTTY, } from "./cli/shared.js";
74
75
  import { discoverAgents } from "./core/agents.js";
75
76
  import { discoverSkills } from "./core/skills.js";
@@ -119,6 +120,7 @@ function printHelp() {
119
120
  ["telegram", "Configure Telegram bot integration"],
120
121
  ["agent-home-login", "Configure Agent Home relay connection"],
121
122
  ["agent-home", "Connect to Agent Home as a remote agent"],
123
+ ["mcp", "Add and manage MCP servers"],
122
124
  ];
123
125
  for (const [name, desc] of cmds) {
124
126
  console.log(` ${accent(name.padEnd(20))} ${dim(desc)}`);
@@ -183,6 +185,7 @@ function createCliSubcommandHandlers() {
183
185
  };
184
186
  return {
185
187
  pixel: () => runWithStandardErrorHandling(() => runPixel({ runInkTUI }), true),
188
+ mcp: () => runWithStandardErrorHandling(runMcp),
186
189
  login: () => runWithStandardErrorHandling(runLogin),
187
190
  logout: () => runWithStandardErrorHandling(runLogout),
188
191
  sessions: () => runWithStandardErrorHandling(runSessions),
@@ -457,7 +460,8 @@ async function runInkTUI(opts) {
457
460
  const connectInitialMcpTools = async () => {
458
461
  initialMcpConnectPromise ??= (async () => {
459
462
  const providerApiKey = provider === "glm" ? credentialsByProvider["glm"]?.accessToken : undefined;
460
- return mcpManager.connectAll(getMCPServers(provider, providerApiKey));
463
+ const servers = await getAllMcpServers(provider, providerApiKey, cwd);
464
+ return mcpManager.connectAll(servers);
461
465
  })();
462
466
  return initialMcpConnectPromise;
463
467
  };