inercia/mcp-cli-adapter

inercia/mcp-cli-adapter

от inercia
MCPShell - MCP-сервер для безопасного запуска shell-команд из LLM. Определяйте инструменты в YAML с параметрами и ограничениями. Быстрое прототипирование MCP-инструментов из shell-команд.

MCPShell

banner

The MCPShell is a tool that allows LLMs to safely execute command-line tools through the Model Context Protocol (MCP). It provides a secure bridge between LLMs and operating system commands.

Features

  • Flexible command execution: Run any shell commands as MCP tools, with parameter substitution through templates.
  • Configuration-based tool definitions: Define tools in YAML with parameters, constraints, and output formatting.
  • Security through constraints: Validate tool parameters using CEL expressions before execution, as well as optional sanboxed environments for running commands.
  • Quick proptotyping of MCP tools: just add some shell code and use it as a MCP tool in your LLM.
  • Simple integration: Works with any LLM client supporting the MCP protocol (ie, Cursor, VSCode, Witsy...)

Quick Start

Imagine you want Cursor (or some other MCP client) help you with your space problems in your hard disk.

  1. Create a configuration file /my/example.yaml defining your tools:

    mcp:
      description: |
        Tool for analyzing disk usage to help identify what's consuming space.
      run:
        shell: bash
      tools:
        - name: "disk_usage"
          description: "Check disk usage for a directory"
          params:
            directory:
              type: string
              description: "Directory to analyze"
              required: true
            max_depth:
              type: number
              description: "Maximum depth to analyze (1-3)"
              default: 2
          constraints:
            - "directory.startsWith('/')"  # Must be absolute path
            - "!directory.contains('..')"  # Prevent directory traversal
            - "max_depth >= 1 && max_depth <= 3"  # Limit recursion depth
            - "directory.matches('^[\\w\\s./\\-_]+$')"  # Only allow safe path characters, prevent command injection
          run:
            command: |
              du -h --max-depth={{ .max_depth }} {{ .directory }} | sort -hr | head -20
          output:
            prefix: |
              Disk Usage Analysis (Top 20 largest directories):
    

    Take a look at the examples directory for more sophisticated and useful examples. Maybe you prefer to let the LLM know about your Kubernetes cluster with kubectl? Or let it run some AWS CLI commands?

  2. Configure the MCP server in Cursor (or in any other LLM client with support for MCP)

    For example, for Cursor, create .cursor/mcp.json:

    {
        // you need the "go" command available
        "mcpServers": {
            "mcp-cli-examples": {
                "command": "go",
                "args": [
                   "run", "github.com/inercia/MCPShell@v0.1.8",
                   "mcp", "--tools", "/my/example.yaml",
                   "--logfile", "/some/path/mcpshell/example.log"
                ]
            }
        }
    }
    

    You can also use relative paths and omit the .yaml extension:

    {
        "mcpServers": {
            "mcp-cli-examples": {
                "command": "go",
                "args": [
                   "run", "github.com/inercia/MCPShell@v0.1.8",
                   "mcp", "--tools", "example",
                   "--logfile", "/some/path/mcpshell/example.log"
                ]
            }
        }
    }
    

    This will look for example.yaml in the tools directory (~/.mcpshell/tools/ by default).

    See more details on how to configure Cursor or Visual Studio Code. Other LLMs with support for MCPs should be configured in a similar way.

  3. Make sure your MCP client is refreshed (Cursor should recognize it automatically the firt time, but any change in the config file will require a refresh).

  4. Ask your LLM some questions it should be able to answer with the new tool. For example: "I'm running out of space in my hard disk. Could you help me finding the problem?".

У этого сервера пока нет списка инструментов.

Другие проверенные MCP-сервера

microsoft/azure-devops-mcp

microsoft/azure-devops-mcp

MCP сервер для Azure DevOps предоставляет AI-агентам доступ к проектам, рабочим элементам и вики. Рекомендуется удаленная версия, доступна и локальная. Инструмент упрощает взаимодействие с DevOps-данными через естественный язык.

TypeScript1895
webscraping-ai/webscraping-ai-mcp-server

webscraping-ai/webscraping-ai-mcp-server

официальный

MCP сервер для веб-скрапинга через WebScraping.AI — извлекает текст, HTML и структурированные данные, задаёт вопросы по содержимому страниц. Поддерживает JavaScript-рендеринг, CSS-селекторы, выбор прокси и эмуляцию устройств. Идеален для интеграции с LLM при сборе информации с сайтов.

JavaScript44
pydantic/logfire-mcp

pydantic/logfire-mcp

официальный

MCP-сервер для интеграции с Logfire от Pydantic. Текущая версия архивирована — используйте новый удаленный сервер для быстрой итерации инструментов и лучшего опыта. Полезен разработчикам, работающим с логированием и мониторингом Pydantic Logfire.

Python162
StacklokLabs/mkp

StacklokLabs/mkp

официальный

MKP - MCP-сервер на Go для Kubernetes даёт AI-агентам прямой доступ к API кластера: листинг, apply, exec-команды. Поддерживает рейт-лимитинг и любые CRD. Удобен для автоматизации через LLM.

Go59
OctagonAI/octagon-mcp-server

OctagonAI/octagon-mcp-server

официальный

Octagon MCP сервер для AI-финансовых исследований: интегрируется с Market Intelligence API, извлекает инсайты из SEC-отчетов, отчетов о прибылях, данных по акциям/криптовалютам и prediction markets. Полезен инвесторам и аналитикам для глубокого анализа рынков.

TypeScript143
Firecrawl MCP

Firecrawl MCP

официальный

MCP сервер для поиска и скрапинга веб-страниц, превращающий живой интернет в чистые данные для ИИ-агентов. Поддерживает навигацию, клики и автономные исследования. Работает в облаке или локально.

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

Лука Никитин