Shell MCP сервер
Model Context Protocol (MCP) сервер, который предоставляет безопасные возможности выполнения команд в shell для AI-ассистентов, работая как мост между AI-системами и вашим окружением shell через стандартизированный протокол MCP.
автор: sonirico
curl -fsSL https://vibebaza.com/i/shell | bash
Model Context Protocol (MCP) сервер, который предоставляет безопасные возможности выполнения команд в shell для AI-ассистентов, работая как мост между AI-системами и вашим окружением shell через стандартизированный протокол MCP.
Установка
Из исходного кода
git clone https://github.com/sonirico/mcp-shell
cd mcp-shell
make install
Docker
make docker-build
make docker-run-secure
Продакшн сборка
make build
sudo make install-bin
Конфигурация
Claude Desktop
{
"mcpServers": {
"shell": {
"command": "docker",
"args": ["run", "--rm", "-i", "mcp-shell:latest"],
"env": {
"MCP_SHELL_SECURITY_ENABLED": "true",
"MCP_SHELL_LOG_LEVEL": "info"
}
}
}
}
Доступные инструменты
| Инструмент | Описание |
|---|---|
shell_command |
Выполняет команды shell с настраиваемыми ограничениями безопасности, возвращая структурированный вывод с... |
Возможности
- Безопасность прежде всего: Настраиваемые списки разрешенных команд, блок-листы и ограничения выполнения
- Готовность к Docker: Легковесный контейнер на базе Alpine для безопасной изоляции
- Структурированные ответы: JSON-форматированный вывод с stdout, stderr, кодами выхода и метаданными выполнения
- Поддержка бинарных данных: Опциональное кодирование base64 для обработки бинарного вывода команд
- Мониторинг производительности: Отслеживание времени выполнения и ограничения ресурсов
- Логирование аудита: Полный аудит выполнения команд со структурированным логированием
- Контекстная осведомленность: Поддерживает выполнение команд с правильной отменой контекста
- Конфигурация окружения: Полная настройка через переменные окружения
- Валидация команд: Белые/черные списки с сопоставлением regex-паттернов
- Изоляция пользователей: Запуск команд под непривилегированными пользователями
Переменные окружения
Опциональные
MCP_SHELL_SERVER_NAME- Имя сервераMCP_SHELL_VERSION- Версия сервера (устанавливается во время компиляции)MCP_SHELL_LOG_LEVEL- Уровень логирования (debug, info, warn, error, fatal)MCP_SHELL_LOG_FORMAT- Формат логов (json, console)MCP_SHELL_LOG_OUTPUT- Вывод логов (stdout, stderr, file)MCP_SHELL_SEC_CONFIG_FILE- Путь к YAML файлу конфигурации для настроек безопасности
Примеры использования
Выполняйте команды shell такие как 'ls', 'cat', 'grep', 'find' для исследования файловых систем
Запускайте команды системной диагностики и мониторинга
Выполняйте операции с файлами с соответствующими ограничениями безопасности
Запускайте скрипты разработки и деплоя в контролируемых окружениях
Ресурсы
Примечания
Настройки безопасности конфигурируются исключительно через YAML файл конфигурации. В режиме по умолчанию работает с полным доступом к системе при отключенной безопасности. Поддерживает как белые, так и черные списки для валидации команд, с сопоставлением regex-паттернов для усиленной безопасности. Построен на основе официального MCP SDK для Go.