Integrations
Licensed under Apache License 2.0, allowing for open-source use and modification with appropriate attribution.
Provides tools for interacting with the local filesystem, enabling reading, writing, updating, and managing files and directories. Supports operations like targeted file updates, listing directory contents, and path management.
Links to the GitHub repository for accessing source code, contributing to the project, and tracking stars/popularity.
Servidor MCP del sistema de archivos
Potencie a sus agentes de IA con capacidades de sistema de archivos robustas e independientes de la plataforma.
Este servidor de Protocolo de Contexto de Modelo (MCP) proporciona una interfaz segura y confiable para que los agentes de IA interactúen con el sistema de archivos local. Permite leer, escribir, actualizar y administrar archivos y directorios, con el respaldo de una base TypeScript lista para producción que incluye registro completo, gestión de errores y medidas de seguridad.
Tabla de contenido
- Descripción general
- Características
- Instalación
- Configuración
- Uso con clientes MCP
- Herramientas disponibles
- Estructura del proyecto
- Desarrollo
- Licencia
Descripción general
El Protocolo de Contexto de Modelo (MCP) es un marco estándar que permite a los modelos de IA interactuar de forma segura con herramientas externas y fuentes de datos (recursos). Este servidor implementa el estándar MCP para exponer las operaciones esenciales del sistema de archivos como herramientas, lo que permite a los agentes de IA:
- Leer y analizar el contenido de los archivos.
- Crear, modificar o sobrescribir archivos.
- Administrar directorios y rutas de archivos.
- Realizar actualizaciones específicas dentro de los archivos.
Creado con TypeScript, el servidor enfatiza la seguridad de tipos, la modularidad y el manejo robusto de errores, lo que lo hace adecuado para una integración confiable en flujos de trabajo de IA.
Arquitectura
El servidor emplea una arquitectura en capas para mayor claridad y facilidad de mantenimiento:
- Capa API : maneja la comunicación MCP, valida entradas usando Zod y desinfecta rutas.
- Servicios principales : administra la configuración, el registro, los informes de errores, el estado de la sesión (como el directorio de trabajo predeterminado) y la instancia principal del servidor MCP.
- Implementación de herramientas : contiene la lógica específica para cada herramienta del sistema de archivos, aprovechando utilidades compartidas.
Características
- Operaciones de archivos integrales : herramientas para leer, escribir, enumerar, eliminar, mover y copiar archivos y directorios.
- Actualizaciones específicas : la herramienta
update_file
permite operaciones precisas de búsqueda y reemplazo dentro de archivos, admitiendo texto simple y expresiones regulares. - Gestión de rutas consciente de la sesión : la herramienta
set_filesystem_default
establece un directorio de trabajo predeterminado para resolver rutas relativas durante una sesión. - Seguridad ante todo : La limpieza de rutas integrada previene ataques de cruce de directorios. La restricción opcional de directorios base mejora la seguridad.
- Base robusta : incluye utilidades de nivel de producción para:
- Registro estructurado y consciente del contexto.
- Manejo de errores estandarizado con códigos de error específicos.
- Generación de ID único para seguimiento de solicitudes.
- Sanitización de entrada.
- Limitación de velocidad opcional (archivo de utilidad creado pero aún no integrado).
- Seguridad de tipos : totalmente implementado en TypeScript para mejorar la confiabilidad y la facilidad de mantenimiento.
Instalación
Pasos
- Clonar el repositorio:Copy
- Instalar dependencias:Copy
- Construir el proyecto:Esto compila el código TypeScript a JavaScript en el directorioCopy
dist/
y convierte el script principal en ejecutable. El ejecutable se ubicará endist/index.js
.
Configuración
Configurar el servidor usando variables de entorno:
FS_BASE_DIRECTORY
(opcional, recomendado por seguridad ):- Si se establece como una ruta absoluta, todas las operaciones con archivos realizadas por el servidor se limitarán estrictamente a este directorio y sus subdirectorios. Esto impide que el agente de IA acceda a archivos fuera del alcance previsto.
- Ejemplo:
FS_BASE_DIRECTORY=/Users/casey/safe-agent-files
LOG_LEVEL
(opcional):- Controla el nivel de detalle de los registros. Opciones:
error
,warn
,info
,http
,verbose
,debug
ysilly
. - El valor predeterminado es
info
.
- Controla el nivel de detalle de los registros. Opciones:
LOG_DIR
(opcional):- Especifica el directorio donde se almacenarán los archivos de registro (
combined.log
,error.log
). - El valor predeterminado es
./logs
relativo al directorio de ejecución del servidor.
- Especifica el directorio donde se almacenarán los archivos de registro (
Uso con clientes MCP
Para permitir que un cliente MCP (como un asistente de IA) utilice este servidor:
- Ejecutar el servidor: Inicie el servidor desde su terminal:Copy
- Configurar el cliente: Agregue el servidor a la configuración de su cliente MCP. El método exacto depende del cliente, pero normalmente implica especificar:
- Comando:
node
- Argumentos: La ruta absoluta al ejecutable del servidor creado (por ejemplo,
/path/to/filesystem-mcp-server/dist/index.js
). - Variables de entorno (opcional): configure
FS_BASE_DIRECTORY
,LOG_LEVEL
oLOG_DIR
según sea necesario.
Ejemplo de configuración de MCP (conceptual):
Copy - Comando:
Una vez configurado y en funcionamiento, el cliente detectará el servidor y sus herramientas disponibles.
Herramientas disponibles
El servidor expone las siguientes herramientas para la interacción del sistema de archivos:
Herramienta | Descripción |
---|---|
set_filesystem_default | Establece una ruta absoluta predeterminada para la sesión actual. Las rutas relativas utilizadas en las llamadas subsiguientes a la herramienta se resolverán con esta ruta predeterminada. Se restablece al reiniciar el servidor. |
read_file | Lee todo el contenido de un archivo especificado como texto UTF-8. Acepta rutas relativas (resueltas con respecto a la predeterminada) o absolutas. |
write_file | Escribe contenido en un archivo específico. Si no existe, lo crea (y los directorios principales necesarios) o lo sobrescribe si existe. Acepta rutas relativas o absolutas. |
update_file | Realiza operaciones de búsqueda y reemplazo específicas dentro de un archivo existente mediante una matriz de bloques {search, replace} . Ideal para cambios localizados. Admite búsquedas de texto plano o expresiones regulares ( useRegex: true ) y reemplazo de todas las ocurrencias ( replaceAll: true ). Acepta rutas relativas o absolutas. El archivo debe existir. |
list_files | Enumera archivos y directorios dentro de una ruta especificada. Las opciones incluyen listado recursivo ( includeNested: true ) y limitación del número de entradas ( maxEntries ). Devuelve una estructura de árbol formateada. Acepta rutas relativas o absolutas. |
delete_file | Elimina permanentemente un archivo específico. Acepta rutas relativas o absolutas. |
delete_directory | Elimina permanentemente un directorio. Use recursive: true para eliminar directorios no vacíos y su contenido (¡úselo con precaución!). Acepta rutas relativas o absolutas. |
create_directory | Crea un nuevo directorio en la ruta especificada. Por defecto ( create_parents: true ), también crea los directorios principales necesarios. Acepta rutas relativas o absolutas. |
move_path | Mueve o renombra un archivo o directorio de una ruta de origen a una de destino. Acepta rutas relativas o absolutas para ambas. |
copy_path | Copia un archivo o directorio de una ruta de origen a una de destino. Para directorios, copia recursivamente por defecto ( recursive: true ). Acepta rutas relativas o absolutas. |
Consulte los archivos de registro de herramientas ( src/mcp-server/tools/*/registration.ts
) para obtener esquemas de entrada/salida detallados (esquema Zod/JSON).
Estructura del proyecto
El código base está organizado para mayor claridad y facilidad de mantenimiento:
Para obtener una vista detallada y en vivo de la estructura actual, ejecute: npm run tree
Nota para desarrolladores: Este repositorio incluye un archivo .clinerules . Esta hoja de referencia proporciona a tu asistente de programación LLM información esencial sobre patrones de código base, ubicaciones de archivos y ejemplos de uso. ¡Manténla actualizada a medida que el servidor evoluciona!
Licencia
Este proyecto está licenciado bajo la Licencia Apache 2.0. Consulte el archivo de LICENCIA para más detalles.
This server cannot be installed
local-only server
The server can only run on the client's local machine because it depends on local resources.
Un servidor de protocolo de contexto de modelo que proporciona a los agentes de IA acceso seguro a las operaciones del sistema de archivos local, lo que permite leer, escribir y administrar archivos a través de una interfaz estandarizada.
Related MCP Servers
- AsecurityFlicenseAqualityA Model Context Protocol server that allows secure execution of pre-approved commands, enabling AI assistants to safely interact with the user's system.Last updated -1318JavaScript
- -securityFlicense-qualityA Model Context Protocol server that enables role-based context management for AI agents, allowing users to establish specific instructions, maintain partitioned memory, and adapt tone for different agent roles in their system.Last updated -TypeScript
- -securityFlicense-qualityA comprehensive Model Context Protocol server implementation that enables AI assistants to interact with file systems, databases, GitHub repositories, web resources, and system tools while maintaining security and control.Last updated -16TypeScript
- -securityFlicense-qualityA Model Context Protocol server that extends AI capabilities by providing file system access and management functionalities to Claude or other AI assistants.Last updated -3TypeScript