Makefile MCP Server

Expõe alvos do Makefile como ferramentas chamáveis para assistentes de IA.

Documentação

makefilemcpserver

Um servidor MCP (Model Context Protocol) que expõe alvos de Makefile como ferramentas chamáveis para assistentes de IA como Claude, Cursor, etc.

⚠️ SOFTWARE ALPHA - APENAS PARA USO LOCAL ⚠️
Este servidor executa comandos Make com argumentos fornecidos pelo usuário. Use apenas em ambientes confiáveis. Ele analisa de forma inteligente comandos e argumentos. É quase certo que não funcionará perfeitamente com o seu Makefile. Na verdade, pode nem funcionar.

Instalação

Pré-requisitos

  • Node.js 16 ou superior
  • Comando make disponível no PATH
  • Um Makefile no diretório do seu projeto

Início Rápido

  1. Clone este repositório:
git clone https://github.com/mparker3/makefilemcpserver.git
cd makefilemcpserver
  1. Instale as dependências:
npm install
  1. Compile o servidor:
npm run build

Uso

Adicione à sua configuração do servidor MCP:

{
  "mcpServers": {
    "makefilemcpserver": {
      "command": "node",
      "args": [
        "/absolute/path/to/makefilemcpserver/build/index.js",
        "/path/to/your/project"
      ]
    }
  }
}

O segundo argumento (opcional) especifica o diretório que contém seu Makefile. Se omitido, usa o diretório atual.

Exemplo de Makefile

# Build the project
build:
	npm run build

# Run tests
test:
	npm test

# Deploy to production
deploy: build test
	./deploy.sh

Isso exporá as ferramentas: make_build, make_test e make_deploy para o Claude.

Como Funciona

  1. O servidor lê seu Makefile na inicialização
  2. Cada alvo do Make se torna uma ferramenta com o nome make_<target>
  3. Comentários diretamente acima dos alvos se tornam descrições das ferramentas
  4. Clientes MCP podem então executar qualquer alvo com argumentos opcionais. Fazemos uma análise de melhor esforço dos argumentos a partir de documentação e comandos; uma abordagem melhor seria simplesmente delegar isso a mais uma(s) chamada(s) de LLM na inicialização.

Considerações de Segurança

⚠️ AVISO: Este servidor executa comandos de shell via Make. Atualmente tem validação mínima de entrada.

  • Qualquer coisa que você expor no seu Makefile, qualquer cliente MCP terá acesso. Recomendamos fortemente executar apenas localmente.
  • O servidor faz alguma sanitização de entrada de praxe, mas não há garantias de que um pesquisador de segurança engenhoso não consiga encontrar uma forma de contorná-la.

Desenvolvimento

# 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

Depuração

Como os servidores MCP se comunicam via stdio, use o MCP Inspector:

npm run inspector

Em seguida, abra a URL fornecida para acessar as ferramentas de depuração.

Contribuindo

Este é um software alpha. Contribuições são bem-vindas! Por favor:

  1. Faça um fork do repositório
  2. Crie um branch de funcionalidade
  3. Faça suas alterações
  4. Envie um pull request

Licença

MIT - Consulte o arquivo LICENSE para detalhes

Roadmap

  • Suporte para múltiplos Makefiles
  • Configuração para valores de timeout
  • Melhores mensagens de erro e registro (logging)
  • Testes e pipeline de CI/CD