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
  • make disponible en PATH
  • Un Makefile en el directorio de su proyecto

Inicio rápido

  1. Clone este repositorio:
git clone https://github.com/mparker3/makefilemcpserver.git
cd makefilemcpserver
  1. Instale las dependencias:
npm install
  1. 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

  1. El servidor lee su Makefile al iniciar
  2. Cada objetivo de Make se convierte en una herramienta con el nombre make_<target>
  3. Los comentarios directamente encima de los objetivos se convierten en descripciones de herramientas
  4. 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:

  1. Haga un fork del repositorio
  2. Cree una rama de características
  3. Realice sus cambios
  4. 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