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.

PowerShell MCP-сервер

Сервер Model Context Protocol для взаимодействия с PowerShell. Этот сервер предоставляет инструменты для выполнения команд PowerShell, получения системной информации, управления модулями и т. д.

Требования

  • Node.js 18+
  • PowerShell 5.1 или PowerShell Core 7+

Установка

  1. Установить зависимости:
    npm install
  2. Создайте проект:
    npm run build

Конфигурация

Для рабочего стола Клода

Изменить конфигурацию: $HOME/Library/Application\ Support/Claude/claude_desktop_config.json

Добавить в mcpServers:

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

Для VS-кода

Изменить конфигурацию: $HOME/Library/Application\ Support/Code/User/settings.json

Добавить в настройки:

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

Для курсора IDE

Изменить конфигурацию: $HOME/.cursor/mcp.json

Добавить в mcpServers:

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

Доступные инструменты

Этот сервер PowerShell MCP предоставляет следующие инструменты:

выполнить_пс

Выполните команду PowerShell и получите результат.

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

Пример использования:

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

получить_системную_информацию

Получите подробную информацию о системе, включая сведения об ОС, процессоре, памяти и версии PowerShell.

Parameters: None

Пример использования:

get_system_info()

список_модулей

Выведите список всех установленных модулей PowerShell с указанием таких сведений, как имя, версия и тип.

Parameters: None

Пример использования:

list_modules()

получить_команду_помощь

Получите подробную справку по конкретной команде PowerShell, включая синтаксис, параметры и примеры.

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

Пример использования:

get_command_help(command: "Get-Process")

find_commands

Поиск команд PowerShell по имени или шаблону.

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

Пример использования:

find_commands(search: "Process")

запустить_скрипт

Запустите файл скрипта PowerShell с дополнительными параметрами.

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

Пример использования:

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

Разработка

Для запуска в режиме разработки:

npm run dev

Расширение сервера

Чтобы добавить собственные инструменты PowerShell:

  1. Редактировать src/index.ts
  2. Добавить новые инструменты в метод registerTools()
  3. Следуйте существующей схеме для последовательной обработки ошибок.
  4. Сборка с помощью npm run build

Пример добавления инструмента

// 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}`, }, ], }; } } );

Соображения безопасности

  • Этот сервер выполняет команды PowerShell непосредственно в вашей системе.
  • Команды выполняются с теми же привилегиями, что и процесс, запускающий сервер MCP.
  • Будьте осторожны при раскрытии деструктивных операций
  • Рассмотрите возможность внедрения дополнительной проверки для конфиденциальных команд.

Поиск неисправностей

Общие проблемы

  1. Ограничения политики выполнения PowerShell
    • Возможно, вам придется настроить политику выполнения PowerShell, чтобы разрешить выполнение скрипта.
    • Используйте Set-ExecutionPolicy RemoteSigned -Scope CurrentUser для разрешения локальных скриптов.
  2. Ошибки «Путь не найден»
    • Убедитесь, что пути к файлам являются абсолютными или правильно указаны относительно рабочего каталога.
    • Используйте соответствующие разделители пути для вашей ОС.
  3. Ошибки «Команда не найдена»
    • Некоторые команды могут потребовать установки определенных модулей.
    • Используйте Install-Module ModuleName для установки необходимых модулей.

Лицензия

Массачусетский технологический институт

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.

Сервер Model Context Protocol, который позволяет помощникам на базе искусственного интеллекта выполнять команды PowerShell, извлекать системную информацию, управлять модулями и запускать скрипты в системах Windows.

  1. Требования
    1. Установка
      1. Конфигурация
        1. Для рабочего стола Клода
        2. Для VS-кода
        3. Для курсора IDE
      2. Доступные инструменты
        1. выполнить_пс
        2. получить_системную_информацию
        3. список_модулей
        4. получить_команду_помощь
        5. find_commands
        6. запустить_скрипт
      3. Разработка
        1. Расширение сервера
          1. Пример добавления инструмента
        2. Соображения безопасности
          1. Поиск неисправностей
            1. Общие проблемы
          2. Лицензия

            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