mirror of
https://github.com/google-gemini/gemini-cli.git
synced 2026-02-01 22:48:03 +00:00
37 lines
1.2 KiB
TypeScript
37 lines
1.2 KiB
TypeScript
/**
|
|
* @license
|
|
* Copyright 2025 Google LLC
|
|
* SPDX-License-Identifier: Apache-2.0
|
|
*/
|
|
|
|
// File for 'gemini mcp' command
|
|
import type { CommandModule, Argv } from 'yargs';
|
|
import { addCommand } from './mcp/add.js';
|
|
import { removeCommand } from './mcp/remove.js';
|
|
import { listCommand } from './mcp/list.js';
|
|
import { enableCommand, disableCommand } from './mcp/enableDisable.js';
|
|
import { initializeOutputListenersAndFlush } from '../gemini.js';
|
|
import { defer } from '../deferred.js';
|
|
|
|
export const mcpCommand: CommandModule = {
|
|
command: 'mcp',
|
|
describe: 'Manage MCP servers',
|
|
builder: (yargs: Argv) =>
|
|
yargs
|
|
.middleware((argv) => {
|
|
initializeOutputListenersAndFlush();
|
|
argv['isCommand'] = true;
|
|
})
|
|
.command(defer(addCommand, 'mcp'))
|
|
.command(defer(removeCommand, 'mcp'))
|
|
.command(defer(listCommand, 'mcp'))
|
|
.command(defer(enableCommand, 'mcp'))
|
|
.command(defer(disableCommand, 'mcp'))
|
|
.demandCommand(1, 'You need at least one command before continuing.')
|
|
.version(false),
|
|
handler: () => {
|
|
// yargs will automatically show help if no subcommand is provided
|
|
// thanks to demandCommand(1) in the builder.
|
|
},
|
|
};
|