Skip to main content
Glama
brainfaq-mcp

brainfaq-mcp

by labarilem

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

Related MCP server: mcp-gdbserver

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

Available Tools

6 tools
add_inputA

Append characters to input buffer. Use when status is WAITING_FOR_INPUT. Outputs the engine status.

Inputs: input (required).

get_stateA

Get the current full state (memory, pointers, output). When windowRadius is not specified, returns the entire tape which may be a large amount of data.

Inputs: windowRadius.

load_codeB

Reset the debugger and load new Brainfuck source code.

Inputs: code (required), maxValue, minValue, tapeSize, +1 more.

read_outputA

Get the full output string generated so far.

Inputs: no named parameters.

runB

Run the program until it finishes or waits for input. Infinite loops WILL hang the server. Then outputs the summary of the current state.

Inputs: limit.

stepC

Execute a specific number of instructions (default 1). Then outputs the summary of the current state.

Inputs: count.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.7/5.0

    Scored across 6 tools

    Disambiguation5/5

    Each tool has a clear, distinct purpose: loading code, stepping, running, input/output, and state inspection. No overlap or ambiguity.

    Naming Consistency5/5

    All tool names follow a consistent verb_noun pattern (add_input, get_state, load_code, read_output, run, step), with the exception of 'step' which is a verb but fits the pattern.

    Tool Count5/5

    6 tools is well-scoped for a Brainfuck debugger/interpreter, covering all essential operations without unnecessary bloat.

    Completeness4/5

    The tool set covers the core workflow (load, step, run, input, output, state) but lacks an explicit stop/interrupt mechanism, which is a minor gap given the warning about infinite loops.

    Related MCP Connectors

    Related MCP Servers

    • F
      license
      Not graded
      quality
      D
      maintenance
      An MCP server for debugging Windows processes using WinDbg and CDB. It enables users to attach to processes, manage breakpoints, inspect memory, and control execution flow through natural language.
      2
      -
    • A
      license
      Not graded
      quality
      D
      maintenance
      MCP server for remote debugging with gdbserver, offering full debugging capabilities including breakpoint control, stepping, memory inspection, and process management.
      75 PyPI
      MIT
    • F
      license
      Not graded
      quality
      C
      maintenance
      This MCP server enables AI agents to inspect and control the native DOSBox-X debugger through bounded MCP tools, including breakpoint management, execution control, register/memory inspection, and disassembly for DOS program debugging and reverse engineering.
      1
      -