filesystem-mcp

by sylphlab
Verified

local-only server

The server can only run on the client’s local machine because it depends on local resources.

ファイルシステム MCP サーバー (@sylphlab/filesystem-mcp)

**AIエージェント(Cline/Claudeなど)に、プロジェクトファイルへの安全かつ効率的でトークンを節約したアクセスを提供します。**このNode.jsサーバーは、Model Context Protocol(MCP)を実装し、定義されたプロジェクトルートディレクトリ内で安全に動作する堅牢なファイルシステムツールセットを提供します。

インストール

ファイルシステム MCP サーバーを使用するには、いくつかの方法があります。

1. 推奨: MCP ホスト構成経由のnpx (またはbunx )

最も簡単な方法は、 npxまたはbunxを使用し、MCPホスト環境(例:Roo/Clineのmcp_settings.json )で直接設定することです。これにより、ローカルインストールやDockerを必要とせずに、常にnpmから最新バージョンを使用できます。

例 ( npx ):

{ "mcpServers": { "filesystem-mcp": { "command": "npx", "args": ["@sylphlab/filesystem-mcp"], "name": "Filesystem (npx)" } } }

例 ( bunx ):

{ "mcpServers": { "filesystem-mcp": { "command": "bunx", "args": ["@sylphlab/filesystem-mcp"], "name": "Filesystem (bunx)" } } }

**重要:**サーバーは自身の現在の作業ディレクトリ ( cwd ) をプロジェクトのルートとして使用します。MCPホスト (例: Cline/VSCode) が、 cwdをアクティブプロジェクトのルートディレクトリに設定してコマンドを実行するように設定されていることを確認してください。

2. ドッカー

コンテナ化された環境には公式の Docker イメージを使用します。

MCP ホスト構成の例:

{ "mcpServers": { "filesystem-mcp": { "command": "docker", "args": [ "run", "-i", "--rm", "-v", "/path/to/your/project:/app", // Mount your project to /app "sylphlab/filesystem-mcp:latest" ], "name": "Filesystem (Docker)" } } }

/path/to/your/project正しい絶対パスに置き換えることを忘れないでください。

3. ローカルビルド(開発用)

  1. クローン: git clone https://github.com/sylphlab/filesystem-mcp.git
  2. インストール: cd filesystem-mcp && pnpm install (現在はpnpmを使用)
  3. ビルド: pnpm run build
  4. MCP ホストを構成する:
    { "mcpServers": { "filesystem-mcp": { "command": "node", "args": ["/path/to/cloned/repo/filesystem-mcp/dist/index.js"], // Updated build dir "name": "Filesystem (Local Build)" } } }
    **注:**プロジェクト ルートとするディレクトリからnodeコマンドを起動します。

クイックスタート

MCP ホストでサーバーが構成されると (インストールを参照)、AI エージェントはすぐにファイルシステム ツールの使用を開始できます。

エージェントインタラクションの例(概念):

Agent: <use_mcp_tool> <server_name>filesystem-mcp</server_name> <tool_name>read_content</tool_name> <arguments>{"paths": ["src/index.ts"]}</arguments> </use_mcp_tool> Server Response: (Content of src/index.ts)

このプロジェクトを選択する理由

  • **🛡️ 安全で便利なプロジェクト ルート フォーカス:**操作はプロジェクト ルート (起動時はcwd ) に限定されます。
  • **⚡ 最適化・統合されたツール:**バッチ処理により、AIサーバー間のラウンドトリップが削減され、トークンとレイテンシを節約できます。バッチ処理の各項目で信頼性の高い結果が得られます。
  • 🚀 簡単な統合: npx / bunxによる簡単なセットアップ。
  • 🐳 コンテナ化オプション: Docker イメージとして利用できます。
  • **🔧 包括的な機能:**幅広いファイルシステムタスクをカバーします。
  • **✅ 堅牢な検証:**引数の検証に Zod スキーマを使用します。

パフォーマンス上の利点

(プレースホルダー: ここでベンチマーク結果と比較を追加し、個別のシェル コマンドなどの代替方法に対する利点を示します。)

  • **バッチ操作:**単一操作に比べてオーバーヘッドが大幅に削減されます。
  • **直接 API の使用:**コマンドごとにシェル プロセスを生成するよりも効率的です。
  • (利用可能な場合は具体的なベンチマークデータを追加してください)

特徴

このサーバーは、AI エージェントに強力で効率的なファイルシステム ツールキットを装備します。

  • 📁**探索と検査 ( list_filesstat_items ):**ファイル/ディレクトリを一覧表示 (再帰、統計)、複数の項目の詳細なステータスを取得します。
  • 📄**コンテンツの読み取りと書き込み ( read_contentwrite_content ):**複数のファイルを読み取り/書き込み/追加し、親ディレクトリを作成します。
  • ✏️**精密な編集と検索 ( edit_filesearch_filesreplace_content ):**インデントの保持と diff 出力を伴う複数のファイルにわたる外科的編集 (挿入、置換、削除)、コンテキストによる正規表現検索、複数ファイルの検索/置換。
  • 🏗️**ディレクトリの管理 ( create_directories ):**中間の親を含む複数のディレクトリを作成します。
  • 🗑️**安全に削除 ( delete_items ):**複数のファイル/ディレクトリを再帰的に削除します。
  • ↔️**移動とコピー ( move_itemscopy_items ):**複数のファイル/ディレクトリを移動/名前変更/コピーします。
  • 🔒**権限の制御 ( chmod_itemschown_items ):**複数のアイテムの POSIX 権限と所有権を変更します。

**主な利点:**複数のパス/操作を受け入れるすべてのツールは、各項目を個別に処理し、詳細なステータス レポートを返します。

デザイン哲学

(プレースホルダー: コアとなる設計原則を説明します。)

  • **セキュリティ第一:**プロジェクト ルート外へのアクセスを防止することを優先します。
  • 効率: AI 対話の通信オーバーヘッドとトークンの使用を最小限に抑えます。
  • **堅牢性:**バッチ操作の詳細な結果とエラー レポートを提供します。
  • シンプルさ: MCP を介して明確で一貫性のある API を提供します。
  • **標準コンプライアンス:**モデルコンテキスト プロトコルに厳密に準拠します。

他のソリューションとの比較

(プレースホルダー: 代替案と客観的に比較します。)

特徴/側面ファイルシステムMCPサーバー個別のシェルコマンド(エージェント経由)その他のカスタムスクリプト
安全高(根が限られている)低(エージェントはシェルアクセスが必要)変数
効率(トークン)高(バッチ処理)低(1オペレーションにつき1コマンド)変数
レイテンシー低(直接API)高(頭上にシェルが出現)変数
バッチ操作はい(ほとんどのツール)いいえ多分
エラー報告詳細(項目ごと)基本(stdout/stderr解析)変数
設定簡単(npx/Docker)セキュアシェルの設定が必要ですカスタム

今後の計画

(プレースホルダー: 今後の機能や改善点をリストします。)

  • ファイル監視機能について調べます。
  • 非常に大きなファイルのストリーミング サポートを調査します。
  • 特定の操作のパフォーマンスを向上します。
  • list_filesにさらに高度なフィルタリング オプションを追加します。

ドキュメント

(プレースホルダ: 利用可能になったら、完全なドキュメントの Web サイトへのリンクを追加します。)

詳細な API リファレンスや例を含む完全なドキュメントは、[ドキュメント サイトへのリンク] から入手できます。

貢献

貢献を歓迎します! GitHub リポジトリで問題を開くか、プル リクエストを送信してください。

ライセンス

このプロジェクトはMIT ライセンスの下でリリースされています。


発達

  1. クローン: git clone https://github.com/sylphlab/filesystem-mcp.git
  2. インストール: cd filesystem-mcp && pnpm install
  3. ビルド: pnpm run build (TypeScript をdist/にコンパイルします)
  4. 視聴: pnpm run dev (オプション、保存時に再コンパイル)

公開(GitHub Actions経由)

このリポジトリは、GitHub Actions ( .github/workflows/publish.yml ) を使用して、 mainブランチにバージョンタグ ( v*.*.* ) をプッシュすると、パッケージをnpmに自動的に公開し、Docker イメージをビルド/ Docker Hubにプッシュします。GitHub リポジトリ設定でNPM_TOKENDOCKERHUB_USERNAMEDOCKERHUB_TOKENシークレットが設定されている必要があります。

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

シンプルなメモ システムを実装する TypeScript ベースの MCP サーバー。ユーザーは URI とツールを使用してテキスト メモの要約を作成、アクセス、生成できます。

  1. Installation
    1. Quick Start
      1. Why Choose This Project?
        1. Performance Advantages
          1. Features
            1. Design Philosophy
              1. Comparison with Other Solutions
                1. Future Plans
                  1. Documentation
                    1. Contributing
                      1. License
                        1. Development
                          1. Publishing (via GitHub Actions)
                            ID: ysjzadzog3