Download packages/cli/src/commands/mcp/remove.ts from SaylorTwift/gemini-cli: direct link, hf CLI and curl.
- Browser
- Download file 1.83 kB
-
https://huggingface.co/SaylorTwift/gemini-cli/resolve/main/packages/cli/src/commands/mcp/remove.ts
- Command line
-
hf download hf://SaylorTwift/gemini-cli/packages/cli/src/commands/mcp/remove.ts
-
curl -L -o remove.ts https://huggingface.co/SaylorTwift/gemini-cli/resolve/main/packages/cli/src/commands/mcp/remove.ts
1.83 kB
| /** | |
| * @license | |
| * Copyright 2025 Google LLC | |
| * SPDX-License-Identifier: Apache-2.0 | |
| */ | |
| // File for 'gemini mcp remove' command | |
| import type { CommandModule } from 'yargs'; | |
| import { loadSettings, SettingScope } from '../../config/settings.js'; | |
| import { debugLogger } from '@google/gemini-cli-core'; | |
| import { exitCli } from '../utils.js'; | |
| async function removeMcpServer( | |
| name: string, | |
| options: { | |
| scope: string; | |
| }, | |
| ) { | |
| const { scope } = options; | |
| const settingsScope = | |
| scope === 'user' ? SettingScope.User : SettingScope.Workspace; | |
| const settings = loadSettings(); | |
| const existingSettings = settings.forScope(settingsScope).settings; | |
| const mcpServers = existingSettings.mcpServers || {}; | |
| if (!mcpServers[name]) { | |
| debugLogger.log(`Server "${name}" not found in ${scope} settings.`); | |
| return; | |
| } | |
| delete mcpServers[name]; | |
| settings.setValue(settingsScope, 'mcpServers', mcpServers); | |
| debugLogger.log(`Server "${name}" removed from ${scope} settings.`); | |
| } | |
| export const removeCommand: CommandModule = { | |
| command: 'remove <name>', | |
| describe: 'Remove a server', | |
| builder: (yargs) => | |
| yargs | |
| .usage('Usage: gemini mcp remove [options] <name>') | |
| .positional('name', { | |
| describe: 'Name of the server', | |
| type: 'string', | |
| demandOption: true, | |
| }) | |
| .option('scope', { | |
| alias: 's', | |
| describe: 'Configuration scope (user or project)', | |
| type: 'string', | |
| default: 'project', | |
| choices: ['user', 'project'], | |
| }), | |
| handler: async (argv) => { | |
| // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion | |
| await removeMcpServer(argv['name'] as string, { | |
| // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion | |
| scope: argv['scope'] as string, | |
| }); | |
| await exitCli(); | |
| }, | |
| }; | |