mcpField
K
Knip Mcp Server

Knip Mcp Server

ローカル
github.com/gtrias開発ツール569 週間前に更新

Knip Mcp Server について

Knip Mcp Serverは、knip.devの分析機能をJavaScriptおよびTypeScriptプロジェクトのAIエージェントに提供し、未使用コードの発見と整理を支援します。ワークスペースに対応し、変更前のプレビューやバックアップ、安全制限を備えています。

主な機能

  1. 01未使用ファイル、インポート、エクスポートの検出
  2. 02未使用npm依存関係の検出
  3. 03モノレポのワークスペース分析
  4. 04変更のプレビューとバックアップ
  5. 05Knip設定の取得と検証

活用シーン

  1. 01機能実装後の未使用コード整理
  2. 02プロジェクトの不要な依存関係の監査
  3. 03モノレポ全体のコード状態の確認

MCP 対応

このMCPサーバーは、互換クライアントにknip分析、設定確認、クリーンアップのツールを提供します。プレビューとバックアップを利用して変更を適用できます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"knip": {
"command": "npx",
"args": [
"-y",
"@genar/knip-mcp-server"
],
"env": {
"KNIP_PROJECT_ROOT": "<KNIP_PROJECT_ROOT>",
"KNIP_LOG_LEVEL": "<KNIP_LOG_LEVEL>",
"KNIP_SAFE_MODE": "<KNIP_SAFE_MODE>"
}
}
}
}
起動コマンドnpx -y @genar/knip-mcp-server
設定が必要な環境変数
KNIP_PROJECT_ROOT
KNIP_LOG_LEVEL
KNIP_SAFE_MODE

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@genar/knip-mcp-server

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

@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 サーバーの設定
  1. Cursor AI の設定で、MCP の設定画面に移動します
  2. 新しい MCP サーバーを追加します。
    • 名前:「Knip Code Cleanup」
    • コマンド:npx @genar/knip-mcp-server
  3. 設定を保存し、Cursor AI を再起動します
オプション 2:Cursor ルールの設定

プロジェクトのルートに .cursor/rules ディレクトリを作成し、以下の設定を追加することで、Cursor のルールシステムを通じてこの MCP サーバーを連携することもできます。

  1. ルールディレクトリの構成を作成します。
mkdir -p .cursor/rules
  1. 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.
  1. 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
  1. 任意:ルールを非公開にする場合は、.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.json
  • knip.jsonc
  • .knip.json
  • .knip.jsonc
  • knip.config.js
  • knip.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

貢献

  1. リポジトリをフォークします
  2. 機能ブランチを作成します
  3. 変更を加えます
  4. テストを追加します
  5. プルリクエストを送信します

ライセンス

MIT License - 詳細は LICENSE ファイルをご覧ください。

サポート

関連プロジェクト

  • knip.dev - 基盤となるコード分析ツール
  • MCP SDK - Model Context Protocol の実装
  • Cursor AI - MCP に対応した AI 搭載コードエディター

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。