About brainfaq-mcp
brainfaq-mcp is an MCP server for debugging Brainfuck programs with an LLM. It provides stepwise execution, interpreter state inspection, and input handling.
Key features
- 01Load code with interpreter settings
- 02Step through instructions
- 03Run until completion or input
- 04Inspect memory, pointers, and output
- 05Validate brackets and detect cell overflow
Use cases
- 01Debug a Brainfuck program instruction by instruction
- 02Inspect program state while investigating a loop
- 03Supply input to a program waiting for characters
MCP support
Exposes Brainfuck loading, execution, input, and state/output inspection tools to MCP clients.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
Tools
6Saved tool list · updated 3w ago
| Parameter | Type | Required | Description |
|---|---|---|---|
| code | string | Yes | |
| maxValue | number | No | Maximum allowed value for tape cells (default: 9007199254740991) |
| minValue | number | No | Minimum allowed value for tape cells (default: -9007199254740991) |
| tapeSize | integer | No | Size of the memory tape (default: 30000) |
| initial_input | string | No |
Details
From the project READMEbrainfaq-mcp
MCP server for the Brainfuck programming language that allows your favourite LLM to debug Brainfuck programs.
Usage
Use this command to run the MCP server:
npx brainfaq-mcp
To use it in VS Code, add the following JSON snippet to .vscode/mcp.json (create the file if you don't have it):
{
"servers": {
"brainfaq-mcp": {
"command": "npx",
"args": ["brainfaq-mcp"]
}
}
}
The MCP can be added to other IDEs with LLM agents support (e.g. Cursor) in similar ways. Check their documentation and configure them to run npx brainfaq-mcp. It will start the MCP server in stdio mode.
Features
MCP Tools
- load_code - Reset the debugger and load new Brainfuck source code. Supports configurable tape size, min/max cell values, and initial input.
- step - Execute a specified number of instructions (default 1) with detailed state output.
- run - Run the program until it finishes or waits for input, with optional instruction limit.
- add_input - Append characters to the input buffer when the program is waiting for input.
- get_state - Get the current interpreter state (memory, pointers, output) with optional windowing.
- read_output - Get the complete output string generated so far.
Capabilities
- Full Brainfuck support (8 operations:
>,<,+,-,.,,,[,]) - Overflow/underflow detection with configurable value limits
- Bracket matching validation and loop control
- Step-by-step execution and debugging
- Memory protection with configurable tape size
Development
Setup:
npm i
Build:
npm run build
Tests:
npm run test
Tests are inspired by the Brainfuck test suite by Daniel Cristofani.
Release
Build first the source code using the command above.
Login to NPM:
npm login
Publish to NPM:
npm publish
License
All work in this repos is licensed under "Creative Commons Attribution-ShareAlike 4.0 International License".
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.