Skip to main content
Glama
abrarsavan123

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)

主要ファイル

ファイル

役割

filesystem_mcp_server.py

JSON-RPC 2.0 MCPサーバーで、6つのファイルシステムツールを公開

mcp_client.py

サブプロセス管理付きの再利用可能なstdioトランスポートMCPクライアント

matching_agent.py

LangGraphエージェント — MCP経由でツールを発見・呼び出し

tests/test_mcp_server.py

すべてのJSON-RPCメソッドのユニットテスト(サブプロセスなし)

tests/test_agent.py

実際のサブプロセス + LangChainブリッジを使った統合テスト

diagrams/workflow_diagram.md

システムの6つのMermaid図


セットアップ

1. 依存関係のインストール

pip install -r requirements.txt

2. 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/ -v

MCPサーバー — 利用可能なツール

ツール

説明

read_file(filepath)

PDF、DOCX、TXTファイルを読み取り、テキスト+メタデータを返す

list_files(directory, extension?)

ディレクトリ内のファイルを一覧表示(オプションのフィルター付き)

write_file(filepath, content)

テキストをファイルに書き込む(必要に応じてディレクトリを作成)

search_in_file(filepath, keyword)

大文字小文字を区別しないキーワード検索(コンテキスト付き)

watch_directory(directory, reset?)

NEW — 新規/変更/削除されたファイルのスナップショット差分監視

batch_process(filepaths, operation, keyword?)

NEW — ThreadPoolExecutorによる並列マルチファイル処理

MCPサーバー — JSON-RPCメソッド

メソッド

説明

initialize

MCPハンドシェイク; サーバー機能を返す

initialized

クライアント確認通知(応答なし)

tools/list

リソース発見 — 6つのツールすべてをスキーマ付きで一覧表示

tools/call

指定されたツールを引数付きで実行

resources/list

ファイルシステムリソース(resumesディレクトリ)を一覧表示

resources/read

file:// URIでファイルリソースを読み取る

ping

生存確認


JSON-RPC 2.0 エラーコード

コード

名前

発生時

-32700

パースエラー

無効なJSON

-32600

無効なリクエスト

有効なJSON-RPC 2.0メッセージではない

-32601

メソッドが見つからない

不明なメソッドまたはツール名

-32602

無効なパラメータ

引数の型が欠落/誤り

-32000

ツールエラー

ツールの実行に失敗


ワークフロー図

6つのMermaid図については diagrams/workflow_diagram.md を参照してください:

  1. システムアーキテクチャ概要

  2. LangGraph状態機械

  3. JSON-RPC 2.0メッセージフロー(完全なシーケンス図)

  4. watch_directory ポーリングフロー

  5. batch_process 並列実行

  6. エラーハンドリングフロー


マイルストーン1への依存

このプロジェクトは LLM-Powered-File-System-Assistant(マイルストーン1)のリファクタリングです。元の4つのツール(read_filelist_fileswrite_filesearch_in_file)はMCPサーバーに移植されています。llm_file_assistant.py 内の直接の import fs_tools はMCPプロトコル層に置き換えられています。

-
license - not tested
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

  • OCR, transcription, file extraction, and image generation for AI agents via MCP.

  • Personal assistant MCP server with search, execute, packages, jobs, secrets, and integrations.

  • A paid remote MCP for hosted MCP server, built to return verdicts, receipts, usage logs, and audit-r

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/abrarsavan123/mcp-integration-project'

If you have feedback or need assistance with the MCP directory API, please join our Discord server