filesystem_mcp_server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@filesystem_mcp_serverlist all files in the resumes folder"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MCP Resume Matching — Milestone 2
Converts the Milestone 1 filesystem tools into a proper MCP (Model Context Protocol) server, and refactors the LangGraph matching agent to talk to that server as an MCP client instead of calling the filesystem directly.
Files
File | Part | What it does |
| A | JSON-RPC 2.0 MCP server. Exposes |
| B | LangGraph agent ( |
| — | Runnable scenarios: tool discovery, |
| — | Mermaid sequence + state diagrams of the agent ↔ MCP interaction. |
| — | Dependencies and required API keys. |
Related MCP server: Filesystem MCP Server
API keys — where they come from
Key | Required? | Used for | Get it from |
| Yes | The LLM that reasons over resumes and ranks them ( | |
| No (bonus only) | Part B bonus — connects a second MCP server (Tavily web search) so the agent can look up company/role info while it works |
Neither key is ever hardcoded in the source. Both are read from environment
variables via python-dotenv, loaded from a local .env file that you
create yourself and should not commit to git.
If you'd rather use a different LLM provider, swap
ChatOpenAI(...)inmatching_agent.pyfor another LangChain chat model (e.g.ChatAnthropic) and set the matching key instead — the MCP plumbing doesn't change.
Setup in VS Code
Open the folder
File → Open Folder…→ select this project directory.Create and select a virtual environment (Terminal in VS Code,
Ctrl+`):python -m venv venv # Windows: venv\Scripts\activate # macOS/Linux: source venv/bin/activateIn VS Code, run Python: Select Interpreter (Ctrl+Shift+P) and pick
./venv.Install dependencies
pip install -r requirements.txtAdd your keys
cp .env.example .envOpen
.envand paste in your realOPENAI_API_KEY(and optionallyTAVILY_API_KEY).Add sample resumes
mkdir -p resumes # drop a few .pdf or .txt resumes into resumes/
Running it
You do not run filesystem_mcp_server.py by itself in normal use —
matching_agent.py launches it automatically as a subprocess and talks to
it over stdio via JSON-RPC 2.0.
# Full agent run (ranks resumes/ against a hardcoded job description)
python matching_agent.py
# All test scenarios (tool discovery, batch_process, watch_directory,
# error handling, end-to-end agent run)
python test_scenarios.pyTo manually test the server in isolation, launch it with the MCP
inspector (installed via the mcp[cli] extra):
mcp dev filesystem_mcp_server.pyThis opens a browser UI where you can call each tool and see the raw JSON-RPC 2.0 requests/responses — useful for the demo video.
Why this counts as JSON-RPC 2.0 / resource discovery
The
mcpSDK'sFastMCPclass implements the full MCP spec, which is itself built on JSON-RPC 2.0 — everytools/list,tools/call, andresources/listexchange over stdio is a JSON-RPC 2.0 request/response.Errors raised inside any
@mcp.tool()function (e.g.FileNotFoundErrorfor a bad path) are automatically converted into JSON-RPC 2.0 error responses by the SDK, with the message preserved — that's the "proper error handling and status codes" requirement.@mcp.resource(...)decorators (resumes://list,config://server) are what a client callsresources/list/resources/readagainst — that's the resource discovery endpoint requirement.
Multi-MCP bonus (Part B)
If TAVILY_API_KEY is set in .env, matching_agent.py automatically
adds a second entry to its MCP config (web_search, launched via
npx -y tavily-mcp), and the LangGraph agent gets tools from both
servers in the same run — demonstrating multi-MCP integration without any
code changes on your end.
Demo video checklist (5–6 min)
Show
filesystem_mcp_server.pyrunning viamcp dev— callbatch_processandwatch_directorylive, point at the JSON-RPC traffic in the inspector.Show
matching_agent.pyconnecting as a client (log line:tools/list).Run
python test_scenarios.pyend to end.Walk through
workflow_diagram.md.(Bonus) Add
TAVILY_API_KEYand show the second MCP server joining.
This server cannot be installed
Maintenance
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
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.
Manage files and folders directly from your workspace. Read and write files, list directories, cre…
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 gradedqualityCmaintenanceEnables 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 gradedqualityCmaintenanceProvides file system tools for resume matching agents, enabling reading, writing, searching, listing, watching, and batch processing of files via the Model Context Protocol.
- FlicenseNot gradedqualityCmaintenanceProvides MCP tools for reading, listing, writing, searching, watching, and batch-processing files, enabling automated file management and resume matching workflows.
Appeared in Searches
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/maitrysingh-dev/MCP-Integration-'
If you have feedback or need assistance with the MCP directory API, please join our Discord server