win-shell-mcp
win-shell-mcp
Нативный кроссплатформенный слой абстракции команд для ИИ — предоставляет 40 детерминированных инструментов в виде MCP-сервера, заменяет вызовы голого shell, унифицирует минималистичный JSON-вывод, обрабатывает различия путей/кодировок/кавычек Windows.
Зачем
Вызов shell-команд через ИИ опасен и ненадёжен:
Кроссплатформенная несовместимость: разделители путей Windows, кодировки (GBK), кавычки, имена команд (
delvsrm) сильно отличаются от unixСложность парсинга вывода: формат вывода shell-команд произволен, ИИ сложно надёжно извлечь информацию
Риски безопасности: голый shell допускает конвейеры, перенаправления, инъекции команд
win-shell-mcp заменяет обычные shell-команды на 40 детерминированных инструментов, каждый из которых:
Принимает структурированные JSON-параметры, возвращает единый
{ ok: true, ...data }или{ ok: false, error: { code, message } }Ведёт себя одинаково на всех платформах (одна конфигурация для Windows/macOS/Linux)
Минималистичный вывод (по умолчанию только минимальные поля, необходимые для принятия решений ИИ), флаг
verboseдля получения полных данныхСтандартные коды ошибок (
ENOENT/EISDIR/ENOTDIR/EACCES/EINVAL/ETIMEOUT/EEXEC/EUNKNOWN/INVALID_URL/NET_TIMEOUT/NET_FAIL/PROC_NOT_FOUND/PROC_KILL_FAIL/EXEC_FAIL/EXEC_TIMEOUT/GIT_FAIL)
Related MCP server: Pare
Установка
# 全局安装
npm install -g win-shell-mcp
# 或一次性运行
npx win-shell-mcpТребуется Node.js ≥ 18.
Конфигурация клиента
Claude Desktop
Отредактируйте claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\):
{
"mcpServers": {
"win-shell-mcp": {
"command": "win-shell-mcp"
}
}
}Если не установлено глобально, используйте npx:
{
"mcpServers": {
"win-shell-mcp": {
"command": "npx",
"args": ["win-shell-mcp"]
}
}
}Универсальный MCP-клиент
Любой клиент, совместимый с Model Context Protocol, может подключаться через stdio:
{
"mcpServers": {
"win-shell-mcp": {
"command": "win-shell-mcp",
"transport": "stdio"
}
}
}После запуска клиент будет общаться с сервером через stdio и автоматически обнаружит все 40 инструментов.
Список инструментов (40)
Сгруппированы по доменам. Каждый инструмент возвращает единый контракт вывода: успех { ok: true, ...data }, ошибка { ok: false, error: { code, message } }.
system (4)
Инструмент | Описание |
| Информация о системе (os, arch, platform, hostname, cwd, node); |
| Использование диска (total/free/used, байты) |
| Информация о памяти (total/free); |
| Список записей переменной окружения PATH; |
fs_read (3)
Инструмент | Описание |
| Список содержимого каталога; |
| Чтение файла; поддержка диапазона строк, автоопределение кодировки (GBK/UTF-8), усечение |
| Информация о файле/каталоге (type, size, mtime, birthtime) |
fs_write (6)
Инструмент | Описание |
| Запись файла (поддержка кодировок utf-8/gbk, возможность добавления) |
| Создание каталога ( |
| Удаление файла/каталога ( |
| Копирование файла/каталога (для каталогов требуется |
| Перемещение/переименование (если dest существует, ошибка, без перезаписи) |
| Создание пустого файла или обновление mtime |
text (6)
Инструмент | Описание |
| Поиск текста по регулярному выражению |
| Взять первые N строк |
| Взять последние N строк |
| Подсчёт строк/слов/символов |
| Различия между двумя текстами |
| Замена текста по регулярному выражению |
search (3)
Инструмент | Описание |
| Поиск путей файлов по glob-шаблону |
| Поиск содержимого в файлах |
| Поиск пути к исполняемому файлу (аналог |
process (2)
Инструмент | Описание |
| Список процессов |
| Завершение процесса (по PID) |
shell_exec (1)
Инструмент | Описание |
| Выполнение shell-команды (с таймаутом и обработкой кодировки) |
env (3)
Инструмент | Описание |
| Чтение переменной окружения |
| Установка переменной окружения |
| Удаление переменной окружения |
net (4)
Инструмент | Описание |
| HTTP GET запрос |
| HTTP POST запрос |
| DNS разрешение |
| Проверка TCP-соединения |
pkg (2)
Инструмент | Описание |
| Определение менеджера пакетов (npm/pnpm/yarn) |
| Запуск скрипта пакета |
git (6)
Инструмент | Описание |
| Состояние рабочей директории |
| История коммитов |
| Список веток и переключение |
| Различия |
| Индексация |
| Коммит |
⚠️ Предупреждение безопасности
Нет песочницы, полные права.
Данный сервер выполняет все операции с полными правами запустившего его пользователя, эквивалентно голому shell.
fs_rmможет удалить любой доступный файл,shell_execможет выполнить любую команду,process_killможет завершить любой доступный процесс,fs_writeможет перезаписать любой доступный файл.Используйте только в доверенной среде:
Подключайтесь только к доверенному ИИ-клиенту
Не открывайте доступ в общей/многопользовательской среде
Перед операциями с чувствительными каталогами (системные, домашняя папка пользователя) требуйте подтверждения
В производственной среде рекомендуется изоляция на уровне ОС (выделенная учётная запись с низкими правами, контейнер, chroot и т.д.)
Этот проект не предоставляет никакой песочницы, изоляции прав, чёрных списков команд или ограничений путей. Весь контроль доступа зависит от прав операционной системы.
Разработка
# 安装依赖
npm install
# 类型检查
npm run typecheck
# 测试
npm test
# 测试(watch 模式)
npm run test:watch
# 覆盖率(阈值:lines/functions/statements ≥ 85%,branches ≥ 70%)
npm run coverage
# 构建
npm run build
# 开发模式(watch 构建)
npm run devСборка создает dist/index.js (упаковано с помощью tsup, ESM).
Структура проекта
src/
index.ts # 入口:启动 stdio server
server.ts # MCP Server 创建与工具分发
registry.ts # 工具注册表(注册全部 40 个工具)
contract/ # 输出契约与错误码
encoding/ # 编码检测(GBK/UTF-8)
tools/ # 40 个工具实现,按域分文件
tests/
server.test.ts # server 单元测试
integration/ # 集成测试(Client + InMemoryTransport)
tools/ # 各工具单元测试
contract/ # 契约测试
encoding/ # 编码测试Лицензия
MIT
This server cannot be deployed
Maintenance
Related MCP Connectors
Self-hosted MCP server: 26 deterministic dev, security, and EVM tools.
Remote MCP server exposing your Node Command fleet (files, shell, processes, browser) to AI hosts.
MCP server for your apps' tools and custom tools, plus hosted AI agents and approval-gated workflows
MCP server for progressive tool usage at any scale (see https://klavis.ai)
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceA unified MCP server with composable tools for GitHub operations, file management, shell execution, kanban boards, Discord messaging, and package management. Features role-based security, HTTP/stdio transports, and a web-based development UI.GPL 3.0
- AlicenseNot gradedqualityAmaintenanceProvides MCP servers that wrap common developer tools (git, npm, docker, etc.) returning structured JSON output, enabling AI agents to reliably interact with these tools without parsing fragile terminal text.0139MIT
- AlicenseNot gradedqualityAmaintenanceLocal automation bridge that is both an MCP server and client: 234 tools across 44 namespaces for shell, filesystem, git, desktop control, browser (CDP), Android (ADB), OCR/ASR and memory, plus the ability to connect external MCP servers. Sandboxed execution with token auth, fail-closed policy and audit log.9MIT
- AlicenseNot gradedqualityCmaintenanceEnables developers to expose any dev tool as a safe, audited MCP server with permission tiers, audit logging, and automatic argument validation.MIT