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.json
porque 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.json
son 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_files
para 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.
Related Servers
File Finder
Search for files in the local filesystem using a path fragment.
File MCP Server
A server providing comprehensive file system operations, automatically downloaded and built on first use.
Filesystem MCP Server
A Ruby server for performing filesystem operations like reading and writing files within specified directories.
File System MCP Server
A server for comprehensive file and directory management on the local file system.
MCP Excel Reader
Read large Excel files with automatic chunking and pagination support.
CData FTP Server
A read-only MCP server for querying live FTP data using the CData JDBC Driver.
Deep Directory Tree MCP
Visualize directory structures with real-time updates, configurable depth, and smart exclusions for efficient project navigation.
PDF Agent MCP
A server for AI agents to selectively process and extract content from PDF documents.
MCP File Edit
Perform file system operations such as reading, writing, patching, and managing directories.
HDFS MCP Server
Access and manage files on HDFS clusters using the MCP protocol, supporting operations like upload, download, move, and copy.