gbdocs-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@gbdocs-mcpWhat does a write to $2000 do on MBC1?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
gbdocs-mcp
An MCP server that turns the Game Boy Pan Docs into precise, low-token, citable lookups for decompilation work.
Instead of grepping 456 KB of markdown, an agent can ask directly:
What is
$FF41? →gb_lookup_registerWhat does
ld a,$91 / ldh [rLCDC],aconfigure? →gb_decode_register_valueWhat does a write to
$2000do on MBC1? →gb_mbc_decode_writeWhat is opcode
$CB 7C? →gb_decode_opcodeWhat register state does my ROM inherit from the boot ROM? →
gb_boot_state
Two rules shape every response:
Nothing is fabricated. Each response carries a
sourceblock naming the page, section andhttps://gbdev.io/pandocs/...URL it came from. Where Pan Docs does not cover something (opcode cycle counts, for instance), the server says so.pandocs/is never modified. The docs are read live at startup, so agit pullinside the clone updates the server with no rebuild.
Install
The Pan Docs markdown ships inside the package, so there is nothing else to download.
pip install gbdocs-mcp # or: uv tool install gbdocs-mcp
pip install "gbdocs-mcp[semantic]" # adds embedding-backed search (pulls in torch)Register with Claude Code:
claude mcp add gbdocs -- uvx gbdocs-mcp{
"mcpServers": {
"gbdocs": {
"command": "uvx",
"args": ["gbdocs-mcp"]
}
}
}From source
git clone https://github.com/Nighthawk42/gbdocs-mcp && cd gbdocs-mcp
uv sync --extra semantic --dev
uv run gbdocs-mcpOptionally clone pandocs beside the checkout; a
local clone takes precedence over the bundled copy, so git pull in it updates the
server with no rebuild.
Configuration
Variable | Meaning |
| Use a specific pandocs checkout instead of the bundled copy. |
| Where embedding vectors are cached. Defaults to |
| Sentence-transformers model. Defaults to |
Docs are resolved in that order: PANDOCS_ROOT, then a sibling pandocs/ clone,
then the bundled copy. Whichever is in use is reported by pandocs_toc as
docs_revision, including the upstream commit hash.
Semantic search loads lazily — the model is only downloaded the first time a search
actually needs it, and vectors are cached thereafter. Without the semantic extra,
search degrades to BM25 and says so in its response rather than failing.
Related MCP server: cutterMCP
Tools
Navigation & retrieval
Tool | Answers |
| What chapters exist, and where does a topic live? |
| Hybrid BM25 + semantic search over ~580 sections. |
| Give me a whole chapter (or just its heading outline). |
| Give me one section, with its bitfields and caveats. |
| Where does this |
Registers
Tool | Answers |
| What is |
| Show me all CGB-only registers / all audio registers. |
| What does writing |
| What byte turns the LCD on with 8000-addressing? |
Memory
Tool | Answers |
| What lives at this address — region, register, vector, header field, MBC range? |
Cartridge
Tool | Answers |
| What is the header layout / the field at |
| Cart type |
| Decode these 80 header bytes and verify the checksum. |
MBCs
Tool | Answers |
| What control registers and quirks does MBC5 have? |
| This ROM writes |
CPU
Tool | Answers |
| Disassemble this byte stream. |
| How is |
| Show me the encoding structure of block 2 / the |
Hardware behaviour
Tool | Answers |
| What is at |
| What hardware caveats apply to OAM / the PPU / MBC1? |
| What register values does a DMG ROM start with? |
Pages are also exposed as MCP resources (pandocs://page/LCDC).
Opcode data provenance
Pan Docs' CPU_Instruction_Set.md is an encoding reference — it has no cycle counts
and no flag effects, and explicitly defers to gbz80(7)
and the optables. This server therefore:
derives mnemonics, operands and instruction length from Pan Docs'
{{#bits}}groupings,merges cycles and flag effects from a vendored copy of
gbdev.io/gb-opcodes/Opcodes.json,and labels every field with which of the two it came from.
The two are cross-checked against each other across all 512 opcodes in the test suite.
Development
uv run pytest # 599 tests, ~1s
uv run python scripts/smoke.py # call all 21 tools, print a digest of each
uv run python scripts/client_probe.py # drive the server as a real MCP stdio client
uv run mcp dev src/gbdocs_mcp/server.py # MCP InspectorThe heaviest test decodes all 512 opcodes from Pan Docs' {{#bits}} groupings and
asserts they agree with the vendored table. A disagreement there means the markdown
parser has drifted, so it is worth keeping green.
Contributing
See AGENTS.md for the architecture, the corpus quirks the parsers have to keep handling, and the invariants that must not regress.
Licence
Server code is MIT (see LICENSE).
The bundled documentation is not mine: Pan Docs is released into the public domain (CC0-1.0) by the gbdev community, and the opcode timing table comes from gb-opcodes. This project only reformats their work for machine consumption. Full attribution is in NOTICE.md.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
MCP server for developer documentation, generated by doc2mcp.
An MCP server that gives your AI access to the source code and docs of all public github repos
MCP server for dev documentation, generated by doc2mcp.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceAn MCP server that allows LLMs to autonomously reverse engineer applications by exposing Ghidra functionality, enabling decompilation, analysis, and automatic renaming of methods and data.9,897Apache 2.0
- AlicenseNot gradedqualityDmaintenanceAn MCP server that enables LLMs to autonomously reverse engineer applications through Cutter, allowing them to decompile binaries, analyze code, and rename methods programmatically.30Apache 2.0
- AlicenseNot gradedqualityDmaintenanceAn MCP server that allows LLMs to autonomously reverse engineer applications by exposing Ghidra's functionality, including decompiling binaries, analyzing code, and renaming methods and data.Apache 2.0
- AlicenseBqualityDmaintenanceProvides comprehensive access to MCP documentation through structured guides, full-text search, and interactive development workflows for building servers and clients.337MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Nighthawk42/gbdocs-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server