npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

knip-mcp-server

v0.1.4

Published

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

Readme

@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/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

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

Related Projects

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