win-shell-mcp
win-shell-mcp
Capa de abstracción de comandos multiplataforma nativa para IA — ofrece 40 herramientas deterministas en forma de MCP Server, sustituye las llamadas directas al shell, unifica una salida JSON mínima y gestiona las diferencias de rutas, codificación y comillas de Windows.
Por qué
Hacer que la IA invoque comandos shell es peligroso y poco fiable:
Incoherencia entre plataformas: los separadores de rutas, la codificación (GBK), las comillas y los nombres de comandos (
delfrente arm) de Windows difieren enormemente de los de unixSalida difícil de parsear: el formato de salida de los comandos shell es arbitrario y a la IA le resulta difícil extraer información de forma fiable
Riesgo de seguridad: el shell crudo permite tuberías, redirecciones e inyección de comandos
win-shell-mcp sustituye los comandos shell más comunes con 40 herramientas deterministas. Cada herramienta:
Acepta parámetros JSON estructurados y devuelve, de forma uniforme,
{ ok: true, ...data }o{ ok: false, error: { code, message } }Tiene un comportamiento coherente entre plataformas (la misma configuración en Windows/macOS/Linux)
Ofrece una salida mínima (por defecto solo incluye los campos mínimos necesarios para que la IA decida); el modificador
verboserecupera los datos completosUsa códigos de error estándar (
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
Instalación
# 全局安装
npm install -g win-shell-mcp
# 或一次性运行
npx win-shell-mcpRequiere Node.js ≥ 18.
Configuración del cliente
Claude Desktop
Edita claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\):
{
"mcpServers": {
"win-shell-mcp": {
"command": "win-shell-mcp"
}
}
}Si no está instalado de forma global, usa npx:
{
"mcpServers": {
"win-shell-mcp": {
"command": "npx",
"args": ["win-shell-mcp"]
}
}
}Cliente MCP genérico
Cualquier cliente compatible con Model Context Protocol puede conectarse mediante stdio:
{
"mcpServers": {
"win-shell-mcp": {
"command": "win-shell-mcp",
"transport": "stdio"
}
}
}Una vez iniciado, el cliente se comunicará con el servidor a través de stdio y descubrirá automáticamente las 40 herramientas.
Lista de herramientas (40)
Agrupadas por dominio. Cada herramienta devuelve un contrato de salida uniforme: éxito { ok: true, ...data }, error { ok: false, error: { code, message } }.
system (4)
Herramienta | Descripción |
| Información del sistema (os, arch, platform, hostname, cwd, node); |
| Uso del disco (total/free/used, en bytes) |
| Información de memoria (total/free); |
| Entradas de la variable de entorno PATH; |
fs_read (3)
Herramienta | Descripción |
| Lista el directorio; |
| Lee archivos; admite rangos de líneas, detección automática de codificación (GBK/UTF-8) y truncamiento |
| Información de archivo o directorio (type, size, mtime, birthtime) |
fs_write (6)
Herramienta | Descripción |
| Escribe archivos (admite codificación utf-8/gbk y añadir contenido) |
| Crea directorios ( |
| Elimina archivos o directorios ( |
| Copia archivos o directorios (para directorios se requiere |
| Mueve o renombra (falla si dest ya existe; no sobrescribe) |
| Crea un archivo vacío o actualiza mtime |
text (6)
Herramienta | Descripción |
| Busca texto con una expresión regular |
| Toma las primeras N líneas |
| Toma las últimas N líneas |
| Cuenta líneas, palabras y caracteres |
| Diferencia entre dos textos |
| Reemplaza texto con una expresión regular |
search (3)
Herramienta | Descripción |
| Busca rutas de archivo que coincidan con un patrón glob |
| Busca contenido en archivos |
| Localiza la ruta de un ejecutable (similar a |
process (2)
Herramienta | Descripción |
| Lista los procesos |
| Termina procesos (por PID) |
shell_exec (1)
Herramienta | Descripción |
| Ejecuta comandos shell (con tiempo de espera y gestión de codificación) |
env (3)
Herramienta | Descripción |
| Lee una variable de entorno |
| Establece una variable de entorno |
| Elimina una variable de entorno |
net (4)
Herramienta | Descripción |
| Petición HTTP GET |
| Petición HTTP POST |
| Resolución DNS |
| Sondeo de conexión TCP |
pkg (2)
Herramienta | Descripción |
| Detecta el gestor de paquetes (npm/pnpm/yarn) |
| Ejecuta los scripts del paquete |
git (6)
Herramienta | Descripción |
| Estado del área de trabajo |
| Historial de commits |
| Lista las ramas y cambia de rama |
| Diferencias |
| Preparar cambios (staging) |
| Crear un commit |
⚠️ Nota de seguridad
Sin sandbox, plenos permisos.
Este servidor ejecuta todas las operaciones con los permisos completos del usuario que lo ejecuta, equivalente a un shell crudo.
fs_rmpuede eliminar cualquier archivo accesible,shell_execpuede ejecutar cualquier comando,process_killpuede terminar cualquier proceso accesible yfs_writepuede sobrescribir cualquier archivo accesible.Úsalo únicamente en entornos de confianza:
Conéctalo solo a clientes de IA en los que confíes
No lo expongas en entornos compartidos o multiinquilino
Confirma manualmente antes de operar en directorios sensibles (directorios del sistema, directorio personal del usuario)
En producción se recomienda combinarlo con aislamiento de permisos a nivel de sistema operativo (cuentas dedicadas con pocos privilegios, contenedores, chroot, etc.)
Este proyecto no ofrece ningún sandbox, aislamiento de permisos, lista negra de comandos ni restricciones de rutas. Todo el control de acceso depende de los permisos del sistema operativo.
Desarrollo
# 安装依赖
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 devEl artefacto de compilación es dist/index.js (empaquetado con tsup, ESM).
Estructura del proyecto
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/ # 编码测试Licencia
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