ファイルコンテキストMCP(モデルコンテキストプロセッサ)
概要
File Context MCPは、TypeScriptベースのアプリケーションで、ローカルファイルのコンテキストを用いて大規模言語モデル(LLM)をクエリするためのAPIを提供します。複数のLLMプロバイダー(OllamaとTogether.ai)をサポートし、様々なファイルタイプを処理してコンテキストに応じたレスポンスを生成できます。
コア機能
1. ファイルシステムナビゲーション
動的なファイルとディレクトリのトラバーサル
複数のファイル タイプ (
.txt
、.md
、.ts
、.json
など) のサポート衛生管理による安全な通路の確保
2. コンテキスト処理
LLMクエリのためのインテリジェントなコンテキストフォーマット
大きなファイルを処理するためのコンテキスト切り捨て
ディレクトリクエリのファイルコンテンツの集約
3. マルチモデルサポート
Ollama(ローカル)統合
Together.ai(クラウド)統合
拡張可能なモデルインターフェース設計
建築
コアコンポーネント
サーバー (server.ts)
Express.js REST API実装
multerによるファイルアップロード/削除処理
リクエストの検証とルーティング
OpenAPI/Swagger統合
ファイルシステムツール (core/fileSystem.ts)
ファイルとディレクトリの操作
コンテンツの読み取りと解析
ディレクトリトラバーサル
安全なファイル削除
ファイル操作のエラー処理
モデルインターフェース (core/modelInterface.ts)
複数の LLM プロバイダーのサポート (Ollama、Together.ai)
レスポンスのフォーマットとエラー処理
設定可能なモデルパラメータ
統合クエリインターフェース
ユーティリティモジュール
fileUtils
: ファイルタイプの検出、パスのサニタイズ、サイズのフォーマットpromptUtils
: コンテキストフォーマット、インテリジェントな切り捨てvalidators
: パス、クエリ、モデルの検証logger
: レベルによる構造化ログ
構成 (config/config.ts)
環境変数管理
APIキーとエンドポイント
モデル構成
サーバー設定
API 仕様 (resources/file-context-api.yml)
OpenAPI 3.0 ドキュメント
リクエスト/レスポンススキーマ
エンドポイントドキュメント
エラー応答の定義
APIエンドポイント
1. ファイルの一覧表示
2. ファイルをアップロードする
3. ファイルを削除する
4. コンテキストを考慮したクエリ
セットアップと構成
環境変数
インストール
Smithery経由でインストール
Smithery経由で Claude Desktop 用の File Context MCP を自動的にインストールするには:
アプリケーションの実行
仕組み
ファイル処理フロー
リクエスト受信 → パス検証 → ファイルの読み取り → コンテンツの抽出
ディレクトリ処理には再帰的なファイル読み取りが含まれる
ファイルタイプに基づくコンテンツフィルタリング
ファイルのアップロードは種類とサイズが検証されます
パス検証による安全なファイル削除
コンテキスト処理
ファイルの内容が集約される
コンテキストは明確な境界でフォーマットされている
大きなコンテキストはインテリジェントに切り捨てられる
プロンプトのフォーマットはLLMの理解に構造を追加します
モデル統合
さまざまなLLMプロバイダー向けの統一インターフェース
エラー処理と応答の正規化
設定可能なモデルパラメータ
セキュリティ機能
パスサニタイズ
ディレクトリトラバーサル攻撃の防止
パスの検証と正規化
安全なファイルタイプのチェック
ファイルアップロードのセキュリティ
ファイルタイプの検証
ファイルサイズの制限(最大5MB)
安全なファイルストレージ
安全なファイル削除
入力検証
クエリコンテンツの検証
モデルタイプの検証
パス構造検証
ファイルコンテンツの検証
サポートされているファイル形式
アプリケーションは、次のテキストベースのファイル タイプをサポートしています。
ドキュメント:
.txt
、.md
コードファイル:
.js
、.ts
、.jsx
、.tsx
、.py
、.java
、.cpp
、.c
、.h
構成:
.json
、.yaml
、.yml
、.env
Web ファイル:
.html
、.css
データファイル:
.csv
、.xml
、.log
ファイルタイプの検証は次の場合に適用されます:
ファイルのアップロード
コンテキスト処理
ファイル読み取り操作
最大ファイルサイズ: ファイルあたり5MB
エラー処理
アプリケーションは包括的なエラー処理を実装します。
ファイルシステムエラー
API応答エラー
無効な入力エラー
モデル固有のエラー
ファイルのアップロード/削除エラー
発達
プロジェクト構造
新機能の追加
新しいファイルタイプ
fileUtils.isTextFile()
に拡張機能を追加する必要に応じて特定のハンドラーを実装する
新しいモデルプロバイダー
ModelInterface
クラスを拡張するvalidators.isValidModel()
にプロバイダーを追加します。プロバイダ固有のエラー処理を実装する
テスト
ポストマンコレクション
このプロジェクトには、すべてのAPIエンドポイントをテストするためのPostmanコレクション( postman/File-Context-MCP.postman_collection.json
)が含まれています。使用するには、以下の手順に従います。
コレクションをインポートする
ポストマンを開く
「インポート」ボタンをクリック
File-Context-MCP.postman_collection.json
ファイルを選択またはドラッグします。
利用可能なリクエスト
File-Context-MCP ├── List files │ └── GET http://localhost:3001/api/files?path=./storage ├── Query │ └── POST http://localhost:3001/api/query (single file analysis) ├── Analyze multiple files │ └── POST http://localhost:3001/api/query (directory analysis) └── File Upload └── POST http://localhost:3001/api/files/uploadファイル操作のテスト
ファイルの一覧: ストレージディレクトリの内容を表示します
ファイルのアップロード: キー「file」を持つフォームデータを使用し、テキストファイルを選択します。
クエリファイル: LLM を使用して単一ファイルの内容を分析する
ディレクトリ分析: LLM で複数のファイルを処理する
クエリの例
// Single file analysis { "path": "./storage/code-samples/example.ts", "query": "Explain what this TypeScript code does", "model": "ollama" } // Directory analysis { "path": "./storage", "query": "What types of files are in this directory and summarize their contents?", "model": "ollama" }ファイルアップロードガイド
「ファイルアップロード」リクエストを使用する
本文タブで「form-data」を選択します
タイプ「File」のキー「file」を追加します。
サポートされているテキストファイルを選択します(サポートされているファイルの種類を参照)
最大ファイルサイズ: 5MB
手動テスト
/storage
に用意されているテストファイルを使用するさまざまなファイルタイプとクエリをテストする
モデルの応答とエラー処理を検証する
テストファイルのサイズ制限と種類の制限
環境設定
必ず次の点に注意してください:
サーバーを実行しておきます(
npm run dev
)環境変数を設定する
Ollamaをローカルで実行する(Ollamaモデルの場合)
Together.ai APIキーを設定する(Togetherモデル用)
今後の検討事項
大きなファイルを効率的に処理する方法
サポートされるファイルタイプの拡張
コンテキスト処理の最適化
レスポンスのストリーミングサポートの追加
レート制限とキャッシュの実装
このプロジェクトは、モジュール性、型の安全性、エラー処理に重点を置いた最新の TypeScript/Node.js プラクティスを示し、ファイルベースのコンテキストとの LLM 対話のための柔軟なインターフェースを提供します。
This server cannot be installed
local-only server
The server can only run on the client's local machine because it depends on local resources.
このサーバーは、ローカル ファイルのコンテキストを使用して大規模言語モデルをクエリするための API を提供し、コンテキスト認識応答のためのさまざまなモデルとファイル タイプをサポートします。
Related Resources
Related MCP Servers
- -securityAlicense-qualityA Model Context Protocol server that provides access to BigQuery. This server enables LLMs to inspect database schemas and execute queries.Last updated -120MIT License
- -securityFlicense-qualityA TypeScript-based server that provides a memory system for Large Language Models (LLMs), allowing users to interact with multiple LLM providers while maintaining conversation history and offering tools for managing providers and model configurations.Last updated -27
- -securityAlicense-qualityA server that enables Large Language Models to discover and interact with REST APIs defined by OpenAPI specifications through the Model Context Protocol.Last updated -519154MIT License
MCP TapData Serverofficial
-securityFlicense-qualityA Model Context Protocol server that enables Large Language Models to access and interact with database connections, including viewing schemas and performing CRUD operations on connected databases.Last updated -