Skip to main content
Glama

ssh_close_interactive_shell

Terminate an active SSH interactive shell session by specifying the session ID to free up resources and maintain clean connection management.

Instructions

Close an interactive shell session

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
sessionIdYesInteractive session ID to close

Implementation Reference

  • The main handler function that executes the tool logic: validates input, retrieves the shell session, closes the shell channel, marks it inactive, removes from session pool, and returns success message.
    private async handleCloseInteractiveShell(args: unknown) { const params = CloseInteractiveShellSchema.parse(args); const session = shellSessions.get(params.sessionId); if (!session) { throw new McpError( ErrorCode.InvalidParams, `Session ID '${params.sessionId}' not found` ); } try { session.shell.close(); session.isActive = false; shellSessions.delete(params.sessionId); return { content: [ { type: 'text', text: `Interactive shell session '${params.sessionId}' closed successfully`, }, ], }; } catch (error) { throw new McpError( ErrorCode.InternalError, `Failed to close session: ${error instanceof Error ? error.message : String(error)}` ); } }
  • Zod schema defining the input parameters (sessionId) for the ssh_close_interactive_shell tool.
    const CloseInteractiveShellSchema = z.object({ sessionId: z.string().describe('Interactive session ID to close') });
  • src/index.ts:360-370 (registration)
    Registration of the tool in the ListToolsRequestHandler response, including name, description, and input schema.
    { name: 'ssh_close_interactive_shell', description: 'Close an interactive shell session', inputSchema: { type: 'object', properties: { sessionId: { type: 'string', description: 'Interactive session ID to close' } }, required: ['sessionId'] }, },
  • src/index.ts:503-504 (registration)
    Dispatch case in the CallToolRequestHandler switch statement that routes calls to the handler function.
    case 'ssh_close_interactive_shell': return await this.handleCloseInteractiveShell(args);

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/mahathirmuh/mcp-ssh-server'

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