Skip to main content
Glama

ssh_execute

Execute commands on remote SSH servers to manage systems, run scripts, and perform administrative tasks through secure connections.

Instructions

Execute a command on a remote SSH server

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
connectionIdYesSSH connection ID
commandYesCommand to execute on remote server
cwdNoWorking directory for command execution

Implementation Reference

  • The handler function for 'ssh_execute' tool. Parses input using ExecuteCommandSchema, retrieves SSH connection from pool, executes the command with optional cwd, and returns stdout/stderr/exit code.
    private async handleSSHExecute(args: unknown) { const params = ExecuteCommandSchema.parse(args); const ssh = connectionPool.get(params.connectionId); if (!ssh) { throw new McpError( ErrorCode.InvalidParams, `Connection ID '${params.connectionId}' not found` ); } try { const result = await ssh.execCommand(params.command, { cwd: params.cwd, }); return { content: [ { type: 'text', text: `Command: ${params.command}\nExit Code: ${result.code}\n\nSTDOUT:\n${result.stdout}\n\nSTDERR:\n${result.stderr}`, }, ], }; } catch (error) { throw new McpError( ErrorCode.InternalError, `Command execution failed: ${error instanceof Error ? error.message : String(error)}` ); } }
  • Zod schema defining input parameters for the ssh_execute tool: connectionId (required), command (required), cwd (optional).
    const ExecuteCommandSchema = z.object({ connectionId: z.string().describe('SSH connection ID'), command: z.string().describe('Command to execute on remote server'), cwd: z.string().optional().describe('Working directory for command execution') });
  • src/index.ts:267-278 (registration)
    Tool registration in ListToolsRequestHandler response. Defines name 'ssh_execute', description, and inputSchema matching ExecuteCommandSchema.
    name: 'ssh_execute', description: 'Execute a command on a remote SSH server', inputSchema: { type: 'object', properties: { connectionId: { type: 'string', description: 'SSH connection ID' }, command: { type: 'string', description: 'Command to execute on remote server' }, cwd: { type: 'string', description: 'Working directory for command execution' } }, required: ['connectionId', 'command'] }, },

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

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