Skip to main content
Glama

task_exec_interactive

Execute SSH commands with interactive prompt handling for yes/no, password, and custom responses in remote server management.

Instructions

Exécute une commande SSH avec gestion des prompts interactifs (yes/no, passwords, etc.).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
aliasYesAlias du serveur cible.
cmdYesLa commande à exécuter.
interactiveNoMode interactif.
autoRespondNoRépondre automatiquement aux prompts standards.
responsesNoRéponses personnalisées aux prompts (clé: pattern, valeur: réponse).
timeoutNoTimeout personnalisé en secondes. Défaut 2 minutes.
rappelNoDéfinit un rappel en secondes.

Implementation Reference

  • Handler function that queues an interactive SSH job using the queue system, executes it via ssh.executeCommand, and returns the result or background status after waiting for completion.
    async (params) => { const job = queue.addJob({ type: 'ssh', ...params, status: 'pending', interactive: params.interactive, autoRespond: params.autoRespond }); history.logTask(job); ssh.executeCommand(job.id); const finalJob = await waitForJobCompletion(job.id, params.timeout || config.syncTimeout); if (finalJob) { return { content: [{ type: "text", text: `Résultat commande interactive (tâche ${finalJob.id}):\n${finalJob.output || JSON.stringify(finalJob, null, 2)}` }] }; } else { return { content: [{ type: "text", text: `Tâche interactive ${job.id} initiée en arrière-plan.` }] }; } }
  • Zod input schema defining parameters for the interactive SSH execution tool, including server alias, command, interactive mode, auto-respond, custom responses, timeout, and reminder.
    { title: "Exécuter une commande interactive (SSH)", description: "Exécute une commande SSH avec gestion des prompts interactifs (yes/no, passwords, etc.).", inputSchema: z.object({ alias: z.string().describe("Alias du serveur cible."), cmd: z.string().describe("La commande à exécuter."), interactive: z.boolean().optional().default(true).describe("Mode interactif."), autoRespond: z.boolean().optional().default(true).describe("Répondre automatiquement aux prompts standards."), responses: z.record(z.string()).optional().describe("Réponses personnalisées aux prompts (clé: pattern, valeur: réponse)."), timeout: z.number().optional().describe("Timeout personnalisé en secondes. Défaut 2 minutes."), rappel: z.number().optional().describe("Définit un rappel en secondes.") })
  • server.js:545-578 (registration)
    MCP server registration of the 'task_exec_interactive' tool, including schema and inline handler function.
    server.registerTool( "task_exec_interactive", { title: "Exécuter une commande interactive (SSH)", description: "Exécute une commande SSH avec gestion des prompts interactifs (yes/no, passwords, etc.).", inputSchema: z.object({ alias: z.string().describe("Alias du serveur cible."), cmd: z.string().describe("La commande à exécuter."), interactive: z.boolean().optional().default(true).describe("Mode interactif."), autoRespond: z.boolean().optional().default(true).describe("Répondre automatiquement aux prompts standards."), responses: z.record(z.string()).optional().describe("Réponses personnalisées aux prompts (clé: pattern, valeur: réponse)."), timeout: z.number().optional().describe("Timeout personnalisé en secondes. Défaut 2 minutes."), rappel: z.number().optional().describe("Définit un rappel en secondes.") }) }, async (params) => { const job = queue.addJob({ type: 'ssh', ...params, status: 'pending', interactive: params.interactive, autoRespond: params.autoRespond }); history.logTask(job); ssh.executeCommand(job.id); const finalJob = await waitForJobCompletion(job.id, params.timeout || config.syncTimeout); if (finalJob) { return { content: [{ type: "text", text: `Résultat commande interactive (tâche ${finalJob.id}):\n${finalJob.output || JSON.stringify(finalJob, null, 2)}` }] }; } else { return { content: [{ type: "text", text: `Tâche interactive ${job.id} initiée en arrière-plan.` }] }; } } );

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/fkom13/mcp-sftp-orchestrator'

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