comment-stripper-mcp について
comment-stripper-mcpは、コードのテキスト、ファイル、ディレクトリからコメントを除去するMCPサーバーです。複数の言語に対応し、ディレクトリの再帰処理と進捗追跡も行えます。
主な機能
- 01テキストやファイルのコメント除去
- 0212種類の言語ファイルに対応
- 03ネストしたディレクトリの再帰処理
- 04ディレクトリ処理の進捗追跡
- 05処理対象のファイル形式を設定
活用シーン
- 01単一のソースファイルからコメントを除去
- 02コードディレクトリ内のコメントを整理
MCP 対応
MCP準拠のAPIを通じて、コメント除去機能をMCPクライアントに提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
comment-stripper-mcp
複数のプログラミング言語に対応し、コードファイルからコメントを一括削除する柔軟な MCP サーバーです。現在、正規表現によるパターンマッチングを使用して、JavaScript、TypeScript、Vue、CSS/SCSS/LESS、HTML、Python、Java、C#、C++、Ruby、PHP のファイルを処理できます。
概要
このサーバーは、Model Context Protocol (MCP) を実装し、コードファイルからコメントを削除するサービスを提供します。個別のファイル、ディレクトリ(サブディレクトリを含む)、またはテキストの直接入力を受け付け、コメントを削除したコードを返します。
このプロジェクトは テスト駆動開発(TDD) の手法で開発されており、初期段階から高いコード品質、より優れた設計、包括的なテストカバレッジを実現しています。各機能は実装前にテストで定義し、レッド・グリーン・リファクターのサイクルに従って開発します。
機能
- 🔄 ファイル、ディレクトリ、または生テキストの入力を処理
- 🌐 複数言語に対応(JS、TS、Vue、CSS/SCSS/LESS、HTML、Python、Java、C#、C++、Ruby、PHP)
- 📂 ネストされたディレクトリを再帰的に処理
- ⚡ 効率的なコメント削除のための正規表現によるパターンマッチング
- 🔌 簡単に統合できる MCP 準拠の API
- 🛠️ Node.js と TypeScript で構築
- 📊 複数のログレベルに対応した包括的なロギングシステム
- ⚠️ 標準化されたエラーレスポンスによる堅牢なエラー処理
- ⚙️ 環境変数による柔軟な設定
- 🚀 大容量ファイルの処理に向けたパフォーマンス最適化
- 🔐 セキュアなアクセスを実現する API 認証
- 📈 大規模なディレクトリ処理の進捗を追跡
はじめに
前提条件
- Node.js 18+
- npm または yarn
インストール
# Clone this repository
git clone https://github.com/yhzion/comment-stripper-mcp.git
cd comment-stripper-mcp
# Install dependencies
npm install
# or
yarn install
サーバーの実行
# Development mode
npm run dev
# or
yarn dev
# Production mode
npm run build
npm start
# or
yarn build
yarn start
デフォルトでは、サーバーはポート 3000 で実行されます。環境変数で設定を変更できます。
MCP サーバー接続の問題解決ガイド
MCP サーバーが Claude Desktop との接続時に予期せず終了することがあります。このガイドでは、その問題を解決する方法を説明します。
問題の症状
- サーバーが初期化後すぐに終了する
- ログに「Server transport closed unexpectedly」というメッセージが表示される
- Claude Desktop に MCP サーバーへ接続できないというエラーメッセージが表示される
解決方法
1. NVM を使用してクリーンな Node.js 環境を設定する
# NVM 설치 (이미 설치되어 있다면 생략)
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
# 최신 Node.js 설치
nvm install node
# 설치한 버전 활성화
nvm use node
2. Claude Desktop の設定ファイルで絶対パスを使用する
Claude Desktop の設定ファイル(claude_desktop_config.json)で、相対パスの代わりに絶対パスを使用してください。
{
"mcpServers": {
"comment-stripper": {
"command": "/절대/경로/node",
"args": [
"/절대/경로/comment-stripper-mcp/build/index.js"
]
}
}
}
which node コマンドで Node.js のパスを確認できます。
3. サーバーの安定性を改善する
サーバーコードには、次のような安定性の改善が適用されています。
- プロセスが予期せず終了しないよう、
process.stdin.resume()を使用 - 複数のキープアライブメカニズムを実装
- エラー処理を改善
- 詳細なロギングを追加
その他の問題解決のヒント
- Claude Desktop の開発者モードを有効にして、MCP ログファイルにアクセスしてください。
- サーバーの実行時に発生するエラーメッセージを確認してください。
- 環境変数が正しく設定されていることを確認してください。
- ファイアウォールやセキュリティソフトウェアが接続をブロックしていないことを確認してください。
設定
サーバーは環境変数を使用して設定できます。提供されている .env.example ファイルをもとに、ルートディレクトリに .env ファイルを作成できます。
# Server configuration
PORT=3000 # Port for the server to listen on
HOST=127.0.0.1 # Host for the server to bind to
NODE_ENV=development # Environment (development, production, test)
# Logging configuration
LOG_LEVEL=2 # 0=ERROR, 1=WARN, 2=INFO, 3=DEBUG, 4=TRACE
LOG_TO_FILE=false # Whether to log to a file
LOG_DIR=logs # Directory for log files
# Performance configuration
CHUNK_SIZE=1048576 # 1MB chunk size for processing large files
MAX_WORKERS=4 # Number of concurrent workers for batch processing
MEMORY_LIMIT=536870912 # 512MB memory limit before using streaming
# Authentication
API_KEY=your-secret-key # API key for authentication
テスト
このプロジェクトは テスト駆動開発(TDD) の原則に厳密に従っています。
- まず 失敗するテストを作成 します(レッドフェーズ)
- テストに合格するための 最小限のコードを実装 します(グリーンフェーズ)
- テストを通過させたままコードを リファクタリング します
このプロジェクトではテストフレームワークとして Jest を使用し、ts-jest を通じて TypeScript をサポートしています。テストは次のように構成されています。
- ユニットテスト:個々の関数とコンポーネントをテスト
- 統合テスト:API エンドポイントとコンポーネント間のやり取りをテスト
# Run all tests
npm test
# or
yarn test
# Run tests in watch mode
npm run test:watch
# or
yarn test:watch
# Run tests with coverage
npm run test:coverage
# or
yarn test:coverage
API ドキュメント
コメント削除エンドポイント
エンドポイント:/api/strip-comments
メソッド:POST
説明:コードファイルまたはテキストからコメントを削除します。
リクエストパラメーター:
text(任意):コメントを削除するテキスト。filePath(任意):コメントを削除するファイルのパス。directoryPath(任意):処理するディレクトリのパス。recursive(任意、デフォルト:true):サブディレクトリを再帰的に処理するかどうか。fileTypes(任意、デフォルト:サポートされているすべての種類):処理するファイル拡張子の配列。trackProgress(任意、デフォルト:false):ディレクトリの処理状況を追跡するかどうか。
レスポンス:
{
"success": true,
"data": {
"original": "// Original code with comments",
"stripped": "// Code with comments removed"
}
}
進捗取得エンドポイント
エンドポイント: /api/get-progress
メソッド: POST
説明: ディレクトリ処理操作の進捗を取得します。
リクエストパラメーター:
trackerId: 進捗トラッカーの ID。
レスポンス:
{
"success": true,
"data": {
"processed": 10,
"total": 20,
"percentage": 50,
"completed": false
}
}
認証状態エンドポイント
エンドポイント: /api/auth-status
メソッド: POST
説明: 現在の認証状態と設定を取得します。
レスポンス:
{
"success": true,
"data": {
"authEnabled": true,
"authenticated": true,
"message": "Authenticated successfully"
}
}
貢献
貢献を歓迎します!お気軽にプルリクエストを送信してください。
ライセンス
このプロジェクトは ISC ライセンスのもとでライセンスされています。詳細については LICENSE ファイルをご覧ください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。