Makefile MCP Server
Expone los objetivos de Makefile como herramientas invocables para asistentes de IA.
Documentación
makefilemcpserver
Un servidor MCP (Model Context Protocol) que expone los objetivos de Makefile como herramientas invocables para asistentes de IA como Claude, Cursor, etc.
⚠️ SOFTWARE ALPHA - SOLO USO LOCAL ⚠️
Este servidor ejecuta comandos Make con argumentos proporcionados por el usuario. Úselo solo en entornos de confianza. Analiza inteligentemente comandos y argumentos.
Es casi seguro que no funcionará perfectamente con su Makefile. De hecho, podría no funcionar en absoluto.
Instalación
Requisitos previos
- Node.js 16 o superior
makedisponible en PATH- Un Makefile en el directorio de su proyecto
Inicio rápido
- Clone este repositorio:
git clone https://github.com/mparker3/makefilemcpserver.git
cd makefilemcpserver
- Instale las dependencias:
npm install
- Compile el servidor:
npm run build
Uso
Agregue a su configuración del servidor MCP:
{
"mcpServers": {
"makefilemcpserver": {
"command": "node",
"args": [
"/absolute/path/to/makefilemcpserver/build/index.js",
"/path/to/your/project"
]
}
}
}
El segundo argumento (opcional) especifica el directorio que contiene su Makefile. Si se omite, usa el directorio actual.
Ejemplo de Makefile
# Build the project
build:
npm run build
# Run tests
test:
npm test
# Deploy to production
deploy: build test
./deploy.sh
Esto expondrá las herramientas: make_build, make_test y make_deploy a Claude.
Cómo funciona
- El servidor lee su Makefile al iniciar
- Cada objetivo de Make se convierte en una herramienta con el nombre
make_<target> - Los comentarios directamente encima de los objetivos se convierten en descripciones de herramientas
- Los clientes MCP pueden ejecutar cualquier objetivo con argumentos opcionales. Hacemos un análisis de mejor esfuerzo de los argumentos a partir de la documentación y los comandos; un mejor enfoque sería delegarlo a otra(s) llamada(s) de LLM al inicio.
Consideraciones de seguridad
⚠️ ADVERTENCIA: Este servidor ejecuta comandos de shell a través de Make. Actualmente tiene validación de entrada mínima.
- Cualquier cosa que exponga en su Makefile, cualquier cliente MCP tendrá acceso a ella. Se recomienda encarecidamente ejecutarlo solo localmente.
- El servidor realiza una desinfección de entrada de rigor, pero no hay garantías de que un investigador de seguridad emprendedor no pueda encontrar una forma de evadirla.
Desarrollo
# Install dependencies
npm install
# Build once
npm run build
# Build and watch for changes
npm run watch
# Run the MCP Inspector for debugging
npm run inspector
Depuración
Dado que los servidores MCP se comunican a través de stdio, use el Inspector MCP:
npm run inspector
Luego abra la URL proporcionada para acceder a las herramientas de depuración.
Contribuciones
Este es software alpha. ¡Las contribuciones son bienvenidas! Por favor:
- Haga un fork del repositorio
- Cree una rama de características
- Realice sus cambios
- Envíe un pull request
Licencia
MIT - Consulte el archivo LICENSE para obtener más detalles
Hoja de ruta
- Soporte para múltiples Makefiles
- Configuración para valores de tiempo de espera
- Mejores mensajes de error y registro
- Pruebas y canal de CI/CD