Skip to main content
Glama
devlimelabs

MCP Environment & Installation Manager

by devlimelabs

configure-installation

Configure installation settings for MCP servers, including directory, package manager, and auto-localization options to streamline environment setup.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
installationDirNoDirectory for installing packages
preferredPackageManagerNoPreferred package manager
autoLocalizeNoAutomatically localize packages

Implementation Reference

  • The async handler function for the 'configure-installation' tool. Updates installation configuration (directory, package manager, auto-localize) using configService and returns updated settings.
      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)
            }
          ]
        };
      }
    );
  • Zod input schema defining optional parameters: installationDir (string), preferredPackageManager (enum: npm/yarn/pnpm), autoLocalize (boolean).
    {
      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")
    },
  • server.tool registration of the 'configure-installation' tool, including name, input schema, and inline handler function within registerInstallationTools.
    server.tool(
      "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)
            }
          ]
        };
      }
    );

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/devlimelabs/mcp-env-manager-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server