Skip to main content
Glama
yup-21
by yup-21

start_session

Initiates a Linux crash dump analysis session by loading vmcore and vmlinux files to enable system debugging and troubleshooting.

Instructions

Starts analysis session. Requires vmcore and vmlinux paths. Returns session ID.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
vmcore_pathYes
vmlinux_pathYes
ssh_hostNo
ssh_userNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Implementation Reference

  • The handler function for the 'start_session' MCP tool. It is registered via the @mcp.tool() decorator. Validates inputs, creates a UnifiedSession instance, starts the session, stores it globally, and returns the session ID or an error message.
    @mcp.tool()
    def start_session(vmcore_path: str, vmlinux_path: str, 
                      ssh_host: Optional[str] = None, ssh_user: Optional[str] = None) -> str:
        """Starts analysis session. Requires vmcore and vmlinux paths. Returns session ID."""
        global last_session_id
        
        # Validation
        if not ssh_host and not os.path.exists(vmcore_path):
            return f"Error: Dump file not found locally at {vmcore_path} and no remote host specified."
    
        session_id = str(uuid.uuid4())
        logger.info(f"Starting Session {session_id} for {vmcore_path} (Remote: {ssh_host})")
        
        try:
            session = UnifiedSession(vmcore_path, vmlinux_path, 
                                   remote_host=ssh_host, remote_user=ssh_user)
            session.start()
            
            sessions[session_id] = session
            last_session_id = session_id
            
            return f"Session started successfully. ID: {session_id}\n(Wraps both 'crash' and 'drgn' engines. Commands are automatically routed.)"
        except Exception as e:
            logger.error(f"Failed to start session: {e}")
            return f"Failed to start session: {str(e)}"
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It states that the tool 'Starts analysis session' and 'Returns session ID', which implies a stateful operation and output format. However, it lacks details on permissions, side effects (e.g., if it consumes resources or locks files), error handling, or session lifecycle implications, which are critical for a tool that initiates analysis.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise with two sentences that directly state the purpose, requirements, and return value. Every word earns its place, and it's front-loaded with the core action, making it efficient and easy to parse without any fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (starting a stateful analysis session with 4 parameters), no annotations, and an output schema (which likely covers the session ID return), the description is minimally adequate. It covers the basic purpose and key inputs but lacks depth on behavioral aspects and optional parameters, making it incomplete for safe and effective use without additional context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It mentions 'vmcore and vmlinux paths' for the two required parameters, adding some meaning beyond the schema's bare titles. However, it omits the optional 'ssh_host' and 'ssh_user' parameters entirely, and doesn't explain what these paths represent or their expected formats, leaving significant gaps in parameter understanding.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Starts analysis session') and the resource ('analysis session'), which is specific and understandable. However, it doesn't differentiate from sibling tools like 'run_crash_command' or 'run_drgn_command' which might also involve analysis sessions, leaving some ambiguity about its unique role.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description mentions that it 'Requires vmcore and vmlinux paths', which provides basic prerequisites but no guidance on when to use this tool versus alternatives like 'run_crash_command' or 'stop_session'. There's no explicit when/when-not usage or comparison to siblings, leaving the agent to infer context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

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/yup-21/crash-mcp'

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