Las raíces son una forma de otorgar a los servidores MCP acceso a archivos y carpetas específicos en tu máquina local. Piensa en ellas como un sistema de permisos que dice "Oye, servidor MCP, puedes acceder a estos archivos" - pero hacen mucho más que simplemente otorgar permiso.
El problema que resuelven las raíces
Sin raíces, te encontrarías con un problema común. Imagina que tienes un servidor MCP con una herramienta de conversión de video que toma una ruta de archivo y convierte un MP4 a formato MOV.

Cuando un usuario le pide a Claude que "convierta biking.mp4 a formato mov", Claude llamaría a la herramienta con solo el nombre del archivo. Pero aquí está el problema: Claude no tiene forma de buscar en todo tu sistema de archivos para encontrar dónde vive realmente ese archivo.

Tu sistema de archivos podría ser complejo, con archivos dispersos en diferentes directorios. El usuario sabe que el archivo biking.mp4 está en su carpeta Movies, pero Claude no tiene ese contexto.
Podrías resolver esto exigiendo que los usuarios siempre proporcionen rutas completas, pero eso no es muy amigable para el usuario. Nadie quiere escribir rutas de archivo completas cada vez.
Las raíces en acción
Así es como cambia el flujo de trabajo con las raíces:
- El usuario pide convertir un archivo de video
- Claude llama a
list_rootspara ver a qué directorios puede acceder - Claude llama a
read_diren los directorios accesibles para encontrar el archivo - Una vez encontrado, Claude llama a la herramienta de conversión con la ruta completa
Esto sucede automáticamente: los usuarios aún pueden simplemente decir "convertir biking.mp4" sin proporcionar rutas completas.
Seguridad y límites
Las raíces también proporcionan seguridad al limitar el acceso. Si solo otorgas acceso a tu carpeta Desktop, el servidor MCP no puede acceder a archivos en otras ubicaciones como Documents o Downloads.
Cuando Claude intenta acceder a un archivo fuera de las raíces aprobadas, recibe un error y puede informar al usuario que el archivo no es accesible desde la configuración actual del servidor.
Detalles de implementación
El SDK de MCP no aplica automáticamente las restricciones de raíz; necesitas implementar esto tú mismo. Un patrón típico es crear una función auxiliar como is_path_allowed() que:
- Toma una ruta de archivo solicitada
- Obtiene la lista de raíces aprobadas
- Verifica si la ruta solicitada cae dentro de una de esas raíces
- Devuelve true/false para el permiso de acceso
Luego llamas a esta función en cualquier herramienta que acceda a archivos o directorios antes de realizar la operación de archivo real.
Beneficios clave
- Amigable para el usuario - Los usuarios no necesitan proporcionar rutas de archivo completas
- Búsqueda enfocada - Claude solo busca en directorios aprobados, lo que hace que la búsqueda de archivos sea más rápida
- Seguridad - Evita el acceso accidental a archivos sensibles fuera de las áreas aprobadas
- Flexibilidad - Puedes proporcionar raíces a través de herramientas o inyectarlas directamente en los prompts
Las raíces hacen que los servidores MCP sean más potentes y más seguros al darle a Claude el contexto que necesita para encontrar archivos, manteniendo al mismo tiempo límites claros sobre lo que puede acceder.