Filesystem MCP Server
MCP統合プロジェクト — 履歴書マッチングエージェント
マイルストーン2: 直接のファイルシステムツールインポートを、完全に仕様準拠の**Model Context Protocol (MCP)**サーバーに置き換え、LangGraphエージェントが利用します。
アーキテクチャ
User
│
▼
matching_agent.py (LangGraph state machine)
│
│ JSON-RPC 2.0 over stdio
▼
mcp_client.py (subprocess manager + RPC transport)
│
▼
filesystem_mcp_server.py (MCP server, 6 tools)
│
▼
resumes/ (file system)主要ファイル
ファイル | 役割 |
| JSON-RPC 2.0 MCPサーバーで、6つのファイルシステムツールを公開 |
| サブプロセス管理付きの再利用可能なstdioトランスポートMCPクライアント |
| LangGraphエージェント — MCP経由でツールを発見・呼び出し |
| すべてのJSON-RPCメソッドのユニットテスト(サブプロセスなし) |
| 実際のサブプロセス + LangChainブリッジを使った統合テスト |
| システムの6つのMermaid図 |
Related MCP server: Filesystem MCP Server
セットアップ
1. 依存関係のインストール
pip install -r requirements.txt2. APIキーの設定
cp .env.example .env
# Edit .env and set OPENROUTER_API_KEY無料のキーは openrouter.ai/keys で取得できます。
実行
履歴書マッチングエージェントを起動
python matching_agent.pyクエリの例:
"resumesフォルダ内のすべての履歴書を一覧表示""Pythonスキルを持つ候補者を検索し、経験でランク付け""すべての履歴書を一括読み取り、スキル比較レポートを作成""resumesフォルダを監視して新しい候補者を検出""Alice Johnsonの履歴書を読み、1段落の要約を書く"
MCPサーバーを単体でテスト
# Send a raw JSON-RPC request
echo '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"test","version":"0.1"}}}' | python filesystem_mcp_server.py
# Test the MCP client
python mcp_client.pyテストの実行
# Unit tests (fast, no subprocess)
python -m pytest tests/test_mcp_server.py -v
# Integration tests (spawns subprocess)
python -m pytest tests/test_agent.py -v -s
# All tests
python -m pytest tests/ -vMCPサーバー — 利用可能なツール
ツール | 説明 |
| PDF、DOCX、TXTファイルを読み取り、テキスト+メタデータを返す |
| ディレクトリ内のファイルを一覧表示(オプションのフィルター付き) |
| テキストをファイルに書き込む(必要に応じてディレクトリを作成) |
| 大文字小文字を区別しないキーワード検索(コンテキスト付き) |
| NEW — 新規/変更/削除されたファイルのスナップショット差分監視 |
| NEW — ThreadPoolExecutorによる並列マルチファイル処理 |
MCPサーバー — JSON-RPCメソッド
メソッド | 説明 |
| MCPハンドシェイク; サーバー機能を返す |
| クライアント確認通知(応答なし) |
| リソース発見 — 6つのツールすべてをスキーマ付きで一覧表示 |
| 指定されたツールを引数付きで実行 |
| ファイルシステムリソース(resumesディレクトリ)を一覧表示 |
|
|
| 生存確認 |
JSON-RPC 2.0 エラーコード
コード | 名前 | 発生時 |
| パースエラー | 無効なJSON |
| 無効なリクエスト | 有効なJSON-RPC 2.0メッセージではない |
| メソッドが見つからない | 不明なメソッドまたはツール名 |
| 無効なパラメータ | 引数の型が欠落/誤り |
| ツールエラー | ツールの実行に失敗 |
ワークフロー図
6つのMermaid図については diagrams/workflow_diagram.md を参照してください:
システムアーキテクチャ概要
LangGraph状態機械
JSON-RPC 2.0メッセージフロー(完全なシーケンス図)
watch_directoryポーリングフローbatch_process並列実行エラーハンドリングフロー
マイルストーン1への依存
このプロジェクトは LLM-Powered-File-System-Assistant(マイルストーン1)のリファクタリングです。元の4つのツール(read_file、list_files、write_file、search_in_file)はMCPサーバーに移植されています。llm_file_assistant.py 内の直接の import fs_tools はMCPプロトコル層に置き換えられています。
This server cannot be deployed
Maintenance
Related MCP Connectors
Browse and manage files in your Moxt AI workspace from any MCP client.
Persistent file storage for AI agents via MCP and curl. Upload, download, and version files.
OCR, transcription, file extraction, and image generation for AI agents via MCP.
Document processing over MCP: merge, split and compress PDFs, run OCR, extract document text.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables file system operations (read, write, list, search, watch, batch process) via MCP over JSON-RPC 2.0, used by a resume matching agent.-
- FlicenseNot gradedqualityDmaintenanceEnables AI agents to interact with a sandboxed filesystem via MCP tools for reading, writing, searching, and monitoring files, including batch processing and resource discovery for resume management.-
- FlicenseNot gradedqualityDmaintenanceProvides file system tools for resume matching agents, enabling reading, writing, searching, listing, watching, and batch processing of files via the Model Context Protocol.-
- FlicenseNot gradedqualityBmaintenanceProvides MCP tools for filesystem operations on resume directories, including watch, batch extraction, and saving match results.1-