PowerShell MCP Server

by posidron

Integrations

  • Offers a Node.js-based server for executing PowerShell commands, with support for system information retrieval, module management, and script execution through Node.js runtime.

  • Enables interaction with PowerShell, providing tools for executing commands, retrieving system information, managing modules, getting command help, finding commands, and running scripts.

Servidor MCP de PowerShell

Un servidor de Protocolo de Contexto de Modelo para interactuar con PowerShell. Este servidor proporciona herramientas para ejecutar comandos de PowerShell, recuperar información del sistema, administrar módulos y mucho más.

Requisitos

  • Node.js 18+
  • PowerShell 5.1 o PowerShell Core 7+

Instalación

  1. Instalar dependencias:
    npm install
  2. Construir el proyecto:
    npm run build

Configuración

Para Claude Desktop

Editar configuración: $HOME/Library/Application\ Support/Claude/claude_desktop_config.json

Agregar a mcpServers:

{ "mcpServers": { "mcp-powershell": { "command": "node", "args": [ "/absolute/path/to/mcp-powershell/dist/index.js" ] } } }

Para VS Code

Editar configuración: $HOME/Library/Application\ Support/Code/User/settings.json

Agregar a la configuración:

"mcp": { "servers": { "mcp-powershell": { "command": "node", "args": [ "/absolute/path/to/mcp-powershell/dist/index.js" ] } } }

Para Cursor IDE

Editar configuración: $HOME/.cursor/mcp.json

Agregar a mcpServers:

{ "mcpServers": { "mcp-powershell": { "command": "node", "args": [ "/absolute/path/to/mcp-powershell/dist/index.js" ] } } }

Herramientas disponibles

Este servidor MCP de PowerShell proporciona las siguientes herramientas:

ejecutar_ps

Ejecute un comando de PowerShell y obtenga el resultado.

Parameters: - command (string): PowerShell command to execute

Ejemplo de uso:

execute_ps(command: "Get-Process | Select-Object -First 5")

obtener_información_del_sistema

Recupere información detallada del sistema, incluidos detalles del sistema operativo, procesador, memoria y versión de PowerShell.

Parameters: None

Ejemplo de uso:

get_system_info()

lista_módulos

Enumere todos los módulos de PowerShell instalados con detalles como nombre, versión y tipo.

Parameters: None

Ejemplo de uso:

list_modules()

obtener_ayuda_de_comando

Obtenga ayuda detallada para un comando específico de PowerShell, incluida sintaxis, parámetros y ejemplos.

Parameters: - command (string): PowerShell command to get help for

Ejemplo de uso:

get_command_help(command: "Get-Process")

comandos_de_búsqueda

Busque comandos de PowerShell por nombre o patrón.

Parameters: - search (string): Search term for PowerShell commands

Ejemplo de uso:

find_commands(search: "Process")

ejecutar_script

Ejecute un archivo de script de PowerShell con parámetros opcionales.

Parameters: - scriptPath (string): Path to the PowerShell script file - parameters (string, optional): Optional parameters to pass to the script

Ejemplo de uso:

run_script(scriptPath: "/path/to/script.ps1", parameters: "-Name 'Test' -Value 123")

Desarrollo

Para ejecutar en modo de desarrollo:

npm run dev

Ampliación del servidor

Para agregar sus propias herramientas de PowerShell:

  1. Editar src/index.ts
  2. Agregar nuevas herramientas en el método registerTools()
  3. Siga el patrón existente para un manejo consistente de errores
  4. Construir con npm run build

Ejemplo de adición de una herramienta

// In the registerTools() method: this.server.tool( "my_ps_tool", { param1: z.string().describe("Description of parameter 1"), param2: z.number().optional().describe("Optional numeric parameter"), }, async ({ param1, param2 }) => { try { // Your PowerShell command const command = `Your-PowerShell-Command -Param1 "${param1}" ${param2 ? `-Param2 ${param2}` : ''}`; const { stdout, stderr } = await execAsync(`powershell -Command "${command.replace(/"/g, '\\"')}"`); if (stderr) { return { isError: true, content: [ { type: "text" as const, text: `Error in my_ps_tool: ${stderr}`, }, ], }; } return { content: [ { type: "text" as const, text: stdout, }, ], }; } catch (error) { return { isError: true, content: [ { type: "text" as const, text: `Error in my_ps_tool: ${(error as Error).message}`, }, ], }; } } );

Consideraciones de seguridad

  • Este servidor ejecuta comandos de PowerShell directamente en su sistema
  • Los comandos se ejecutan con los mismos privilegios que el proceso que ejecuta el servidor MCP
  • Tenga cuidado al exponerse a operaciones destructivas
  • Considere implementar una validación adicional para comandos sensibles

Solución de problemas

Problemas comunes

  1. Restricciones de la política de ejecución de PowerShell
    • Es posible que necesite ajustar su política de ejecución de PowerShell para permitir la ejecución de scripts
    • Utilice Set-ExecutionPolicy RemoteSigned -Scope CurrentUser para permitir scripts locales
  2. Errores de ruta no encontrada
    • Asegúrese de que las rutas de archivo sean absolutas o relativas al directorio de trabajo
    • Utilice separadores de ruta adecuados para su sistema operativo
  3. Errores de comando no encontrado
    • Algunos comandos pueden requerir la instalación de módulos específicos
    • Utilice Install-Module ModuleName para instalar los módulos necesarios

Licencia

Instituto Tecnológico de Massachusetts (MIT)

You must be authenticated.

A
security – no known vulnerabilities
F
license - not found
A
quality - confirmed to work

local-only server

The server can only run on the client's local machine because it depends on local resources.

Un servidor de protocolo de contexto de modelo que permite a los asistentes de IA ejecutar comandos de PowerShell, recuperar información del sistema, administrar módulos y ejecutar scripts en sistemas Windows.

  1. Requisitos
    1. Instalación
      1. Configuración
        1. Para Claude Desktop
        2. Para VS Code
        3. Para Cursor IDE
      2. Herramientas disponibles
        1. ejecutar_ps
        2. obtener_información_del_sistema
        3. lista_módulos
        4. obtener_ayuda_de_comando
        5. comandos_de_búsqueda
        6. ejecutar_script
      3. Desarrollo
        1. Ampliación del servidor
          1. Ejemplo de adición de una herramienta
        2. Consideraciones de seguridad
          1. Solución de problemas
            1. Problemas comunes
          2. Licencia

            Related MCP Servers

            • A
              security
              A
              license
              A
              quality
              A Model Context Protocol server that provides programmatic access to the Windows terminal, enabling AI models to interact with the Windows command line through standardized tools for writing commands, reading output, and sending control signals.
              Last updated -
              3
              JavaScript
              MIT License
            • A
              security
              F
              license
              A
              quality
              A Model Context Protocol server that allows secure execution of pre-approved commands, enabling AI assistants to safely interact with the user's system.
              Last updated -
              1
              3
              18
              JavaScript
            • -
              security
              F
              license
              -
              quality
              A Model Context Protocol server that enables AI assistants like Claude to perform Python development tasks through file operations, code analysis, project management, and safe code execution.
              Last updated -
              1
              Python
              • Linux
              • Apple
            • -
              security
              F
              license
              -
              quality
              A comprehensive Model Context Protocol server implementation that enables AI assistants to interact with file systems, databases, GitHub repositories, web resources, and system tools while maintaining security and control.
              Last updated -
              16
              TypeScript

            View all related MCP servers

            ID: fjhi52pfdt