Skip to content

Latest commit

 

History

History
105 lines (82 loc) · 4.78 KB

README-jaJP.md

File metadata and controls

105 lines (82 loc) · 4.78 KB

MCP CLI サーバー

NPM Version License

Model Context Protocol (MCP) の Node.js 実装で、安全なファイルシステム操作とコマンド実行機能を提供します。このサーバーは包括的なパスホワイトリスト検証メカニズムを実装しており、各ファイル操作やコマンド実行の前に作業パスまたは対象パスが指定されたホワイトリスト内にあるかどうかを確認し、システム内の他のデータが誤って損傷することを防ぎます。

English | 繁體中文 | 日本語 | 한국어 | Español | Français | Deutsch | Italiano

Claude Desktop での使用

claude_desktop_config.json に以下を追加してください:

{
  "mcpServers": {
    "cli": {
      "command": "npx",
      "args": ["-y", "mcp-cli", "/path/to/allowed/directory", "/path/to/allowed/directory2", ...]
    }
  }
}

機能特徴

パスセキュリティ

  • 厳格なパスホワイトリストメカニズム
  • 各操作前のパス検証
  • すべての操作が許可されたディレクトリ内で行われることを保証
  • 相対パスと絶対パスをサポート
  • ディレクトリトラバーサル攻撃を防止
  • システム内の他のデータを誤った変更から保護

ファイル操作

  • ファイル内容の読み取り(パスホワイトリスト検証が必要)
  • ファイルの書き込み(パスホワイトリスト検証が必要)
  • ファイルのコピー(ソースパスと対象パスの両方にホワイトリスト検証が必要)
  • ファイルの移動(ソースパスと対象パスの両方にホワイトリスト検証が必要)
  • ファイルの削除(パスホワイトリスト検証が必要)

ディレクトリ操作

  • ディレクトリの作成(パスホワイトリスト検証が必要)
  • ディレクトリの削除(パスホワイトリスト検証が必要)
  • ディレクトリ内容の一覧表示(パスホワイトリスト検証が必要)

コマンド実行

  • 安全なシェルコマンド実行
  • 作業ディレクトリはホワイトリスト内に制限
  • 環境変数のサポート
  • cross-envを使用したクロスプラットフォーム互換性

システム情報

  • Node.js ランタイム情報
  • Python バージョン情報
  • オペレーティングシステムの詳細
  • シェル環境情報
  • CPU とメモリ使用状況

利用可能なツール

サーバーは以下のツールを提供します:

  • validatePath:パスが許可されたホワイトリストディレクトリ内にあるかを検証
  • executeCommand:ホワイトリストディレクトリ内でシェルコマンドを実行
  • readFile:ホワイトリストディレクトリからファイル内容を読み取り
  • writeFile:ホワイトリストディレクトリにファイルを書き込み
  • copyFile:ホワイトリストディレクトリ内でファイルをコピー
  • moveFile:ホワイトリストディレクトリ内でファイルを移動
  • deleteFile:ホワイトリストディレクトリからファイルを削除
  • createDirectory:ホワイトリストディレクトリに新しいディレクトリを作成
  • removeDirectory:ホワイトリストディレクトリからディレクトリを削除
  • listDirectory:ホワイトリストディレクトリの内容を一覧表示
  • getSystemInfo:システム情報を取得

セキュリティ機能

  • パスホワイトリストメカニズム
    • 起動時に許可されたディレクトリを指定
    • すべてのファイルとディレクトリ操作にホワイトリスト検証が必要
    • 重要なシステムファイルの変更を防止
    • 操作を安全なディレクトリに制限
  • コマンド実行セキュリティ
    • 作業ディレクトリをホワイトリストに制限
    • 制御された環境でコマンドを実行
  • 包括的なエラー処理

エラー処理

サーバーには包括的なエラー処理が含まれています:

  • パスホワイトリスト検証エラー
  • ファイル未検出エラー
  • ディレクトリ未検出エラー
  • コマンド実行エラー
  • システム情報取得エラー

実装詳細

サーバーは以下の技術を使用して構築されています:

  • Model Context Protocol SDK
  • ファイルシステム操作用の shelljs
  • クロスプラットフォーム環境変数用の cross-env
  • データ検証用の Zod