Así he puesto a Claude a trabajar en mi código local con MCP
¿Y si Claude pudiera leer y modificar tus archivos locales? Con MCP he montado un servidor que le da acceso controlado a mi proyecto. Te cuento cómo lo he hecho y por qué es un antes y después.
01 01. ¿Qué es MCP y por qué debería importarte?
Hasta hace poco, cuando querías que un LLM interactuara con tu sistema –leer un archivo, ejecutar un script, hacer una petición– tenías que apañarte con prompts manuales, plugins ad-hoc o soluciones tipo LangChain. No había un estándar. OpenAI lanzó los GPT Actions, pero cerrados a su ecosistema. Anthropic ha respondido con MCP (Model Context Protocol), un protocolo abierto que permite a cualquier modelo conectarse con herramientas externas de forma segura y estructurada.
MCP define un servidor que expone recursos (como archivos o APIs), herramientas (funciones que el modelo puede invocar) y prompts predefinidos. Claude (y otros modelos en el futuro) actúa como cliente que negocia qué herramientas usar. Esto significa que en lugar de pegar largos contextos o confiar en la ventana de chat, Claude puede leer tu base de código, buscar en tu documentación local o modificar archivos bajo tu supervisión.
Lo que me sorprendió es lo sencillo que es montarlo: en diez minutos tenía a Claude navegando por mi proyecto de Next.js como si fuera un desarrollador junior con acceso completo (pero controlado) al repositorio.
02 02. Montando el servidor MCP local
Anthropic publicó varios servidores MCP de referencia en GitHub. El que más me ha volado la cabeza es el de sistema de archivos, pero también hay para búsqueda web, base de datos SQLite o GitHub. Para el ejemplo, voy a montar el servidor de archivos para que Claude pueda explorar y modificar un proyecto de TypeScript.
Lo primero es instalar el paquete. Puedes hacerlo con npx, sin necesidad de instalar nada globalmente:
Después, en la carpeta de tu proyecto, arrancas el servidor apuntando a la raíz que quieres exponer. Yo lo limito a una carpeta concreta para no dar acceso a todo el disco:
Eso levanta un servidor MCP en el puerto 3100. Claude se conecta a él vía WebSocket o HTTP. En producción o en la app de escritorio necesitas configurarlo como un ‘recurso’ en la interfaz de Claude.
npx @modelcontextprotocol/server-filesystem03 03. Conectándolo con Claude Desktop
La forma más limpia es usando Claude Desktop. En la configuración (`~/.claude/claude_desktop_config.json`), defines el servidor MCP. Aquí un ejemplo que expone una carpeta de trabajo:
Una vez guardado, reinicias Claude Desktop. Verás que aparece un nuevo icono o menú indicando que ‘File System’ está disponible. Ahora, cuando le pidas a Claude que revise un archivo, en lugar de copiar y pegar, el modelo usará la herramienta `read_file` o `list_directory`.
También puedes habilitar herramientas que ejecuten comandos (con mucho cuidado) o que hagan peticiones HTTP. La clave es que el modelo pide permiso explícitamente la primera vez, aunque después puedes configurar aprobación automática para acciones de solo lectura.
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/Users/ruben/dev/mi-proyecto"]
}
}
}04 04. Un ejemplo práctico: refactor automático bajo supervisión
Puse a prueba el servidor con una tarea real: un componente React que tenía lógica de estado duplicada en varios hooks. Le pedí a Claude: ‘Revisa los archivos en /components/UserDashboard y dime qué código se repite’. Claude listó el directorio, leyó dos archivos y me devolvió un resumen.
Luego le dije: ‘Sugiere una refactorización usando un custom hook, pero no modifiques nada sin mi confirmación. Dame un diff’. Claude usó `read_file` para obtener el contenido, razonó, y me devolvió un bloque de código con los cambios propuestos. Lo revisé, acepté, y le pedí que aplicara el diff llamando a `write_file`. Lo hizo en segundos.
Lo más potente no es que escribiera código –eso ya lo hacía– sino que lo integró en mi flujo de trabajo real. No hubo copypaste ni errores de rutas. Y todo con un control granular: puedo ver cada llamada a herramienta, autorizar o denegar. Siento que he ganado un pair programmer que respeta mi estilo y mi estructura.
05 05. Limitaciones y seguridad
No todo es color de rosa. MCP es todavía muy nuevo (abril 2025). La documentación de Anthropic es escasa y los servidores de terceros aún tienen bugs. Por ejemplo, el servidor de archivos a veces falla con rutas que contienen caracteres especiales. Además, dar acceso a tu sistema de archivos a un modelo de IA tiene riesgos obvios: un prompt malicioso podría sobreescribir datos si no limitas los permisos.
Mi recomendación: crea un usuario separado en tu máquina o usa contenedores Docker para aislar el servidor MCP. También puedes ejecutar el servidor en una máquina virtual o en un VPS con acceso solo a una carpeta compartida. Y nunca, nunca le des acceso a herramientas que ejecuten comandos arbitrarios (como `execute_command`) sin un approval manual.
Aun así, el potencial es enorme. Ya hay servidores MCP para leer bases de datos, interactuar con Slack, gestionar issues de GitHub… y todo desde la misma interfaz de chat. Creo que estamos ante el principio de una nueva forma de interactuar con nuestros proyectos.
¿Has probado MCP con Claude o algún otro modelo? ¿Qué automatización te gustaría delegar a un agente con acceso a tu código? Cuéntamelo en los comentarios.