@fractalizer/mcp-cli 0.3.18 → 1.0.1

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 (120) hide show
  1. package/README.md +158 -266
  2. package/dist/commands/connect.command.d.ts +18 -15
  3. package/dist/commands/connect.command.d.ts.map +1 -1
  4. package/dist/commands/connect.command.js +66 -40
  5. package/dist/commands/connect.command.js.map +1 -1
  6. package/dist/commands/disconnect.command.d.ts +5 -17
  7. package/dist/commands/disconnect.command.d.ts.map +1 -1
  8. package/dist/commands/disconnect.command.js +4 -15
  9. package/dist/commands/disconnect.command.js.map +1 -1
  10. package/dist/commands/doctor.command.d.ts +34 -0
  11. package/dist/commands/doctor.command.d.ts.map +1 -0
  12. package/dist/commands/doctor.command.js +321 -0
  13. package/dist/commands/doctor.command.js.map +1 -0
  14. package/dist/commands/index.d.ts +1 -0
  15. package/dist/commands/index.d.ts.map +1 -1
  16. package/dist/commands/index.js +2 -0
  17. package/dist/commands/index.js.map +1 -1
  18. package/dist/commands/list.command.d.ts +4 -9
  19. package/dist/commands/list.command.d.ts.map +1 -1
  20. package/dist/commands/list.command.js +1 -5
  21. package/dist/commands/list.command.js.map +1 -1
  22. package/dist/commands/status.command.d.ts +6 -13
  23. package/dist/commands/status.command.d.ts.map +1 -1
  24. package/dist/commands/status.command.js +18 -12
  25. package/dist/commands/status.command.js.map +1 -1
  26. package/dist/commands/validate.command.d.ts +6 -11
  27. package/dist/commands/validate.command.d.ts.map +1 -1
  28. package/dist/commands/validate.command.js +15 -19
  29. package/dist/commands/validate.command.js.map +1 -1
  30. package/dist/connectors/base/base-connector.d.ts +31 -55
  31. package/dist/connectors/base/base-connector.d.ts.map +1 -1
  32. package/dist/connectors/base/base-connector.js +71 -57
  33. package/dist/connectors/base/base-connector.js.map +1 -1
  34. package/dist/connectors/base/configurable-connector.d.ts +89 -24
  35. package/dist/connectors/base/configurable-connector.d.ts.map +1 -1
  36. package/dist/connectors/base/configurable-connector.js +266 -23
  37. package/dist/connectors/base/configurable-connector.js.map +1 -1
  38. package/dist/connectors/base/connector.interface.d.ts +29 -20
  39. package/dist/connectors/base/connector.interface.d.ts.map +1 -1
  40. package/dist/connectors/base/index.d.ts +0 -1
  41. package/dist/connectors/base/index.d.ts.map +1 -1
  42. package/dist/connectors/base/index.js +0 -1
  43. package/dist/connectors/base/index.js.map +1 -1
  44. package/dist/connectors/claude-code/claude-code.connector.d.ts +171 -21
  45. package/dist/connectors/claude-code/claude-code.connector.d.ts.map +1 -1
  46. package/dist/connectors/claude-code/claude-code.connector.js +368 -43
  47. package/dist/connectors/claude-code/claude-code.connector.js.map +1 -1
  48. package/dist/connectors/connector-factory.d.ts +15 -15
  49. package/dist/connectors/connector-factory.d.ts.map +1 -1
  50. package/dist/connectors/connector-factory.js +61 -18
  51. package/dist/connectors/connector-factory.js.map +1 -1
  52. package/dist/connectors/index.d.ts +0 -4
  53. package/dist/connectors/index.d.ts.map +1 -1
  54. package/dist/connectors/index.js +2 -8
  55. package/dist/connectors/index.js.map +1 -1
  56. package/dist/connectors/registry.d.ts +20 -27
  57. package/dist/connectors/registry.d.ts.map +1 -1
  58. package/dist/connectors/registry.js +34 -34
  59. package/dist/connectors/registry.js.map +1 -1
  60. package/dist/tsconfig.tsbuildinfo +1 -1
  61. package/dist/types/{base.types.d.ts → client.types.d.ts} +37 -30
  62. package/dist/types/client.types.d.ts.map +1 -0
  63. package/dist/types/client.types.js +6 -0
  64. package/dist/types/client.types.js.map +1 -0
  65. package/dist/types/doctor.types.d.ts +91 -0
  66. package/dist/types/doctor.types.d.ts.map +1 -0
  67. package/dist/types/doctor.types.js +12 -0
  68. package/dist/types/doctor.types.js.map +1 -0
  69. package/dist/types/launch.types.d.ts +59 -0
  70. package/dist/types/launch.types.d.ts.map +1 -0
  71. package/dist/types/launch.types.js +6 -0
  72. package/dist/types/launch.types.js.map +1 -0
  73. package/dist/types.d.ts +23 -14
  74. package/dist/types.d.ts.map +1 -1
  75. package/dist/types.js +9 -2
  76. package/dist/types.js.map +1 -1
  77. package/dist/utils/command-executor.d.ts +39 -3
  78. package/dist/utils/command-executor.d.ts.map +1 -1
  79. package/dist/utils/command-executor.js +95 -8
  80. package/dist/utils/command-executor.js.map +1 -1
  81. package/dist/utils/config-manager.d.ts +25 -42
  82. package/dist/utils/config-manager.d.ts.map +1 -1
  83. package/dist/utils/config-manager.js +21 -49
  84. package/dist/utils/config-manager.js.map +1 -1
  85. package/dist/utils/index.d.ts +1 -0
  86. package/dist/utils/index.d.ts.map +1 -1
  87. package/dist/utils/index.js +1 -0
  88. package/dist/utils/index.js.map +1 -1
  89. package/dist/utils/interactive-prompter.d.ts +16 -64
  90. package/dist/utils/interactive-prompter.d.ts.map +1 -1
  91. package/dist/utils/interactive-prompter.js +12 -65
  92. package/dist/utils/interactive-prompter.js.map +1 -1
  93. package/dist/utils/launch-spec-helpers.d.ts +38 -0
  94. package/dist/utils/launch-spec-helpers.d.ts.map +1 -0
  95. package/dist/utils/launch-spec-helpers.js +131 -0
  96. package/dist/utils/launch-spec-helpers.js.map +1 -0
  97. package/package.json +2 -2
  98. package/dist/connectors/base/file-based-connector.d.ts +0 -97
  99. package/dist/connectors/base/file-based-connector.d.ts.map +0 -1
  100. package/dist/connectors/base/file-based-connector.js +0 -185
  101. package/dist/connectors/base/file-based-connector.js.map +0 -1
  102. package/dist/connectors/claude-desktop/claude-desktop.connector.d.ts +0 -38
  103. package/dist/connectors/claude-desktop/claude-desktop.connector.d.ts.map +0 -1
  104. package/dist/connectors/claude-desktop/claude-desktop.connector.js +0 -68
  105. package/dist/connectors/claude-desktop/claude-desktop.connector.js.map +0 -1
  106. package/dist/connectors/codex/codex.connector.d.ts +0 -51
  107. package/dist/connectors/codex/codex.connector.d.ts.map +0 -1
  108. package/dist/connectors/codex/codex.connector.js +0 -76
  109. package/dist/connectors/codex/codex.connector.js.map +0 -1
  110. package/dist/connectors/gemini/gemini.connector.d.ts +0 -41
  111. package/dist/connectors/gemini/gemini.connector.d.ts.map +0 -1
  112. package/dist/connectors/gemini/gemini.connector.js +0 -61
  113. package/dist/connectors/gemini/gemini.connector.js.map +0 -1
  114. package/dist/connectors/qwen/qwen.connector.d.ts +0 -41
  115. package/dist/connectors/qwen/qwen.connector.d.ts.map +0 -1
  116. package/dist/connectors/qwen/qwen.connector.js +0 -61
  117. package/dist/connectors/qwen/qwen.connector.js.map +0 -1
  118. package/dist/types/base.types.d.ts.map +0 -1
  119. package/dist/types/base.types.js +0 -6
  120. package/dist/types/base.types.js.map +0 -1
@@ -0,0 +1,131 @@
1
+ /**
2
+ * Утилиты для работы со спецификациями запуска MCP серверов.
3
+ *
4
+ * Извлечены из {@link BaseConnector.validateLaunchSpec} и
5
+ * {@link ConfigurableConnector.commandExistsOnDisk} для переиспользования
6
+ * в команде `doctor` без дублирования логики.
7
+ *
8
+ * @packageDocumentation
9
+ */
10
+ import * as path from 'node:path';
11
+ /**
12
+ * Список Node-флагов, требующих value (один следующий arg — это значение).
13
+ *
14
+ * Используется парсером argv для команды `node`: после такого флага следующий
15
+ * positional аргумент НЕ является скриптом. Источник — `node --help` / docs.
16
+ *
17
+ * Поддерживаются обе формы: `--flag value` и `--flag=value`. Для `--flag=value`
18
+ * значение зашито в сам arg и следующий arg не пропускается.
19
+ */
20
+ const NODE_FLAGS_WITH_VALUE = new Set([
21
+ '--import',
22
+ '--require',
23
+ '-r',
24
+ '--experimental-loader',
25
+ '--loader',
26
+ '--experimental-policy',
27
+ '--inspect-publish-uid',
28
+ '--cpu-prof-dir',
29
+ '--cpu-prof-name',
30
+ '--cpu-prof-interval',
31
+ '--heap-prof-dir',
32
+ '--heap-prof-name',
33
+ '--heap-prof-interval',
34
+ '--diagnostic-dir',
35
+ '--redirect-warnings',
36
+ '--report-dir',
37
+ '--report-directory',
38
+ '--report-filename',
39
+ '--report-signal',
40
+ '--tls-cipher-list',
41
+ '--tls-keylog',
42
+ '--use-openssl-ca',
43
+ '--use-bundled-ca',
44
+ '--max-http-header-size',
45
+ '--max-old-space-size',
46
+ '--max-semi-space-size',
47
+ '--openssl-config',
48
+ '--title',
49
+ '--unhandled-rejections',
50
+ '--v8-pool-size',
51
+ ]);
52
+ /**
53
+ * Проверить, является ли аргумент Node-флагом «без значения».
54
+ *
55
+ * Эвристика: всё, что начинается с `-` или `--` и не из {@link NODE_FLAGS_WITH_VALUE},
56
+ * считается флагом-without-value. Это покрывает `--no-warnings`,
57
+ * `--enable-source-maps`, `--inspect`, `--inspect-brk`, `--use-strict`,
58
+ * `--zero-fill-buffers` и т.п.
59
+ *
60
+ * Edge case: формы `--flag=value` (с `=`) всегда возвращают `true` — значение
61
+ * зашито в сам arg, следующий arg не пропускается.
62
+ */
63
+ function isNodeFlag(arg) {
64
+ return arg.startsWith('-');
65
+ }
66
+ /**
67
+ * Определить путь к исполняемому файлу, который реально нужно проверить на диске,
68
+ * из спецификации запуска.
69
+ *
70
+ * Логика выровнена с {@link BaseConnector.validateLaunchSpec}:
71
+ * - Если `spec.command` — абсолютный путь → возвращаем его.
72
+ * - Если `spec.command === 'node'` → парсим `args` как Node argv:
73
+ * пропускаем флаги-without-value (любые `-*`/`--*` без `=` не из whitelist)
74
+ * и пары `flag value` для флагов из {@link NODE_FLAGS_WITH_VALUE}.
75
+ * Первый positional аргумент после options — это путь к скрипту.
76
+ * Возвращаем его, только если он абсолютный (иначе `null`).
77
+ * - Во всех остальных случаях (`npx`, `pipx`, относительная команда из PATH) →
78
+ * возвращаем `null` (проверка на диске не применима).
79
+ *
80
+ * @param spec - Спецификация запуска
81
+ * @returns Абсолютный путь к проверяемому файлу или `null`
82
+ *
83
+ * @example
84
+ * ```typescript
85
+ * // node /abs/server.cjs → '/abs/server.cjs'
86
+ * // node --no-warnings /abs/server.cjs → '/abs/server.cjs'
87
+ * // node --import /abs/preload.mjs /abs/server.cjs → '/abs/server.cjs'
88
+ * // node --import=/abs/preload.mjs /abs/server.cjs → '/abs/server.cjs'
89
+ * // node --version → null (нет positional абсолютного пути)
90
+ * ```
91
+ */
92
+ export function resolveExecutablePath(spec) {
93
+ if (path.isAbsolute(spec.command)) {
94
+ return spec.command;
95
+ }
96
+ if (spec.command === 'node') {
97
+ return resolveNodeScriptPath(spec.args);
98
+ }
99
+ return null;
100
+ }
101
+ /**
102
+ * Найти путь к скрипту в Node argv.
103
+ *
104
+ * Алгоритм:
105
+ * 1. Идём по args слева направо.
106
+ * 2. Если arg вида `--flag=value` или `-f` (но не из {@link NODE_FLAGS_WITH_VALUE}) —
107
+ * это флаг-without-value, переходим к следующему.
108
+ * 3. Если arg ровно из {@link NODE_FLAGS_WITH_VALUE} — пропускаем следующий arg как value.
109
+ * 4. Первый non-flag positional argument — это путь к скрипту.
110
+ * 5. Возвращаем его, если абсолютный; иначе `null`.
111
+ */
112
+ function resolveNodeScriptPath(args) {
113
+ for (let i = 0; i < args.length; i++) {
114
+ const arg = args[i] ?? '';
115
+ if (!isNodeFlag(arg)) {
116
+ // Первый positional — это скрипт
117
+ return path.isAbsolute(arg) ? arg : null;
118
+ }
119
+ // Это флаг. Если форма '--flag=value' — value зашит, следующий arg не value.
120
+ if (arg.includes('=')) {
121
+ continue;
122
+ }
123
+ // Если флаг из known-with-value — пропускаем следующий аргумент как value.
124
+ if (NODE_FLAGS_WITH_VALUE.has(arg)) {
125
+ i++; // skip value
126
+ }
127
+ // Иначе — флаг-without-value (например, --no-warnings), просто продолжаем.
128
+ }
129
+ return null;
130
+ }
131
+ //# sourceMappingURL=launch-spec-helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"launch-spec-helpers.js","sourceRoot":"","sources":["../../src/utils/launch-spec-helpers.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAGlC;;;;;;;;GAQG;AACH,MAAM,qBAAqB,GAAwB,IAAI,GAAG,CAAC;IACzD,UAAU;IACV,WAAW;IACX,IAAI;IACJ,uBAAuB;IACvB,UAAU;IACV,uBAAuB;IACvB,uBAAuB;IACvB,gBAAgB;IAChB,iBAAiB;IACjB,qBAAqB;IACrB,iBAAiB;IACjB,kBAAkB;IAClB,sBAAsB;IACtB,kBAAkB;IAClB,qBAAqB;IACrB,cAAc;IACd,oBAAoB;IACpB,mBAAmB;IACnB,iBAAiB;IACjB,mBAAmB;IACnB,cAAc;IACd,kBAAkB;IAClB,kBAAkB;IAClB,wBAAwB;IACxB,sBAAsB;IACtB,uBAAuB;IACvB,kBAAkB;IAClB,SAAS;IACT,wBAAwB;IACxB,gBAAgB;CACjB,CAAC,CAAC;AAEH;;;;;;;;;;GAUG;AACH,SAAS,UAAU,CAAC,GAAW;IAC7B,OAAO,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;AAC7B,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,UAAU,qBAAqB,CAAC,IAAsB;IAC1D,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAClC,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IACD,IAAI,IAAI,CAAC,OAAO,KAAK,MAAM,EAAE,CAAC;QAC5B,OAAO,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1C,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAS,qBAAqB,CAAC,IAAuB;IACpD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC1B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACrB,iCAAiC;YACjC,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;QAC3C,CAAC;QACD,6EAA6E;QAC7E,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACtB,SAAS;QACX,CAAC;QACD,2EAA2E;QAC3E,IAAI,qBAAqB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACnC,CAAC,EAAE,CAAC,CAAC,aAAa;QACpB,CAAC;QACD,2EAA2E;IAC7E,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fractalizer/mcp-cli",
3
- "version": "0.3.18",
3
+ "version": "1.0.1",
4
4
  "description": "Generic CLI for MCP server connection management",
5
5
  "keywords": [
6
6
  "mcp",
@@ -73,7 +73,7 @@
73
73
  "validate:quiet": "npm run lint:quiet && npm run typecheck && npm run test:quiet && npm run cpd:quiet && npm run depcruise && npm run validate:docs"
74
74
  },
75
75
  "dependencies": {
76
- "@fractalizer/mcp-infrastructure": "^0.3.18",
76
+ "@fractalizer/mcp-infrastructure": "^1.0.1",
77
77
  "@iarna/toml": "^2.2.5",
78
78
  "chalk": "^5.6.2",
79
79
  "commander": "^14.0.3",
@@ -1,97 +0,0 @@
1
- /**
2
- * Базовый класс для file-based MCP коннекторов (JSON/TOML конфигурации)
3
- */
4
- import { BaseConnector } from './base-connector.js';
5
- import type { BaseMCPServerConfig, ConnectionStatus } from '../../types.js';
6
- /**
7
- * Формат конфигурационного файла
8
- */
9
- export type ConfigFormat = 'json' | 'toml';
10
- /**
11
- * Базовый класс для connectors, работающих с файлами конфигурации
12
- *
13
- * @template TConfig - Тип конфигурации MCP сервера
14
- * @template TKey - Ключ для серверов в конфиге ('mcpServers', 'mcp_servers' и т.д.)
15
- * @template TFormat - Формат файла ('json' или 'toml')
16
- *
17
- * @example
18
- * ```typescript
19
- * // JSON connector с ключом mcpServers
20
- * class MyConnector extends FileBasedConnector<MyServerConfig, 'mcpServers', 'json'> {
21
- * protected getConfigPath(): string {
22
- * return path.join(os.homedir(), '.my-client/config.json');
23
- * }
24
- * }
25
- *
26
- * // TOML connector с ключом mcp_servers
27
- * class MyTOMLConnector extends FileBasedConnector<MyServerConfig, 'mcp_servers', 'toml'> {
28
- * protected getConfigPath(): string {
29
- * return path.join(os.homedir(), '.my-client/config.toml');
30
- * }
31
- * }
32
- * ```
33
- */
34
- export declare abstract class FileBasedConnector<TConfig extends BaseMCPServerConfig = BaseMCPServerConfig, TKey extends string = 'mcpServers', TFormat extends ConfigFormat = 'json'> extends BaseConnector<TConfig> {
35
- /**
36
- * Получить путь к конфигурационному файлу
37
- * Должен быть реализован в подклассе
38
- */
39
- protected abstract getConfigPath(): string;
40
- /**
41
- * Получить имя MCP сервера для записи в конфигурацию
42
- * Должен быть реализован в подклассе
43
- */
44
- protected abstract getServerName(): string;
45
- /**
46
- * Получить относительный путь к точке входа сервера от projectPath
47
- * Должен быть реализован в подклассе
48
- */
49
- protected abstract getEntryPoint(): string;
50
- /**
51
- * Получить команду для запуска сервера
52
- * По умолчанию 'node', можно переопределить
53
- */
54
- protected getCommand(): string;
55
- /**
56
- * Получить ключ для серверов в конфиге
57
- * По умолчанию 'mcpServers', можно переопределить
58
- */
59
- protected getServerKey(): TKey;
60
- /**
61
- * Получить формат файла
62
- * По умолчанию 'json', можно переопределить
63
- */
64
- protected getConfigFormat(): TFormat;
65
- /**
66
- * Проверить, установлен ли клиент
67
- * По умолчанию проверяет наличие директории конфига
68
- */
69
- isInstalled(): Promise<boolean>;
70
- /**
71
- * Получить статус подключения
72
- */
73
- getStatus(): Promise<ConnectionStatus>;
74
- /**
75
- * Подключить MCP сервер
76
- *
77
- * @param serverConfig - Конфигурация сервера (должна содержать env с переменными окружения)
78
- */
79
- connect(serverConfig: TConfig): Promise<void>;
80
- /**
81
- * Отключить MCP сервер
82
- */
83
- disconnect(): Promise<void>;
84
- /**
85
- * Прочитать конфигурацию из файла
86
- */
87
- private readConfig;
88
- /**
89
- * Записать конфигурацию в файл
90
- */
91
- private writeConfig;
92
- /**
93
- * Создать дефолтную конфигурацию
94
- */
95
- private createDefaultConfig;
96
- }
97
- //# sourceMappingURL=file-based-connector.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"file-based-connector.d.ts","sourceRoot":"","sources":["../../../src/connectors/base/file-based-connector.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,KAAK,EACV,mBAAmB,EACnB,gBAAgB,EAGjB,MAAM,gBAAgB,CAAC;AAGxB;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,MAAM,CAAC;AAS3C;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,8BAAsB,kBAAkB,CACtC,OAAO,SAAS,mBAAmB,GAAG,mBAAmB,EACzD,IAAI,SAAS,MAAM,GAAG,YAAY,EAClC,OAAO,SAAS,YAAY,GAAG,MAAM,CACrC,SAAQ,aAAa,CAAC,OAAO,CAAC;IAC9B;;;OAGG;IACH,SAAS,CAAC,QAAQ,CAAC,aAAa,IAAI,MAAM;IAE1C;;;OAGG;IACH,SAAS,CAAC,QAAQ,CAAC,aAAa,IAAI,MAAM;IAE1C;;;OAGG;IACH,SAAS,CAAC,QAAQ,CAAC,aAAa,IAAI,MAAM;IAE1C;;;OAGG;IACH,SAAS,CAAC,UAAU,IAAI,MAAM;IAI9B;;;OAGG;IACH,SAAS,CAAC,YAAY,IAAI,IAAI;IAI9B;;;OAGG;IACH,SAAS,CAAC,eAAe,IAAI,OAAO;IAIpC;;;OAGG;IACG,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAKrC;;OAEG;IACG,SAAS,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAiC5C;;;;OAIG;IACG,OAAO,CAAC,YAAY,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAmCnD;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAmBjC;;OAEG;YACW,UAAU;IAWxB;;OAEG;YACW,WAAW;IAWzB;;OAEG;IACH,OAAO,CAAC,mBAAmB;CAI5B"}
@@ -1,185 +0,0 @@
1
- /**
2
- * Базовый класс для file-based MCP коннекторов (JSON/TOML конфигурации)
3
- */
4
- import * as path from 'node:path';
5
- import { BaseConnector } from './base-connector.js';
6
- import { FileManager } from '../../utils/file-manager.js';
7
- /**
8
- * Type guard для проверки Error
9
- */
10
- function isError(error) {
11
- return error instanceof Error;
12
- }
13
- /**
14
- * Базовый класс для connectors, работающих с файлами конфигурации
15
- *
16
- * @template TConfig - Тип конфигурации MCP сервера
17
- * @template TKey - Ключ для серверов в конфиге ('mcpServers', 'mcp_servers' и т.д.)
18
- * @template TFormat - Формат файла ('json' или 'toml')
19
- *
20
- * @example
21
- * ```typescript
22
- * // JSON connector с ключом mcpServers
23
- * class MyConnector extends FileBasedConnector<MyServerConfig, 'mcpServers', 'json'> {
24
- * protected getConfigPath(): string {
25
- * return path.join(os.homedir(), '.my-client/config.json');
26
- * }
27
- * }
28
- *
29
- * // TOML connector с ключом mcp_servers
30
- * class MyTOMLConnector extends FileBasedConnector<MyServerConfig, 'mcp_servers', 'toml'> {
31
- * protected getConfigPath(): string {
32
- * return path.join(os.homedir(), '.my-client/config.toml');
33
- * }
34
- * }
35
- * ```
36
- */
37
- export class FileBasedConnector extends BaseConnector {
38
- /**
39
- * Получить команду для запуска сервера
40
- * По умолчанию 'node', можно переопределить
41
- */
42
- getCommand() {
43
- return 'node';
44
- }
45
- /**
46
- * Получить ключ для серверов в конфиге
47
- * По умолчанию 'mcpServers', можно переопределить
48
- */
49
- getServerKey() {
50
- return 'mcpServers';
51
- }
52
- /**
53
- * Получить формат файла
54
- * По умолчанию 'json', можно переопределить
55
- */
56
- getConfigFormat() {
57
- return 'json';
58
- }
59
- /**
60
- * Проверить, установлен ли клиент
61
- * По умолчанию проверяет наличие директории конфига
62
- */
63
- async isInstalled() {
64
- const configDir = path.dirname(this.getConfigPath());
65
- return FileManager.exists(configDir);
66
- }
67
- /**
68
- * Получить статус подключения
69
- */
70
- async getStatus() {
71
- try {
72
- const configPath = this.getConfigPath();
73
- if (!(await FileManager.exists(configPath))) {
74
- return { connected: false, error: 'Конфигурационный файл не найден' };
75
- }
76
- const config = await this.readConfig();
77
- const serverKey = this.getServerKey();
78
- const servers = config[serverKey];
79
- const serverName = this.getServerName();
80
- if (servers?.[serverName]) {
81
- return {
82
- connected: true,
83
- details: {
84
- configPath,
85
- metadata: { serverConfig: servers[serverName] },
86
- },
87
- };
88
- }
89
- return { connected: false };
90
- }
91
- catch (error) {
92
- const errorMessage = isError(error) ? error.message : String(error);
93
- return {
94
- connected: false,
95
- error: `Ошибка чтения конфига: ${errorMessage}`,
96
- };
97
- }
98
- }
99
- /**
100
- * Подключить MCP сервер
101
- *
102
- * @param serverConfig - Конфигурация сервера (должна содержать env с переменными окружения)
103
- */
104
- async connect(serverConfig) {
105
- const configPath = this.getConfigPath();
106
- const configDir = path.dirname(configPath);
107
- // Создать директорию если не существует
108
- await FileManager.ensureDir(configDir);
109
- // Прочитать существующую конфигурацию или создать новую
110
- let config;
111
- if (await FileManager.exists(configPath)) {
112
- config = await this.readConfig();
113
- }
114
- else {
115
- config = this.createDefaultConfig();
116
- }
117
- // Добавить/обновить MCP сервер
118
- const serverKey = this.getServerKey();
119
- config[serverKey] ??= {};
120
- // Type assertion needed for generic type modification
121
- const servers = config[serverKey];
122
- const serverName = this.getServerName();
123
- const entryPoint = this.getEntryPoint();
124
- const command = this.getCommand();
125
- servers[serverName] = {
126
- command,
127
- args: [path.join(serverConfig.projectPath, entryPoint)],
128
- env: serverConfig.env ?? {},
129
- };
130
- // Записать конфигурацию
131
- await this.writeConfig(config);
132
- }
133
- /**
134
- * Отключить MCP сервер
135
- */
136
- async disconnect() {
137
- const configPath = this.getConfigPath();
138
- if (!(await FileManager.exists(configPath))) {
139
- return; // Ничего не делаем, если файла нет
140
- }
141
- const config = await this.readConfig();
142
- const serverKey = this.getServerKey();
143
- const servers = config[serverKey];
144
- const serverName = this.getServerName();
145
- if (servers?.[serverName]) {
146
- // Type assertion needed for generic type modification
147
- delete servers[serverName];
148
- await this.writeConfig(config);
149
- }
150
- }
151
- /**
152
- * Прочитать конфигурацию из файла
153
- */
154
- async readConfig() {
155
- const configPath = this.getConfigPath();
156
- const format = this.getConfigFormat();
157
- if (format === 'json') {
158
- return FileManager.readJSON(configPath);
159
- }
160
- else {
161
- return FileManager.readTOML(configPath);
162
- }
163
- }
164
- /**
165
- * Записать конфигурацию в файл
166
- */
167
- async writeConfig(config) {
168
- const configPath = this.getConfigPath();
169
- const format = this.getConfigFormat();
170
- if (format === 'json') {
171
- await FileManager.writeJSON(configPath, config);
172
- }
173
- else {
174
- await FileManager.writeTOML(configPath, config);
175
- }
176
- }
177
- /**
178
- * Создать дефолтную конфигурацию
179
- */
180
- createDefaultConfig() {
181
- const serverKey = this.getServerKey();
182
- return { [serverKey]: {} };
183
- }
184
- }
185
- //# sourceMappingURL=file-based-connector.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"file-based-connector.js","sourceRoot":"","sources":["../../../src/connectors/base/file-based-connector.ts"],"names":[],"mappings":"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"}
@@ -1,38 +0,0 @@
1
- /**
2
- * Коннектор для Claude Desktop
3
- */
4
- import { FileBasedConnector } from '../base/file-based-connector.js';
5
- import type { BaseMCPServerConfig, MCPClientInfo } from '../../types.js';
6
- /**
7
- * Коннектор для Claude Desktop приложения
8
- * Поддерживает macOS, Linux и Windows
9
- *
10
- * @template TConfig - Тип конфигурации MCP сервера
11
- */
12
- export declare class ClaudeDesktopConnector<TConfig extends BaseMCPServerConfig = BaseMCPServerConfig> extends FileBasedConnector<TConfig, 'mcpServers', 'json'> {
13
- private readonly configPath;
14
- private readonly serverName;
15
- private readonly entryPoint;
16
- /**
17
- * @param serverName - Имя MCP сервера для записи в конфигурацию
18
- * @param entryPoint - Относительный путь к точке входа сервера от projectPath
19
- */
20
- constructor(serverName: string, entryPoint: string);
21
- /**
22
- * Получить информацию о клиенте
23
- */
24
- getClientInfo(): MCPClientInfo;
25
- /**
26
- * Получить путь к конфигурационному файлу
27
- */
28
- protected getConfigPath(): string;
29
- /**
30
- * Получить имя MCP сервера
31
- */
32
- protected getServerName(): string;
33
- /**
34
- * Получить точку входа сервера
35
- */
36
- protected getEntryPoint(): string;
37
- }
38
- //# sourceMappingURL=claude-desktop.connector.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"claude-desktop.connector.d.ts","sourceRoot":"","sources":["../../../src/connectors/claude-desktop/claude-desktop.connector.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,KAAK,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAEzE;;;;;GAKG;AACH,qBAAa,sBAAsB,CACjC,OAAO,SAAS,mBAAmB,GAAG,mBAAmB,CACzD,SAAQ,kBAAkB,CAAC,OAAO,EAAE,YAAY,EAAE,MAAM,CAAC;IACzD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IAEpC;;;OAGG;gBACS,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM;IAsBlD;;OAEG;IACH,aAAa,IAAI,aAAa;IAU9B;;OAEG;IACH,SAAS,CAAC,aAAa,IAAI,MAAM;IAIjC;;OAEG;IACH,SAAS,CAAC,aAAa,IAAI,MAAM;IAIjC;;OAEG;IACH,SAAS,CAAC,aAAa,IAAI,MAAM;CAGlC"}
@@ -1,68 +0,0 @@
1
- /**
2
- * Коннектор для Claude Desktop
3
- */
4
- import * as os from 'node:os';
5
- import * as path from 'node:path';
6
- import { FileBasedConnector } from '../base/file-based-connector.js';
7
- /**
8
- * Коннектор для Claude Desktop приложения
9
- * Поддерживает macOS, Linux и Windows
10
- *
11
- * @template TConfig - Тип конфигурации MCP сервера
12
- */
13
- export class ClaudeDesktopConnector extends FileBasedConnector {
14
- configPath;
15
- serverName;
16
- entryPoint;
17
- /**
18
- * @param serverName - Имя MCP сервера для записи в конфигурацию
19
- * @param entryPoint - Относительный путь к точке входа сервера от projectPath
20
- */
21
- constructor(serverName, entryPoint) {
22
- super();
23
- this.serverName = serverName;
24
- this.entryPoint = entryPoint;
25
- const platform = os.platform();
26
- if (platform === 'darwin') {
27
- this.configPath = path.join(os.homedir(), 'Library/Application Support/Claude/claude_desktop_config.json');
28
- }
29
- else if (platform === 'linux') {
30
- this.configPath = path.join(os.homedir(), '.config/claude/claude_desktop_config.json');
31
- }
32
- else {
33
- // Windows
34
- this.configPath = path.join(process.env['APPDATA'] ?? '', 'Claude/claude_desktop_config.json');
35
- }
36
- }
37
- /**
38
- * Получить информацию о клиенте
39
- */
40
- getClientInfo() {
41
- return {
42
- name: 'claude-desktop',
43
- displayName: 'Claude Desktop',
44
- description: 'Официальное десктопное приложение Claude от Anthropic',
45
- configPath: this.configPath,
46
- platforms: ['darwin', 'linux', 'win32'],
47
- };
48
- }
49
- /**
50
- * Получить путь к конфигурационному файлу
51
- */
52
- getConfigPath() {
53
- return this.configPath;
54
- }
55
- /**
56
- * Получить имя MCP сервера
57
- */
58
- getServerName() {
59
- return this.serverName;
60
- }
61
- /**
62
- * Получить точку входа сервера
63
- */
64
- getEntryPoint() {
65
- return this.entryPoint;
66
- }
67
- }
68
- //# sourceMappingURL=claude-desktop.connector.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"claude-desktop.connector.js","sourceRoot":"","sources":["../../../src/connectors/claude-desktop/claude-desktop.connector.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAGrE;;;;;GAKG;AACH,MAAM,OAAO,sBAEX,SAAQ,kBAAiD;IACxC,UAAU,CAAS;IACnB,UAAU,CAAS;IACnB,UAAU,CAAS;IAEpC;;;OAGG;IACH,YAAY,UAAkB,EAAE,UAAkB;QAChD,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAE7B,MAAM,QAAQ,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;QAC/B,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC1B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,CACzB,EAAE,CAAC,OAAO,EAAE,EACZ,+DAA+D,CAChE,CAAC;QACJ,CAAC;aAAM,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;YAChC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,2CAA2C,CAAC,CAAC;QACzF,CAAC;aAAM,CAAC;YACN,UAAU;YACV,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,CACzB,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,EAC5B,mCAAmC,CACpC,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACH,aAAa;QACX,OAAO;YACL,IAAI,EAAE,gBAAgB;YACtB,WAAW,EAAE,gBAAgB;YAC7B,WAAW,EAAE,uDAAuD;YACpE,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,SAAS,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC;SACxC,CAAC;IACJ,CAAC;IAED;;OAEG;IACO,aAAa;QACrB,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED;;OAEG;IACO,aAAa;QACrB,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED;;OAEG;IACO,aAAa;QACrB,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;CACF"}
@@ -1,51 +0,0 @@
1
- /**
2
- * Коннектор для Codex
3
- *
4
- * @deprecated Используйте `createConnector('codex', serverName, entryPoint)` из connector-factory.ts
5
- */
6
- import { FileBasedConnector } from '../base/file-based-connector.js';
7
- import type { BaseMCPServerConfig, MCPClientInfo } from '../../types.js';
8
- /**
9
- * Коннектор для Codex CLI от OpenAI
10
- * Codex использует TOML конфигурацию в ~/.codex/config.toml
11
- *
12
- * @deprecated Используйте `createConnector('codex', serverName, entryPoint)` из connector-factory.ts
13
- * @template TConfig - Тип конфигурации MCP сервера
14
- */
15
- export declare class CodexConnector<TConfig extends BaseMCPServerConfig = BaseMCPServerConfig> extends FileBasedConnector<TConfig, 'mcp_servers', 'toml'> {
16
- private readonly configPath;
17
- private readonly serverName;
18
- private readonly entryPoint;
19
- /**
20
- * @param serverName - Имя MCP сервера для записи в конфигурацию
21
- * @param entryPoint - Относительный путь к точке входа сервера от projectPath
22
- */
23
- constructor(serverName: string, entryPoint: string);
24
- /**
25
- * Получить информацию о клиенте
26
- */
27
- getClientInfo(): MCPClientInfo;
28
- /**
29
- * Получить путь к конфигурационному файлу
30
- */
31
- protected getConfigPath(): string;
32
- /**
33
- * Получить имя MCP сервера
34
- */
35
- protected getServerName(): string;
36
- /**
37
- * Получить точку входа сервера
38
- */
39
- protected getEntryPoint(): string;
40
- /**
41
- * Получить ключ для серверов в конфиге
42
- * Codex использует 'mcp_servers' вместо 'mcpServers'
43
- */
44
- protected getServerKey(): 'mcp_servers';
45
- /**
46
- * Получить формат файла
47
- * Codex использует TOML формат
48
- */
49
- protected getConfigFormat(): 'toml';
50
- }
51
- //# sourceMappingURL=codex.connector.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"codex.connector.d.ts","sourceRoot":"","sources":["../../../src/connectors/codex/codex.connector.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,KAAK,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAEzE;;;;;;GAMG;AACH,qBAAa,cAAc,CACzB,OAAO,SAAS,mBAAmB,GAAG,mBAAmB,CACzD,SAAQ,kBAAkB,CAAC,OAAO,EAAE,aAAa,EAAE,MAAM,CAAC;IAC1D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IAEpC;;;OAGG;gBACS,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM;IAOlD;;OAEG;IACH,aAAa,IAAI,aAAa;IAW9B;;OAEG;IACH,SAAS,CAAC,aAAa,IAAI,MAAM;IAIjC;;OAEG;IACH,SAAS,CAAC,aAAa,IAAI,MAAM;IAIjC;;OAEG;IACH,SAAS,CAAC,aAAa,IAAI,MAAM;IAIjC;;;OAGG;cACgB,YAAY,IAAI,aAAa;IAIhD;;;OAGG;cACgB,eAAe,IAAI,MAAM;CAG7C"}