Skip to main content
Glama
simen

VICE C64 Emulator MCP Server

by simen

deleteBreakpoint

Remove a debugging breakpoint in the VICE C64 emulator by specifying its ID to control program execution flow during assembly code analysis.

Instructions

Delete a breakpoint by its ID.

Use listBreakpoints to see current breakpoint IDs.

Related tools: setBreakpoint, listBreakpoints

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
breakpointIdYesBreakpoint ID from setBreakpoint

Implementation Reference

  • MCP tool handler for 'deleteBreakpoint': extracts breakpointId from args, calls the underlying ViceClient.deleteBreakpoint method, formats success response with metadata or error response.
    async (args) => {
      try {
        await client.deleteBreakpoint(args.breakpointId);
        return formatResponse({
          success: true,
          deletedId: args.breakpointId,
          message: `Breakpoint ${args.breakpointId} deleted`,
        });
      } catch (error) {
        return formatError(error as ViceError);
      }
    }
  • Zod input schema for deleteBreakpoint tool requiring a single numeric 'breakpointId' parameter.
    inputSchema: z.object({
      breakpointId: z.number().describe("Breakpoint ID from setBreakpoint"),
    }),
  • src/index.ts:607-631 (registration)
    Registration of the MCP 'deleteBreakpoint' tool with McpServer, including description, input schema, and handler function.
    server.registerTool(
      "deleteBreakpoint",
      {
        description: `Delete a breakpoint by its ID.
    
    Use listBreakpoints to see current breakpoint IDs.
    
    Related tools: setBreakpoint, listBreakpoints`,
        inputSchema: z.object({
          breakpointId: z.number().describe("Breakpoint ID from setBreakpoint"),
        }),
      },
      async (args) => {
        try {
          await client.deleteBreakpoint(args.breakpointId);
          return formatResponse({
            success: true,
            deletedId: args.breakpointId,
            message: `Breakpoint ${args.breakpointId} deleted`,
          });
        } catch (error) {
          return formatError(error as ViceError);
        }
      }
    );
  • ViceClient helper method implementing breakpoint deletion by sending VICE CheckpointDelete command and updating local checkpoint tracking.
    async deleteBreakpoint(checkpointId: number): Promise<void> {
      const body = Buffer.alloc(4);
      body.writeUInt32LE(checkpointId, 0);
      await this.sendCommand(Command.CheckpointDelete, body);
    
      // Remove from local tracking
      this.checkpoints.delete(checkpointId);
    }

Latest Blog Posts

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/simen/vice-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server