Sponsored by Deepsite.site

Knip Mcp Server

Created By
gtrias6 months ago
This MCP server provides AI agents with powerful code cleanup capabilities through knip.dev integration. It's designed to work seamlessly with Cursor AI and other MCP-compatible tools to maintain clean, efficient codebases.
Content

@genar/knip-mcp-server

A Model Control Protocol (MCP) server that integrates with knip.dev to help AI agents identify and clean up unused files, imports, exports, and dependencies in JavaScript/TypeScript projects.

Overview

This MCP server provides AI agents with powerful code cleanup capabilities through knip.dev integration. It's designed to work seamlessly with Cursor AI and other MCP-compatible tools to maintain clean, efficient codebases.

Features

  • Code Analysis: Run comprehensive knip analysis to find unused code
  • Unused File Detection: Identify files that are no longer referenced
  • Import/Export Cleanup: Find and remove unused imports and exports
  • Dependency Management: Detect unused npm dependencies and devDependencies
  • Safe Operations: Built-in safety checks and backup mechanisms
  • Workspace Support: Full support for monorepo and workspace setups
  • Dry Run Mode: Preview changes before applying them

Installation

npm install -g @genar/knip-mcp-server

Or in your project:

npm install @genar/knip-mcp-server

Usage

As an MCP Server

Run the server directly:

knip-mcp-server

Or use npx:

npx @genar/knip-mcp-server

Configuration

Configure via environment variables:

export KNIP_PROJECT_ROOT="/path/to/your/project"
export KNIP_CONFIG_PATH="/path/to/knip.json"
export KNIP_BACKUP_DIR="/path/to/backups"
export KNIP_LOG_LEVEL="info"
export KNIP_SAFE_MODE="true"

Integration with Cursor AI

Option 1: MCP Server Configuration

  1. In Cursor AI settings, navigate to MCP configuration
  2. Add a new MCP server:
    • Name: "Knip Code Cleanup"
    • Command: npx @genar/knip-mcp-server
  3. Save and restart Cursor AI

Option 2: Cursor Rules Configuration

You can also integrate this MCP server through Cursor's rules system by creating a .cursor/rules directory in your project root and adding the following configuration:

  1. Create the rules directory structure:
mkdir -p .cursor/rules
  1. Create a knip rule file (.cursor/rules/knip-mcp.md):
# Knip Code Cleanup Rules

You have access to the Knip MCP server for code cleanup tasks. Use these tools proactively to maintain clean code:

## Available Tools

- `knip_scan` - Run comprehensive code analysis
- `knip_get_unused_files` - Find unused files
- `knip_get_unused_exports` - Find unused exports
- `knip_get_unused_imports` - Find unused imports  
- `knip_get_unused_dependencies` - Find unused dependencies
- `knip_remove_unused_files` - Safely remove unused files
- `knip_remove_unused_imports` - Clean up unused imports
- `knip_fix_issues` - Auto-fix common issues
- `knip_get_config` - View knip configuration
- `knip_validate_config` - Validate knip config

## Usage Guidelines

1. **After implementing features**: Always run `knip_scan` to identify cleanup opportunities
2. **Before commits**: Use `knip_fix_issues` with `dryRun: true` to preview cleanup
3. **Regular maintenance**: Run `knip_get_unused_dependencies` to audit packages
4. **Safety first**: Always use dry-run mode first, create backups for destructive operations

## Workflow Integration

When asked to implement features:
1. Complete the implementation
2. Run `knip_scan` to analyze unused code
3. Use `knip_remove_unused_imports` to clean imports
4. Check `knip_get_unused_files` for orphaned files
5. Apply fixes with appropriate safety measures

## Safety Measures

- All destructive operations default to dry-run mode
- Backups are created automatically before modifications
- File limits prevent accidental bulk deletions
- Safe mode protects critical files (package.json, etc.)

Remember: Always review suggestions before applying changes to ensure they don't break functionality.
  1. Create a main rules file (.cursor/rules/main.md) that includes knip rules:
# Project Development Rules

Include code cleanup and maintenance guidelines.

@knip-mcp.md

## Code Quality Standards

- Use the Knip MCP server for regular code cleanup
- Maintain clean imports and remove unused dependencies
- Follow the knip workflow after feature implementation
  1. Optional: Add to your .gitignore if you want to keep rules private:
echo ".cursor/" >> .gitignore

Option 3: Per-Project MCP Configuration

Create a local MCP configuration file in your project root (.mcp-config.json):

{
  "servers": {
    "knip": {
      "command": "npx",
      "args": ["@genar/knip-mcp-server"],
      "env": {
        "KNIP_PROJECT_ROOT": ".",
        "KNIP_LOG_LEVEL": "info",
        "KNIP_SAFE_MODE": "true"
      }
    }
  }
}

Then reference this configuration in Cursor's MCP settings.

Available Tools

knip_scan

Run comprehensive knip analysis on your project.

Parameters:

  • projectPath (optional): Project path to analyze
  • workspace (optional): Specific workspace for monorepos
  • includePaths (optional): Array of paths to include
  • excludePaths (optional): Array of paths to exclude
  • dryRun (default: true): Run without making changes

knip_get_unused_files

Get a list of unused files in the project.

Parameters:

  • workspace (optional): Specific workspace to analyze

knip_get_unused_exports

Get unused exports organized by file.

Parameters:

  • workspace (optional): Specific workspace to analyze
  • filePath (optional): Get exports for specific file only

knip_get_unused_imports

Get unused imports organized by file.

Parameters:

  • workspace (optional): Specific workspace to analyze
  • filePath (optional): Get imports for specific file only

knip_get_unused_dependencies

Get unused npm dependencies and devDependencies.

Parameters:

  • workspace (optional): Specific workspace to analyze
  • type (optional): 'dependencies', 'devDependencies', or 'all'

knip_remove_unused_files

Safely remove unused files with backup options.

Parameters:

  • files (optional): Specific files to remove, or all if empty
  • dryRun (default: true): Preview mode
  • createBackup (default: true): Create backups before removal
  • backupDir (optional): Custom backup directory
  • maxFiles (default: 50): Safety limit

knip_remove_unused_imports

Remove unused imports from a specific file.

Parameters:

  • filePath (required): File to clean up
  • imports (optional): Specific imports to remove
  • dryRun (default: true): Preview mode
  • createBackup (default: true): Create backup before changes

knip_fix_issues

Automatically fix common knip issues.

Parameters:

  • issueTypes (default: ['imports']): Types of issues to fix
  • dryRun (default: true): Preview mode
  • createBackup (default: true): Create backups
  • maxFiles (default: 25): Safety limit

knip_get_config

Get the current knip configuration.

Parameters:

  • projectPath (optional): Project path
  • configPath (optional): Specific config file path

knip_validate_config

Validate knip configuration for correctness.

Parameters:

  • projectPath (optional): Project path
  • configPath (optional): Specific config file path
  • config (optional): Configuration object to validate

Example AI Agent Workflows

1. Code Cleanup After Feature Implementation

AI Agent: I just implemented a new authentication feature. Let me clean up any unused code.

1. Run knip_scan to get overview of unused code
2. Use knip_get_unused_imports to find unused imports
3. Apply knip_remove_unused_imports to clean up imports
4. Check knip_get_unused_files for any orphaned files
5. Safely remove files using knip_remove_unused_files

2. Dependency Audit

AI Agent: Let me audit our dependencies for unused packages.

1. Run knip_get_unused_dependencies
2. Review the list of unused dependencies
3. Generate recommendation report for package.json cleanup

3. Project Health Check

AI Agent: Let me analyze the overall health of this codebase.

1. Run knip_scan for comprehensive analysis
2. Use knip_validate_config to check configuration
3. Generate health report with recommendations

Safety Features

  • Dry Run Mode: All destructive operations default to dry-run mode
  • Backup Creation: Automatic backups before file modifications
  • Safe Mode: Prevents removal of critical files (package.json, etc.)
  • File Limits: Configurable limits on batch operations
  • Error Handling: Comprehensive error reporting and recovery

Configuration

The server supports knip configuration files:

  • knip.json
  • knip.jsonc
  • .knip.json
  • .knip.jsonc
  • knip.config.js
  • knip.config.ts

Development

# Clone the repository
git clone https://github.com/gtrias/knip-mcp-server.git

# Install dependencies
npm install

# Build the project
npm run build

# Run in development mode
npm run dev

# Run tests
npm test

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Add tests
  5. Submit a pull request

License

MIT License - see LICENSE file for details.

Support

  • knip.dev - The underlying code analysis tool
  • MCP SDK - Model Context Protocol implementation
  • Cursor AI - AI-powered code editor with MCP support

Server Config

{
  "mcpServers": {
    "knip": {
      "command": "npx",
      "args": [
        "@genar/knip-mcp-server"
      ],
      "env": {
        "KNIP_PROJECT_ROOT": ".",
        "KNIP_LOG_LEVEL": "info",
        "KNIP_SAFE_MODE": "true"
      }
    }
  }
}
Recommend Servers
TraeBuild with Free GPT-4.1 & Claude 3.7. Fully MCP-Ready.
TimeA Model Context Protocol server that provides time and timezone conversion capabilities. This server enables LLMs to get current time information and perform timezone conversions using IANA timezone names, with automatic system timezone detection.
Playwright McpPlaywright MCP server
DeepChatYour AI Partner on Desktop
MiniMax MCPOfficial MiniMax Model Context Protocol (MCP) server that enables interaction with powerful Text to Speech, image generation and video generation APIs.
ChatWiseThe second fastest AI chatbot™
CursorThe AI Code Editor
EdgeOne Pages MCPAn MCP service designed for deploying HTML content to EdgeOne Pages and obtaining an accessible public URL.
Zhipu Web SearchZhipu Web Search MCP Server is a search engine specifically designed for large models. It integrates four search engines, allowing users to flexibly compare and switch between them. Building upon the web crawling and ranking capabilities of traditional search engines, it enhances intent recognition capabilities, returning results more suitable for large model processing (such as webpage titles, URLs, summaries, site names, site icons, etc.). This helps AI applications achieve "dynamic knowledge acquisition" and "precise scenario adaptation" capabilities.
WindsurfThe new purpose-built IDE to harness magic
Jina AI MCP ToolsA Model Context Protocol (MCP) server that integrates with Jina AI Search Foundation APIs.
Baidu Map百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Amap Maps高德地图官方 MCP Server
Tavily Mcp
Context7Context7 MCP Server -- Up-to-date code documentation for LLMs and AI code editors
Howtocook Mcp基于Anduin2017 / HowToCook (程序员在家做饭指南)的mcp server,帮你推荐菜谱、规划膳食,解决“今天吃什么“的世纪难题; Based on Anduin2017/HowToCook (Programmer's Guide to Cooking at Home), MCP Server helps you recommend recipes, plan meals, and solve the century old problem of "what to eat today"
BlenderBlenderMCP connects Blender to Claude AI through the Model Context Protocol (MCP), allowing Claude to directly interact with and control Blender. This integration enables prompt assisted 3D modeling, scene creation, and manipulation.
MCP AdvisorMCP Advisor & Installation - Use the right MCP server for your needs
AiimagemultistyleA Model Context Protocol (MCP) server for image generation and manipulation using fal.ai's Stable Diffusion model.
Visual Studio Code - Open Source ("Code - OSS")Visual Studio Code
Serper MCP ServerA Serper MCP Server