MCP Customs について
MCP Customsは、インストール前にMCPサーバーの一般的なセキュリティリスクを調べるローカルCLIです。監査可能なヒューリスティック検査をオフラインで行い、データをアップロードしません。誤検知や見逃しの可能性があります。
主な機能
- 01MCPサーバーをオフラインでスキャン
- 02シェル実行と動的コードを検査
- 03ファイルアクセスと認証情報のリスクを検出
- 04ツール説明内の隠れた指示を検出
- 05SARIFレポートとバッジを生成
活用シーン
- 01インストール前にMCPサーバーのコードを確認
- 02CIでスキャンし、指定した重大度で失敗させる
- 03プロジェクトのREADME用セキュリティバッジを作成
MCP 対応
MCPサーバーではなく、MCPサーバーのコードを検査するCLIです。MCPサーバーやクライアントには接続しません。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
mcp-customs
MCP サーバーをインストールする前に、よくあるセキュリティリスクがないか検査します。 完全にオフラインで動作します。テレメトリーも、クラウドへのアップロードも、アカウントも不要です。
npx mcp-customs scan ./some-mcp-server
──────────────────────────────────────────────────────
MCP-CUSTOMS INSPECTION REPORT
──────────────────────────────────────────────────────
target ./some-mcp-server
files scanned 14
score 62 / 100
stamp [ REVIEW ]
──────────────────────────────────────────────────────
[HIGH] MCP002 — Unsanitized file path (possible path traversal)
server.js:41 return fs.readFileSync(userPath, 'utf8');
fix: Resolve the path against an allowed base directory ...
理由
開発者はかつて npm パッケージをインストールしていたのと同じように、MCP サーバーをインストールしています。 手早く、名前を信頼して、そのまま次へ進みます。MCP サーバーは、ユーザーに代わってファイルを読み取り、API を呼び出し、コマンドを実行できます。エージェントに接続する前に、実際に何ができるのかを確認する人はほとんどいません。
mcp-customs は、ローカルで数秒で実行できる「インストール前の監査」ステップです。
チェック項目(v0.1)
| ルール | 重大度 | 検出対象 |
|---|---|---|
| MCP001 | critical | サニタイズされていない文字列展開を伴うシェルコマンドの実行 |
| MCP002 | high | パストラバーサル対策のないファイルの読み書き |
| MCP003 | critical | eval()/動的コード実行 |
| MCP004 | high | ハードコードされた API キー/認証情報 |
| MCP005 | critical | 隠された指示を含むツールの説明(ツール自身のメタデータを介したプロンプトインジェクション) |
| MCP006 | medium | 環境変数の読み取りと組み合わされた外部ネットワーク呼び出し(情報流出の可能性) |
| MCP007 | low | マニフェストに権限/スコープの宣言がない |
これらは正規表現ベースのヒューリスティックなチェックです。高速で、一度の確認で完全に監査できますが、データフロー解析ではありません。誤検知が発生することも、より詳細な解析なら検出できる問題を見逃すこともあります。CLEARED の表示は「明白な問題はない」という意味であり、「安全性が検証済み」という意味ではありません。
CI での使用方法
# .github/workflows/mcp-customs.yml
- run: npx mcp-customs scan . --sarif results.sarif --fail-on high
- uses: github/codeql-action/upload-sarif@v3
with:
sarif_file: results.sarif
README 用のバッジを取得する
npx mcp-customs scan . --badge --name your-server-name
ロードマップ
- スキャン結果を検索可能な信頼スコア付きで公開レジストリ(mcp-customs.dev)に公開する
- 動的/サンドボックス分析(静的チェックでは見逃す問題を検出)
- Python 専用の AST チェック(現在の Python ルールは正規表現のみ)
- レジストリエントリーに対するコミュニティからのフラグ付け/検証
ライセンス
Apache-2.0。オープンコアの罠はありません。この CLI は今後も無料です。ホスト型レジストリ/ダッシュボードが後日リリースされる場合は、別途有料製品となります。このツールのローカルスキャンに、それが必要になることはありません。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。