gtrias/knip-mcp-server
If you are the rightful owner of knip-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
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.
@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
- In Cursor AI settings, navigate to MCP configuration
- Add a new MCP server:
- Name: "Knip Code Cleanup"
- Command:
npx @genar/knip-mcp-server
- 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:
- Create the rules directory structure:
mkdir -p .cursor/rules
- 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.
- 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
- 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 analyzeworkspace
(optional): Specific workspace for monoreposincludePaths
(optional): Array of paths to includeexcludePaths
(optional): Array of paths to excludedryRun
(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 analyzefilePath
(optional): Get exports for specific file only
knip_get_unused_imports
Get unused imports organized by file.
Parameters:
workspace
(optional): Specific workspace to analyzefilePath
(optional): Get imports for specific file only
knip_get_unused_dependencies
Get unused npm dependencies and devDependencies.
Parameters:
workspace
(optional): Specific workspace to analyzetype
(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 emptydryRun
(default: true): Preview modecreateBackup
(default: true): Create backups before removalbackupDir
(optional): Custom backup directorymaxFiles
(default: 50): Safety limit
knip_remove_unused_imports
Remove unused imports from a specific file.
Parameters:
filePath
(required): File to clean upimports
(optional): Specific imports to removedryRun
(default: true): Preview modecreateBackup
(default: true): Create backup before changes
knip_fix_issues
Automatically fix common knip issues.
Parameters:
issueTypes
(default: ['imports']): Types of issues to fixdryRun
(default: true): Preview modecreateBackup
(default: true): Create backupsmaxFiles
(default: 25): Safety limit
knip_get_config
Get the current knip configuration.
Parameters:
projectPath
(optional): Project pathconfigPath
(optional): Specific config file path
knip_validate_config
Validate knip configuration for correctness.
Parameters:
projectPath
(optional): Project pathconfigPath
(optional): Specific config file pathconfig
(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
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests
- Submit a pull request
License
MIT License - see LICENSE file for details.
Support
- GitHub Issues: Report bugs or request features
- Documentation: Full documentation