Skip to main content
Glama

Код SkyDeckAI

Сервер MCP, предоставляющий полный набор инструментов для рабочих процессов разработки на основе ИИ. Возможности включают операции с файловой системой, анализ кода с использованием tree-sitter для нескольких языков программирования, выполнение кода, извлечение веб-контента с преобразованием HTML в markdown, многодвижковый веб-поиск, поиск содержимого кода и извлечение системной информации. Разработан для расширения возможностей ИИ по оказанию помощи в задачах разработки программного обеспечения путем предоставления прямого доступа как к локальным, так и к удаленным ресурсам.

Ранее известный как MCP-Server-AIDD

Этот mcp-сервер ранее был известен как mcp-server-aidd . Он был переименован в skydeckai-code в честь команды SkyDeck.ai , создавшей это приложение вместе с East Agile . Но что еще важнее, мы поняли, что термин AI Driven Development (AIDD) просто не прижился. Люди не понимали с первого взгляда, о чем идет речь. И LLM тоже. «Код» был гораздо более интуитивным. А лингвистическая интуиция важна в мире агентного ИИ.

Установка

# Using pip
pip install skydeckai-code

Related MCP server: AX Local Operations MCP Server

Настройка рабочего стола Клода

Добавьте в ваш claude_desktop_config.json :

{
    "mcpServers": {
        "skydeckai-code": {
            "command": "uvx",
            "args": ["skydeckai-code"]
        }
    }
}

Приложение-помощник SkyDeck AI

Если вы используете приложение SkyDeck AI Helper, вы можете найти «SkyDeckAI Code» и установить его.

Приложение-помощник SkyDeck AI

Основные характеристики

  • Операции с файловой системой (чтение, запись, редактирование, перемещение, копирование, удаление)

  • Управление каталогами и обход

  • Анализ многоязыкового кода с использованием tree-sitter

  • Поиск содержимого кода с помощью сопоставления шаблонов регулярных выражений

  • Многоязычное выполнение кода с мерами безопасности

  • Извлечение веб-контента из API и веб-сайтов с преобразованием HTML в Markdown

  • Многосистемный веб-поиск с надежными резервными механизмами

  • Пакетные операции для параллельного и последовательного выполнения инструментов

  • Контроль безопасности с настраиваемыми границами рабочего пространства

  • Инструменты создания скриншотов и контекста экрана

  • Инструменты обработки изображений

Доступные инструменты (26)

Категория

Название инструмента

Описание

Файловая система

get_allowed_directory

Получить текущий путь к рабочему каталогу

update_allowed_directory

Изменить рабочий каталог

create_directory

Создать новый каталог или вложенные каталоги

write_file

Создать или перезаписать файл с новым содержимым

edit_file

Вносите построчные изменения в текстовый файл.

read_file

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

list_directory

Получить список файлов и каталогов

move_file

Переместить или переименовать файл или каталог

copy_file

Скопировать файл или каталог в новое место

search_files

Поиск файлов, соответствующих шаблону имени

delete_file

Удалить файл или пустой каталог

get_file_info

Получить подробные метаданные файла

directory_tree

Получить рекурсивное древовидное представление каталогов

read_image_file

Прочитать файл изображения как данные base64

Инструменты кода

codebase_mapper

Анализ структуры кода в файлах

search_code

Найти текстовые шаблоны в файлах кода

execute_code

Запуск кода на разных языках

execute_shell_script

Запуск скриптов shell/bash

Веб-инструменты

web_fetch

Получить контент с URL

web_search

Выполните поиск в Интернете

Инструменты экрана

capture_screenshot

Сделайте снимок экрана или окна

get_active_apps

Список запущенных приложений

get_available_windows

Список всех открытых окон

Система

get_system_info

Получить подробную информацию о системе

Утилита

batch_tools

Выполняйте несколько операций с инструментами одновременно

think

Документируйте обоснование без внесения изменений

Подробная документация по инструменту

Базовые операции с файлами

Инструмент

Параметры

Возвраты

прочитанный_файл

файлы: [{путь: строка, смещение?: целое число, предел?: целое число}]

Содержимое файла (один или несколько файлов)

запись_файла

путь: строка, содержимое: строка

Подтверждение успеха

переместить_файл

источник: строка, назначение: строка

Подтверждение успеха

копировать_файл

источник: строка, назначение: строка, рекурсивный?: логическое значение

Подтверждение успеха

удалить_файл

путь: строка

Подтверждение успеха

получить_информацию_файла

путь: строка

Метаданные файла (размер, временные метки, разрешения)

Использование интерфейса командной строки:

# Read entire file
skydeckai-code-cli --tool read_file --args '{"files": [{"path": "src/main.py"}]}'

# Read 10 lines starting from line 20
skydeckai-code-cli --tool read_file --args '{"files": [{"path": "src/main.py", "offset": 20, "limit": 10}]}'

# Read from line 50 to the end of the file
skydeckai-code-cli --tool read_file --args '{"files": [{"path": "src/main.py", "offset": 50}]}'

# Read multiple files with different line ranges
skydeckai-code-cli --tool read_file --args '{"files": [
  {"path": "src/main.py", "offset": 1, "limit": 10},
  {"path": "README.md"}
]}'

# Write file
skydeckai-code-cli --tool write_file --args '{"path": "output.txt", "content": "Hello World"}'

# Copy file or directory
skydeckai-code-cli --tool copy_file --args '{"source": "config.json", "destination": "config.backup.json"}'

# Get file info
skydeckai-code-cli --tool get_file_info --args '{"path": "src/main.py"}'

Сложные файловые операции

редактировать_файл

Редактирование файлов на основе шаблонов с поддержкой предварительного просмотра:

{
    "path": "src/main.py",
    "edits": [
        {
            "oldText": "def old_function():",
            "newText": "def new_function():"
        }
    ],
    "dryRun": false,
    "options": {
        "partialMatch": true
    }
}

Возвращает: разницу изменений или предварительный просмотр в режиме пробного прогона.

Операции со справочниками

Инструмент

Параметры

Возвраты

получить_разрешенный_каталог

никто

Текущий разрешенный путь к каталогу

обновление_разрешенного_каталога

каталог: строка (абсолютный путь)

Подтверждение успеха

список_каталогов

путь: строка

Список содержимого каталога

создать_каталог

путь: строка

Подтверждение успеха

поиск_файлов

шаблон: строка, путь?: строка, include_hidden?: логическое значение

Список соответствующих файлов

Инструмент search_files ищет файлы по шаблону имени, а инструмент search_code ищет в содержимом файла, используя regex. Используйте search_files для поиска файлов с определенными именами или расширениями и search_code для поиска определенных текстовых шаблонов внутри файлов.

дерево_каталогов

Генерирует полную структуру каталогов:

{
    "path": "src",
    "include_hidden": false
}

Возвращает: древовидную структуру JSON содержимого каталога.

Использование интерфейса командной строки:

# List directory
skydeckai-code-cli --tool list_directory --args '{"path": "."}'

# Search for Python files
skydeckai-code-cli --tool search_files --args '{"pattern": ".py", "path": "src"}'

Анализ кода

codebase_mapper

Анализирует структуру исходного кода:

{
    "path": "src"
}

Возврат:

  • Классы и их методы

  • Функции и параметры

  • Структура модуля

  • Статистика организации кода

  • Наследственные отношения

Поддерживаемые языки:

  • Питон (.py)

  • JavaScript (.js/.jsx, .mjs, .cjs)

  • TypeScript (.ts/.tsx)

  • Ява (.java)

  • C++ (.cpp, .hpp, .cc)

  • Рубин (.rb, .rake)

  • Перейти (.перейти)

  • Ржавчина (.rs)

  • PHP (.php)

  • C# (.cs)

  • Котлин (.kt, .kts)

Использование интерфейса командной строки:

# Map the entire codebase structure
skydeckai-code-cli --tool codebase_mapper --args '{"path": "."}'

# Map only the source directory
skydeckai-code-cli --tool codebase_mapper --args '{"path": "src"}'

# Map a specific component or module
skydeckai-code-cli --tool codebase_mapper --args '{"path": "src/components"}'

поисковый_код

Инструмент быстрого поиска контента с использованием регулярных выражений:

{
    "patterns": ["function\\s+\\w+", "class\\s+\\w+"],
    "include": "*.js",
    "exclude": "node_modules/**",
    "max_results": 50,
    "case_sensitive": false,
    "path": "src"
}

Параметры:

Параметр

Тип

Необходимый

Описание

узоры

массив строк

Да

Список шаблонов регулярных выражений для поиска в содержимом файла

включать

нить

Нет

Шаблон файла для включения (глобальный синтаксис, по умолчанию: "*")

исключать

нить

Нет

Шаблон файла для исключения (синтаксис glob, по умолчанию: "")

макс_результаты

целое число

Нет

Максимальное количество результатов для возврата по шаблону (по умолчанию: 100)

с учетом регистра

булев

Нет

Учитывается ли регистр при поиске (по умолчанию: false)

путь

нить

Нет

Базовый каталог для поиска (по умолчанию: ".").

Возвращает: совпадающие строки, сгруппированные по файлам с номерами строк, отсортированные по времени изменения файла, начиная с самых новых файлов.

Этот инструмент использует ripgrep, когда он доступен для оптимальной производительности, с резервной реализацией Python. Он идеально подходит для поиска определенных шаблонов кода, таких как объявления функций, импорты, использование переменных или обработка ошибок.

Использование интерфейса командной строки:

# Find function and class declarations in JavaScript files
skydeckai-code-cli --tool search_code --args '{
    "patterns": ["function\\s+\\w+", "class\\s+\\w+"],
    "include": "*.js"
}'

# Find all console.log statements with errors or warnings
skydeckai-code-cli --tool search_code --args '{
    "patterns": ["console\\.log.*[eE]rror", "console\\.log.*[wW]arning"],
    "path": "src"
}'

# Find import and export statements in TypeScript files
skydeckai-code-cli --tool search_code --args '{
    "patterns": ["import.*from", "export.*"],
    "include": "*.{ts,tsx}",
    "exclude": "node_modules/**"
}'

Системная информация

Инструмент

Параметры

Возвраты

получить_системную_информацию

никто

Подробная информация о системе

Возврат:

{
  "working_directory": "/path/to/project",
  "system": {
    "os", "os_version", "architecture", "python_version"
  },
  "wifi_network": "MyWiFi",
  "cpu": {
    "physical_cores", "logical_cores", "total_cpu_usage"
  },
  "memory": { "total", "available", "used_percentage" },
  "disk": { "total", "free", "used_percentage" },
  "mac_details": {  // Only present on macOS
    "model": "Mac mini",
    "chip": "Apple M2",
    "serial_number": "XXX"
  }
}

Предоставляет важную системную информацию в понятном, удобном для чтения формате.

Использование интерфейса командной строки:

# Get system information
skydeckai-code-cli --tool get_system_info

Контекст экрана и инструменты изображения

получить_активные_приложения

Возвращает список активных в данный момент приложений в системе пользователя.

{
    "with_details": true
}

Параметры:

Параметр

Тип

Необходимый

Описание

с_подробностями

булев

Нет

Включать ли дополнительные сведения о каждой заявке (по умолчанию: false)

Возврат:

{
    "success": true,
    "platform": "macos",
    "app_count": 12,
    "apps": [
        {
            "name": "Firefox",
            "has_windows": true,
            "window_count": 3,
            "visible_windows": [
                { "name": "GitHub - Mozilla Firefox", "width": 1200, "height": 800 }
            ]
        },
        {
            "name": "VSCode",
            "has_windows": true
        }
    ]
}

Этот инструмент предоставляет ценную информацию о приложениях, которые в данный момент работают в системе пользователя, что может помочь в предоставлении более актуальной помощи.

получить_доступные_окна

Возвращает подробную информацию обо всех доступных окнах, отображаемых в данный момент на экране пользователя.

{}

Возврат:

{
    "success": true,
    "platform": "macos",
    "count": 8,
    "windows": [
        {
            "id": 42,
            "title": "Document.txt - Notepad",
            "app": "Notepad",
            "visible": true
        },
        {
            "title": "Terminal",
            "app": "Terminal",
            "visible": true,
            "active": true
        }
    ]
}

Этот инструмент помогает понять, что отображается на экране пользователя, и может использоваться для оказания контекстно-зависимой помощи.

снимок_скриншота

Делает снимок экрана экрана пользователя или определенного окна.

{
    "output_path": "screenshots/capture.png",
    "capture_mode": {
        "type": "named_window",
        "window_name": "Visual Studio Code"
    }
}

Параметры:

Параметр

Тип

Необходимый

Описание

выходной_путь

нить

Нет

Путь, по которому следует сохранить снимок экрана (по умолчанию: сгенерированный путь)

режим_захвата

объект

Нет

Указывает, что нужно захватить

режим_захвата.тип

нить

Нет

Тип снимка экрана: «полный», «активное_окно» или «именованное_окно» (по умолчанию: «полный»)

режим_захвата.имя_окна

нить

Нет

Имя окна для захвата (обязательно, если тип — «named_window»)

Возврат:

{
    "success": true,
    "path": "/path/to/screenshots/capture.png"
}

Этот инструмент делает снимки экрана для визуализации, отладки или контекстно-зависимой помощи.

прочитать_файл_изображения

Считывает файл изображения из файловой системы и возвращает его содержимое в виде строки в кодировке base64.

{
    "path": "images/logo.png"
}

Параметры:

Параметр

Тип

Необходимый

Описание

путь

нить

Да

Путь к файлу изображения для чтения

максимальный_размер

целое число

Нет

Максимальный размер файла в байтах (по умолчанию: 100 МБ)

Возвращает: данные изображения в кодировке Base64, которые можно отобразить или обработать.

Этот инструмент поддерживает такие распространенные форматы изображений, как PNG, JPEG, GIF и WebP, а также автоматически изменяет размер изображений для оптимального просмотра.

Веб-инструменты

веб-забор

Извлекает контент из URL-адреса и при необходимости сохраняет его в файл.

{
    "url": "https://api.github.com/users/octocat",
    "headers": {
        "Accept": "application/json"
    },
    "timeout": 15,
    "save_to_file": "downloads/octocat.json",
    "convert_html_to_markdown": true
}

Параметры:

Параметр

Тип

Необходимый

Описание

URL-адрес

нить

Да

URL для загрузки контента (только http/https)

заголовки

объект

Нет

Необязательные заголовки HTTP для включения в запрос

тайм-аут

целое число

Нет

Максимальное время ожидания ответа (по умолчанию: 10 с)

сохранить_в_файл

нить

Нет

Путь для сохранения содержимого ответа (в пределах разрешенного каталога)

конвертировать_html_в_markdown

булев

Нет

Если установлено значение true, HTML-контент преобразуется в разметку для лучшей читабельности (по умолчанию: true)

Возвращает: Содержимое ответа в виде текста с кодом статуса HTTP и информацией о размере. Для двоичного содержимого возвращает метаданные и сохраняет в файл, если запрошено. Когда включен convert_html_to_markdown, содержимое HTML автоматически преобразуется в формат markdown для лучшей читаемости.

Этот инструмент можно использовать для доступа к веб-API, получения документации или загрузки контента из Интернета с учетом ограничений по размеру (максимум 10 МБ) и ограничений безопасности.

Использование интерфейса командной строки:

# Fetch JSON from an API
skydeckai-code-cli --tool web_fetch --args '{
    "url": "https://api.github.com/users/octocat",
    "headers": {"Accept": "application/json"}
}'

# Download content to a file
skydeckai-code-cli --tool web_fetch --args '{
    "url": "https://github.com/github/github-mcp-server/blob/main/README.md",
    "save_to_file": "downloads/readme.md"
}'

# Fetch a webpage and convert to markdown for better readability
skydeckai-code-cli --tool web_fetch --args '{
    "url": "https://example.com",
    "convert_html_to_markdown": true
}'

веб-поиск

Выполняет надежный веб-поиск с использованием нескольких поисковых систем и возвращает краткие, релевантные результаты.

{
    "query": "latest python release features",
    "num_results": 8,
    "convert_html_to_markdown": true,
    "search_engine": "bing"
}

Параметры:

Параметр

Тип

Необходимый

Описание

запрос

нить

Да

Поисковый запрос для обработки. Будьте конкретны для лучших результатов.

num_results

целое число

Нет

Максимальное количество возвращаемых результатов поиска (по умолчанию: 10, максимум: 20)

конвертировать_html_в_markdown

булев

Нет

Если true, содержимое будет преобразовано из HTML в markdown для лучшей читабельности (по умолчанию: true)

поисковая_система

нить

Нет

Указывает, какую поисковую систему использовать: «auto» (по умолчанию), «bing» или «duckduckgo»

Возвращает: Список результатов поиска, отформатированных в markdown, включая заголовки, URL-адреса и фрагменты для каждого результата. Результаты дедуплицируются и организуются иерархически для удобства чтения.

Этот инструмент использует многомоторный подход, который пробует разные поисковые системы с различными стратегиями анализа для обеспечения надежных результатов. Вы можете указать предпочтительную систему, но некоторые системы могут блокировать автоматизированный доступ, в этом случае инструмент будет переключаться на альтернативные системы при выборе «авто».

Использование интерфейса командной строки:

# Search with default settings (auto engine selection)
skydeckai-code-cli --tool web_search --args '{
    "query": "latest python release features"
}'

# Try DuckDuckGo if you want alternative results
skydeckai-code-cli --tool web_search --args '{
    "query": "machine learning frameworks comparison",
    "search_engine": "duckduckgo"
}'

# Use Bing for reliable results
skydeckai-code-cli --tool web_search --args '{
    "query": "best programming practices 2023",
    "search_engine": "bing"
}'

Вспомогательные инструменты

пакетные_инструменты

По возможности выполняйте несколько вызовов инструментов в одном запросе с параллельным выполнением.

{
    "description": "Setup new project",
    "sequential": true,
    "invocations": [
        {
            "tool": "create_directory",
            "arguments": {
                "path": "src"
            }
        },
        {
            "tool": "write_file",
            "arguments": {
                "path": "README.md",
                "content": "# New Project\n\nThis is a new project."
            }
        },
        {
            "tool": "execute_shell_script",
            "arguments": {
                "script": "git init"
            }
        }
    ]
}

Параметры:

Параметр

Тип

Необходимый

Описание

описание

нить

Да

Краткое описание пакетной операции

последовательный

булев

Нет

Следует ли запускать инструменты последовательно (по умолчанию: false)

призывания

множество

Да

Список вызовов инструментов для выполнения

вызовы[].tool

нить

Да

Название инструмента для вызова

вызовы[].аргументы

объект

Да

Аргументы в пользу указанного инструмента

Возвращает: Объединенные результаты всех вызовов инструмента, сгруппированные по инструменту со статусом успеха/ошибки для каждого. Результаты представлены в исходном порядке вызовов с понятными заголовками разделов.

Этот инструмент обеспечивает эффективное выполнение нескольких операций в одном запросе. Когда sequential имеет значение false (по умолчанию), инструменты выполняются параллельно для лучшей производительности. Когда sequential имеет значение true, инструменты выполняются по порядку, и если какой-либо инструмент выходит из строя, выполнение останавливается.

ВАЖНО : Все инструменты в пакете выполняются в одном и том же контексте рабочего каталога. Если инструмент создает каталог, а последующий инструмент должен работать внутри этого каталога, вы должны либо:

  1. Используйте пути относительно текущего рабочего каталога (например, «project/src», а не просто «src»), или

  2. Включить явный вызов инструмента для смены каталогов с помощью update_allowed_directory

Использование интерфейса командной строки:

# Setup a new project with multiple steps in sequential order (using proper paths)
skydeckai-code-cli --tool batch_tools --args '{
    "description": "Setup new project",
    "sequential": true,
    "invocations": [
        {"tool": "create_directory", "arguments": {"path": "project"}},
        {"tool": "create_directory", "arguments": {"path": "project/src"}},
        {"tool": "write_file", "arguments": {"path": "project/README.md", "content": "# Project\n\nA new project."}}
    ]
}'

# Create nested structure using relative paths (without changing directory)
skydeckai-code-cli --tool batch_tools --args '{
    "description": "Create project structure",
    "sequential": true,
    "invocations": [
        {"tool": "create_directory", "arguments": {"path": "project/src"}},
        {"tool": "create_directory", "arguments": {"path": "project/docs"}},
        {"tool": "write_file", "arguments": {"path": "project/README.md", "content": "# Project"}}
    ]
}'

# Gather system information and take a screenshot (tasks can run in parallel)
skydeckai-code-cli --tool batch_tools --args '{
    "description": "System diagnostics",
    "sequential": false,
    "invocations": [
        {"tool": "get_system_info", "arguments": {}},
        {"tool": "capture_screenshot", "arguments": {
            "output_path": "diagnostics/screen.png",
            "capture_mode": {
                "type": "full"
            }
        }}
    ]
}'

думать

Инструмент для сложных рассуждений и мозгового штурма без внесения изменений в репозиторий.

{
    "thought": "Let me analyze the performance issue in the codebase:\n\n## Root Cause Analysis\n\n1. The database query is inefficient because:\n   - It doesn't use proper indexing\n   - It fetches more columns than needed\n   - The JOIN operation is unnecessarily complex\n\n## Potential Solutions\n\n1. **Add database indexes**:\n   - Create an index on the user_id column\n   - Create a composite index on (created_at, status)\n\n2. **Optimize the query**:\n   - Select only necessary columns\n   - Rewrite the JOIN using a subquery\n   - Add LIMIT clause for pagination\n\n3. **Add caching layer**:\n   - Cache frequent queries using Redis\n   - Implement cache invalidation strategy\n\nAfter weighing the options, solution #2 seems to be the simplest to implement with the highest impact."
}

Параметры:

Параметр

Тип

Необходимый

Описание

мысль

нить

Да

Ваши подробные мысли, анализ или процесс рассуждения

Возвращает: Ваши мысли, отформатированные в формате Markdown, с примечанием о том, что это было упражнение на мышление.

Этот инструмент полезен для обдумывания сложных проблем, мозгового штурма решений или разработки планов внедрения без внесения каких-либо фактических изменений. Это отличный способ документировать процесс рассуждений, оценивать различные подходы или планировать многошаговую стратегию перед тем, как приступить к действиям.

Использование интерфейса командной строки:

# Analyze a bug and plan a fix
skydeckai-code-cli --tool think --args '{
    "thought": "# Bug Analysis\n\n## Observed Behavior\nThe login endpoint returns a 500 error when email contains Unicode characters.\n\n## Root Cause\nThe database adapter is not properly encoding Unicode strings before constructing the SQL query.\n\n## Potential Fixes\n1. Update the database adapter to use parameterized queries\n2. Add input validation to reject Unicode in emails\n3. Encode email input manually before database operations\n\nFix #1 is the best approach as it solves the core issue and improves security."
}'

# Evaluate design alternatives
skydeckai-code-cli --tool think --args '{
    "thought": "# API Design Options\n\n## REST vs GraphQL\nFor this use case, GraphQL would provide more flexible data fetching but adds complexity. REST is simpler and sufficient for our current needs.\n\n## Authentication Methods\nJWT-based authentication offers stateless operation and better scalability compared to session-based auth.\n\nRecommendation: Use REST with JWT authentication for the initial implementation."
}'

Выполнение кода

выполнить_код

Выполняет код на различных языках программирования с учетом мер безопасности и ограничений.

{
    "language": "python",
    "code": "print('Hello, World!')",
    "timeout": 5
}

Поддерживаемые языки:

  • Питон (python3)

  • JavaScript (Node.js)

  • Рубин

  • PHP

  • Идти

  • Ржавчина

Параметры:

Параметр

Тип

Необходимый

Описание

язык

нить

Да

Используемый язык программирования

код

нить

Да

Код для выполнения

тайм-аут

целое число

Нет

Максимальное время выполнения (по умолчанию: 5 с)

Использование интерфейса командной строки:

# Python example
skydeckai-code-cli --tool execute_code --args '{
    "language": "python",
    "code": "print(sum(range(10)))"
}'

# JavaScript example
skydeckai-code-cli --tool execute_code --args '{
    "language": "javascript",
    "code": "console.log(Array.from({length: 5}, (_, i) => i*2))"
}'

# Ruby example
skydeckai-code-cli --tool execute_code --args '{
    "language": "ruby",
    "code": "puts (1..5).reduce(:+)"
}'

# Go example
skydeckai-code-cli --tool execute_code --args '{
    "language": "go",
    "code": "fmt.Println(\"Hello, Go!\")"
}'

Требования:

  • Должны быть установлены соответствующие языковые среды выполнения.

  • Команды должны быть доступны в системной переменной PATH

  • Правильные разрешения для создания временных файлов

⚠️ Предупреждение о безопасности: этот инструмент выполняет произвольный код в вашей системе. Всегда:

  1. Тщательно проверьте код перед выполнением

  2. Понять цель кода и ожидаемый результат

  3. Никогда не выполняйте ненадежный код

  4. Помните о возможных системных воздействиях

  5. Мониторинг результатов выполнения

выполнить_скрипт_оболочки

Выполняет скрипты оболочки (bash/sh) с мерами безопасности и ограничениями.

{
    "script": "echo \"Current directory:\" && pwd",
    "timeout": 300
}

Параметры:

Параметр

Тип

Необходимый

Описание

сценарий

нить

Да

Скрипт оболочки для выполнения

тайм-аут

целое число

Нет

Максимальное время выполнения (по умолчанию: 300 с, макс: 600 с)

Использование интерфейса командной строки:

# List directory contents with details
skydeckai-code-cli --tool execute_shell_script --args '{
    "script": "ls -la"
}'

# Find all Python files recursively
skydeckai-code-cli --tool execute_shell_script --args '{
    "script": "find . -name \"*.py\" -type f"
}'

# Complex script with multiple commands
skydeckai-code-cli --tool execute_shell_script --args '{
    "script": "echo \"System Info:\" && uname -a && echo \"\nDisk Usage:\" && df -h"
}'

Функции:

  • Использует /bin/sh для максимальной совместимости между системами

  • Выполняется в разрешенном каталоге

  • Раздельный вывод stdout и stderr

  • Правильная обработка ошибок и контроль времени ожидания

⚠️ Предупреждение о безопасности: этот инструмент выполняет произвольные команды оболочки в вашей системе. Всегда:

  1. Тщательно просмотрите сценарий перед выполнением.

  2. Понять цель сценария и ожидаемый результат

  3. Никогда не выполняйте ненадежные скрипты

  4. Помните о возможных системных воздействиях

  5. Мониторинг результатов выполнения

Конфигурация

Файл конфигурации: ~/.skydeckai_code/config.json

{
    "allowed_directory": "/path/to/workspace"
}

Использование CLI

Базовая структура команды:

skydeckai-code-cli --tool <tool_name> --args '<json_arguments>'

# List available tools
skydeckai-code-cli --list-tools

# Enable debug output
skydeckai-code-cli --debug --tool <tool_name> --args '<json_arguments>'

Отладка

Используйте MCP Inspector для отладки:

npx @modelcontextprotocol/inspector run

Безопасность

  • Операции ограничены настроенным разрешенным каталогом

  • Предотвращение обхода пути

  • Сохранение разрешений на файлы

  • Безопасное обращение с эксплуатацией

Предстоящие функции

  • Инструменты GitHub:

    • Генератор PR-описания

    • Обзор кода

    • Менеджер действий

  • Инструменты Pivotal Tracker:

    • Генератор историй

    • Менеджер историй

Статус разработки

В настоящее время находится в активной разработке. Возможности и API могут измениться.

Лицензия

Лицензия Apache 2.0 - см. ЛИЦЕНЗИЯ

Звездная история диаграммы

Related MCP Connectors

Related MCP Servers