start_crash_session
Start an interactive crash analysis session for Linux system dump files to diagnose kernel issues and system failures.
Instructions
Starts a new interactive crash analysis session for the given dump.
If kernel_path is not provided, attempts to find a matching kernel automatically.
Returns the Session ID.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| dump_path | Yes | ||
| kernel_path | No |
Implementation Reference
- src/crash_mcp/server.py:82-93 (handler)Primary handler for the 'start_crash_session' tool. Registered via @mcp.tool() decorator. Validates inputs via type hints, delegates to helper, and formats response.@mcp.tool() def start_crash_session(dump_path: str, kernel_path: Optional[str] = None) -> str: """ Starts a new interactive crash analysis session for the given dump. If kernel_path is not provided, attempts to find a matching kernel automatically. Returns the Session ID. """ try: session_id = _start_session_internal(dump_path, kernel_path) return f"Session started successfully. Session ID: {session_id}" except Exception as e: return f"Error starting crash session: {str(e)}"
- src/crash_mcp/server.py:54-81 (helper)Supporting helper function that creates UUID, auto-matches kernel if needed, instantiates and starts CrashSession, and updates global session tracking.def _start_session_internal(dump_path: str, kernel_path: Optional[str] = None) -> str: """Helper to start session and update global state.""" global last_session_id if not os.path.exists(dump_path): return f"Error: Dump file not found at {dump_path}" if not kernel_path: # Try to auto-match kernel_path = CrashDiscovery.match_kernel(dump_path, [os.path.dirname(dump_path)]) if kernel_path: logger.info(f"Auto-matched kernel: {kernel_path}") else: logger.warning("No matching kernel found automatically.") session_id = str(uuid.uuid4()) logger.info(f"Starting session {session_id} for {dump_path}") try: session = CrashSession(dump_path, kernel_path) session.start() sessions[session_id] = session last_session_id = session_id # Update default session return session_id except Exception as e: logger.error(f"Failed to start session: {e}") raise e
- src/crash_mcp/server.py:17-17 (registration)MCP server initialization with FastMCP and state setup. Tools section starts here, with @mcp.tool() decorators registering all tools including start_crash_session.mcp = FastMCP("crash-mcp")