Skip to main content
Glama

win-shell-mcp

Нативный кроссплатформенный слой абстракции команд для ИИ — предоставляет 40 детерминированных инструментов в виде MCP-сервера, заменяет вызовы голого shell, унифицирует минималистичный JSON-вывод, обрабатывает различия путей/кодировок/кавычек Windows.

CI

Зачем

Вызов shell-команд через ИИ опасен и ненадёжен:

  • Кроссплатформенная несовместимость: разделители путей Windows, кодировки (GBK), кавычки, имена команд (del vs rm) сильно отличаются от 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)

Инструмент

Описание

system_info

Информация о системе (os, arch, platform, hostname, cwd, node); verbose включает uptime, память, CPU

system_disk

Использование диска (total/free/used, байты)

system_memory

Информация о памяти (total/free); verbose включает used, swap

system_path

Список записей переменной окружения PATH; verbose включает count, existing

fs_read (3)

Инструмент

Описание

fs_list

Список содержимого каталога; verbose включает тип и размер, recursive рекурсивно

fs_read

Чтение файла; поддержка диапазона строк, автоопределение кодировки (GBK/UTF-8), усечение

fs_stat

Информация о файле/каталоге (type, size, mtime, birthtime)

fs_write (6)

Инструмент

Описание

fs_write

Запись файла (поддержка кодировок utf-8/gbk, возможность добавления)

fs_mkdir

Создание каталога (recursive по умолчанию true, аналог mkdir -p)

fs_rm

Удаление файла/каталога (recursive для удаления дерева, force игнорирует отсутствие)

fs_cp

Копирование файла/каталога (для каталогов требуется recursive)

fs_mv

Перемещение/переименование (если dest существует, ошибка, без перезаписи)

fs_touch

Создание пустого файла или обновление mtime

text (6)

Инструмент

Описание

text_grep

Поиск текста по регулярному выражению

text_head

Взять первые N строк

text_tail

Взять последние N строк

text_wc

Подсчёт строк/слов/символов

text_diff

Различия между двумя текстами

text_replace

Замена текста по регулярному выражению

search (3)

Инструмент

Описание

search_glob

Поиск путей файлов по glob-шаблону

search_content

Поиск содержимого в файлах

search_which

Поиск пути к исполняемому файлу (аналог which/where)

process (2)

Инструмент

Описание

process_list

Список процессов

process_kill

Завершение процесса (по PID)

shell_exec (1)

Инструмент

Описание

shell_exec

Выполнение shell-команды (с таймаутом и обработкой кодировки)

env (3)

Инструмент

Описание

env_get

Чтение переменной окружения

env_set

Установка переменной окружения

env_unset

Удаление переменной окружения

net (4)

Инструмент

Описание

net_get

HTTP GET запрос

net_post

HTTP POST запрос

net_dns

DNS разрешение

net_tcp

Проверка TCP-соединения

pkg (2)

Инструмент

Описание

pkg_detect

Определение менеджера пакетов (npm/pnpm/yarn)

pkg_run

Запуск скрипта пакета

git (6)

Инструмент

Описание

git_status

Состояние рабочей директории

git_log

История коммитов

git_branch

Список веток и переключение

git_diff

Различия

git_add

Индексация

git_commit

Коммит

⚠️ Предупреждение безопасности

Нет песочницы, полные права.

Данный сервер выполняет все операции с полными правами запустившего его пользователя, эквивалентно голому 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

A
license - permissive license
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • F
    license
    -
    quality
    C
    maintenance
    A 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.
  • A
    license
    -
    quality
    A
    maintenance
    Provides 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.
    1
    136
    MIT

View all related MCP servers

Related MCP Connectors

  • A MCP server built for developers enabling Git based project management with project and personal…

  • Personal assistant MCP server with search, execute, packages, jobs, secrets, and integrations.

  • Scans MCP servers for tool poisoning, prompt injection and supply chain risks.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/1072636071/win-shell-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server