UNPKG

knip-mcp-server

Version:

MCP server for knip.dev integration to help AI agents identify and clean up unused code

56 lines 2.37 kB
export function createKnipGetUnusedDependenciesTool(knipClient, config) { return { name: 'knip_get_unused_dependencies', description: 'Get unused dependencies and devDependencies', inputSchema: { type: 'object', properties: { workspace: { type: 'string', description: 'Specific workspace to analyze (for monorepo setups)', }, type: { type: 'string', enum: ['dependencies', 'devDependencies', 'all'], default: 'all', description: 'Type of dependencies to check', }, }, }, execute: async (args) => { try { const type = args.type || 'all'; const result = await knipClient.getUnusedDependencies(type, args.workspace); const response = { success: true, }; if (type === 'dependencies') { response.unusedDependencies = result; response.dependenciesCount = result.length; } else if (type === 'devDependencies') { response.unusedDevDependencies = result; response.devDependenciesCount = result.length; } else { // For 'all', we need to get both separately const deps = await knipClient.getUnusedDependencies('dependencies', args.workspace); const devDeps = await knipClient.getUnusedDependencies('devDependencies', args.workspace); response.unusedDependencies = deps; response.dependenciesCount = deps.length; response.unusedDevDependencies = devDeps; response.devDependenciesCount = devDeps.length; response.totalCount = deps.length + devDeps.length; } return response; } catch (error) { return { success: false, error: error instanceof Error ? error.message : String(error), }; } }, }; } //# sourceMappingURL=knip-get-unused-dependencies.js.map