ファイルコンテキストサーバー
大規模言語モデル(LLM)にファイルシステムコンテキストを提供するモデルコンテキストプロトコル(MCP)サーバー。このサーバーにより、LLMは高度なキャッシュ機能とリアルタイムファイル監視機能を利用して、コードファイルの読み取り、検索、分析を行うことができます。
特徴
ファイル操作
ファイルとディレクトリの内容を読み取る
詳細なメタデータを含むファイルを一覧表示する
リアルタイムのファイル監視とキャッシュ無効化
複数のファイルエンコーディングのサポート
再帰的なディレクトリトラバーサル
ファイルタイプのフィルタリング
コード分析
循環的複雑度の計算
依存関係の抽出
コメント分析
品質指標:
重複行検出
長い行の検出(100文字以上)
複雑な機能の識別
行数(合計、空でない行、コメント)
スマートキャッシング
LRU(最長時間未使用)キャッシュ戦略
ファイル変更時の自動キャッシュ無効化
設定可能な制限を備えたサイズを考慮したキャッシュ
キャッシュ統計とパフォーマンスメトリック
効率的な検索のための最終読み取り結果のキャッシュ
詳細検索
正規表現パターンマッチング
設定可能な周囲の線によるコンテキスト認識結果
ファイルタイプのフィルタリング
マルチパターン検索のサポート
キャッシュされた結果の検索
除外パターン
Related MCP server: Unstructured Document Processor MCP
インストール
Smithery経由でインストール
Smithery経由で Claude Desktop の File Context Server を自動的にインストールするには:
手動インストール
使用法
サーバーの起動
利用可能なツール
リストコンテキストファイル
詳細なメタデータを含むディレクトリ内のファイルを一覧表示します
{ "path": "./src", "recursive": true, "includeHidden": false }読み取りコンテキスト
メタデータを含むファイルまたはディレクトリの内容を読み取ります
{ "path": "./src/index.ts", "encoding": "utf8", "maxSize": 1000000, "recursive": true, "fileTypes": ["ts", "js"] }検索コンテキスト
コンテキストを使用してファイル内のパターンを検索します
{ "pattern": "function.*", "path": "./src", "options": { "recursive": true, "contextLines": 2, "fileTypes": ["ts"] } }コードを分析する
コードファイルを分析して品質メトリクスを算出します
{ "path": "./src", "recursive": true, "metrics": ["complexity", "dependencies", "quality"] }キャッシュ統計
キャッシュ統計とパフォーマンスメトリックを取得します
{ "detailed": true }
エラー処理
サーバーは、具体的なエラー コードとともに詳細なエラー メッセージを提供します。
FILE_NOT_FOUND: ファイルまたはディレクトリが存在しませんPERMISSION_DENIED: アクセス権限の問題INVALID_PATH: 無効なファイルパス形式FILE_TOO_LARGE: ファイルのサイズ制限を超えていますENCODING_ERROR: ファイルのエンコードの問題UNKNOWN_ERROR: 予期しないエラー
構成
カスタマイズ用の環境変数:
MAX_CACHE_SIZE: キャッシュされるエントリの最大数(デフォルト: 1000)CACHE_TTL: キャッシュの有効期間(ミリ秒)(デフォルト: 1時間)MAX_FILE_SIZE: 読み取り時の最大ファイルサイズ(バイト単位)
発達
ライセンス
マサチューセッツ工科大学
貢献
貢献を歓迎します!行動規範とプルリクエストの送信手順の詳細については、貢献ガイドをお読みください。
クロスプラットフォームパスの互換性
注: 2025 年 4 月現在、File Context Server のすべてのファイルおよびディレクトリ パスの処理は、クロスプラットフォーム互換性 (Windows、macOS、Linux) を向上させるために更新されています。
すべての glob パターンは内部的に POSIX スタイルのパス (スラッシュ) を使用するため、OS に関係なく一貫したファイル マッチングが保証されます。
すべてのファイル システム操作 (読み取り、書き込み、統計など) では、信頼性を確保するために正規化された絶対パスが使用されます。
サーバーを開発または拡張している場合は、glob パターンに
path.posix.joinを使用し、ファイル システム アクセスにpath.normalize使用します。この変更により、異なるオペレーティング システムでのパス区切り文字とファイルの一致に関する問題が防止されます。
エンドユーザー側では変更は必要ありませんが、開発者はプロジェクトに貢献する際にこれらの規則に従う必要があります。