Skip to main content
Glama
paonebharti

filesystem-mcp-server

by paonebharti

Milestone 2 — MCP-Based Resume Matching System

Architecture Overview

┌─────────────────────────┐     JSON-RPC 2.0 (TCP)    ┌─────────────────────────────┐
│   matching_agent.py     │ ◄──────────────────────── │  filesystem_mcp_server.py   │
│   (LangGraph + GPT-4)   │ ──────────────────────── ►│  (MCP Server, port 8765)    │
│                         │                            │                             │
│  Nodes:                 │   tools/call → result      │  Tools exposed:             │
│  1. load_job_desc       │                            │  • read_file                │
│  2. load_resumes        │                            │  • write_file               │
│  3. watch_new_resumes   │                            │  • list_directory           │
│  4. match_candidates────┼──► GPT-4o (OpenAI API)    │  • search_files             │
│  5. save_report         │                            │  • get_file_info            │
└─────────────────────────┘                            │  • delete_file              │
                                                       │  • watch_directory ★        │
                                                       │  • batch_process ★          │
                                                       └─────────────────────────────┘

Related MCP server: File System MCP Server

Setup

pip install -r requirements.txt
export OPENAI_API_KEY="sk-..."

Running

Step 1 — Start the MCP server (TCP mode)

python filesystem_mcp_server.py --transport tcp --port 8765

Step 2 — Run the agent (separate terminal)

python matching_agent.py --jd job_descriptions/senior_engineer.txt --resumes resumes/

Step 3 — Run tests

python -m pytest tests/ -v

Demo (all-in-one)

python demo_runner.py

Files

File

Purpose

filesystem_mcp_server.py

MCP server — JSON-RPC 2.0, 8 tools, stdio + TCP transport

mcp_client.py

Async MCP client used by the agent

matching_agent.py

LangGraph agent with 5 nodes, all I/O via MCP

tests/test_mcp_system.py

29 unit tests (JSON-RPC, tools, batch, watch)

demo_runner.py

End-to-end demo script

resumes/

Sample resume files (alice_chen.txt, bob_martinez.txt, priya_nair.txt)

job_descriptions/

Sample JD (senior_engineer.txt)

logs/

Server logs + generated match reports

MCP Protocol Details

The server implements MCP 2024-11-05 over JSON-RPC 2.0.

Lifecycle

Client → initialize (protocolVersion, capabilities)
Server → {protocolVersion, capabilities, serverInfo}
Client → initialized  (notification, no response)

Tool call

→ {"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"batch_process","arguments":{...}}}
← {"jsonrpc":"2.0","id":3,"result":{"content":[{"type":"text","text":"{...}"}],"isError":false}}

Error codes

Code

Meaning

-32700

Parse error (invalid JSON)

-32601

Method not found

-32602

Invalid params (missing required field)

-32001

File not found

-32002

Permission denied / path traversal

watch_directory

Polls a directory every N seconds for new *.txt files. Returns file_created events:

{"event": "file_created", "path": "resumes/new_candidate.txt", "timestamp": "...", "size_bytes": 1234}

batch_process

Processes multiple files in one RPC call. Operations:

  • read_all — return full content of each file

  • word_count — words, lines, chars per file

  • extract_emails — regex-extracted emails per file

  • summarize_stats — compact metadata for matching pipeline

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    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.
    Academic Free v1.1
  • F
    license
    Not graded
    quality
    C
    maintenance
    Provides MCP tools for reading, listing, writing, searching, watching, and batch-processing files, enabling automated file management and resume matching workflows.
    -
  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables MCP clients to list, read, and batch-process resume and job description files, watch directories for new uploads, and save reports, with sandboxed access to recruitment data.
    -