
Product
Introducing Webhook Events for Alert Changes
Add real-time Socket webhook events to your workflows to automatically receive software supply chain alert changes in real time.
knip-mcp-server
Advanced tools
MCP server for knip.dev integration to help AI agents identify and clean up unused code
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.
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.
npm install -g @genar/knip-mcp-server
Or in your project:
npm install @genar/knip-mcp-server
Run the server directly:
knip-mcp-server
Or use npx:
npx @genar/knip-mcp-server
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"
npx @genar/knip-mcp-serverYou 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:
mkdir -p .cursor/rules
.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.
.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
.gitignore if you want to keep rules private:echo ".cursor/" >> .gitignore
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.
knip_scanRun 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 changesknip_get_unused_filesGet a list of unused files in the project.
Parameters:
workspace (optional): Specific workspace to analyzeknip_get_unused_exportsGet unused exports organized by file.
Parameters:
workspace (optional): Specific workspace to analyzefilePath (optional): Get exports for specific file onlyknip_get_unused_importsGet unused imports organized by file.
Parameters:
workspace (optional): Specific workspace to analyzefilePath (optional): Get imports for specific file onlyknip_get_unused_dependenciesGet unused npm dependencies and devDependencies.
Parameters:
workspace (optional): Specific workspace to analyzetype (optional): 'dependencies', 'devDependencies', or 'all'knip_remove_unused_filesSafely 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 limitknip_remove_unused_importsRemove 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 changesknip_fix_issuesAutomatically fix common knip issues.
Parameters:
issueTypes (default: ['imports']): Types of issues to fixdryRun (default: true): Preview modecreateBackup (default: true): Create backupsmaxFiles (default: 25): Safety limitknip_get_configGet the current knip configuration.
Parameters:
projectPath (optional): Project pathconfigPath (optional): Specific config file pathknip_validate_configValidate knip configuration for correctness.
Parameters:
projectPath (optional): Project pathconfigPath (optional): Specific config file pathconfig (optional): Configuration object to validateAI 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
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
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
The server supports knip configuration files:
knip.jsonknip.jsonc.knip.json.knip.jsoncknip.config.jsknip.config.ts# Clone the repository
git clone https://github.com/genar/galleries.git
cd galleries/packages/knip-mcp-server
# Install dependencies
npm install
# Build the project
npm run build
# Run in development mode
npm run dev
# Run tests
npm test
MIT License - see LICENSE file for details.
[0.1.4] - 2024-12-19
FAQs
MCP server for knip.dev integration to help AI agents identify and clean up unused code
We found that knip-mcp-server demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Product
Add real-time Socket webhook events to your workflows to automatically receive software supply chain alert changes in real time.

Security News
ENISA has become a CVE Program Root, giving the EU a central authority for coordinating vulnerability reporting, disclosure, and cross-border response.

Product
Socket now scans OpenVSX extensions, giving teams early detection of risky behaviors, hidden capabilities, and supply chain threats in developer tools.