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

Многоразовый MCP-клиент с stdio-транспортом и управлением подпроцессами

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

Примеры запросов:

  • "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"

Тестирование 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?)

НОВОЕ — мониторинг изменений (снимок-дифф) для новых/измененных/удаленных файлов

batch_process(filepaths, operation, keyword?)

НОВОЕ — параллельная обработка нескольких файлов через ThreadPoolExecutor

MCP-сервер — методы JSON-RPC

Метод

Описание

initialize

Рукопожатие MCP; возвращает возможности сервера

initialized

Уведомление подтверждения клиента (без ответа)

tools/list

Обнаружение ресурсов — перечисляет все 6 инструментов со схемами

tools/call

Выполняет именованный инструмент с аргументами

resources/list

Список ресурсов файловой системы (каталог резюме)

resources/read

Читает файловый ресурс по URI file://

ping

Проверка активности


Коды ошибок JSON-RPC 2.0

Код

Имя

Когда

-32700

Parse Error

Недопустимый JSON

-32600

Invalid Request

Не является допустимым сообщением JSON-RPC 2.0

-32601

Method Not Found

Неизвестный метод или имя инструмента

-32602

Invalid Params

Отсутствуют или неверные типы аргументов

-32000

Tool Error

Сбой выполнения инструмента


Диаграммы рабочих процессов

См. diagrams/workflow_diagram.md для 6 диаграмм Mermaid:

  1. Обзор архитектуры системы

  2. Конечный автомат LangGraph

  3. Поток сообщений JSON-RPC 2.0 (полная диаграмма последовательности)

  4. Поток опроса watch_directory

  5. Параллельное выполнение batch_process

  6. Поток обработки ошибок


Зависимость от вехи 1

Этот проект является рефакторингом LLM-Powered-File-System-Assistant (веха 1). Четыре исходных инструмента (read_file, list_files, write_file, search_in_file) перенесены в MCP-сервер. Прямой import fs_tools в llm_file_assistant.py заменен на уровень протокола 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