get_command_help
Retrieve detailed help for any PowerShell command to understand its usage, parameters, and examples. Simplify command execution and management on Windows systems.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| command | Yes | PowerShell command to get help for |
Implementation Reference
- src/index.ts:193-256 (handler)Handler function that retrieves detailed help for a PowerShell command using Get-Help -Full, structures the output as JSON, executes via powershell command, and returns markdown content or error.async ({ command }: { command: string }) => { try { const psCommand = ` $Help = Get-Help ${command} -Full $Output = [PSCustomObject]@{ Name = $Help.Name Synopsis = $Help.Synopsis Syntax = $Help.Syntax | Out-String Description = $Help.Description | Out-String Parameters = $Help.Parameters.Parameter | ForEach-Object { [PSCustomObject]@{ Name = $_.Name Type = $_.Type.Name Required = $_.Required Description = $_.Description | Out-String } } Examples = $Help.Examples.Example | ForEach-Object { [PSCustomObject]@{ Title = $_.Title Code = $_.Code Remarks = $_.Remarks | Out-String } } } ConvertTo-Json -InputObject $Output -Depth 5 `; const { stdout, stderr } = await execAsync( `powershell -Command "${psCommand.replace(/"/g, '\\"')}"` ); if (stderr) { return { isError: true, content: [ { type: 'text' as const, text: `Error retrieving help: ${stderr}`, }, ], }; } return { content: [ { type: 'text' as const, text: stdout, }, ], }; } catch (error) { return { isError: true, content: [ { type: 'text' as const, text: `Error retrieving help: ${(error as Error).message}`, }, ], }; } }
- src/index.ts:190-192 (schema)Input schema using Zod: requires a 'command' string parameter describing the PowerShell command to get help for.{ command: z.string().describe('PowerShell command to get help for'), },
- src/index.ts:188-257 (registration)Tool registration call: this.server.tool('get_command_help', schema, handler) within the registerTools method.this.server.tool( 'get_command_help', { command: z.string().describe('PowerShell command to get help for'), }, async ({ command }: { command: string }) => { try { const psCommand = ` $Help = Get-Help ${command} -Full $Output = [PSCustomObject]@{ Name = $Help.Name Synopsis = $Help.Synopsis Syntax = $Help.Syntax | Out-String Description = $Help.Description | Out-String Parameters = $Help.Parameters.Parameter | ForEach-Object { [PSCustomObject]@{ Name = $_.Name Type = $_.Type.Name Required = $_.Required Description = $_.Description | Out-String } } Examples = $Help.Examples.Example | ForEach-Object { [PSCustomObject]@{ Title = $_.Title Code = $_.Code Remarks = $_.Remarks | Out-String } } } ConvertTo-Json -InputObject $Output -Depth 5 `; const { stdout, stderr } = await execAsync( `powershell -Command "${psCommand.replace(/"/g, '\\"')}"` ); if (stderr) { return { isError: true, content: [ { type: 'text' as const, text: `Error retrieving help: ${stderr}`, }, ], }; } return { content: [ { type: 'text' as const, text: stdout, }, ], }; } catch (error) { return { isError: true, content: [ { type: 'text' as const, text: `Error retrieving help: ${(error as Error).message}`, }, ], }; } } );