File Explorer MCP
A server for programmatic exploration of local files and folders.
File Explorer MCP Server & Client
Este proyecto es una implementación didáctica de un servidor y cliente que utilizan el protocolo MCP (Multi-Client Protocol) sobre JSON-RPC 2.0 para explorar archivos y carpetas de manera programática.
¿Qué es este proyecto?
- file_explorer_server.py: Un servidor que expone herramientas ("tools") para listar archivos y directorios usando el protocolo MCP. Responde a mensajes JSON-RPC por la entrada/salida estándar (stdio).
- file_explorer_client.py: Un cliente sencillo que se comunica con el servidor, envía solicitudes y muestra las respuestas.
¿Cómo usan MCP el servidor y el cliente?
El servidor (file_explorer_server.py)
- Implementa el protocolo MCP completo
- Expone herramientas ("tools") que siguen la especificación MCP
- Responde a mensajes JSON-RPC 2.0 con los métodos MCP estándar:
initialize- Inicialización del servidortools/list- Lista las herramientas disponiblestools/call- Ejecuta una herramienta específica
El cliente (file_explorer_client.py)
- Es un cliente MCP simple y autónomo
- Se comunica con el servidor usando el protocolo MCP
- Lanza el servidor como subproceso y se comunica con él
- No necesita
mcp.jsonporque maneja la conexión directamente
La diferencia clave
- El cliente es un "cliente MCP completo" que maneja todo por sí mismo
- Los clientes que necesitan
mcp.jsonson clientes MCP más avanzados (como IDEs) que quieren descubrir y conectar con múltiples servidores MCP de forma automática
Ambos usan MCP, pero el cliente es autosuficiente y no necesita configuración externa.
¿Para qué sirve?
Permite explorar el sistema de archivos de manera estructurada y automatizada, usando un protocolo estándar. Es útil para aprender sobre:
- Comunicación entre procesos
- Protocolos de mensajes (JSON-RPC)
- Automatización de tareas de exploración de archivos
¿Cómo se usa?
1. Requisitos
- Python 3.x instalado
2. Ejecución rápida
Abre una terminal en la carpeta del proyecto y ejecuta:
python3 file_explorer_client.py [ruta/opcional]
- Si no pasas ningún argumento, listará el directorio actual.
- Si pasas una ruta como argumento, listará los archivos y carpetas de esa ruta.
Ejemplos:
python3 file_explorer_client.py
python3 file_explorer_client.py /ruta/que/quieras
Esto hará lo siguiente:
- Iniciará el servidor como un subproceso.
- Enviará una solicitud de inicialización (
initialize). - Pedirá la lista de herramientas disponibles (
tools/list). - Usará la herramienta
list_filespara listar los archivos y carpetas del directorio indicado (o el actual si no se pasa argumento). - Mostrará todas las respuestas en pantalla en formato JSON.
3. Interpretar los resultados
- initialize: Devuelve información sobre el servidor y el protocolo soportado.
- tools/list: Muestra las herramientas disponibles y los argumentos que aceptan.
- tools/call: Ejecuta una herramienta (por ejemplo,
list_files) y devuelve el resultado, que puede ser una lista de archivos y carpetas.
Ejemplo de respuesta para list_files:
{
"jsonrpc": "2.0",
"id": 3,
"result": {
"content": [
{
"type": "text",
"text": "Contents of '.':\n\nDirectories:\n DIR: .cursor\n\nFiles:\n FILE: file_explorer_client.py\n FILE: file_explorer_server.py\n"
}
]
}
}
- Directories: Listado de carpetas (DIR:).
- Files: Listado de archivos (FILE).
4. Personalización
Puedes modificar el cliente para explorar otras rutas cambiando el argumento de línea de comandos al ejecutarlo:
python3 file_explorer_client.py otra/carpeta
¿Cómo funciona internamente?
- El cliente y el servidor se comunican usando JSON-RPC 2.0 por stdio.
- El servidor expone herramientas que el cliente puede descubrir y utilizar dinámicamente.
- El flujo es: inicializar → descubrir herramientas → llamar herramientas → mostrar resultados.
Configuración MCP con mcp.json
¿Qué es mcp.json?
El archivo mcp.json es un archivo de configuración que define los servidores MCP disponibles para un cliente. Se ubica típicamente en:
- macOS/Linux:
~/.cursor/mcp.json - Windows:
%APPDATA%\mcp.json
Estructura del archivo
{
"mcpServers": {
"file_explorer": {
"command": "python3",
"args": ["[ruta-completa]file_explorer/file_explorer_server.py"],
"env": {}
}
}
}
Alcance y funcionalidad
- Descubrimiento automático: Los clientes MCP buscan automáticamente este archivo para encontrar servidores disponibles.
- Configuración centralizada: Permite configurar múltiples servidores MCP desde un solo lugar.
- Integración con IDEs: Muchos editores de código (VS Code, Cursor, etc.) pueden usar esta configuración para integrar herramientas MCP.
- Herramientas dinámicas: Una vez configurado, las herramientas del servidor estarán disponibles en el IDE sin necesidad de ejecutar manualmente el cliente.
Configuración para este proyecto
Para integrar este servidor de exploración de archivos con un cliente MCP:
- Crea o edita el archivo
~/.cursor/mcp.json - Añade la configuración del servidor con la ruta completa a
file_explorer_server.py - Reinicia tu IDE o cliente MCP
Ejemplo de configuración completa:
{
"mcpServers": {
"file_explorer": {
"command": "python3",
"args": ["[ruta-completa]file_explorer/file_explorer_server.py"],
"env": {}
}
}
}
Una vez configurado, podrás usar las herramientas de exploración de archivos directamente desde tu IDE o cliente MCP preferido.
Servidores relacionados
MCP File Edit
Perform file system operations such as reading, writing, patching, and managing directories.
MCP Start App
An MCP server for local file management and system operations.
Excel Analyser MCP
Read and analyze Excel (.xlsx) and CSV (.csv) files with scalable, chunked, and column-specific data access, ideal for large datasets.
Filesystem MCP Server
Provides AI agents with secure access to local filesystem operations like reading, writing, and managing files and directories.
Fast Filesystem MCP
A high-performance Model Context Protocol (MCP) server that provides secure filesystem access and AI-optimized code development tools for Claude and other AI assistants.
Local Utilities
Provides essential utility tools for text processing, file operations, and system tasks.
Custom PDF MCP Server
A server for processing PDF files, allowing text and table extraction, metadata retrieval, and file listing within a specific directory.
Cursor MCP File Organizer
Organize files in your Downloads folder using Cursor IDE with customizable rules.
CData FTP Server
A read-only MCP server for querying live FTP data using the CData JDBC Driver.
FilerMoverMcp
A file mover tool that stages and executes file moves safely. Works as both a CLI tool and an MCP server for AI agents.