ccjk 13.5.2 → 13.5.4
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/README.md +5 -5
- package/dist/chunks/boost.mjs +8 -1
- package/dist/chunks/ccjk-config.mjs +17 -0
- package/dist/chunks/ccr.mjs +2 -2
- package/dist/chunks/check-updates.mjs +1 -1
- package/dist/chunks/codex-config-switch.mjs +1 -1
- package/dist/chunks/codex-provider-manager.mjs +1 -1
- package/dist/chunks/codex.mjs +2 -2
- package/dist/chunks/completion.mjs +1 -1
- package/dist/chunks/config-switch.mjs +1 -1
- package/dist/chunks/context.mjs +316 -1
- package/dist/chunks/features.mjs +43 -14
- package/dist/chunks/index4.mjs +8 -1
- package/dist/chunks/init.mjs +2 -2
- package/dist/chunks/mcp-cli.mjs +3 -3
- package/dist/chunks/mcp.mjs +177 -35
- package/dist/{shared/ccjk.Crd_nEfj.mjs → chunks/memory-check.mjs} +18 -424
- package/dist/chunks/memory-paths.mjs +259 -0
- package/dist/chunks/memory-sync.mjs +209 -0
- package/dist/chunks/memory.mjs +140 -17
- package/dist/chunks/menu-hierarchical.mjs +2 -2
- package/dist/chunks/menu.mjs +1 -1
- package/dist/chunks/onboarding-wizard.mjs +8 -1
- package/dist/chunks/package.mjs +1 -1
- package/dist/chunks/quick-actions.mjs +8 -1
- package/dist/chunks/quick-setup.mjs +1 -1
- package/dist/chunks/smart-defaults.mjs +1 -20
- package/dist/chunks/status.mjs +8 -1
- package/dist/chunks/update.mjs +2 -2
- package/dist/cli.mjs +16 -4
- package/dist/shared/{ccjk.LTONy3IS.mjs → ccjk.BOfPON0N.mjs} +1 -1
- package/dist/shared/{ccjk.0aJQmVxS.mjs → ccjk.miT0g_vA.mjs} +3 -160
- package/dist/shared/ccjk.xkKNsC02.mjs +421 -0
- package/package.json +1 -1
- package/dist/chunks/auto-memory-bridge.mjs +0 -221
package/dist/chunks/menu.mjs
CHANGED
|
@@ -2,7 +2,7 @@ import { existsSync } from 'node:fs';
|
|
|
2
2
|
import process__default from 'node:process';
|
|
3
3
|
import a from './index2.mjs';
|
|
4
4
|
import { i as inquirer } from './index3.mjs';
|
|
5
|
-
import { M as MCP_SERVICE_CONFIGS } from '../shared/ccjk.
|
|
5
|
+
import { M as MCP_SERVICE_CONFIGS } from '../shared/ccjk.miT0g_vA.mjs';
|
|
6
6
|
import { CODE_TOOL_BANNERS, CLAUDE_DIR, isCodeToolType, DEFAULT_CODE_TOOL_TYPE } from './constants.mjs';
|
|
7
7
|
import { ensureI18nInitialized, i18n } from './index5.mjs';
|
|
8
8
|
import { displayBannerWithInfo } from './banner.mjs';
|
|
@@ -2,12 +2,13 @@ import { existsSync, mkdirSync, writeFileSync, readFileSync } from 'node:fs';
|
|
|
2
2
|
import a from './index2.mjs';
|
|
3
3
|
import { CCJK_CONFIG_DIR } from './constants.mjs';
|
|
4
4
|
import { i18n } from './index5.mjs';
|
|
5
|
-
import { r as runHealthCheck } from '../shared/ccjk.
|
|
5
|
+
import { r as runHealthCheck } from '../shared/ccjk.xkKNsC02.mjs';
|
|
6
6
|
import { j as join } from '../shared/ccjk.bQ7Dh1g4.mjs';
|
|
7
7
|
import '../shared/ccjk.BAGoDD49.mjs';
|
|
8
8
|
import 'node:os';
|
|
9
9
|
import 'node:process';
|
|
10
10
|
import 'node:url';
|
|
11
|
+
import './memory-check.mjs';
|
|
11
12
|
import 'node:path';
|
|
12
13
|
import 'fs';
|
|
13
14
|
import 'constants';
|
|
@@ -15,6 +16,12 @@ import 'stream';
|
|
|
15
16
|
import 'util';
|
|
16
17
|
import 'assert';
|
|
17
18
|
import 'path';
|
|
19
|
+
import './memory-paths.mjs';
|
|
20
|
+
import '../shared/ccjk.BBtCGd_g.mjs';
|
|
21
|
+
import './index6.mjs';
|
|
22
|
+
import './fs-operations.mjs';
|
|
23
|
+
import 'node:crypto';
|
|
24
|
+
import 'node:fs/promises';
|
|
18
25
|
|
|
19
26
|
const ONBOARDING_STATE_FILE = join(CCJK_CONFIG_DIR, "onboarding.json");
|
|
20
27
|
function readOnboardingState() {
|
package/dist/chunks/package.mjs
CHANGED
|
@@ -3,7 +3,7 @@ import { homedir } from 'node:os';
|
|
|
3
3
|
import a from './index2.mjs';
|
|
4
4
|
import { MetricsDisplay } from './metrics-display.mjs';
|
|
5
5
|
import { getContextPersistence } from './persistence.mjs';
|
|
6
|
-
import { r as runHealthCheck } from '../shared/ccjk.
|
|
6
|
+
import { r as runHealthCheck } from '../shared/ccjk.xkKNsC02.mjs';
|
|
7
7
|
import { j as join } from '../shared/ccjk.bQ7Dh1g4.mjs';
|
|
8
8
|
import '../shared/ccjk.BAGoDD49.mjs';
|
|
9
9
|
import 'better-sqlite3';
|
|
@@ -11,6 +11,7 @@ import './constants.mjs';
|
|
|
11
11
|
import './index5.mjs';
|
|
12
12
|
import 'node:process';
|
|
13
13
|
import 'node:url';
|
|
14
|
+
import './memory-check.mjs';
|
|
14
15
|
import 'node:path';
|
|
15
16
|
import 'fs';
|
|
16
17
|
import 'constants';
|
|
@@ -18,6 +19,12 @@ import 'stream';
|
|
|
18
19
|
import 'util';
|
|
19
20
|
import 'assert';
|
|
20
21
|
import 'path';
|
|
22
|
+
import './memory-paths.mjs';
|
|
23
|
+
import '../shared/ccjk.BBtCGd_g.mjs';
|
|
24
|
+
import './index6.mjs';
|
|
25
|
+
import './fs-operations.mjs';
|
|
26
|
+
import 'node:crypto';
|
|
27
|
+
import 'node:fs/promises';
|
|
21
28
|
|
|
22
29
|
const HABIT_FILE = join(homedir(), ".ccjk", "habits.json");
|
|
23
30
|
function loadHabitStats() {
|
|
@@ -37,7 +37,7 @@ import '../shared/ccjk.DJuyfrlL.mjs';
|
|
|
37
37
|
import 'node:url';
|
|
38
38
|
import '../shared/ccjk.BBtCGd_g.mjs';
|
|
39
39
|
import './index6.mjs';
|
|
40
|
-
import '../shared/ccjk.
|
|
40
|
+
import '../shared/ccjk.miT0g_vA.mjs';
|
|
41
41
|
import '../shared/ccjk.C3o4BXvM.mjs';
|
|
42
42
|
import './banner.mjs';
|
|
43
43
|
import './config.mjs';
|
|
@@ -285,26 +285,7 @@ class SmartDefaultsDetector {
|
|
|
285
285
|
* Get recommended MCP services based on environment + project context
|
|
286
286
|
*/
|
|
287
287
|
getRecommendedMcpServices(platform, project) {
|
|
288
|
-
|
|
289
|
-
if (runtime?.isCI) {
|
|
290
|
-
return ["context7", "mcp-deepwiki"];
|
|
291
|
-
}
|
|
292
|
-
if (runtime?.isContainer) {
|
|
293
|
-
return ["context7", "mcp-deepwiki"];
|
|
294
|
-
}
|
|
295
|
-
const core = ["context7", "mcp-deepwiki", "open-websearch"];
|
|
296
|
-
const extras = [];
|
|
297
|
-
const hasBrowser = runtime?.hasBrowser ?? (platform === "darwin" || platform === "win32");
|
|
298
|
-
if (hasBrowser) {
|
|
299
|
-
extras.push("Playwright");
|
|
300
|
-
}
|
|
301
|
-
extras.push("sqlite");
|
|
302
|
-
if (project && ["typescript", "java", "csharp"].includes(project.language)) {
|
|
303
|
-
if (!runtime?.isHeadless) {
|
|
304
|
-
extras.push("serena");
|
|
305
|
-
}
|
|
306
|
-
}
|
|
307
|
-
return [...core, ...extras];
|
|
288
|
+
return ["context7"];
|
|
308
289
|
}
|
|
309
290
|
/**
|
|
310
291
|
* Get recommended hook template IDs based on project toolchain
|
package/dist/chunks/status.mjs
CHANGED
|
@@ -5,7 +5,7 @@ import a from './index2.mjs';
|
|
|
5
5
|
import { s as scanProject } from '../shared/ccjk.DJuyfrlL.mjs';
|
|
6
6
|
import { MetricsDisplay } from './metrics-display.mjs';
|
|
7
7
|
import { getContextPersistence } from './persistence.mjs';
|
|
8
|
-
import { r as runHealthCheck } from '../shared/ccjk.
|
|
8
|
+
import { r as runHealthCheck } from '../shared/ccjk.xkKNsC02.mjs';
|
|
9
9
|
import { j as join } from '../shared/ccjk.bQ7Dh1g4.mjs';
|
|
10
10
|
import '../shared/ccjk.BAGoDD49.mjs';
|
|
11
11
|
import 'node:child_process';
|
|
@@ -13,6 +13,7 @@ import 'better-sqlite3';
|
|
|
13
13
|
import './constants.mjs';
|
|
14
14
|
import './index5.mjs';
|
|
15
15
|
import 'node:url';
|
|
16
|
+
import './memory-check.mjs';
|
|
16
17
|
import 'node:path';
|
|
17
18
|
import 'fs';
|
|
18
19
|
import 'constants';
|
|
@@ -20,6 +21,12 @@ import 'stream';
|
|
|
20
21
|
import 'util';
|
|
21
22
|
import 'assert';
|
|
22
23
|
import 'path';
|
|
24
|
+
import './memory-paths.mjs';
|
|
25
|
+
import '../shared/ccjk.BBtCGd_g.mjs';
|
|
26
|
+
import './index6.mjs';
|
|
27
|
+
import './fs-operations.mjs';
|
|
28
|
+
import 'node:crypto';
|
|
29
|
+
import 'node:fs/promises';
|
|
23
30
|
|
|
24
31
|
const GRADE_COLORS = {
|
|
25
32
|
S: (s) => a.magenta.bold(s),
|
package/dist/chunks/update.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { existsSync } from 'node:fs';
|
|
2
2
|
import a from './index2.mjs';
|
|
3
3
|
import { i as inquirer } from './index3.mjs';
|
|
4
|
-
import { M as MCP_SERVICE_CONFIGS, g as getMcpServices } from '../shared/ccjk.
|
|
4
|
+
import { M as MCP_SERVICE_CONFIGS, g as getMcpServices } from '../shared/ccjk.miT0g_vA.mjs';
|
|
5
5
|
import { SETTINGS_FILE, DEFAULT_CODE_TOOL_TYPE, resolveCodeToolType as resolveCodeToolType$1, isCodeToolType } from './constants.mjs';
|
|
6
6
|
import { i18n } from './index5.mjs';
|
|
7
7
|
import { displayBanner } from './banner.mjs';
|
|
@@ -12,7 +12,7 @@ import { c as copyConfigFiles } from './config2.mjs';
|
|
|
12
12
|
import { n as needsMigration, m as migrateSettingsForTokenRetrieval, d as displayMigrationResult, p as promptMigration } from '../shared/ccjk.byom1b8z.mjs';
|
|
13
13
|
import { u as updatePromptOnly } from '../shared/ccjk.Dgq22o6V.mjs';
|
|
14
14
|
import { h as handleExitPromptError, a as handleGeneralError } from '../shared/ccjk.BIxuVL3_.mjs';
|
|
15
|
-
import { a as installMcpServices } from '../shared/ccjk.
|
|
15
|
+
import { a as installMcpServices } from '../shared/ccjk.BOfPON0N.mjs';
|
|
16
16
|
import { resolveAiOutputLanguage } from './prompts.mjs';
|
|
17
17
|
import { g as getRuntimeVersion } from '../shared/ccjk.gDEDGD_t.mjs';
|
|
18
18
|
import { checkClaudeCodeVersionAndPrompt } from './version-checker.mjs';
|
package/dist/cli.mjs
CHANGED
|
@@ -135,6 +135,7 @@ const COMMANDS = [
|
|
|
135
135
|
description: "MCP Server management",
|
|
136
136
|
tier: "extended",
|
|
137
137
|
options: [
|
|
138
|
+
{ flags: "--tool, -T <type>", description: "Target tool (claude-code, codex)" },
|
|
138
139
|
{ flags: "--verbose, -v", description: "Verbose output" },
|
|
139
140
|
{ flags: "--dry-run, -d", description: "Preview changes" },
|
|
140
141
|
{ flags: "--yes, -y", description: "Skip confirmation prompts" },
|
|
@@ -152,9 +153,13 @@ const COMMANDS = [
|
|
|
152
153
|
const { mcpDoctor } = await import('./chunks/mcp.mjs');
|
|
153
154
|
await mcpDoctor(options);
|
|
154
155
|
} else if (actionStr === "profile") {
|
|
155
|
-
const { listProfiles, useProfile } = await import('./chunks/mcp.mjs');
|
|
156
|
-
if (!argsArr[0] || argsArr[0] === "list") {
|
|
156
|
+
const { listProfiles, showCurrentProfile, useProfile } = await import('./chunks/mcp.mjs');
|
|
157
|
+
if (!argsArr[0] || argsArr[0] === "list" || argsArr[0] === "ls") {
|
|
157
158
|
await listProfiles(options);
|
|
159
|
+
} else if (argsArr[0] === "current" || argsArr[0] === "status") {
|
|
160
|
+
await showCurrentProfile(options);
|
|
161
|
+
} else if (argsArr[0] === "use" || argsArr[0] === "switch") {
|
|
162
|
+
await useProfile(argsArr[1] || "", options);
|
|
158
163
|
} else {
|
|
159
164
|
await useProfile(argsArr[0], options);
|
|
160
165
|
}
|
|
@@ -218,6 +223,8 @@ const COMMANDS = [
|
|
|
218
223
|
aliases: ["mem"],
|
|
219
224
|
tier: "core",
|
|
220
225
|
options: [
|
|
226
|
+
{ flags: "--status", description: "Show memory status without changing files" },
|
|
227
|
+
{ flags: "--doctor", description: "Run memory health diagnostics" },
|
|
221
228
|
{ flags: "-v, --view", description: "View memory content" },
|
|
222
229
|
{ flags: "-e, --edit", description: "Edit memory interactively" },
|
|
223
230
|
{ flags: "-s, --sync", description: "Sync memory using AutoMemoryBridge" },
|
|
@@ -362,6 +369,8 @@ const COMMANDS = [
|
|
|
362
369
|
aliases: ["mem"],
|
|
363
370
|
tier: "extended",
|
|
364
371
|
options: [
|
|
372
|
+
{ flags: "--status", description: "Show memory status without changing files" },
|
|
373
|
+
{ flags: "--doctor", description: "Run memory health diagnostics" },
|
|
365
374
|
{ flags: "-v, --view", description: "View memory content" },
|
|
366
375
|
{ flags: "-e, --edit", description: "Edit memory interactively" },
|
|
367
376
|
{ flags: "-s, --sync", description: "Sync memory using AutoMemoryBridge" },
|
|
@@ -883,8 +892,11 @@ const COMMANDS = [
|
|
|
883
892
|
],
|
|
884
893
|
loader: async () => {
|
|
885
894
|
const { contextCommand } = await import('./chunks/context.mjs');
|
|
886
|
-
return async (options) => {
|
|
887
|
-
await contextCommand(
|
|
895
|
+
return async (options, action) => {
|
|
896
|
+
await contextCommand({
|
|
897
|
+
...options,
|
|
898
|
+
action
|
|
899
|
+
});
|
|
888
900
|
};
|
|
889
901
|
}
|
|
890
902
|
},
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import a from '../chunks/index2.mjs';
|
|
2
2
|
import { i as inquirer } from '../chunks/index3.mjs';
|
|
3
|
-
import { a as getMcpService, d as dynamicMcpRegistry, M as MCP_SERVICE_CONFIGS } from './ccjk.
|
|
3
|
+
import { a as getMcpService, d as dynamicMcpRegistry, M as MCP_SERVICE_CONFIGS } from './ccjk.miT0g_vA.mjs';
|
|
4
4
|
import { SETTINGS_FILE, CLAUDE_DIR, ClAUDE_CONFIG_FILE, CODEX_CONFIG_FILE } from '../chunks/constants.mjs';
|
|
5
5
|
import { exists, ensureDir } from '../chunks/fs-operations.mjs';
|
|
6
6
|
import { readJsonConfig, writeJsonConfig } from '../chunks/json-config.mjs';
|
|
@@ -1,187 +1,30 @@
|
|
|
1
1
|
import a from '../chunks/index2.mjs';
|
|
2
2
|
import { i as inquirer } from '../chunks/index3.mjs';
|
|
3
3
|
import 'node:child_process';
|
|
4
|
-
import { homedir } from 'node:os';
|
|
5
4
|
import process__default from 'node:process';
|
|
6
5
|
import { ensureI18nInitialized, i18n } from '../chunks/index5.mjs';
|
|
7
|
-
import { j as join } from './ccjk.bQ7Dh1g4.mjs';
|
|
8
6
|
|
|
9
|
-
const PLAYWRIGHT_PROFILES_DIR = join(homedir(), ".ccjk", "playwright");
|
|
10
|
-
function createPlaywrightMcpConfig(options = {}) {
|
|
11
|
-
const {
|
|
12
|
-
profile = "default",
|
|
13
|
-
headless = false,
|
|
14
|
-
browser = "chromium",
|
|
15
|
-
userDataDir
|
|
16
|
-
} = options;
|
|
17
|
-
const resolvedUserDataDir = userDataDir || join(PLAYWRIGHT_PROFILES_DIR, profile);
|
|
18
|
-
const args = ["-y", "@playwright/mcp@latest"];
|
|
19
|
-
args.push("--browser", browser);
|
|
20
|
-
args.push("--user-data-dir", resolvedUserDataDir);
|
|
21
|
-
if (headless) {
|
|
22
|
-
args.push("--headless");
|
|
23
|
-
}
|
|
24
|
-
return {
|
|
25
|
-
type: "stdio",
|
|
26
|
-
command: "npx",
|
|
27
|
-
args,
|
|
28
|
-
env: {}
|
|
29
|
-
};
|
|
30
|
-
}
|
|
31
7
|
const MCP_SERVICE_CONFIGS = [
|
|
32
|
-
// Documentation
|
|
8
|
+
// Documentation service - the only MCP we currently keep enabled in-product
|
|
33
9
|
{
|
|
34
10
|
id: "context7",
|
|
35
11
|
requiresApiKey: false,
|
|
36
|
-
config: {
|
|
37
|
-
type: "stdio",
|
|
38
|
-
command: "npx",
|
|
39
|
-
args: ["-y", "@upstash/context7-mcp@latest"],
|
|
40
|
-
env: {}
|
|
41
|
-
}
|
|
42
|
-
// Works on all platforms - no special requirements
|
|
43
|
-
},
|
|
44
|
-
{
|
|
45
|
-
id: "open-websearch",
|
|
46
|
-
requiresApiKey: false,
|
|
47
|
-
config: {
|
|
48
|
-
type: "stdio",
|
|
49
|
-
command: "npx",
|
|
50
|
-
args: ["-y", "open-websearch@latest"],
|
|
51
|
-
env: {
|
|
52
|
-
MODE: "stdio",
|
|
53
|
-
DEFAULT_SEARCH_ENGINE: "duckduckgo",
|
|
54
|
-
ALLOWED_SEARCH_ENGINES: "duckduckgo,bing,brave"
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
// Works on all platforms - no special requirements
|
|
58
|
-
},
|
|
59
|
-
{
|
|
60
|
-
id: "mcp-deepwiki",
|
|
61
|
-
requiresApiKey: false,
|
|
62
|
-
config: {
|
|
63
|
-
type: "stdio",
|
|
64
|
-
command: "npx",
|
|
65
|
-
args: ["-y", "mcp-deepwiki@latest"],
|
|
66
|
-
env: {}
|
|
67
|
-
}
|
|
68
|
-
// Works on all platforms - no special requirements
|
|
69
|
-
},
|
|
70
|
-
// Development Workflow Services
|
|
71
|
-
{
|
|
72
|
-
id: "spec-workflow",
|
|
73
|
-
requiresApiKey: false,
|
|
74
|
-
config: {
|
|
75
|
-
type: "stdio",
|
|
76
|
-
command: "npx",
|
|
77
|
-
args: ["-y", "@pimzino/spec-workflow-mcp@latest"],
|
|
78
|
-
env: {}
|
|
79
|
-
}
|
|
80
|
-
// Works on all platforms - no special requirements
|
|
81
|
-
},
|
|
82
|
-
{
|
|
83
|
-
id: "serena",
|
|
84
|
-
requiresApiKey: false,
|
|
85
|
-
config: {
|
|
86
|
-
type: "stdio",
|
|
87
|
-
command: "uvx",
|
|
88
|
-
args: ["--from", "git+https://github.com/oraios/serena", "serena", "start-mcp-server", "--context", "ide-assistant", "--enable-web-dashboard", "false"],
|
|
89
|
-
env: {}
|
|
90
|
-
},
|
|
91
|
-
platformRequirements: {
|
|
92
|
-
requiredCommands: ["uvx"]
|
|
93
|
-
// Requires uv/uvx to be installed
|
|
94
|
-
}
|
|
95
|
-
},
|
|
96
|
-
// Browser and Automation Services - Require GUI environment
|
|
97
|
-
{
|
|
98
|
-
id: "Playwright",
|
|
99
|
-
requiresApiKey: false,
|
|
100
|
-
config: createPlaywrightMcpConfig(),
|
|
101
|
-
// Uses default profile with chromium browser
|
|
102
|
-
platformRequirements: {
|
|
103
|
-
platforms: ["macos", "windows"],
|
|
104
|
-
// GUI required - exclude headless Linux/WSL/Termux
|
|
105
|
-
requiresGui: true
|
|
106
|
-
}
|
|
107
|
-
},
|
|
108
|
-
// Cross-session Memory Services
|
|
109
|
-
{
|
|
110
|
-
id: "intent-engine",
|
|
111
|
-
requiresApiKey: false,
|
|
112
12
|
defaultSelected: true,
|
|
113
13
|
config: {
|
|
114
14
|
type: "stdio",
|
|
115
15
|
command: "npx",
|
|
116
|
-
args: ["-y", "@
|
|
117
|
-
env: {}
|
|
118
|
-
}
|
|
119
|
-
// Works on all platforms - no special requirements
|
|
120
|
-
},
|
|
121
|
-
// Anthropic Official MCP Services - Universal
|
|
122
|
-
// Note: Removed low-value services: filesystem (buggy), puppeteer (duplicate of Playwright),
|
|
123
|
-
// memory (Claude has built-in memory), fetch (Claude has WebFetch), sequential-thinking (limited value)
|
|
124
|
-
{
|
|
125
|
-
id: "sqlite",
|
|
126
|
-
requiresApiKey: false,
|
|
127
|
-
config: {
|
|
128
|
-
type: "stdio",
|
|
129
|
-
command: "npx",
|
|
130
|
-
args: ["-y", "@anthropic-ai/mcp-server-sqlite@latest"],
|
|
16
|
+
args: ["-y", "@upstash/context7-mcp@latest"],
|
|
131
17
|
env: {}
|
|
132
18
|
}
|
|
133
|
-
// Works on all platforms - no special requirements
|
|
134
19
|
}
|
|
135
20
|
];
|
|
136
21
|
async function getMcpServices() {
|
|
137
22
|
ensureI18nInitialized();
|
|
138
23
|
const mcpServiceList = [
|
|
139
|
-
// Documentation and Search Services
|
|
140
24
|
{
|
|
141
25
|
id: "context7",
|
|
142
26
|
name: i18n.t("mcp:services.context7.name"),
|
|
143
27
|
description: i18n.t("mcp:services.context7.description")
|
|
144
|
-
},
|
|
145
|
-
{
|
|
146
|
-
id: "open-websearch",
|
|
147
|
-
name: i18n.t("mcp:services.open-websearch.name"),
|
|
148
|
-
description: i18n.t("mcp:services.open-websearch.description")
|
|
149
|
-
},
|
|
150
|
-
{
|
|
151
|
-
id: "mcp-deepwiki",
|
|
152
|
-
name: i18n.t("mcp:services.mcp-deepwiki.name"),
|
|
153
|
-
description: i18n.t("mcp:services.mcp-deepwiki.description")
|
|
154
|
-
},
|
|
155
|
-
// Development Workflow Services
|
|
156
|
-
{
|
|
157
|
-
id: "spec-workflow",
|
|
158
|
-
name: i18n.t("mcp:services.spec-workflow.name"),
|
|
159
|
-
description: i18n.t("mcp:services.spec-workflow.description")
|
|
160
|
-
},
|
|
161
|
-
{
|
|
162
|
-
id: "serena",
|
|
163
|
-
name: i18n.t("mcp:services.serena.name"),
|
|
164
|
-
description: i18n.t("mcp:services.serena.description")
|
|
165
|
-
},
|
|
166
|
-
// Browser and Automation Services
|
|
167
|
-
{
|
|
168
|
-
id: "Playwright",
|
|
169
|
-
name: i18n.t("mcp:services.playwright.name"),
|
|
170
|
-
description: i18n.t("mcp:services.playwright.description")
|
|
171
|
-
},
|
|
172
|
-
// Cross-session Memory Services
|
|
173
|
-
{
|
|
174
|
-
id: "intent-engine",
|
|
175
|
-
name: i18n.t("mcp:services.intent-engine.name"),
|
|
176
|
-
description: i18n.t("mcp:services.intent-engine.description")
|
|
177
|
-
},
|
|
178
|
-
// Anthropic Official MCP Services
|
|
179
|
-
// Note: Removed low-value services: filesystem (buggy), puppeteer (duplicate),
|
|
180
|
-
// memory (Claude built-in), fetch (Claude WebFetch), sequential-thinking (limited value)
|
|
181
|
-
{
|
|
182
|
-
id: "sqlite",
|
|
183
|
-
name: i18n.t("mcp:services.sqlite.name"),
|
|
184
|
-
description: i18n.t("mcp:services.sqlite.description")
|
|
185
28
|
}
|
|
186
29
|
];
|
|
187
30
|
return MCP_SERVICE_CONFIGS.map((config) => {
|
|
@@ -205,7 +48,7 @@ async function getMcpService(id) {
|
|
|
205
48
|
}
|
|
206
49
|
const DEFAULT_MCP_TOOL_SEARCH_CONFIG = {
|
|
207
50
|
mcpAutoEnableThreshold: 10,
|
|
208
|
-
excludedServices: ["mcp-search", "context7"
|
|
51
|
+
excludedServices: ["mcp-search", "context7"]
|
|
209
52
|
};
|
|
210
53
|
function getMcpToolSearchConfig() {
|
|
211
54
|
const env = process__default.env;
|