@teambit/cli-mcp-server 0.0.1 → 0.0.3
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.docs.mdx +3 -1
- package/dist/README.docs.mdx +3 -1
- package/dist/cli-mcp-server.main.runtime.d.ts +13 -4
- package/dist/cli-mcp-server.main.runtime.js +133 -52
- package/dist/cli-mcp-server.main.runtime.js.map +1 -1
- package/dist/mcp-server.cmd.d.ts +1 -0
- package/dist/mcp-server.cmd.js +1 -1
- package/dist/mcp-server.cmd.js.map +1 -1
- package/dist/{preview-1746760877801.js → preview-1747192807532.js} +1 -1
- package/package.json +8 -5
package/README.docs.mdx
CHANGED
|
@@ -94,7 +94,7 @@ The Bit CLI MCP Server operates in two modes:
|
|
|
94
94
|
|
|
95
95
|
### Default Mode
|
|
96
96
|
|
|
97
|
-
In default mode, the server exposes a focused set of essential Bit CLI commands (~
|
|
97
|
+
In default mode, the server exposes a focused set of essential Bit CLI commands (~22 tools). This ensures optimal performance and safety. These are the most commonly used Bit operations:
|
|
98
98
|
|
|
99
99
|
- `bit_status`: Show component status and potential issues
|
|
100
100
|
- `bit_list`: List components in a workspace or remote scope
|
|
@@ -118,6 +118,8 @@ In default mode, the server exposes a focused set of essential Bit CLI commands
|
|
|
118
118
|
- `bit_templates`: List available templates
|
|
119
119
|
- `bit_reset`: Revert tags or snaps
|
|
120
120
|
- `bit_checkout`: Switch versions or remove changes
|
|
121
|
+
- `bit_remote_search`: Search for components in remote scopes
|
|
122
|
+
- `bit_remote_get_schema`: Retrieve component API schema from remote scopes
|
|
121
123
|
|
|
122
124
|
### Extended Mode (--extended)
|
|
123
125
|
|
package/dist/README.docs.mdx
CHANGED
|
@@ -94,7 +94,7 @@ The Bit CLI MCP Server operates in two modes:
|
|
|
94
94
|
|
|
95
95
|
### Default Mode
|
|
96
96
|
|
|
97
|
-
In default mode, the server exposes a focused set of essential Bit CLI commands (~
|
|
97
|
+
In default mode, the server exposes a focused set of essential Bit CLI commands (~22 tools). This ensures optimal performance and safety. These are the most commonly used Bit operations:
|
|
98
98
|
|
|
99
99
|
- `bit_status`: Show component status and potential issues
|
|
100
100
|
- `bit_list`: List components in a workspace or remote scope
|
|
@@ -118,6 +118,8 @@ In default mode, the server exposes a focused set of essential Bit CLI commands
|
|
|
118
118
|
- `bit_templates`: List available templates
|
|
119
119
|
- `bit_reset`: Revert tags or snaps
|
|
120
120
|
- `bit_checkout`: Switch versions or remove changes
|
|
121
|
+
- `bit_remote_search`: Search for components in remote scopes
|
|
122
|
+
- `bit_remote_get_schema`: Retrieve component API schema from remote scopes
|
|
121
123
|
|
|
122
124
|
### Extended Mode (--extended)
|
|
123
125
|
|
|
@@ -1,19 +1,28 @@
|
|
|
1
1
|
import { CLIMain } from '@teambit/cli';
|
|
2
2
|
import { Logger, LoggerMain } from '@teambit/logger';
|
|
3
|
+
import { Http } from '@teambit/scope.network';
|
|
3
4
|
export declare class CliMcpServerMain {
|
|
4
5
|
private cli;
|
|
5
6
|
private logger;
|
|
7
|
+
private bitBin;
|
|
8
|
+
private _http;
|
|
6
9
|
constructor(cli: CLIMain, logger: Logger);
|
|
7
|
-
|
|
8
|
-
private buildZodSchema;
|
|
9
|
-
private buildCommandArgs;
|
|
10
|
-
private registerToolForCommand;
|
|
10
|
+
getHttp(): Promise<Http>;
|
|
11
11
|
runMcpServer(options: {
|
|
12
12
|
extended?: boolean;
|
|
13
13
|
includeOnly?: string;
|
|
14
14
|
includeAdditional?: string;
|
|
15
15
|
exclude?: string;
|
|
16
|
+
bitBin?: string;
|
|
16
17
|
}): Promise<void>;
|
|
18
|
+
private shouldIncludeCommand;
|
|
19
|
+
private buildZodSchema;
|
|
20
|
+
private buildCommandArgs;
|
|
21
|
+
private getToolName;
|
|
22
|
+
private registerToolForCommand;
|
|
23
|
+
private registerToolForRemote;
|
|
24
|
+
private registerRemoteSearchTool;
|
|
25
|
+
private registerGetSchemaTool;
|
|
17
26
|
private processSubCommands;
|
|
18
27
|
private runBit;
|
|
19
28
|
static slots: never[];
|
|
@@ -60,6 +60,20 @@ function _logger() {
|
|
|
60
60
|
};
|
|
61
61
|
return data;
|
|
62
62
|
}
|
|
63
|
+
function _scope() {
|
|
64
|
+
const data = require("@teambit/scope.network");
|
|
65
|
+
_scope = function () {
|
|
66
|
+
return data;
|
|
67
|
+
};
|
|
68
|
+
return data;
|
|
69
|
+
}
|
|
70
|
+
function _legacy() {
|
|
71
|
+
const data = require("@teambit/legacy.constants");
|
|
72
|
+
_legacy = function () {
|
|
73
|
+
return data;
|
|
74
|
+
};
|
|
75
|
+
return data;
|
|
76
|
+
}
|
|
63
77
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
64
78
|
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
65
79
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
@@ -68,6 +82,72 @@ class CliMcpServerMain {
|
|
|
68
82
|
constructor(cli, logger) {
|
|
69
83
|
this.cli = cli;
|
|
70
84
|
this.logger = logger;
|
|
85
|
+
_defineProperty(this, "bitBin", 'bit');
|
|
86
|
+
_defineProperty(this, "_http", void 0);
|
|
87
|
+
}
|
|
88
|
+
async getHttp() {
|
|
89
|
+
if (!this._http) {
|
|
90
|
+
this._http = await _scope().Http.connect(_legacy().SYMPHONY_GRAPHQL, _legacy().CENTRAL_BIT_HUB_NAME);
|
|
91
|
+
}
|
|
92
|
+
return this._http;
|
|
93
|
+
}
|
|
94
|
+
async runMcpServer(options) {
|
|
95
|
+
this.logger.debug(`[MCP-DEBUG] Starting MCP server with options: ${JSON.stringify(options)}`);
|
|
96
|
+
const commands = this.cli.commands;
|
|
97
|
+
const extended = Boolean(options.extended);
|
|
98
|
+
this.bitBin = options.bitBin || this.bitBin;
|
|
99
|
+
// Default set of tools to include
|
|
100
|
+
const defaultTools = new Set(['status', 'list', 'add', 'init', 'show', 'tag', 'snap', 'import', 'export', 'remove', 'log', 'test', 'diff', 'install', 'lane show', 'lane create', 'lane switch', 'lane merge', 'create', 'templates', 'reset', 'checkout', 'remote-search', 'remote-get-schema']);
|
|
101
|
+
|
|
102
|
+
// Tools to always exclude
|
|
103
|
+
const alwaysExcludeTools = new Set(['login', 'logout', 'completion', 'mcp-server', 'start', 'run-action', 'watch', 'run', 'resume-export', 'server', 'serve-preview']);
|
|
104
|
+
|
|
105
|
+
// Parse command strings from flag options
|
|
106
|
+
let includeOnlySet;
|
|
107
|
+
if (options.includeOnly) {
|
|
108
|
+
includeOnlySet = new Set(options.includeOnly.split(',').map(cmd => cmd.trim()));
|
|
109
|
+
this.logger.debug(`[MCP-DEBUG] Including only commands: ${Array.from(includeOnlySet).join(', ')}`);
|
|
110
|
+
}
|
|
111
|
+
let additionalCommandsSet;
|
|
112
|
+
if (options.includeAdditional) {
|
|
113
|
+
additionalCommandsSet = new Set(options.includeAdditional.split(',').map(cmd => cmd.trim()));
|
|
114
|
+
this.logger.debug(`[MCP-DEBUG] Including additional commands: ${Array.from(additionalCommandsSet).join(', ')}`);
|
|
115
|
+
}
|
|
116
|
+
let userExcludeSet;
|
|
117
|
+
if (options.exclude) {
|
|
118
|
+
userExcludeSet = new Set(options.exclude.split(',').map(cmd => cmd.trim()));
|
|
119
|
+
this.logger.debug(`[MCP-DEBUG] Excluding commands: ${Array.from(userExcludeSet).join(', ')}`);
|
|
120
|
+
}
|
|
121
|
+
const server = new (_mcp().McpServer)({
|
|
122
|
+
name: 'bit-cli-mcp',
|
|
123
|
+
version: '0.0.1'
|
|
124
|
+
});
|
|
125
|
+
const filterOptions = {
|
|
126
|
+
defaultTools,
|
|
127
|
+
additionalCommandsSet,
|
|
128
|
+
userExcludeSet,
|
|
129
|
+
alwaysExcludeTools,
|
|
130
|
+
extended,
|
|
131
|
+
includeOnlySet
|
|
132
|
+
};
|
|
133
|
+
commands.forEach(cmd => {
|
|
134
|
+
const cmdName = (0, _cli().getCommandName)(cmd);
|
|
135
|
+
if (this.shouldIncludeCommand(cmdName, filterOptions)) {
|
|
136
|
+
this.registerToolForCommand(server, cmd);
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
// Process sub-commands
|
|
140
|
+
if (cmd.commands && cmd.commands.length) {
|
|
141
|
+
this.processSubCommands(server, cmd, filterOptions);
|
|
142
|
+
}
|
|
143
|
+
});
|
|
144
|
+
const remoteCommands = ['remote-search', 'remote-get-schema'];
|
|
145
|
+
remoteCommands.forEach(cmdName => {
|
|
146
|
+
if (this.shouldIncludeCommand(cmdName, filterOptions)) {
|
|
147
|
+
this.registerToolForRemote(server, cmdName);
|
|
148
|
+
}
|
|
149
|
+
});
|
|
150
|
+
await server.connect(new (_stdio().StdioServerTransport)());
|
|
71
151
|
}
|
|
72
152
|
shouldIncludeCommand(cmdName, options) {
|
|
73
153
|
// Always exclude certain commands
|
|
@@ -148,11 +228,13 @@ class CliMcpServerMain {
|
|
|
148
228
|
});
|
|
149
229
|
return args;
|
|
150
230
|
}
|
|
231
|
+
getToolName(name) {
|
|
232
|
+
// replace white spaces (\s) and dashes (-) with underscores (_)
|
|
233
|
+
return `bit_${name}`.replace(/[-\s]/g, '_');
|
|
234
|
+
}
|
|
151
235
|
registerToolForCommand(server, cmd, parentCmd) {
|
|
152
236
|
const cmdName = parentCmd ? `${(0, _cli().getCommandName)(parentCmd)} ${(0, _cli().getCommandName)(cmd)}` : (0, _cli().getCommandName)(cmd);
|
|
153
|
-
|
|
154
|
-
// replace white spaces (\s) and dashes (-) with underscores (_)
|
|
155
|
-
const toolName = `bit_${cmdName}`.replace(/[-\s]/g, '_');
|
|
237
|
+
const toolName = this.getToolName(cmdName);
|
|
156
238
|
const description = `${cmd.description}${cmd.extendedDescription ? `.\n(${cmd.extendedDescription})` : ''}`;
|
|
157
239
|
const config = {
|
|
158
240
|
name: cmdName,
|
|
@@ -166,57 +248,56 @@ class CliMcpServerMain {
|
|
|
166
248
|
return this.runBit(argsToRun, params.cwd);
|
|
167
249
|
});
|
|
168
250
|
}
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
// Default set of tools to include
|
|
175
|
-
const defaultTools = new Set(['status', 'list', 'add', 'init', 'show', 'tag', 'snap', 'import', 'export', 'remove', 'log', 'test', 'diff', 'install', 'lane show', 'lane create', 'lane switch', 'lane merge', 'create', 'templates', 'reset', 'checkout']);
|
|
176
|
-
|
|
177
|
-
// Tools to always exclude
|
|
178
|
-
const alwaysExcludeTools = new Set(['login', 'logout', 'completion', 'mcp-server', 'start', 'run-action', 'watch', 'run', 'resume-export', 'server', 'serve-preview']);
|
|
179
|
-
|
|
180
|
-
// Parse command strings from flag options
|
|
181
|
-
let includeOnlySet;
|
|
182
|
-
if (options.includeOnly) {
|
|
183
|
-
includeOnlySet = new Set(options.includeOnly.split(',').map(cmd => cmd.trim()));
|
|
184
|
-
this.logger.debug(`[MCP-DEBUG] Including only commands: ${Array.from(includeOnlySet).join(', ')}`);
|
|
185
|
-
}
|
|
186
|
-
let additionalCommandsSet;
|
|
187
|
-
if (options.includeAdditional) {
|
|
188
|
-
additionalCommandsSet = new Set(options.includeAdditional.split(',').map(cmd => cmd.trim()));
|
|
189
|
-
this.logger.debug(`[MCP-DEBUG] Including additional commands: ${Array.from(additionalCommandsSet).join(', ')}`);
|
|
251
|
+
registerToolForRemote(server, name) {
|
|
252
|
+
if (name === 'remote-search') {
|
|
253
|
+
this.registerRemoteSearchTool(server);
|
|
254
|
+
} else if (name === 'remote-get-schema') {
|
|
255
|
+
this.registerGetSchemaTool(server);
|
|
190
256
|
}
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
name: 'bit-cli-mcp',
|
|
198
|
-
version: '0.0.1'
|
|
199
|
-
});
|
|
200
|
-
const filterOptions = {
|
|
201
|
-
defaultTools,
|
|
202
|
-
additionalCommandsSet,
|
|
203
|
-
userExcludeSet,
|
|
204
|
-
alwaysExcludeTools,
|
|
205
|
-
extended,
|
|
206
|
-
includeOnlySet
|
|
257
|
+
}
|
|
258
|
+
registerRemoteSearchTool(server) {
|
|
259
|
+
const toolName = this.getToolName('remote-search');
|
|
260
|
+
const description = 'Search for components in remote scopes';
|
|
261
|
+
const schema = {
|
|
262
|
+
queryStr: _zod().z.string().describe('Search query string')
|
|
207
263
|
};
|
|
208
|
-
|
|
209
|
-
const
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
264
|
+
server.tool(toolName, description, schema, async params => {
|
|
265
|
+
const http = await this.getHttp();
|
|
266
|
+
const results = await http.search(params.queryStr);
|
|
267
|
+
this.logger.debug(`[MCP-DEBUG] Search results: ${JSON.stringify(results)}`);
|
|
268
|
+
if (!results?.components || results.components.length === 0) {
|
|
269
|
+
return {
|
|
270
|
+
content: [{
|
|
271
|
+
type: 'text',
|
|
272
|
+
text: 'No results found'
|
|
273
|
+
}]
|
|
274
|
+
};
|
|
217
275
|
}
|
|
276
|
+
const formattedResults = results.components.map(result => ({
|
|
277
|
+
type: 'text',
|
|
278
|
+
text: result
|
|
279
|
+
}));
|
|
280
|
+
return {
|
|
281
|
+
content: formattedResults
|
|
282
|
+
};
|
|
283
|
+
});
|
|
284
|
+
}
|
|
285
|
+
registerGetSchemaTool(server) {
|
|
286
|
+
const toolName = this.getToolName('remote-get-schema');
|
|
287
|
+
const description = 'Get the schema of a component from the remote scope. (the schema is the API of the component)';
|
|
288
|
+
const schema = {
|
|
289
|
+
id: _zod().z.string().describe('Component ID')
|
|
290
|
+
};
|
|
291
|
+
server.tool(toolName, description, schema, async params => {
|
|
292
|
+
const http = await this.getHttp();
|
|
293
|
+
const response = await http.getSchema(params.id);
|
|
294
|
+
return {
|
|
295
|
+
content: [{
|
|
296
|
+
type: 'text',
|
|
297
|
+
text: JSON.stringify(response)
|
|
298
|
+
}]
|
|
299
|
+
};
|
|
218
300
|
});
|
|
219
|
-
await server.connect(new (_stdio().StdioServerTransport)());
|
|
220
301
|
}
|
|
221
302
|
processSubCommands(server, parentCmd, options) {
|
|
222
303
|
const parentCmdName = (0, _cli().getCommandName)(parentCmd);
|
|
@@ -229,8 +310,8 @@ class CliMcpServerMain {
|
|
|
229
310
|
});
|
|
230
311
|
}
|
|
231
312
|
async runBit(args, cwd) {
|
|
232
|
-
this.logger.debug(`[MCP-DEBUG] Running:
|
|
233
|
-
const cmd =
|
|
313
|
+
this.logger.debug(`[MCP-DEBUG] Running: ${this.bitBin} ${args.join(' ')} in ${cwd}`);
|
|
314
|
+
const cmd = `${this.bitBin} ${args.join(' ')}`;
|
|
234
315
|
try {
|
|
235
316
|
const cmdOutput = _child_process().default.execSync(cmd, {
|
|
236
317
|
cwd
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_cli","data","require","_child_process","_interopRequireDefault","_cliMcpServer","_mcpServer","_mcp","_stdio","_zod","_logger","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","CliMcpServerMain","constructor","cli","logger","shouldIncludeCommand","cmdName","options","alwaysExcludeTools","has","userExcludeSet","debug","includeOnlySet","shouldInclude","extended","defaultTools","additionalCommandsSet","buildZodSchema","config","schema","cwd","z","string","describe","argsData","forEach","arg","desc","description","nameRaw","isArray","nameCamelCase","required","array","optional","flagsData","flag","type","name","boolean","buildCommandArgs","params","args","split","val","undefined","Array","item","push","stringValue","includes","registerToolForCommand","server","cmd","parentCmd","getCommandName","toolName","replace","extendedDescription","getArgsData","getFlagsData","tool","argsToRun","runBit","runMcpServer","JSON","stringify","commands","Boolean","Set","includeOnly","map","trim","from","join","includeAdditional","exclude","McpServer","version","filterOptions","length","processSubCommands","connect","StdioServerTransport","parentCmdName","subCmd","subCmdName","fullCmdName","cmdOutput","childProcess","execSync","content","text","toString","error","message","provider","loggerMain","createLogger","CliMcpServerAspect","id","mcpServer","register","McpServerCmd","exports","CLIAspect","LoggerAspect","MainRuntime","addRuntime","_default"],"sources":["cli-mcp-server.main.runtime.ts"],"sourcesContent":["/* eslint-disable import/extensions */\n/* eslint-disable import/no-unresolved */\n\nimport { CLIAspect, CLIMain, Command, getArgsData, getCommandName, getFlagsData, MainRuntime } from '@teambit/cli';\nimport childProcess from 'child_process';\nimport { CliMcpServerAspect } from './cli-mcp-server.aspect';\nimport { McpServerCmd } from './mcp-server.cmd';\nimport { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';\nimport { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';\nimport { CallToolResult } from '@modelcontextprotocol/sdk/types.js';\nimport { z } from 'zod';\nimport { Logger, LoggerAspect, LoggerMain } from '@teambit/logger';\n\ninterface CommandFilterOptions {\n defaultTools: Set<string>;\n additionalCommandsSet?: Set<string>;\n userExcludeSet?: Set<string>;\n alwaysExcludeTools: Set<string>;\n extended: boolean;\n includeOnlySet?: Set<string>;\n}\n\ninterface CommandConfig {\n name: string;\n description: string;\n argsData: ReturnType<typeof getArgsData>;\n flagsData: ReturnType<typeof getFlagsData>;\n}\n\nexport class CliMcpServerMain {\n constructor(\n private cli: CLIMain,\n private logger: Logger\n ) {}\n\n private shouldIncludeCommand(cmdName: string, options: CommandFilterOptions): boolean {\n // Always exclude certain commands\n if (options.alwaysExcludeTools.has(cmdName)) return false;\n\n // User-specified exclude takes precedence\n if (options.userExcludeSet?.has(cmdName)) {\n this.logger.debug(`[MCP-DEBUG] Excluding command due to --exclude flag: ${cmdName}`);\n return false;\n }\n\n // If includeOnly is specified, only include those specific commands\n if (options.includeOnlySet) {\n const shouldInclude = options.includeOnlySet.has(cmdName);\n if (shouldInclude) {\n this.logger.debug(`[MCP-DEBUG] Including command due to --include-only flag: ${cmdName}`);\n }\n return shouldInclude;\n }\n\n // Extended mode includes all commands except excluded ones\n if (options.extended) return true;\n\n // Default mode: include default tools + any additional specified\n return options.defaultTools.has(cmdName) || (options.additionalCommandsSet?.has(cmdName) ?? false);\n }\n\n private buildZodSchema(config: CommandConfig): Record<string, any> {\n const schema: Record<string, any> = {\n // Add cwd parameter as mandatory to all commands\n cwd: z.string().describe('Path to workspace'),\n };\n\n config.argsData.forEach((arg) => {\n const desc = arg.description || `Positional argument: ${arg.nameRaw}`;\n if (arg.isArray) {\n schema[arg.nameCamelCase] = arg.required\n ? z.array(z.string()).describe(desc)\n : z.array(z.string()).optional().describe(desc);\n } else {\n schema[arg.nameCamelCase] = arg.required ? z.string().describe(desc) : z.string().optional().describe(desc);\n }\n });\n\n config.flagsData.forEach((flag) => {\n const type = flag.type;\n schema[flag.name] =\n type === 'string'\n ? z.string().optional().describe(flag.description)\n : z.boolean().optional().describe(flag.description);\n });\n\n return schema;\n }\n\n private buildCommandArgs(config: CommandConfig, params: any): string[] {\n // Split the command name on spaces to properly handle subcommands\n const args: string[] = config.name.split(' ');\n\n // Add positional arguments in order\n config.argsData.forEach((arg) => {\n const val = params[arg.nameCamelCase];\n if (val === undefined) return;\n\n if (arg.isArray && Array.isArray(val)) {\n val.forEach((item) => args.push(item));\n } else {\n args.push(val);\n }\n });\n\n // Add options as flags\n config.flagsData.forEach((flag) => {\n const name = flag.name;\n const type = flag.type;\n const val = params[name];\n if (val === undefined) return;\n if (type === 'boolean' && val) {\n args.push(`--${name}`);\n } else if (type === 'string' && val) {\n // Check if the string value contains spaces and quote it if necessary\n const stringValue = String(val);\n if (stringValue.includes(' ')) {\n args.push(`--${name}`, `\"${stringValue}\"`);\n } else {\n args.push(`--${name}`, stringValue);\n }\n }\n });\n\n return args;\n }\n\n private registerToolForCommand(server: McpServer, cmd: Command, parentCmd?: Command) {\n const cmdName = parentCmd ? `${getCommandName(parentCmd)} ${getCommandName(cmd)}` : getCommandName(cmd);\n\n // replace white spaces (\\s) and dashes (-) with underscores (_)\n const toolName = `bit_${cmdName}`.replace(/[-\\s]/g, '_');\n const description = `${cmd.description}${cmd.extendedDescription ? `.\\n(${cmd.extendedDescription})` : ''}`;\n const config: CommandConfig = {\n name: cmdName,\n description,\n argsData: getArgsData(cmd),\n flagsData: getFlagsData(cmd),\n };\n\n const schema = this.buildZodSchema(config);\n\n server.tool(toolName, config.description, schema, async (params: any) => {\n const argsToRun = this.buildCommandArgs(config, params);\n return this.runBit(argsToRun, params.cwd);\n });\n }\n\n async runMcpServer(options: {\n extended?: boolean;\n includeOnly?: string;\n includeAdditional?: string;\n exclude?: string;\n }) {\n this.logger.debug(`[MCP-DEBUG] Starting MCP server with options: ${JSON.stringify(options)}`);\n const commands = this.cli.commands;\n const extended = Boolean(options.extended);\n\n // Default set of tools to include\n const defaultTools = new Set([\n 'status',\n 'list',\n 'add',\n 'init',\n 'show',\n 'tag',\n 'snap',\n 'import',\n 'export',\n 'remove',\n 'log',\n 'test',\n 'diff',\n 'install',\n 'lane show',\n 'lane create',\n 'lane switch',\n 'lane merge',\n 'create',\n 'templates',\n 'reset',\n 'checkout',\n ]);\n\n // Tools to always exclude\n const alwaysExcludeTools = new Set([\n 'login',\n 'logout',\n 'completion',\n 'mcp-server',\n 'start',\n 'run-action',\n 'watch',\n 'run',\n 'resume-export',\n 'server',\n 'serve-preview',\n ]);\n\n // Parse command strings from flag options\n let includeOnlySet: Set<string> | undefined;\n if (options.includeOnly) {\n includeOnlySet = new Set(options.includeOnly.split(',').map((cmd) => cmd.trim()));\n this.logger.debug(`[MCP-DEBUG] Including only commands: ${Array.from(includeOnlySet).join(', ')}`);\n }\n\n let additionalCommandsSet: Set<string> | undefined;\n if (options.includeAdditional) {\n additionalCommandsSet = new Set(options.includeAdditional.split(',').map((cmd) => cmd.trim()));\n this.logger.debug(`[MCP-DEBUG] Including additional commands: ${Array.from(additionalCommandsSet).join(', ')}`);\n }\n\n let userExcludeSet: Set<string> | undefined;\n if (options.exclude) {\n userExcludeSet = new Set(options.exclude.split(',').map((cmd) => cmd.trim()));\n this.logger.debug(`[MCP-DEBUG] Excluding commands: ${Array.from(userExcludeSet).join(', ')}`);\n }\n\n const server = new McpServer({\n name: 'bit-cli-mcp',\n version: '0.0.1',\n });\n\n const filterOptions: CommandFilterOptions = {\n defaultTools,\n additionalCommandsSet,\n userExcludeSet,\n alwaysExcludeTools,\n extended,\n includeOnlySet,\n };\n\n commands.forEach((cmd) => {\n const cmdName = getCommandName(cmd);\n\n if (this.shouldIncludeCommand(cmdName, filterOptions)) {\n this.registerToolForCommand(server, cmd);\n }\n\n // Process sub-commands\n if (cmd.commands && cmd.commands.length) {\n this.processSubCommands(server, cmd, filterOptions);\n }\n });\n\n await server.connect(new StdioServerTransport());\n }\n\n private processSubCommands(server: McpServer, parentCmd: Command, options: CommandFilterOptions) {\n const parentCmdName = getCommandName(parentCmd);\n\n parentCmd.commands?.forEach((subCmd) => {\n const subCmdName = getCommandName(subCmd);\n const fullCmdName = `${parentCmdName} ${subCmdName}`;\n\n if (this.shouldIncludeCommand(fullCmdName, options)) {\n this.registerToolForCommand(server, subCmd, parentCmd);\n }\n });\n }\n\n private async runBit(args: string[], cwd: string): Promise<CallToolResult> {\n this.logger.debug(`[MCP-DEBUG] Running: bit ${args.join(' ')} in ${cwd}`);\n const cmd = `bit ${args.join(' ')}`;\n try {\n const cmdOutput = childProcess.execSync(cmd, { cwd });\n this.logger.debug(`[MCP-DEBUG] result. stdout: ${cmdOutput}`);\n\n return { content: [{ type: 'text', text: cmdOutput.toString() }] };\n } catch (error: any) {\n this.logger.error(`[MCP-DEBUG] Error executing ${cmd}`, error);\n\n return { content: [{ type: 'text', text: error.message }] };\n }\n }\n\n static slots = [];\n static dependencies = [CLIAspect, LoggerAspect];\n static runtime = MainRuntime;\n static async provider([cli, loggerMain]: [CLIMain, LoggerMain]) {\n const logger = loggerMain.createLogger(CliMcpServerAspect.id);\n const mcpServer = new CliMcpServerMain(cli, logger);\n cli.register(new McpServerCmd(mcpServer));\n return mcpServer;\n }\n}\n\nCliMcpServerAspect.addRuntime(CliMcpServerMain);\n\nexport default CliMcpServerMain;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_cli","data","require","_child_process","_interopRequireDefault","_cliMcpServer","_mcpServer","_mcp","_stdio","_zod","_logger","_scope","_legacy","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","CliMcpServerMain","constructor","cli","logger","getHttp","_http","Http","connect","SYMPHONY_GRAPHQL","CENTRAL_BIT_HUB_NAME","runMcpServer","options","debug","JSON","stringify","commands","extended","Boolean","bitBin","defaultTools","Set","alwaysExcludeTools","includeOnlySet","includeOnly","split","map","cmd","trim","Array","from","join","additionalCommandsSet","includeAdditional","userExcludeSet","exclude","server","McpServer","name","version","filterOptions","forEach","cmdName","getCommandName","shouldIncludeCommand","registerToolForCommand","length","processSubCommands","remoteCommands","registerToolForRemote","StdioServerTransport","has","shouldInclude","buildZodSchema","config","schema","cwd","z","string","describe","argsData","arg","desc","description","nameRaw","isArray","nameCamelCase","required","array","optional","flagsData","flag","type","boolean","buildCommandArgs","params","args","val","undefined","item","push","stringValue","includes","getToolName","replace","parentCmd","toolName","extendedDescription","getArgsData","getFlagsData","tool","argsToRun","runBit","registerRemoteSearchTool","registerGetSchemaTool","queryStr","http","results","search","components","content","text","formattedResults","result","id","response","getSchema","parentCmdName","subCmd","subCmdName","fullCmdName","cmdOutput","childProcess","execSync","toString","error","message","provider","loggerMain","createLogger","CliMcpServerAspect","mcpServer","register","McpServerCmd","exports","CLIAspect","LoggerAspect","MainRuntime","addRuntime","_default"],"sources":["cli-mcp-server.main.runtime.ts"],"sourcesContent":["/* eslint-disable import/extensions */\n/* eslint-disable import/no-unresolved */\n\nimport { CLIAspect, CLIMain, Command, getArgsData, getCommandName, getFlagsData, MainRuntime } from '@teambit/cli';\nimport childProcess from 'child_process';\nimport { CliMcpServerAspect } from './cli-mcp-server.aspect';\nimport { McpServerCmd } from './mcp-server.cmd';\nimport { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';\nimport { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';\nimport { CallToolResult } from '@modelcontextprotocol/sdk/types.js';\nimport { z } from 'zod';\nimport { Logger, LoggerAspect, LoggerMain } from '@teambit/logger';\nimport { Http } from '@teambit/scope.network';\nimport { CENTRAL_BIT_HUB_NAME, SYMPHONY_GRAPHQL } from '@teambit/legacy.constants';\n\ninterface CommandFilterOptions {\n defaultTools: Set<string>;\n additionalCommandsSet?: Set<string>;\n userExcludeSet?: Set<string>;\n alwaysExcludeTools: Set<string>;\n extended: boolean;\n includeOnlySet?: Set<string>;\n}\n\ninterface CommandConfig {\n name: string;\n description: string;\n argsData: ReturnType<typeof getArgsData>;\n flagsData: ReturnType<typeof getFlagsData>;\n}\n\nexport class CliMcpServerMain {\n private bitBin = 'bit';\n private _http: Http;\n constructor(\n private cli: CLIMain,\n private logger: Logger\n ) {}\n\n async getHttp(): Promise<Http> {\n if (!this._http) {\n this._http = await Http.connect(SYMPHONY_GRAPHQL, CENTRAL_BIT_HUB_NAME);\n }\n return this._http;\n }\n\n async runMcpServer(options: {\n extended?: boolean;\n includeOnly?: string;\n includeAdditional?: string;\n exclude?: string;\n bitBin?: string;\n }) {\n this.logger.debug(`[MCP-DEBUG] Starting MCP server with options: ${JSON.stringify(options)}`);\n const commands = this.cli.commands;\n const extended = Boolean(options.extended);\n this.bitBin = options.bitBin || this.bitBin;\n // Default set of tools to include\n const defaultTools = new Set([\n 'status',\n 'list',\n 'add',\n 'init',\n 'show',\n 'tag',\n 'snap',\n 'import',\n 'export',\n 'remove',\n 'log',\n 'test',\n 'diff',\n 'install',\n 'lane show',\n 'lane create',\n 'lane switch',\n 'lane merge',\n 'create',\n 'templates',\n 'reset',\n 'checkout',\n 'remote-search',\n 'remote-get-schema',\n ]);\n\n // Tools to always exclude\n const alwaysExcludeTools = new Set([\n 'login',\n 'logout',\n 'completion',\n 'mcp-server',\n 'start',\n 'run-action',\n 'watch',\n 'run',\n 'resume-export',\n 'server',\n 'serve-preview',\n ]);\n\n // Parse command strings from flag options\n let includeOnlySet: Set<string> | undefined;\n if (options.includeOnly) {\n includeOnlySet = new Set(options.includeOnly.split(',').map((cmd) => cmd.trim()));\n this.logger.debug(`[MCP-DEBUG] Including only commands: ${Array.from(includeOnlySet).join(', ')}`);\n }\n\n let additionalCommandsSet: Set<string> | undefined;\n if (options.includeAdditional) {\n additionalCommandsSet = new Set(options.includeAdditional.split(',').map((cmd) => cmd.trim()));\n this.logger.debug(`[MCP-DEBUG] Including additional commands: ${Array.from(additionalCommandsSet).join(', ')}`);\n }\n\n let userExcludeSet: Set<string> | undefined;\n if (options.exclude) {\n userExcludeSet = new Set(options.exclude.split(',').map((cmd) => cmd.trim()));\n this.logger.debug(`[MCP-DEBUG] Excluding commands: ${Array.from(userExcludeSet).join(', ')}`);\n }\n\n const server = new McpServer({\n name: 'bit-cli-mcp',\n version: '0.0.1',\n });\n\n const filterOptions: CommandFilterOptions = {\n defaultTools,\n additionalCommandsSet,\n userExcludeSet,\n alwaysExcludeTools,\n extended,\n includeOnlySet,\n };\n\n commands.forEach((cmd) => {\n const cmdName = getCommandName(cmd);\n\n if (this.shouldIncludeCommand(cmdName, filterOptions)) {\n this.registerToolForCommand(server, cmd);\n }\n\n // Process sub-commands\n if (cmd.commands && cmd.commands.length) {\n this.processSubCommands(server, cmd, filterOptions);\n }\n });\n\n const remoteCommands = ['remote-search', 'remote-get-schema'];\n remoteCommands.forEach((cmdName) => {\n if (this.shouldIncludeCommand(cmdName, filterOptions)) {\n this.registerToolForRemote(server, cmdName);\n }\n });\n\n await server.connect(new StdioServerTransport());\n }\n\n private shouldIncludeCommand(cmdName: string, options: CommandFilterOptions): boolean {\n // Always exclude certain commands\n if (options.alwaysExcludeTools.has(cmdName)) return false;\n\n // User-specified exclude takes precedence\n if (options.userExcludeSet?.has(cmdName)) {\n this.logger.debug(`[MCP-DEBUG] Excluding command due to --exclude flag: ${cmdName}`);\n return false;\n }\n\n // If includeOnly is specified, only include those specific commands\n if (options.includeOnlySet) {\n const shouldInclude = options.includeOnlySet.has(cmdName);\n if (shouldInclude) {\n this.logger.debug(`[MCP-DEBUG] Including command due to --include-only flag: ${cmdName}`);\n }\n return shouldInclude;\n }\n\n // Extended mode includes all commands except excluded ones\n if (options.extended) return true;\n\n // Default mode: include default tools + any additional specified\n return options.defaultTools.has(cmdName) || (options.additionalCommandsSet?.has(cmdName) ?? false);\n }\n\n private buildZodSchema(config: CommandConfig): Record<string, any> {\n const schema: Record<string, any> = {\n // Add cwd parameter as mandatory to all commands\n cwd: z.string().describe('Path to workspace'),\n };\n\n config.argsData.forEach((arg) => {\n const desc = arg.description || `Positional argument: ${arg.nameRaw}`;\n if (arg.isArray) {\n schema[arg.nameCamelCase] = arg.required\n ? z.array(z.string()).describe(desc)\n : z.array(z.string()).optional().describe(desc);\n } else {\n schema[arg.nameCamelCase] = arg.required ? z.string().describe(desc) : z.string().optional().describe(desc);\n }\n });\n\n config.flagsData.forEach((flag) => {\n const type = flag.type;\n schema[flag.name] =\n type === 'string'\n ? z.string().optional().describe(flag.description)\n : z.boolean().optional().describe(flag.description);\n });\n\n return schema;\n }\n\n private buildCommandArgs(config: CommandConfig, params: any): string[] {\n // Split the command name on spaces to properly handle subcommands\n const args: string[] = config.name.split(' ');\n\n // Add positional arguments in order\n config.argsData.forEach((arg) => {\n const val = params[arg.nameCamelCase];\n if (val === undefined) return;\n\n if (arg.isArray && Array.isArray(val)) {\n val.forEach((item) => args.push(item));\n } else {\n args.push(val);\n }\n });\n\n // Add options as flags\n config.flagsData.forEach((flag) => {\n const name = flag.name;\n const type = flag.type;\n const val = params[name];\n if (val === undefined) return;\n if (type === 'boolean' && val) {\n args.push(`--${name}`);\n } else if (type === 'string' && val) {\n // Check if the string value contains spaces and quote it if necessary\n const stringValue = String(val);\n if (stringValue.includes(' ')) {\n args.push(`--${name}`, `\"${stringValue}\"`);\n } else {\n args.push(`--${name}`, stringValue);\n }\n }\n });\n\n return args;\n }\n\n private getToolName(name: string): string {\n // replace white spaces (\\s) and dashes (-) with underscores (_)\n return `bit_${name}`.replace(/[-\\s]/g, '_');\n }\n\n private registerToolForCommand(server: McpServer, cmd: Command, parentCmd?: Command) {\n const cmdName = parentCmd ? `${getCommandName(parentCmd)} ${getCommandName(cmd)}` : getCommandName(cmd);\n const toolName = this.getToolName(cmdName);\n const description = `${cmd.description}${cmd.extendedDescription ? `.\\n(${cmd.extendedDescription})` : ''}`;\n const config: CommandConfig = {\n name: cmdName,\n description,\n argsData: getArgsData(cmd),\n flagsData: getFlagsData(cmd),\n };\n\n const schema = this.buildZodSchema(config);\n\n server.tool(toolName, config.description, schema, async (params: any) => {\n const argsToRun = this.buildCommandArgs(config, params);\n return this.runBit(argsToRun, params.cwd);\n });\n }\n\n private registerToolForRemote(server: McpServer, name: string) {\n if (name === 'remote-search') {\n this.registerRemoteSearchTool(server);\n } else if (name === 'remote-get-schema') {\n this.registerGetSchemaTool(server);\n }\n }\n\n private registerRemoteSearchTool(server: McpServer) {\n const toolName = this.getToolName('remote-search');\n const description = 'Search for components in remote scopes';\n const schema: Record<string, any> = {\n queryStr: z.string().describe('Search query string'),\n };\n server.tool(toolName, description, schema, async (params: any) => {\n const http = await this.getHttp();\n const results = await http.search(params.queryStr);\n this.logger.debug(`[MCP-DEBUG] Search results: ${JSON.stringify(results)}`);\n if (!results?.components || results.components.length === 0) {\n return { content: [{ type: 'text', text: 'No results found' }] };\n }\n const formattedResults = results.components.map((result) => ({\n type: 'text',\n text: result,\n }));\n return { content: formattedResults } as CallToolResult;\n });\n }\n\n private registerGetSchemaTool(server: McpServer) {\n const toolName = this.getToolName('remote-get-schema');\n const description = 'Get the schema of a component from the remote scope. (the schema is the API of the component)';\n const schema: Record<string, any> = {\n id: z.string().describe('Component ID'),\n };\n server.tool(toolName, description, schema, async (params: any) => {\n const http = await this.getHttp();\n const response = await http.getSchema(params.id);\n return { content: [{ type: 'text', text: JSON.stringify(response) }] } as CallToolResult;\n });\n }\n\n private processSubCommands(server: McpServer, parentCmd: Command, options: CommandFilterOptions) {\n const parentCmdName = getCommandName(parentCmd);\n\n parentCmd.commands?.forEach((subCmd) => {\n const subCmdName = getCommandName(subCmd);\n const fullCmdName = `${parentCmdName} ${subCmdName}`;\n\n if (this.shouldIncludeCommand(fullCmdName, options)) {\n this.registerToolForCommand(server, subCmd, parentCmd);\n }\n });\n }\n\n private async runBit(args: string[], cwd: string): Promise<CallToolResult> {\n this.logger.debug(`[MCP-DEBUG] Running: ${this.bitBin} ${args.join(' ')} in ${cwd}`);\n const cmd = `${this.bitBin} ${args.join(' ')}`;\n try {\n const cmdOutput = childProcess.execSync(cmd, { cwd });\n this.logger.debug(`[MCP-DEBUG] result. stdout: ${cmdOutput}`);\n\n return { content: [{ type: 'text', text: cmdOutput.toString() }] };\n } catch (error: any) {\n this.logger.error(`[MCP-DEBUG] Error executing ${cmd}`, error);\n\n return { content: [{ type: 'text', text: error.message }] };\n }\n }\n\n static slots = [];\n static dependencies = [CLIAspect, LoggerAspect];\n static runtime = MainRuntime;\n static async provider([cli, loggerMain]: [CLIMain, LoggerMain]) {\n const logger = loggerMain.createLogger(CliMcpServerAspect.id);\n const mcpServer = new CliMcpServerMain(cli, logger);\n cli.register(new McpServerCmd(mcpServer));\n return mcpServer;\n }\n}\n\nCliMcpServerAspect.addRuntime(CliMcpServerMain);\n\nexport default CliMcpServerMain;\n"],"mappings":"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","ignoreList":[]}
|
package/dist/mcp-server.cmd.d.ts
CHANGED
package/dist/mcp-server.cmd.js
CHANGED
|
@@ -15,7 +15,7 @@ class McpServerCmd {
|
|
|
15
15
|
_defineProperty(this, "alias", '');
|
|
16
16
|
_defineProperty(this, "group", 'development');
|
|
17
17
|
_defineProperty(this, "loader", false);
|
|
18
|
-
_defineProperty(this, "options", [['e', 'extended', 'Enable the full set of Bit CLI commands as MCP tools'], ['', 'include-only <commands>', 'Specify a subset of commands to expose as MCP tools. Use comma-separated list in quotes, e.g. "status,install,compile"'], ['', 'include-additional <commands>', 'Add specific commands to the default MCP tools set. Use comma-separated list in quotes. Only applies when --extended is not used'], ['', 'exclude <commands>', 'Prevent specific commands from being exposed as MCP tools. Use comma-separated list in quotes']]);
|
|
18
|
+
_defineProperty(this, "options", [['e', 'extended', 'Enable the full set of Bit CLI commands as MCP tools'], ['', 'include-only <commands>', 'Specify a subset of commands to expose as MCP tools. Use comma-separated list in quotes, e.g. "status,install,compile"'], ['', 'include-additional <commands>', 'Add specific commands to the default MCP tools set. Use comma-separated list in quotes. Only applies when --extended is not used'], ['', 'exclude <commands>', 'Prevent specific commands from being exposed as MCP tools. Use comma-separated list in quotes'], ['', 'bit-bin <binary>', 'Specify the binary to use for running Bit commands (default: "bit")']]);
|
|
19
19
|
}
|
|
20
20
|
async wait(args, flags) {
|
|
21
21
|
await this.mcpServer.runMcpServer(flags);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["McpServerCmd","constructor","mcpServer","_defineProperty","wait","args","flags","runMcpServer","exports"],"sources":["mcp-server.cmd.ts"],"sourcesContent":["import { CLIArgs, Command, CommandOptions } from '@teambit/cli';\nimport { CliMcpServerMain } from './cli-mcp-server.main.runtime';\n\nexport type McpServerCmdOptions = {\n extended?: boolean;\n includeOnly?: string;\n includeAdditional?: string;\n exclude?: string;\n};\n\nexport class McpServerCmd implements Command {\n name = 'mcp-server';\n description = 'Start the Bit CLI Model Context Protocol (MCP) server for programmatic and remote access to Bit commands.';\n alias = '';\n group = 'development';\n loader = false;\n options = [\n ['e', 'extended', 'Enable the full set of Bit CLI commands as MCP tools'],\n ['' , 'include-only <commands>', 'Specify a subset of commands to expose as MCP tools. Use comma-separated list in quotes, e.g. \"status,install,compile\"'],\n ['', 'include-additional <commands>', 'Add specific commands to the default MCP tools set. Use comma-separated list in quotes. Only applies when --extended is not used'],\n ['', 'exclude <commands>', 'Prevent specific commands from being exposed as MCP tools. Use comma-separated list in quotes'],\n ] as CommandOptions;\n\n constructor(\n private mcpServer: CliMcpServerMain\n ) {}\n\n async wait(args: CLIArgs, flags: McpServerCmdOptions): Promise<void> {\n await this.mcpServer.runMcpServer(flags);\n }\n}\n"],"mappings":";;;;;;;;;
|
|
1
|
+
{"version":3,"names":["McpServerCmd","constructor","mcpServer","_defineProperty","wait","args","flags","runMcpServer","exports"],"sources":["mcp-server.cmd.ts"],"sourcesContent":["import { CLIArgs, Command, CommandOptions } from '@teambit/cli';\nimport { CliMcpServerMain } from './cli-mcp-server.main.runtime';\n\nexport type McpServerCmdOptions = {\n extended?: boolean;\n includeOnly?: string;\n includeAdditional?: string;\n exclude?: string;\n bitBin?: string;\n};\n\nexport class McpServerCmd implements Command {\n name = 'mcp-server';\n description = 'Start the Bit CLI Model Context Protocol (MCP) server for programmatic and remote access to Bit commands.';\n alias = '';\n group = 'development';\n loader = false;\n options = [\n ['e', 'extended', 'Enable the full set of Bit CLI commands as MCP tools'],\n ['' , 'include-only <commands>', 'Specify a subset of commands to expose as MCP tools. Use comma-separated list in quotes, e.g. \"status,install,compile\"'],\n ['', 'include-additional <commands>', 'Add specific commands to the default MCP tools set. Use comma-separated list in quotes. Only applies when --extended is not used'],\n ['', 'exclude <commands>', 'Prevent specific commands from being exposed as MCP tools. Use comma-separated list in quotes'],\n ['', 'bit-bin <binary>', 'Specify the binary to use for running Bit commands (default: \"bit\")'],\n ] as CommandOptions;\n\n constructor(\n private mcpServer: CliMcpServerMain\n ) {}\n\n async wait(args: CLIArgs, flags: McpServerCmdOptions): Promise<void> {\n await this.mcpServer.runMcpServer(flags);\n }\n}\n"],"mappings":";;;;;;;;;AAWO,MAAMA,YAAY,CAAoB;EAc3CC,WAAWA,CACDC,SAA2B,EACnC;IAAA,KADQA,SAA2B,GAA3BA,SAA2B;IAAAC,eAAA,eAd9B,YAAY;IAAAA,eAAA,sBACL,2GAA2G;IAAAA,eAAA,gBACjH,EAAE;IAAAA,eAAA,gBACF,aAAa;IAAAA,eAAA,iBACZ,KAAK;IAAAA,eAAA,kBACJ,CACR,CAAC,GAAG,EAAE,UAAU,EAAE,sDAAsD,CAAC,EACzE,CAAC,EAAE,EAAG,yBAAyB,EAAE,wHAAwH,CAAC,EAC1J,CAAC,EAAE,EAAE,+BAA+B,EAAE,kIAAkI,CAAC,EACzK,CAAC,EAAE,EAAE,oBAAoB,EAAE,+FAA+F,CAAC,EAC3H,CAAC,EAAE,EAAE,kBAAkB,EAAE,qEAAqE,CAAC,CAChG;EAIE;EAEH,MAAMC,IAAIA,CAACC,IAAa,EAAEC,KAA0B,EAAiB;IACnE,MAAM,IAAI,CAACJ,SAAS,CAACK,YAAY,CAACD,KAAK,CAAC;EAC1C;AACF;AAACE,OAAA,CAAAR,YAAA,GAAAA,YAAA","ignoreList":[]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
;
|
|
2
|
-
import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.mcp_cli-mcp-server@0.0.
|
|
2
|
+
import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.mcp_cli-mcp-server@0.0.3/dist/README.docs.mdx';
|
|
3
3
|
|
|
4
4
|
export const compositions = [];
|
|
5
5
|
export const overview = [overview_0];
|
package/package.json
CHANGED
|
@@ -1,18 +1,21 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@teambit/cli-mcp-server",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.3",
|
|
4
|
+
"homepage": "https://bit.cloud/teambit/mcp/cli-mcp-server",
|
|
4
5
|
"main": "dist/index.js",
|
|
5
6
|
"componentId": {
|
|
7
|
+
"scope": "teambit.mcp",
|
|
6
8
|
"name": "cli-mcp-server",
|
|
7
|
-
"version": "0.0.
|
|
8
|
-
"scope": "teambit.mcp"
|
|
9
|
+
"version": "0.0.3"
|
|
9
10
|
},
|
|
10
11
|
"dependencies": {
|
|
11
12
|
"zod": "^3.24.4",
|
|
12
13
|
"@modelcontextprotocol/sdk": "^1.11.0",
|
|
13
14
|
"@teambit/harmony": "0.4.7",
|
|
14
|
-
"@teambit/cli": "0.0.
|
|
15
|
-
"@teambit/
|
|
15
|
+
"@teambit/cli": "0.0.1195",
|
|
16
|
+
"@teambit/legacy.constants": "0.0.11",
|
|
17
|
+
"@teambit/logger": "0.0.1288",
|
|
18
|
+
"@teambit/scope.network": "0.0.50"
|
|
16
19
|
},
|
|
17
20
|
"devDependencies": {
|
|
18
21
|
"@teambit/harmony.envs.core-aspect-env": "0.0.69"
|