Skip to main content
Glama
danielrosehill

Daniel Rosehill's MCP Installer

list_installed

Check which MCP servers are installed in specific clients or across all supported platforms to manage configurations and installations.

Instructions

Show what MCPs are already installed in a specific client or all clients.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
clientNoClient to checkall

Implementation Reference

  • Main handler logic for the 'list_installed' tool. Handles requests for a specific client or all clients by calling helper functions to retrieve client info and installed MCPs, then formats and returns JSON response.
    case 'list_installed': {
      const clientArg = (args?.client as string) || 'all';
    
      if (clientArg === 'all') {
        const clientInfo = getAllClientInfo();
        const result: Record<string, { path: string; exists: boolean; mcps: string[] }> = {};
    
        for (const [client, info] of Object.entries(clientInfo)) {
          const installed = getInstalledMcps(client as ClientType);
          result[client] = {
            path: info.path,
            exists: info.exists,
            mcps: Object.keys(installed)
          };
        }
    
        return {
          content: [{
            type: 'text',
            text: JSON.stringify(result, null, 2)
          }]
        };
      } else {
        const installed = getInstalledMcps(clientArg as ClientType);
        return {
          content: [{
            type: 'text',
            text: JSON.stringify({
              client: clientArg,
              count: Object.keys(installed).length,
              mcps: Object.keys(installed)
            }, null, 2)
          }]
        };
      }
    }
  • Tool schema definition including name, description, and inputSchema for the 'list_installed' tool, which specifies the 'client' parameter.
    {
      name: 'list_installed',
      description: 'Show what MCPs are already installed in a specific client or all clients.',
      inputSchema: {
        type: 'object',
        properties: {
          client: {
            type: 'string',
            enum: ['claude-code', 'cursor', 'vscode', 'all'],
            description: 'Client to check',
            default: 'all'
          }
        }
      }
    },
  • Helper function getAllClientInfo() that returns configuration info for all supported clients, used when listing installed MCPs for all clients.
    export function getAllClientInfo(): Record<ClientType, ClientInfo> {
      const result: Record<ClientType, ClientInfo> = {} as Record<ClientType, ClientInfo>;
      for (const client of Object.keys(CLIENT_CONFIGS) as ClientType[]) {
        result[client] = getClientInfo(client);
      }
      return result;
    }
  • Helper function getInstalledMcps(client) that reads the client's settings and returns the map of installed MCP servers.
    export function getInstalledMcps(client: ClientType): Record<string, McpServerConfig> {
      const settings = readClientSettings(client);
      return settings.mcpServers || {};
    }

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/danielrosehill/My-MCP-Installer'

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