Knip Mcp Server について
Knip Mcp Serverは、knip.devの分析機能をJavaScriptおよびTypeScriptプロジェクトのAIエージェントに提供し、未使用コードの発見と整理を支援します。ワークスペースに対応し、変更前のプレビューやバックアップ、安全制限を備えています。
主な機能
- 01未使用ファイル、インポート、エクスポートの検出
- 02未使用npm依存関係の検出
- 03モノレポのワークスペース分析
- 04変更のプレビューとバックアップ
- 05Knip設定の取得と検証
活用シーン
- 01機能実装後の未使用コード整理
- 02プロジェクトの不要な依存関係の監査
- 03モノレポ全体のコード状態の確認
MCP 対応
このMCPサーバーは、互換クライアントにknip分析、設定確認、クリーンアップのツールを提供します。プレビューとバックアップを利用して変更を適用できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
@genar/knip-mcp-server
knip.dev と連携し、AI エージェントが JavaScript/TypeScript プロジェクト内の未使用ファイル、インポート、エクスポート、依存関係を特定して整理できるようにする、Model Control Protocol(MCP)サーバーです。
概要
この MCP サーバーは、knip.dev との連携を通じて、AI エージェントに強力なコード整理機能を提供します。Cursor AI やその他の MCP 互換ツールとシームレスに連携し、コードベースをクリーンで効率的な状態に保つよう設計されています。
機能
- コード分析:knip の包括的な分析を実行して、未使用のコードを検出します
- 未使用ファイルの検出:参照されなくなったファイルを特定します
- インポート/エクスポートの整理:未使用のインポートとエクスポートを検出して削除します
- 依存関係の管理:未使用の npm 依存関係と devDependencies を検出します
- 安全な操作:安全性チェックとバックアップ機能を内蔵しています
- ワークスペースのサポート:モノレポおよびワークスペースの構成を完全にサポートします
- ドライランモード:変更を適用する前にプレビューできます
インストール
npm install -g @genar/knip-mcp-server
または、プロジェクト内で実行します。
npm install @genar/knip-mcp-server
使用方法
MCP サーバーとして
サーバーを直接実行します。
knip-mcp-server
または、npx を使用します。
npx @genar/knip-mcp-server
設定
環境変数を使用して設定します。
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"
Cursor AI との連携
オプション 1:MCP サーバーの設定
- Cursor AI の設定で、MCP の設定画面に移動します
- 新しい MCP サーバーを追加します。
- 名前:「Knip Code Cleanup」
- コマンド:
npx @genar/knip-mcp-server
- 設定を保存し、Cursor AI を再起動します
オプション 2:Cursor ルールの設定
プロジェクトのルートに .cursor/rules ディレクトリを作成し、以下の設定を追加することで、Cursor のルールシステムを通じてこの MCP サーバーを連携することもできます。
- ルールディレクトリの構成を作成します。
mkdir -p .cursor/rules
- knip ルールファイル(
.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.
- knip ルールを含むメインのルールファイル(
.cursor/rules/main.md)を作成します。
# 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に追加します。
echo ".cursor/" >> .gitignore
オプション 3:プロジェクトごとの MCP 設定
プロジェクトのルートにローカルの MCP 設定ファイル(.mcp-config.json)を作成します。
{
"servers": {
"knip": {
"command": "npx",
"args": ["@genar/knip-mcp-server"],
"env": {
"KNIP_PROJECT_ROOT": ".",
"KNIP_LOG_LEVEL": "info",
"KNIP_SAFE_MODE": "true"
}
}
}
}
次に、Cursor の MCP 設定でこの設定を参照します。
利用可能なツール
knip_scan
プロジェクトに対して knip の包括的な分析を実行します。
パラメーター:
projectPath(任意):分析するプロジェクトのパスworkspace(任意):モノレポ内で指定するワークスペースincludePaths(任意):対象に含めるパスの配列excludePaths(任意):対象から除外するパスの配列dryRun(デフォルト:true):変更を加えずに実行します
knip_get_unused_files
プロジェクト内の未使用ファイルの一覧を取得します。
パラメーター:
workspace(任意):分析するワークスペース
knip_get_unused_exports
未使用のエクスポートをファイルごとに整理して取得します。
パラメーター:
workspace(任意):分析するワークスペースfilePath(任意):指定したファイルのエクスポートのみを取得します
knip_get_unused_imports
未使用のインポートをファイルごとに整理して取得します。
パラメーター:
workspace(任意):分析するワークスペースfilePath(任意):指定したファイルのインポートのみを取得します
knip_get_unused_dependencies
未使用の npm 依存関係と devDependencies を取得します。
パラメーター:
workspace(任意):分析するワークスペースtype(任意):'dependencies'、'devDependencies'、または 'all'
knip_remove_unused_files
バックアップオプションを使って、未使用ファイルを安全に削除します。
パラメーター:
files(任意):削除する特定のファイル。空の場合はすべてのファイルdryRun(デフォルト:true):プレビューモードcreateBackup(デフォルト:true):削除前にバックアップを作成しますbackupDir(任意):カスタムのバックアップディレクトリmaxFiles(デフォルト:50):安全上の上限
knip_remove_unused_imports
特定のファイルから未使用のインポートを削除します。
パラメーター:
filePath(必須):整理するファイルimports(任意):削除する特定のインポートdryRun(デフォルト:true):プレビューモードcreateBackup(デフォルト:true):変更前にバックアップを作成します
knip_fix_issues
一般的な knip の問題を自動的に修正します。
パラメーター:
issueTypes(デフォルト:['imports']):修正する問題の種類dryRun(デフォルト:true):プレビューモードcreateBackup(デフォルト:true):バックアップを作成しますmaxFiles(デフォルト:25):安全のための上限
knip_get_config
現在の knip 設定を取得します。
パラメーター:
projectPath(任意):プロジェクトのパスconfigPath(任意):特定の設定ファイルのパス
knip_validate_config
knip の設定が正しいか検証します。
パラメーター:
projectPath(任意):プロジェクトのパスconfigPath(任意):特定の設定ファイルのパスconfig(任意):検証する設定オブジェクト
AI エージェントのワークフロー例
1. 機能実装後のコードクリーンアップ
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. 依存関係の監査
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. プロジェクトの健全性チェック
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
安全機能
- ドライランモード:破壊的な操作はすべて、デフォルトでドライランモードになります
- バックアップの作成:ファイルを変更する前に自動的にバックアップを作成します
- セーフモード:重要なファイル(package.json など)の削除を防ぎます
- ファイル数制限:一括操作の上限を設定できます
- エラー処理:包括的なエラー報告と復旧に対応しています
設定
サーバーは以下の knip 設定ファイルに対応しています。
knip.jsonknip.jsonc.knip.json.knip.jsoncknip.config.jsknip.config.ts
開発
# 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
貢献
- リポジトリをフォークします
- 機能ブランチを作成します
- 変更を加えます
- テストを追加します
- プルリクエストを送信します
ライセンス
MIT License - 詳細は LICENSE ファイルをご覧ください。
サポート
- GitHub Issues:バグの報告や機能のリクエスト
- ドキュメント:全ドキュメント
関連プロジェクト
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。