configure-installation
Set up and customize package installations in MCP servers by defining installation directories, package managers, and automatic localization for streamlined deployment.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| autoLocalize | No | Automatically localize packages | |
| installationDir | No | Directory for installing packages | |
| preferredPackageManager | No | Preferred package manager |
Implementation Reference
- src/tools/installation-tools.ts:197-230 (handler)Handler function that updates the installation configuration based on provided parameters using the configService.const config = configService.getInstallationConfig(); const updates = { packageManager: { ...config.packageManager } }; if (installationDir !== undefined) { updates.packageManager.installationDir = installationDir; } if (preferredPackageManager !== undefined) { updates.packageManager.preferredPackageManager = preferredPackageManager; } if (autoLocalize !== undefined) { updates.packageManager.autoLocalize = autoLocalize; } const updatedConfig = await configService.updateInstallationConfig(updates); return { content: [ { type: "text", text: JSON.stringify({ success: true, packageManager: updatedConfig.packageManager }, null, 2) } ] }; }
- Input schema defining optional parameters for installation directory, preferred package manager, and auto-localize flag.installationDir: z.string().optional().describe("Directory for installing packages"), preferredPackageManager: z.enum(['npm', 'yarn', 'pnpm']).optional().describe("Preferred package manager"), autoLocalize: z.boolean().optional().describe("Automatically localize packages") }, async ({ installationDir, preferredPackageManager, autoLocalize }, extra) => {
- src/tools/installation-tools.ts:190-231 (registration)Registration of the 'configure-installation' tool on the MCP server, including schema and handler."configure-installation", { installationDir: z.string().optional().describe("Directory for installing packages"), preferredPackageManager: z.enum(['npm', 'yarn', 'pnpm']).optional().describe("Preferred package manager"), autoLocalize: z.boolean().optional().describe("Automatically localize packages") }, async ({ installationDir, preferredPackageManager, autoLocalize }, extra) => { const config = configService.getInstallationConfig(); const updates = { packageManager: { ...config.packageManager } }; if (installationDir !== undefined) { updates.packageManager.installationDir = installationDir; } if (preferredPackageManager !== undefined) { updates.packageManager.preferredPackageManager = preferredPackageManager; } if (autoLocalize !== undefined) { updates.packageManager.autoLocalize = autoLocalize; } const updatedConfig = await configService.updateInstallationConfig(updates); return { content: [ { type: "text", text: JSON.stringify({ success: true, packageManager: updatedConfig.packageManager }, null, 2) } ] }; } );