Brainfaq
Servidor MCP para el lenguaje de programación Brainfuck que permite a tu LLM favorito depurar programas Brainfuck.
Documentación
brainfaq-mcp
Servidor MCP para el lenguaje de programación Brainfuck que permite a tu LLM favorito depurar programas Brainfuck.
Uso
Usa este comando para ejecutar el servidor MCP:
npx brainfaq-mcp
Para usarlo en VS Code, añade el siguiente fragmento JSON a .vscode/mcp.json (crea el archivo si no lo tienes):
{
"servers": {
"brainfaq-mcp": {
"command": "npx",
"args": ["brainfaq-mcp"]
}
}
}
El MCP se puede añadir a otros IDEs con soporte para agentes LLM (por ejemplo, Cursor) de formas similares. Consulta su documentación y configúralos para ejecutar npx brainfaq-mcp. Esto iniciará el servidor MCP en modo stdio.
Características
Herramientas MCP
- load_code - Reinicia el depurador y carga nuevo código fuente Brainfuck. Soporta tamaño de cinta configurable, valores mínimos/máximos de celda y entrada inicial.
- step - Ejecuta un número especificado de instrucciones (por defecto 1) con salida detallada del estado.
- run - Ejecuta el programa hasta que termine o espere entrada, con límite de instrucciones opcional.
- add_input - Añade caracteres al buffer de entrada cuando el programa está esperando entrada.
- get_state - Obtiene el estado actual del intérprete (memoria, punteros, salida) con ventanas opcionales.
- read_output - Obtiene la cadena de salida completa generada hasta el momento.
Capacidades
- Soporte completo de Brainfuck (8 operaciones:
>,<,+,-,.,,,[,]) - Detección de desbordamiento/subdesbordamiento con límites de valor configurables
- Validación de coincidencia de corchetes y control de bucles
- Ejecución paso a paso y depuración
- Protección de memoria con tamaño de cinta configurable
Desarrollo
Configuración:
npm i
Compilación:
npm run build
Pruebas:
npm run test
Las pruebas están inspiradas en el conjunto de pruebas de Brainfuck de Daniel Cristofani.
Publicación
Primero compila el código fuente usando el comando anterior.
Inicia sesión en NPM:
npm login
Publica en NPM:
npm publish
Licencia
Todo el trabajo en este repositorio está licenciado bajo "Creative Commons Attribution-ShareAlike 4.0 International License".