lint について
lintは、AIエージェント向けにコードスタイルの確認と分析を行うMCPサーバーです。ASTライブラリを使わず、正規表現とテキスト解析で命名規則や一般的なコード上の問題を調べます。
主な機能
- 01インデント、行の長さ、書式を確認
- 02命名規則を検出して修正案を提示
- 03複雑度とネストの深さを測定
- 04デッドコード候補と注釈を検出
- 05インポートと順序を確認
活用シーン
- 01ソースファイルのスタイル問題を確認
- 02識別子の命名を統一
- 03レビュー対象となる複雑な関数を特定
- 04未使用変数や到達不能コードを検索
- 05重複または順序の異なるインポートを検出
MCP 対応
Claude DesktopなどのMCPクライアントに、コードスタイル確認と分析ツールを提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
5掲載時のツール一覧 · 3 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| code | string | はい | 確認するソースコード |
| rules | object | いいえ | 適用するスタイルルール(デフォルトですべて有効) |
| rules.quotes | enum | いいえ | 文字列に使用する引用符のスタイルsingle | double |
| rules.indentSize | number | いいえ | インデントレベルごとのスペース数(スペースを使用する場合) |
| rules.semicolons | enum | いいえ | セミコロンの使用方法always | never |
| rules.indentation | enum | いいえ | 想定するインデントスタイルtabs | spaces |
| rules.finalNewline | boolean | いいえ | 最終改行を必須にする |
| rules.maxLineLength | number | いいえ | 許容される最大行長 |
| rules.trailingWhitespace | boolean | いいえ | 行末の空白を禁止する |
詳細
@rog0x/mcp-lint-tools
AI エージェント向けのコードリンティングとスタイルチェックツールを、MCP(Model Context Protocol)サーバーとして公開します。
すべての解析は正規表現とテキスト解析で行われるため、AST ライブラリは不要です。
ツール
check_code_style
設定可能なルールでコードスタイルの問題をチェックします。
- インデント — タブとスペースのどちらを使うか、およびインデントサイズを設定できます
- 行の長さ — 最大文字数を超える行を検出します
- 末尾の空白 — 行末のスペースやタブを検出します
- ファイル末尾の改行 — ファイルの末尾に改行があることを必須にします
- 引用符 — シングルクォートまたはダブルクォートの使用を統一します
- セミコロン — セミコロンを常に使用するか、使用しないかを統一します
check_naming_conventions
識別子の命名規則を分析します。
- camelCase、PascalCase、snake_case、UPPER_CASEを検出します
- TypeScript、JavaScript、Python、Go に対応した言語別のルールを適用します
- 同じ識別子の種類で複数の規則が混在している場合に検出します
- 自動的な名前変換による修正案を提示します
analyze_complexity
コードの複雑さに関するメトリクスを測定します。
- 関数ごとの循環的複雑度
- 関数あたりの行数
- ネストの深さ
- 問題を検出するためのしきい値を設定できます
find_dead_code
デッドコードの可能性がある箇所を検出します。
- 未使用の変数 — 宣言されているものの、参照されていない変数
- 到達不能なコード — return/throw/break の後にあるステートメント
- 空の catch ブロック — エラーを何も通知せずに握りつぶすブロック
- コメントアウトされたコード — コメントアウトされたコードブロック
- TODO/FIXME/HACK — 注釈コメント
analyze_imports
import 文を分析します。
- 未使用の import — インポートされた名前がコード内で参照されていません
- import の順序 — グループの順序を統一します(組み込み > 外部 > 内部 > 相対)
- 重複した import — 同じモジュールが複数回インポートされています
- 循環依存のヒント — 潜在的な循環を基本的に検出します
インストール
npm install
npm run build
Claude Desktop での使用
claude_desktop_config.json に追加します。
{
"mcpServers": {
"lint-tools": {
"command": "node",
"args": ["path/to/mcp-lint-tools/dist/index.js"]
}
}
}
開発
npm install
npm run build
npm start
ライセンス
MIT
コメント
Markdown 対応
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。