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".