C64 Debug MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {
"enabled": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_monitor_stateA | Returns whether the C64 is running or stopped, along with the current stop reason and program counter when available. |
| get_session_stateA | Returns emulator session state including transport/process status, auto-resume state, and the most recent hit checkpoint. |
| get_registersA | Returns the current C64 register snapshot. Requires emulator to be stopped - call execute(action="pause") first if running. |
| set_registersA | Sets one or more C64 registers by field name. Requires emulator to be stopped - call execute(action="pause") first if running. |
| memory_readA | Reads a memory chunk. Specify start_address and either data_length or end_address. Address can be decimal (53248) or hex string with prefix ($D000, 0xD000). Returns byte values as decimal numbers. |
| memory_writeA | Writes raw byte values into C64 memory. Address and byte values support decimal, hex ($FF, 0xFF), and binary (%11111111, 0b11111111) formats. Requires emulator to be stopped. |
| executeA | Controls execution with pause, resume, step, step_over, step_out, or reset. Pause and resume are idempotent (safe to call multiple times). |
| wait_for_stateA | Waits for the emulator to reach a target execution state and optionally remain there for a stability window. |
| list_breakpointsB | Lists current breakpoints and watchpoints. |
| breakpoint_setB | Creates an execution breakpoint or read/write watchpoint. Specify start_address and either data_length or end_address. Address can be decimal (53248) or hex string with prefix ($D000, 0xD000). |
| breakpoint_clearB | Deletes a breakpoint by numeric id. |
| program_loadC | Loads a C64 program and optionally starts it. |
| capture_displayA | Captures the current screen to a PNG file and returns the saved image path. |
| get_display_stateA | Returns screen RAM, color RAM, the current graphics mode, screen memory addresses, and the current border and background colors. |
| get_display_textA | Returns the current text screen as readable text when the C64 is in a text mode. |
| write_textA | Types text into the C64. Automatically resumes if stopped and restores pause state after. Supports escaped characters and PETSCII brace tokens like {RETURN}, {CLR}, {HOME}, {PI}, and color names. Limit 64 bytes per request. |
| keyboard_inputA | Sends one to four keys or PETSCII tokens to the C64. Automatically resumes if stopped and restores pause state after. Use for key presses, releases, and taps. |
| joystick_inputA | Sends joystick input to C64 joystick port 1 or 2. Automatically resumes if stopped and restores pause state after. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
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/henols/c64-debug-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server