Skip to main content
Glama
devlimelabs

MCP Environment & Installation Manager

by devlimelabs

get-mcp-package

Retrieve detailed information about a specific MCP server package to verify its properties and installation requirements.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
packageNameYesPackage name to get details for

Implementation Reference

  • Registration of the 'get-mcp-package' MCP tool, including inline input schema using Zod and the complete handler function that retrieves and returns installed package details via the PackageManager service.
    server.tool(
      "get-mcp-package",
      {
        packageName: z.string().describe("Package name to get details for")
      },
      async ({ packageName }, extra) => {
        if (!packageName.trim()) {
          throw new Error("Package name cannot be empty");
        }
        
        const pkg = packageManager.getInstalledPackage(packageName);
        
        if (!pkg) {
          throw new Error(`Package not installed: ${packageName}`);
        }
        
        return {
          content: [
            {
              type: "text",
              text: JSON.stringify({
                name: pkg.name,
                version: pkg.version,
                localPath: pkg.localPath,
                binPath: pkg.binPath,
                installedAt: pkg.installedAt,
                updatedAt: pkg.updatedAt,
                usedByConfigs: pkg.usedByConfigs
              }, null, 2)
            }
          ]
        };
      }
    );
  • src/server.ts:33-33 (registration)
    Invocation of registerInstallationTools on the main MCP server instance, which registers the 'get-mcp-package' tool among others.
    registerInstallationTools(server, configService, packageManager);
  • Zod input schema for the 'get-mcp-package' tool defining the 'packageName' parameter.
    {
      packageName: z.string().describe("Package name to get details for")
    },
  • The handler implementation for the 'get-mcp-package' tool. Validates input, fetches package from PackageManager, and formats response as MCP content.
    async ({ packageName }, extra) => {
      if (!packageName.trim()) {
        throw new Error("Package name cannot be empty");
      }
      
      const pkg = packageManager.getInstalledPackage(packageName);
      
      if (!pkg) {
        throw new Error(`Package not installed: ${packageName}`);
      }
      
      return {
        content: [
          {
            type: "text",
            text: JSON.stringify({
              name: pkg.name,
              version: pkg.version,
              localPath: pkg.localPath,
              binPath: pkg.binPath,
              installedAt: pkg.installedAt,
              updatedAt: pkg.updatedAt,
              usedByConfigs: pkg.usedByConfigs
            }, 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