get_session_info
Retrieve detailed information about a specific terminal session identified by its serial port path, such as /dev/ttyUSB0 or COM1, enabling verification of connection status and configuration.
Instructions
获取指定终端会话的详细信息
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| session_id | Yes | 会话ID(即串口路径),如 /dev/ttyUSB0 或 COM1 |
Implementation Reference
- src/uart_mcp/tools/terminal.py:103-113 (handler)The handler function for get_session_info tool. It calls manager.get_session_info(session_id) and returns the result as a dict.
def get_session_info(session_id: str) -> dict[str, Any]: """获取会话详细信息 Args: session_id: 会话ID(串口路径) Returns: 会话信息 """ manager = get_terminal_manager() return manager.get_session_info(session_id) - src/uart_mcp/terminal_manager.py:422-435 (handler)TerminalManager.get_session_info method - the core implementation that retrieves a TerminalSession by session_id and returns its info as a dict via session.get_info().to_dict().
def get_session_info(self, session_id: str) -> dict[str, Any]: """获取会话详细信息 Args: session_id: 会话ID(串口路径) Returns: 会话信息 Raises: SessionNotFoundError: 会话不存在 """ session = self.get_session(session_id) return session.get_info().to_dict() - The input schema definition for the get_session_info tool (GET_SESSION_INFO_TOOL dict), specifying session_id as a required string parameter.
GET_SESSION_INFO_TOOL: dict[str, Any] = { "name": "get_session_info", "description": "获取指定终端会话的详细信息", "inputSchema": { "type": "object", "properties": { "session_id": { "type": "string", "description": "会话ID(即串口路径),如 /dev/ttyUSB0 或 COM1", }, }, "required": ["session_id"], }, } - src/uart_mcp/server.py:163-174 (registration)Registration: get_session_info is imported and called in the handle_call_tool MCP server handler when name == 'get_session_info'.
elif name == "create_session": result = create_session(**arguments) elif name == "close_session": result = close_session(**arguments) elif name == "send_command": result = send_command(**arguments) elif name == "read_output": result = read_output(**arguments) elif name == "list_sessions": result = list_sessions() elif name == "get_session_info": result = get_session_info(**arguments) - src/uart_mcp/server.py:102-138 (registration)Registration: GET_SESSION_INFO_TOOL is listed in handle_list_tools, making get_session_info available as an MCP tool (lines 128-132).
# 终端会话工具 types.Tool( name=CREATE_SESSION_TOOL["name"], description=CREATE_SESSION_TOOL["description"], inputSchema=CREATE_SESSION_TOOL["inputSchema"], ), types.Tool( name=CLOSE_SESSION_TOOL["name"], description=CLOSE_SESSION_TOOL["description"], inputSchema=CLOSE_SESSION_TOOL["inputSchema"], ), types.Tool( name=SEND_COMMAND_TOOL["name"], description=SEND_COMMAND_TOOL["description"], inputSchema=SEND_COMMAND_TOOL["inputSchema"], ), types.Tool( name=READ_OUTPUT_TOOL["name"], description=READ_OUTPUT_TOOL["description"], inputSchema=READ_OUTPUT_TOOL["inputSchema"], ), types.Tool( name=LIST_SESSIONS_TOOL["name"], description=LIST_SESSIONS_TOOL["description"], inputSchema=LIST_SESSIONS_TOOL["inputSchema"], ), types.Tool( name=GET_SESSION_INFO_TOOL["name"], description=GET_SESSION_INFO_TOOL["description"], inputSchema=GET_SESSION_INFO_TOOL["inputSchema"], ), types.Tool( name=CLEAR_BUFFER_TOOL["name"], description=CLEAR_BUFFER_TOOL["description"], inputSchema=CLEAR_BUFFER_TOOL["inputSchema"], ), ]