Conectar Claude Desktop a proyectos locales y a GitHub con MCP
Configure en Claude Desktop un servidor MCP de sistema de archivos y un conector de GitHub para que edite tests de Java en local, haga commits, push y abra pull requests por usted.
Copiar y pegar código entre el IDE y una ventana de chat cansa enseguida. Es mucho mejor un asistente que pueda abrir la carpeta del proyecto en su equipo, editar o añadir clases de test en Java ahí mismo y luego hacer commit, push y abrir un pull request. No cuesta nada, y la pieza que lo hace posible es MCP, el Model Context Protocol. Ponerlo en marcha lleva unos cuantos intentos si se topa con los problemas habituales, así que los errores aparecen abajo junto a los pasos.
El bucle de copiar y pegar que quiere eliminar
Piense en un ingeniero de QA que escribe scripts de Selenium todo el día. La rutina es esta: copiar una clase de VS Code, Eclipse o IntelliJ, pegarla en el chat, leer la sugerencia, volver a copiarla y pegarla de nuevo en el IDE. Luego pasar a GitHub y subir o hacer push del resultado a mano. Cada paso es manual y ninguno necesita a una persona.
Lo que quiere en cambio es escribir "sube este archivo a GitHub" y que ocurra.
Qué hace MCP
MCP es un estándar abierto de Anthropic. Define cómo un asistente como Claude se comunica de forma controlada con herramientas, aplicaciones y fuentes de datos externas. Sin él, Claude solo ve lo que usted escribe en el chat, como alguien encerrado en una habitación con una rendija en la puerta. MCP abre una puerta de verdad en esa habitación, y para esta configuración importan dos tipos de puerta:
- Un servidor MCP de sistema de archivos, que permite a Claude leer los archivos de su ordenador.
- Un conector, que permite a Claude usar servicios externos como GitHub, Gmail o Jira.
Con ambos instalados, el chat deja de ser un cuadro de texto y se convierte en algo que actúa. La cadena va desde su IDE a través del servidor de sistema de archivos:
VSCode / Eclipse / IntelliJ
│
▼
Filesystem MCP Server
│
▼
Claude Desktop
│
▼
GitHub MCP Server
│
▼
GitHub Repository
Requisitos previos
- Claude Desktop, la aplicación independiente. Usar claude.ai en una pestaña del navegador no sirve para esto, solo funciona en la aplicación de escritorio.
- Una cuenta de GitHub (gratuita).
- Node.js, un entorno de ejecución gratuito que algunas herramientas necesitan para arrancar.
- La ruta absoluta a la carpeta raíz de su proyecto, sea cual sea su IDE.
Todo es gratuito, y el plan gratuito de Claude es suficiente.
Paso 1: dele a Claude la carpeta de su proyecto
Esta parte permite a Claude leer y escribir directamente los archivos de, por ejemplo, un workspace de Eclipse.
- Instale Node.js desde nodejs.org. Avance por el instalador, no hay nada que configurar.
- En Claude Desktop abra Settings, luego Developer y luego Edit Config. Se abrirá un pequeño archivo de configuración.
- Pegue el fragmento de abajo y cambie la carpeta de ejemplo por la ruta de su proyecto. En Windows, duplique cada barra invertida de la ruta.
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-filesystem",
"C:\\Users\\YourName\\eclipse-workspace\\YourProjectName"
]
}
}
}
- Guarde, cierre Claude Desktop por completo y vuelva a abrirlo. Minimizar la ventana no recarga nada, la aplicación tiene que cerrarse de verdad.
- Busque un pequeño icono de martillo o de herramientas junto al cuadro de mensaje. Si aparece, el servidor de sistema de archivos se ha cargado.
Paso 2: conecte GitHub
Aquí es donde casi todo sale mal, así que vaya despacio.
Registre su propia app en GitHub
GitHub no deja entrar a cualquier programa. Primero crea un pequeño registro de aplicación propio, y GitHub le devuelve dos secretos que Claude necesita.
- Vaya a github.com/settings/applications/new.
- Escriba Claude como nombre de la aplicación, https://claude.ai como URL de la página principal y el mismo https://claude.ai como URL de callback de autorización. Ese callback es solo un marcador por ahora.
- Haga clic en Register application.
- Copie el Client ID que aparece.
- Haga clic en Generate a new client secret y cópielo de inmediato. GitHub lo muestra una sola vez.
Añada el conector en Claude
- En Claude Desktop vaya a Settings, luego a Connectors, pulse el signo más y elija Add custom connector.
- Llámelo GitHub y use https://api.githubcopilot.com/mcp/ como URL.
- Abra Advanced settings y pegue el Client ID y el Client Secret.
- Haga clic en Add y luego en Connect en la entrada de GitHub que aparece.
- GitHub pregunta si quiere permitir el acceso. Haga clic en Authorize.
Usar ambos servidores en un mismo chat
Cuando el servidor de sistema de archivos y GitHub aparecen como conectados, una misma conversación puede usarlos juntos. El servidor de sistema de archivos expone su workspace local y el servidor de GitHub expone sus repositorios. Claude toma un archivo de su disco y lo sube a GitHub, sin pegar nada y sin terminal.
En la práctica, eso cubre todo el ciclo:
- Explorar el contenido de su proyecto
- Modificar archivos Java existentes
- Escribir nuevos scripts de test
- Hacer commit con un mensaje
- Hacer push al remoto
- Abrir pull requests
Errores que puede ahorrarse
- Una URL de callback vacía. GitHub la exige, así que el registro fallará una y otra vez hasta que la rellene.
- Pulsar Add antes de que exista el client secret. Si faltan credenciales, Claude solo dice que no pudo registrarse en el servicio de inicio de sesión, lo que no le dice nada.
- Tener la sesión iniciada en dos cuentas de Claude distintas, una en el navegador y otra en la app de escritorio. Fue el peor de los tres, porque el error "Account mismatch" que provoca no tiene nada que ver con GitHub. La solución es cerrar sesión en el navegador y volver a entrar con la cuenta de la app de escritorio.
Prompts para copiar
Funcionan en Claude Desktop una vez que están activos tanto el servidor de sistema de archivos como el de GitHub. Primero, una petición completa desde el staging hasta el push:
End-to-End Example
Stage all test classes under the com.myAutomation package, commit the changes with the commit message "updated", and push the latest commit to the master branch of the Autonation Project GitHub repository.
Y un flujo de git basado en ramas:
Git Workflow
Create a new branch named feature/login-automation, commit all modified files with the message "Added Login Automation Tests", and push the branch to the GitHub repository.
Una prueba rápida
Abra Claude Desktop y siga estos pasos en orden, cada uno se apoya en el anterior.
- Acceso local: pídale que abra su proyecto de pruebas automatizadas y muestre la estructura.
- Cambios en archivos: pídale una clase de test para la página de login en src/test/java.
- Git: pídale que inicialice un repositorio, cree la rama feature/login-test y haga commit.
- Push: pídale que suba esa rama al repositorio Automation Testing Project.
- Pull request: pídale que abra un pull request contra la rama develop.