MladenSU/cli-mcp-server

MladenSU/cli-mcp-server

от mladensu
MCP сервер для безопасного выполнения команд CLI с whitelist-фильтрацией. Защищает от path traversal, ограничивает команды, флаги и длину, устанавливает таймауты. Идеален для LLM-приложений с контролируемым доступом к терминалу.

CLI MCP Server


A secure Model Context Protocol (MCP) server implementation for executing controlled command-line operations with comprehensive security features.

License Python Version MCP Protocol smithery badge Python Tests


Table of Contents

  1. Overview
  2. Features
  3. Configuration
  4. Available Tools
  5. Usage with Claude Desktop
  6. Security Features
  7. Error Handling
  8. Development
  9. License

Overview

This MCP server enables secure command-line execution with robust security measures including command whitelisting, path validation, and execution controls. Perfect for providing controlled CLI access to LLM applications while maintaining security.

Features

  • 🔒 Secure command execution with strict validation
  • ⚙️ Configurable command and flag whitelisting with 'all' option
  • 🛡️ Path traversal prevention and validation
  • 🚫 Shell operator injection protection
  • ⏱️ Execution timeouts and length limits
  • 📝 Detailed error reporting
  • 🔄 Async operation support
  • 🎯 Working directory restriction and validation

Часто задаваемые вопросы

У этого сервера пока нет списка инструментов.
0.2.5основная
0.2.4
0.2.3
0.2.2

Выберите клиент, чтобы установить MladenSU/cli-mcp-server:

Любой клиент

Конфиг добавления MCP сервера стандартный, обычно он не меняется вообще, поэтому подходит практически к любому ИИ клиенту, поддерживающему MCP.

{
  "mcpServers": {
    "mladensu-cli-mcp-server-5kzab0te32": {
      "command": "uvx",
      "args": [
        "cli-mcp-server"
      ],
      "env": {
        "ALLOWED_DIR": "</your/desired/dir>",
        "ALLOWED_COMMANDS": "ls,cat,pwd,echo",
        "ALLOWED_FLAGS": "-l,-a,--help,--version",
        "MAX_COMMAND_LENGTH": "1024",
        "COMMAND_TIMEOUT": "30",
        "ALLOW_SHELL_OPERATORS": "false"
      }
    }
  }
}
CursorCursor

Перейдите по ссылке и сервер автоматически будет добавлен в Cursor. Либо откройте/создайте файл ~/.cursor/mcp.json(%USERPROFILE%\.cursor\mcp.json на Windows) и добавьте конфиг сервера:

{
  "mcpServers": {
    "mladensu-cli-mcp-server-5kzab0te32": {
      "command": "uvx",
      "args": [
        "cli-mcp-server"
      ],
      "env": {
        "ALLOWED_DIR": "</your/desired/dir>",
        "ALLOWED_COMMANDS": "ls,cat,pwd,echo",
        "ALLOWED_FLAGS": "-l,-a,--help,--version",
        "MAX_COMMAND_LENGTH": "1024",
        "COMMAND_TIMEOUT": "30",
        "ALLOW_SHELL_OPERATORS": "false"
      }
    }
  }
}
VS Code

Создайте .vscode/mcp.json в проекте (ключ верхнего уровня — servers):

{
  "servers": {
    "mladensu-cli-mcp-server-5kzab0te32": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "cli-mcp-server"
      ],
      "env": {
        "ALLOWED_DIR": "</your/desired/dir>",
        "ALLOWED_COMMANDS": "ls,cat,pwd,echo",
        "ALLOWED_FLAGS": "-l,-a,--help,--version",
        "MAX_COMMAND_LENGTH": "1024",
        "COMMAND_TIMEOUT": "30",
        "ALLOW_SHELL_OPERATORS": "false"
      }
    }
  }
}

Либо добавьте сервер через терминал:

code --add-mcp "{\"name\":\"mladensu-cli-mcp-server-5kzab0te32\",\"type\":\"stdio\",\"command\":\"uvx\",\"args\":[\"cli-mcp-server\"],\"env\":{\"ALLOWED_DIR\":\"</your/desired/dir>\",\"ALLOWED_COMMANDS\":\"ls,cat,pwd,echo\",\"ALLOWED_FLAGS\":\"-l,-a,--help,--version\",\"MAX_COMMAND_LENGTH\":\"1024\",\"COMMAND_TIMEOUT\":\"30\",\"ALLOW_SHELL_OPERATORS\":\"false\"}}"
ClaudeClaude Desktop

Откройте Settings → Developer → Edit Config — это откроет файл claude_desktop_config.json:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Впишите сервер и полностью перезапустите Claude Desktop:

{
  "mcpServers": {
    "mladensu-cli-mcp-server-5kzab0te32": {
      "command": "uvx",
      "args": [
        "cli-mcp-server"
      ],
      "env": {
        "ALLOWED_DIR": "</your/desired/dir>",
        "ALLOWED_COMMANDS": "ls,cat,pwd,echo",
        "ALLOWED_FLAGS": "-l,-a,--help,--version",
        "MAX_COMMAND_LENGTH": "1024",
        "COMMAND_TIMEOUT": "30",
        "ALLOW_SHELL_OPERATORS": "false"
      }
    }
  }
}
Claude CodeClaude Code

Добавьте сервер одной командой в терминале:

claude mcp add mladensu-cli-mcp-server-5kzab0te32 --env ALLOWED_DIR=</your/desired/dir> --env ALLOWED_COMMANDS=ls,cat,pwd,echo --env ALLOWED_FLAGS=-l,-a,--help,--version --env MAX_COMMAND_LENGTH=1024 --env COMMAND_TIMEOUT=30 --env ALLOW_SHELL_OPERATORS=false -- uvx cli-mcp-server

Либо через JSON-конфиг:

claude mcp add-json mladensu-cli-mcp-server-5kzab0te32 "{\"command\":\"uvx\",\"args\":[\"cli-mcp-server\"],\"env\":{\"ALLOWED_DIR\":\"</your/desired/dir>\",\"ALLOWED_COMMANDS\":\"ls,cat,pwd,echo\",\"ALLOWED_FLAGS\":\"-l,-a,--help,--version\",\"MAX_COMMAND_LENGTH\":\"1024\",\"COMMAND_TIMEOUT\":\"30\",\"ALLOW_SHELL_OPERATORS\":\"false\"}}"
CodexCodex

Добавьте сервер командой в терминале:

codex mcp add mladensu-cli-mcp-server-5kzab0te32 --env ALLOWED_DIR=</your/desired/dir> --env ALLOWED_COMMANDS=ls,cat,pwd,echo --env ALLOWED_FLAGS=-l,-a,--help,--version --env MAX_COMMAND_LENGTH=1024 --env COMMAND_TIMEOUT=30 --env ALLOW_SHELL_OPERATORS=false -- uvx cli-mcp-server

Либо вручную в ~/.codex/config.toml(%USERPROFILE%\.codex\config.toml на Windows):

[mcp_servers.mladensu-cli-mcp-server-5kzab0te32]
command = "uvx"
args = ["cli-mcp-server"]

[mcp_servers.mladensu-cli-mcp-server-5kzab0te32.env]
ALLOWED_DIR = "</your/desired/dir>"
ALLOWED_COMMANDS = "ls,cat,pwd,echo"
ALLOWED_FLAGS = "-l,-a,--help,--version"
MAX_COMMAND_LENGTH = "1024"
COMMAND_TIMEOUT = "30"
ALLOW_SHELL_OPERATORS = "false"
PerplexityPerplexity

MCP доступен подписчикам Perplexity Pro / Max / Enterprise. Локальные серверы — только в приложении для macOS.

  1. Откройте Настройки аккаунта → Connectors.
  2. Установите вспомогательное приложение PerplexityXPC (один раз).
  3. Нажмите Add Connector → вкладка Simple.
  4. В поле Server Name укажите MladenSU/cli-mcp-server, а в поле команды запуска — строку ниже:
uvx cli-mcp-server

Нажмите Save и дождитесь статуса Running.

WindsurfWindsurf

Откройте Windsurf Settings → Cascade → MCP Servers или отредактируйте файл ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "mladensu-cli-mcp-server-5kzab0te32": {
      "command": "uvx",
      "args": [
        "cli-mcp-server"
      ],
      "env": {
        "ALLOWED_DIR": "</your/desired/dir>",
        "ALLOWED_COMMANDS": "ls,cat,pwd,echo",
        "ALLOWED_FLAGS": "-l,-a,--help,--version",
        "MAX_COMMAND_LENGTH": "1024",
        "COMMAND_TIMEOUT": "30",
        "ALLOW_SHELL_OPERATORS": "false"
      }
    }
  }
}
ClineCline

В панели Cline нажмите иконку MCP Servers → Configure → Configure MCP Servers (или отредактируйте ~/.cline/mcp.json) и добавьте сервер:

{
  "mcpServers": {
    "mladensu-cli-mcp-server-5kzab0te32": {
      "command": "uvx",
      "args": [
        "cli-mcp-server"
      ],
      "env": {
        "ALLOWED_DIR": "</your/desired/dir>",
        "ALLOWED_COMMANDS": "ls,cat,pwd,echo",
        "ALLOWED_FLAGS": "-l,-a,--help,--version",
        "MAX_COMMAND_LENGTH": "1024",
        "COMMAND_TIMEOUT": "30",
        "ALLOW_SHELL_OPERATORS": "false"
      },
      "disabled": false,
      "autoApprove": []
    }
  }
}
Continue

Создайте файл в .continue/mcpServers/ (например mladensu-cli-mcp-server-5kzab0te32.yaml) или добавьте блок в config.yaml. MCP работает только в режиме agent:

mcpServers:
  - name: mladensu-cli-mcp-server-5kzab0te32
    command: uvx
    args:
      - "cli-mcp-server"
    env:
      ALLOWED_DIR: </your/desired/dir>
      ALLOWED_COMMANDS: ls,cat,pwd,echo
      ALLOWED_FLAGS: -l,-a,--help,--version
      MAX_COMMAND_LENGTH: 1024
      COMMAND_TIMEOUT: 30
      ALLOW_SHELL_OPERATORS: false
Zed

Выполните agent: add context server или откройте настройки (zed: open settings file) и добавьте сервер в объект context_servers:

{
  "context_servers": {
    "mladensu-cli-mcp-server-5kzab0te32": {
      "command": "uvx",
      "args": [
        "cli-mcp-server"
      ],
      "env": {
        "ALLOWED_DIR": "</your/desired/dir>",
        "ALLOWED_COMMANDS": "ls,cat,pwd,echo",
        "ALLOWED_FLAGS": "-l,-a,--help,--version",
        "MAX_COMMAND_LENGTH": "1024",
        "COMMAND_TIMEOUT": "30",
        "ALLOW_SHELL_OPERATORS": "false"
      }
    }
  }
}

Похожие MCP-сервера

tumf/mcp-shell-server

tumf/mcp-shell-server

от tumf

MCP сервер для безопасного удалённого выполнения команд оболочки с белым списком, изоляцией окружения и аудитом. Поддерживает stdin, пайпы и лимиты времени/вывода. Идеален для интеграции shell-команд в MCP с контролем безопасности.

Python⭐ 201
tufantunc/ssh-mcp

tufantunc/ssh-mcp

от tufantunc

MCP-совместимый сервер для удаленного выполнения shell-команд на Linux и Windows через SSH. Поддерживает sudo, настраиваемые таймауты и аутентификацию. Отлично подходит DevOps и разработчикам, работающим с LLM.

TypeScript⭐ 816
ferodrigop/forge

ferodrigop/forge

от ferodrigop

Forge — MCP-сервер, дающий AI-агентам постоянные терминалы с реальной PTY-эмуляцией. Позволяет параллельно запускать несколько процессов, читать только новые данные (инкрементальное чтение) и управ...

TypeScript⭐ 28
sonirico/mcp-shell

sonirico/mcp-shell

от sonirico

MCP сервер для безопасного выполнения shell-команд через LLM с полным контролем. Secure-режим по умолчанию ограничивает утилиты белым списком read-only команд. Политики настраиваются через YAML. Идеален для Claude Desktop и агентов, где важна безопасность.

Go⭐ 108
ferrislucas/iterm-mcp

ferrislucas/iterm-mcp

от ferrislucas

Разработчики: MCP сервер для iTerm дает модели полный контроль над терминалом - выполнение команд, чтение вывода, управление REPL. Эффективный расход токенов, простая интеграция. Делегируйте задачи и наблюдайте за работой.

TypeScript⭐ 570
maxim-saplin/mcp_safe_local_python_executor

maxim-saplin/mcp_safe_local_python_executor

от maxim-saplin

MCP сервер для безопасного локального выполнения Python кода от LLM. Основан на LocalPythonExecutor от Hugging Face, не требует Docker, ограничивает импорты и файловые операции. Запускается через uv - замена Code Interpreter для Claude Desktop и MCP клиентов.

Python⭐ 48
© Каталог MCP, 2026. Все права защищены.
Проект не аффилирован с Anthropic и любыми упомянутыми продуктами.
Все названия и торговые марки принадлежат их владельцам.
Контакты для связи: hi@mcp-katalog.ru

Лука Никитин