Skip to main content
Glama

step_over

Execute the current line in PHP debugging and move to the next line without entering function calls, maintaining debugging flow in the current scope.

Instructions

Step over to the next line in the current scope. Function calls are executed but not stepped into.

Input Schema

NameRequiredDescriptionDefault
session_idNoSession ID

Input Schema (JSON Schema)

{ "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "session_id": { "description": "Session ID", "type": "string" } }, "type": "object" }

Implementation Reference

  • The MCP tool handler for 'step_over'. Resolves the debug session using sessionManager and calls session.stepOver(). Returns formatted content with execution status, file, line, and message.
    async ({ session_id }) => { const session = sessionManager.resolveSession(session_id); if (!session) { return { content: [ { type: 'text', text: JSON.stringify({ error: 'No active debug session' }), }, ], }; } try { const result = await session.stepOver(); return { content: [ { type: 'text', text: JSON.stringify({ status: result.status, file: result.file, line: result.line, message: result.status === 'break' ? `Stepped to ${result.file}:${result.line}` : `Status: ${result.status}`, }), }, ], }; } catch (error) { return { content: [ { type: 'text', text: JSON.stringify({ error: 'Step over failed', message: error instanceof Error ? error.message : String(error), }), }, ], }; } }
  • Input schema for the step_over tool, defining optional session_id parameter using Zod.
    { session_id: z.string().optional().describe('Session ID'), },
  • Registration of the 'step_over' tool on the MCP server within registerExecutionTools function.
    server.tool( 'step_over', 'Step over to the next line in the current scope. Function calls are executed but not stepped into.', { session_id: z.string().optional().describe('Session ID'), }, async ({ session_id }) => { const session = sessionManager.resolveSession(session_id); if (!session) { return { content: [ { type: 'text', text: JSON.stringify({ error: 'No active debug session' }), }, ], }; } try { const result = await session.stepOver(); return { content: [ { type: 'text', text: JSON.stringify({ status: result.status, file: result.file, line: result.line, message: result.status === 'break' ? `Stepped to ${result.file}:${result.line}` : `Status: ${result.status}`, }), }, ], }; } catch (error) { return { content: [ { type: 'text', text: JSON.stringify({ error: 'Step over failed', message: error instanceof Error ? error.message : String(error), }), }, ], }; } } );
  • DebugSession.stepOver() helper method that sends the DBGP 'step_over' command via connection and processes the response using handleStepResponse.
    async stepOver(): Promise<{ status: DebugStatus; file?: string; line?: number }> { const response = await this.connection.sendCommand('step_over'); return this.handleStepResponse(response); }

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/kpanuragh/xdebug-mcp'

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