mcp-server-commands

MCP MCP Servers Open Source v0.8.2 · 09.04.2026 активный

MCP-сервер для выполнения произвольных системных команд с настраиваемыми ограничениями. Запускает shell-команды, передаёт stdin, получает stdout/stderr. Поддерживает timeout и рабочую директорию.

v0.8.2
09.04.2026 current
v0.3.0
01.02.2025
Добавлен 06.07.2026 · Обновлён 06.07.2026 · MCP Servers
Установка
# Claude Desktop — claude_desktop_config.json:
{ "mcpServers": { "commands": { "command": "npx", "args": ["-y", "mcp-server-commands"] } } }

# Claude Code (CLI):
claude mcp add commands -- npx -y mcp-server-commands

# OpenCode — ~/.config/opencode/opencode.json:
{ "mcp": { "commands": { "type": "local", "command": ["npx", "-y", "mcp-server-commands"] } } }
переведено ИИ

Инструмент runProcess

Инструмент runProcess запускает процессы на хост-машине. Есть два взаимоисключающих способа его вызова:

  1. command_line (строка) — Выполняется через оболочку по умолчанию в системе (то же самое, что вводить в bash/fish/pwsh и т.д.). Все возможности оболочки, такие как конвейеры (пайпы), перенаправления и расширение переменных, работают.
  2. argv (массив строк) — Прямой вызов исполняемого файла. argv[0] — это исполняемый файл, остальные — аргументы. Без интерпретации оболочкой.

Вы не можете указать оба параметра одновременно. Инструмент определяет, использовать ли оболочку, на основе того, какой параметр вы предоставили.

Если вы хотите, чтобы ваша модель использовала определенные оболочки в системе, я бы перечислил их в вашем системном промпте. Или, возможно, в инструкциях к инструментам, хотя модели, как правило, лучше обращают внимание на примеры в системном промпте.

Дайте мне знать, если столкнетесь с проблемами!

Инструменты

Инструменты предназначены для запросов от LLM. Claude Sonnet 3.5 интеллектуально использует run_process. И, начальные тесты показывают многообещающие результаты с Groq Desktop с MCP и моделями llama4.

На данный момент только одна команда для управления всеми!

  • run_process - запустить команду, например, hostname или ls -al или echo "hello world" и т.д.
  • Возвращает STDOUT и STDERR в виде текста
  • Необязательный параметр stdin позволяет вашей LLM:
    • передавать скрипты через STDIN в команды типа fish, bash, zsh, python
    • создавать файлы с помощью cat >> foo/bar.txt из текста в stdin

[!WARNING] Будьте осторожны с тем, что просите этот сервер запустить! В приложении Claude Desktop используйте Approve Once (не Allow for This Chat), чтобы вы могли просматривать каждую команду, используйте Deny, если вы не доверяете команде. Права определяются пользователем, запускающим сервер. НЕ запускайте с sudo.

Видеообзор

Миниатюра YouTube

Промпты

Промпты предназначены для включения пользователями в историю чата, например, через команды со слэшем в Zed (в его панели AI Chat)

  • run_process - сгенерировать сообщение-промпт с выводом команды

  • Для вашего сведения, это было в основном учебное упражнение... Я рассматриваю это как инструмент для вызова по запросу пользователя. Это изящный способ сказать, что это шаблон для запуска команды и передачи выходных данных модели!

Разработка

Установить зависимости:

npm install

Собрать сервер:

npm run build

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

npm run watch

Установка

Чтобы использовать с Claude Desktop, добавьте конфигурацию сервера:

На MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json На Windows: %APPDATA%/Claude/claude_desktop_config.json

Groq Desktop (бета, macOS) использует ~/Library/Application Support/groq-desktop-app/settings.json

Использовать опубликованный npm-пакет

Опубликовано в npm как mcp-server-commands с помощью этого workflow

{
  "mcpServers": {
    "mcp-server-commands": {
      "command": "npx",
      "args": ["mcp-server-commands"]
    }
  }
}

Использовать локальную сборку (клон репозитория)

Убедитесь, что выполнили npm run build

{
  "mcpServers": {
    "mcp-server-commands": {
      // работает благодаря shebang в index.js
      "command": "/path/to/mcp-server-commands/build/index.js"
    }
  }
}

Локальные модели

  • Большинство моделей обучены так, что они не думают, что могут запускать команды за вас.
  • Иногда они используют инструменты без колебаний... в других случаях мне приходится убеждать их.
  • Используйте системный промпт или шаблон промпта, чтобы указать, что они должны следовать запросам пользователя. В том числе использовать run_processs без двойной проверки.
  • Ollama — отличный способ запустить модель локально (с Open-WebUI)
# ПРИМЕЧАНИЕ: обязательно проверьте варианты и размеры, чтобы модель помещалась в вашу VRAM и хорошо работала!

# Вероятно, лучшая на данный момент - [OpenHands LM](https://www.all-hands.dev/blog/introducing-openhands-lm-32b----a-strong-open-coding-agent-model)
ollama pull https://huggingface.co/lmstudio-community/openhands-lm-32b-v0.1-GGUF

# https://ollama.com/library/devstral
ollama pull devstral

# Qwen2.5-Coder умеет работать с инструментами, но вас придется убеждать
ollama pull qwen2.5-coder

HTTP / OpenAPI

Сервер реализован с использованием транспорта STDIO. Для HTTP используйте mcpo для совместимого с OpenAPI веб-интерфейса сервера. Это работает с Open-WebUI

uvx mcpo --port 3010 --api-key "supersecret" -- npx mcp-server-commands

# uvx запускает mcpo => mcpo запускает npx => npx запускает mcp-server-commands
# затем, mcpo мостит STDIO <=> HTTP

[!WARNING] Я кратко использовал mcpo с open-webui, убедитесь, что проверили его на предмет проблем с безопасностью.

Логирование

Приложение Claude Desktop записывает логи в ~/Library/Logs/Claude/mcp-server-mcp-server-commands.log

По умолчанию логируются только важные сообщения (т.е. ошибки). Если вы хотите видеть больше сообщений, добавьте --verbose в args при конфигурации сервера.

Кстати, логи записываются в STDERR, потому что именно этот поток Claude Desktop направляет в файлы логов. В будущем я ожидаю, что форматированные сообщения логов будут передаваться через транспорт STDIO в MCP-клиент (примечание: не в приложение Claude Desktop).

Отладка

Поскольку MCP-серверы общаются через stdio, отладка может быть сложной. Мы рекомендуем использовать MCP Inspector, который доступен как скрипт пакета:

npm run inspector

Inspector предоставит URL для доступа к инструментам отладки в вашем браузере.

Комментарии
Войдите, чтобы оставить комментарий