Skip to main content
Glama
abrarsavan123

Filesystem MCP Server

MCP Integration Project — Resume Matching Agent

Hito 2: Reemplaza las importaciones directas de herramientas del sistema de archivos con un servidor Model Context Protocol (MCP) totalmente compatible con la especificación, consumido por un agente LangGraph.


Arquitectura

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)

Archivos clave

File

Rol

filesystem_mcp_server.py

Servidor MCP JSON-RPC 2.0 que expone 6 herramientas del sistema de archivos

mcp_client.py

Cliente MCP reutilizable con transporte stdio y gestión de subprocesos

matching_agent.py

Agente LangGraph: descubre y llama herramientas vía MCP

tests/test_mcp_server.py

Pruebas unitarias para todos los métodos JSON-RPC (sin subprocesos)

tests/test_agent.py

Pruebas de integración con subproceso real y puente LangChain

diagrams/workflow_diagram.md

6 diagramas Mermaid del sistema


Related MCP server: Filesystem MCP Server

Configuración

1. Instalar dependencias

pip install -r requirements.txt

2. Configurar la clave de API

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

Obtén una clave gratuita en openrouter.ai/keys.


Ejecución

Iniciar el Resume Matching Agent

python matching_agent.py

Consultas de ejemplo:

  • "Lista todos los currículos en la carpeta de currículos"

  • "Encuentra candidatos con habilidades en Python y ordénalos por experiencia"

  • "Lee todos los currículos por lotes y crea un informe de comparación de habilidades"

  • "Vigila la carpeta de currículos en busca de nuevos candidatos"

  • "Lee el currículo de Alice Johnson y escribe un resumen de un párrafo"

Probar el servidor MCP de forma independiente

# 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

Ejecutar pruebas

# 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

Servidor MCP — Herramientas disponibles

Tool

Descripción

read_file(filepath)

Lee archivos PDF, DOCX o TXT; devuelve texto + metadatos

list_files(directory, extension?)

Lista archivos en un directorio con filtro opcional

write_file(filepath, content)

Escribe texto en un archivo (crea directorios si es necesario)

search_in_file(filepath, keyword)

Búsqueda de palabras clave sin distinción de mayúsculas con contexto

watch_directory(directory, reset?)

NUEVO — Monitoreo de diferencias de instantáneas para archivos nuevos/modificados/eliminados

batch_process(filepaths, operation, keyword?)

NUEVO — Procesamiento paralelo de múltiples archivos mediante ThreadPoolExecutor

Servidor MCP — Métodos JSON-RPC

Método

Descripción

initialize

Protocolo de enlace MCP; devuelve las capacidades del servidor

initialized

Notificación de confirmación del cliente (sin respuesta)

tools/list

Descubrimiento de recursos: lista las 6 herramientas con esquemas

tools/call

Ejecuta una herramienta nombrada con argumentos

resources/list

Lista los recursos del sistema de archivos (directorio de currículos)

resources/read

Lee un recurso de archivo mediante URI file://

ping

Comprobación de actividad


Códigos de error JSON-RPC 2.0

Código

Nombre

Cuándo

-32700

Error de análisis

JSON no válido

-32600

Solicitud no válida

No es un mensaje JSON-RPC 2.0 válido

-32601

Método no encontrado

Nombre de método o herramienta desconocido

-32602

Parámetros no válidos

Tipos de argumentos faltantes o incorrectos

-32000

Error de herramienta

Falló la ejecución de la herramienta


Diagramas de flujo de trabajo

Consulta diagrams/workflow_diagram.md para ver 6 diagramas Mermaid:

  1. Resumen de la arquitectura del sistema

  2. Máquina de estados de LangGraph

  3. Flujo de mensajes JSON-RPC 2.0 (diagrama de secuencia completo)

  4. Flujo de sondeo de watch_directory

  5. Ejecución paralela de batch_process

  6. Flujo de manejo de errores


Dependencia del Hito 1

Este proyecto es una refactorización de LLM-Powered-File-System-Assistant (Hito 1). Las 4 herramientas originales (read_file, list_files, write_file, search_in_file) se portan al servidor MCP. La importación directa import fs_tools en llm_file_assistant.py se reemplaza por la capa de protocolo MCP.

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
    -