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
| Name | Required | Description | Default |
|---|---|---|---|
| client | No | Client to check | all |
Implementation Reference
- src/index.ts:214-249 (handler)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) }] }; } }
- src/index.ts:56-70 (schema)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' } } } },
- src/clients.ts:46-52 (helper)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; }
- src/clients.ts:99-102 (helper)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 || {}; }