Skip to main content
Glama
abrarsavan123

Filesystem MCP Server

MCP Integration Project — Resume Matching Agent

Milestone 2: Ersetzt direkte Dateisystem-Tool-Importe durch einen vollständig spezifikationskonformen Model Context Protocol (MCP)-Server, der von einem LangGraph-Agenten genutzt wird.


Architektur

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)

Wichtige Dateien

Datei

Rolle

filesystem_mcp_server.py

JSON-RPC-2.0-MCP-Server, der 6 Dateisystem-Tools bereitstellt

mcp_client.py

Wiederverwendbarer MCP-Client mit stdio-Transport und Subprozessverwaltung

matching_agent.py

LangGraph-Agent – entdeckt und ruft Tools über MCP auf

tests/test_mcp_server.py

Unit-Tests für alle JSON-RPC-Methoden (ohne Subprozess)

tests/test_agent.py

Integrationstests mit echtem Subprozess + LangChain-Brücke

diagrams/workflow_diagram.md

6 Mermaid-Diagramme des Systems


Related MCP server: Filesystem MCP Server

Einrichtung

1. Abhängigkeiten installieren

pip install -r requirements.txt

2. API-Schlüssel konfigurieren

cp .env.example .env
# Edit .env and set OPENROUTER_API_KEY

Holen Sie sich einen kostenlosen Schlüssel unter openrouter.ai/keys.


Ausführen

Starten Sie den Resume Matching Agent

python matching_agent.py

Beispielabfragen:

  • "List all resumes in the resumes folder"

  • "Find candidates with Python skills and rank them by experience"

  • "Batch read all resumes and create a skills comparison report"

  • "Watch the resumes folder for new candidates"

  • "Read Alice Johnson's resume and write a one-paragraph summary"

Testen Sie den MCP-Server eigenständig

# 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

Tests ausführen

# 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-Server – Verfügbare Tools

Tool

Beschreibung

read_file(filepath)

Liest PDF-, DOCX- oder TXT-Datei; gibt Text + Metadaten zurück

list_files(directory, extension?)

Listet Dateien in einem Verzeichnis mit optionalem Filter auf

write_file(filepath, content)

Schreibt Text in eine Datei (erstellt Verzeichnisse bei Bedarf)

search_in_file(filepath, keyword)

Groß-/kleinschreibungsunabhängige Stichwortsuche mit Kontext

watch_directory(directory, reset?)

NEU – Snapshot-Diff-Überwachung für neue/geänderte/gelöschte Dateien

batch_process(filepaths, operation, keyword?)

NEU – Parallele Verarbeitung mehrerer Dateien über ThreadPoolExecutor

MCP-Server – JSON-RPC-Methoden

Methode

Beschreibung

initialize

MCP-Handshake; gibt Serverfunktionen zurück

initialized

Client-Bestätigungsbenachrichtigung (keine Antwort)

tools/list

Ressourcenermittlung – listet alle 6 Tools mit Schemas auf

tools/call

Führt ein benanntes Tool mit Argumenten aus

resources/list

Listet Dateisystemressourcen auf (resumes-Verzeichnis)

resources/read

Liest eine Dateiressource über file://-URI

ping

Lebensfähigkeitsprüfung


JSON-RPC-2.0-Fehlercodes

Code

Name

Wann

-32700

Parse Error

Ungültiges JSON

-32600

Invalid Request

Keine gültige JSON-RPC-2.0-Nachricht

-32601

Method Not Found

Unbekannter Methoden- oder Toolname

-32602

Invalid Params

Fehlende/falsche Argumenttypen

-32000

Tool Error

Tool-Ausführung fehlgeschlagen


Workflow-Diagramme

Siehe diagrams/workflow_diagram.md für 6 Mermaid-Diagramme:

  1. Systemarchitektur-Übersicht

  2. LangGraph-Zustandsmaschine

  3. JSON-RPC-2.0-Nachrichtenfluss (vollständiges Sequenzdiagramm)

  4. watch_directory-Polling-Ablauf

  5. batch_process-Parallelausführung

  6. Fehlerbehandlungsablauf


Abhängigkeit von Milestone 1

Dieses Projekt ist eine Refaktorierung des LLM-Powered-File-System-Assistant (Milestone 1). Die 4 ursprünglichen Tools (read_file, list_files, write_file, search_in_file) werden in den MCP-Server portiert. Der direkte import fs_tools in llm_file_assistant.py wird durch die MCP-Protokollebene ersetzt.

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables file system operations (read, write, list, search, watch, batch process) via MCP over JSON-RPC 2.0, used by a resume matching agent.
    -
  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables 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.
    -
  • F
    license
    Not graded
    quality
    D
    maintenance
    Provides file system tools for resume matching agents, enabling reading, writing, searching, listing, watching, and batch processing of files via the Model Context Protocol.
    -
  • F
    license
    Not graded
    quality
    B
    maintenance
    Provides MCP tools for filesystem operations on resume directories, including watch, batch extraction, and saving match results.
    1
    -