Brainfaq

Servidor MCP para a linguagem de programação Brainfuck que permite que seu LLM favorito depure programas Brainfuck.

Documentação

brainfaq-mcp

Servidor MCP para a linguagem de programação Brainfuck que permite que seu LLM favorito depure programas Brainfuck.

Uso

Use este comando para executar o servidor MCP:

npx brainfaq-mcp

Para usá-lo no VS Code, adicione o seguinte trecho JSON ao .vscode/mcp.json (crie o arquivo se você não o tiver):

{
  "servers": {
    "brainfaq-mcp": {
      "command": "npx",
      "args": ["brainfaq-mcp"]
    }
  }
}

O MCP pode ser adicionado a outros IDEs com suporte a agentes LLM (por exemplo, Cursor) de maneiras semelhantes. Consulte a documentação deles e configure-os para executar npx brainfaq-mcp. Isso iniciará o servidor MCP no modo stdio.

Recursos

Ferramentas MCP

  • load_code - Redefine o depurador e carrega novo código-fonte Brainfuck. Suporta tamanho de fita configurável, valores mínimos/máximos de célula e entrada inicial.
  • step - Executa um número especificado de instruções (padrão 1) com saída detalhada do estado.
  • run - Executa o programa até que ele termine ou aguarde entrada, com limite opcional de instruções.
  • add_input - Acrescenta caracteres ao buffer de entrada quando o programa está aguardando entrada.
  • get_state - Obtém o estado atual do interpretador (memória, ponteiros, saída) com janelamento opcional.
  • read_output - Obtém a string de saída completa gerada até o momento.

Capacidades

  • Suporte completo a Brainfuck (8 operações: >, <, +, -, ., ,, [, ])
  • Detecção de estouro/underflow com limites de valor configuráveis
  • Validação de correspondência de colchetes e controle de loops
  • Execução passo a passo e depuração
  • Proteção de memória com tamanho de fita configurável

Desenvolvimento

Configuração:

npm i

Build:

npm run build

Testes:

npm run test

Os testes são inspirados na suíte de testes Brainfuck por Daniel Cristofani.

Lançamento

Primeiro, compile o código-fonte usando o comando acima.

Faça login no NPM:

npm login

Publique no NPM:

npm publish

Licença

Todo o trabalho neste repositório está licenciado sob a "Creative Commons Attribution-ShareAlike 4.0 International License".