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


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.

-
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