Код SkyDeckAI
Сервер MCP, предоставляющий полный набор инструментов для рабочих процессов разработки на основе ИИ. Возможности включают операции с файловой системой, анализ кода с использованием tree-sitter для нескольких языков программирования, выполнение кода, извлечение веб-контента с преобразованием HTML в markdown, многодвижковый веб-поиск, поиск содержимого кода и извлечение системной информации. Разработан для расширения возможностей ИИ по оказанию помощи в задачах разработки программного обеспечения путем предоставления прямого доступа как к локальным, так и к удаленным ресурсам.
Ранее известный как MCP-Server-AIDD
Этот mcp-сервер ранее был известен как mcp-server-aidd
. Он был переименован в skydeckai-code
в честь команды SkyDeck.ai , создавшей это приложение вместе с East Agile . Но что еще важнее, мы поняли, что термин AI Driven Development (AIDD) просто не прижился. Люди не понимали с первого взгляда, о чем идет речь. И LLM тоже. «Код» был гораздо более интуитивным. А лингвистическая интуиция важна в мире агентного ИИ.
Установка
Настройка рабочего стола Клода
Добавьте в ваш claude_desktop_config.json
:
Приложение-помощник SkyDeck AI
Если вы используете приложение SkyDeck AI Helper, вы можете найти «SkyDeckAI Code» и установить его.
Основные характеристики
- Операции с файловой системой (чтение, запись, редактирование, перемещение, копирование, удаление)
- Управление каталогами и обход
- Анализ многоязыкового кода с использованием 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 | Документируйте обоснование без внесения изменений |
Подробная документация по инструменту
Базовые операции с файлами
Инструмент | Параметры | Возвраты |
---|---|---|
прочитанный_файл | файлы: [{путь: строка, смещение?: целое число, предел?: целое число}] | Содержимое файла (один или несколько файлов) |
запись_файла | путь: строка, содержимое: строка | Подтверждение успеха |
переместить_файл | источник: строка, назначение: строка | Подтверждение успеха |
копировать_файл | источник: строка, назначение: строка, рекурсивный?: логическое значение | Подтверждение успеха |
удалить_файл | путь: строка | Подтверждение успеха |
получить_информацию_файла | путь: строка | Метаданные файла (размер, временные метки, разрешения) |
Использование интерфейса командной строки:
Сложные файловые операции
редактировать_файл
Редактирование файлов на основе шаблонов с поддержкой предварительного просмотра:
Возвращает: разницу изменений или предварительный просмотр в режиме пробного прогона.
Операции со справочниками
Инструмент | Параметры | Возвраты |
---|---|---|
получить_разрешенный_каталог | никто | Текущий разрешенный путь к каталогу |
обновление_разрешенного_каталога | каталог: строка (абсолютный путь) | Подтверждение успеха |
список_каталогов | путь: строка | Список содержимого каталога |
создать_каталог | путь: строка | Подтверждение успеха |
поиск_файлов | шаблон: строка, путь?: строка, include_hidden?: логическое значение | Список соответствующих файлов |
Инструмент search_files
ищет файлы по шаблону имен��, а инструмент search_code
ищет в содержимом файла, используя regex. Используйте search_files
для поиска файлов с определенными именами или расширениями и search_code
для поиска определенных текстовых шаблонов внутри файлов.
дерево_каталогов
Генерирует полную структуру каталогов:
Возвращает: древовидную структуру JSON содержимого каталога.
Использование интерфейса командной строки:
Анализ кода
codebase_mapper
Анализирует структуру исходного кода:
Возврат:
- Классы и их методы
- Функции и параметры
- Структура модуля
- Статистика организации кода
- Наследственные отношения
Поддерживаемые языки:
- Питон (.py)
- JavaScript (.js/.jsx, .mjs, .cjs)
- TypeScript (.ts/.tsx)
- Ява (.java)
- C++ (.cpp, .hpp, .cc)
- Рубин (.rb, .rake)
- Перейти (.перейти)
- Ржавчина (.rs)
- PHP (.php)
- C# (.cs)
- Котлин (.kt, .kts)
Использование интерфейса командной строки:
поисковый_код
Инструмент быстрого поиска контента с использованием регулярных выражений:
Параметры:
Параметр | Тип | Необходимый | Описание |
---|---|---|---|
узоры | массив строк | Да | Список шаблонов регулярных выражений для поиска в содержимом файла |
включать | нить | Нет | Шаблон файла для включения (глобальный синтаксис, по умолчанию: "*") |
исключать | нить | Нет | Шаблон файла для исключения (синтаксис glob, по умолчанию: "") |
макс_результаты | целое число | Нет | Максимальное количество результатов для возврата по шаблону (по умолчанию: 100) |
с учетом регистра | булев | Нет | Учитывается ли регистр при поиске (по умолчанию: false) |
путь | нить | Нет | Базовый каталог для поиска (по умолчанию: "."). |
Возвращает: совпадающие строки, сгруппированные по файлам с номерами строк, отсортированные по времени изменения файла, начиная с самых новых файлов.
Этот инструмент использует ripgrep, когда он доступен для оптимальной производительности, с резервной реализацией Python. Он идеально подходит для поиска определенных шаблонов кода, таких как объявления функций, импорты, использование переменных или обработка ошибок.
Использование интерфейса командной строки:
Системная информация
Инструмент | Параметры | Возвраты |
---|---|---|
получить_системную_информацию | никто | Подробная информация о системе |
Возврат:
Предоставляет важную системную информацию в понятном, удобном для чтения формате.
Использование интерфейса командной строки:
Контекст экрана и инструменты изображения
получить_активные_приложения
Возвращает список активных в данный момент приложений в системе пользователя.
Параметры:
Параметр | Тип | Необходимый | Описание |
---|---|---|---|
с_подробностями | булев | Нет | Включать ли дополнительные сведения о каждой заявке (по умолчанию: false) |
Возврат:
Этот инструмент предоставляет ценную информацию о приложениях, которые в данный момент работают в системе пользователя, что может помочь в предоставлении более актуальной помощи.
получить_доступные_окна
Возвращает подробную информацию обо всех доступных окнах, отображаемых в данный момент на экране пользователя.
Возврат:
Этот инструмент помогает понять, что отображается на экране пользователя, и может использоваться для оказания контекстно-зависимой помощи.
снимок_скриншота
Делает снимок экрана экрана пользователя или определенного окна.
Параметры:
Параметр | Тип | Необходимый | Описание |
---|---|---|---|
выходной_путь | нить | Нет | Путь, по которому следует сохранить снимок экрана (по умолчанию: сгенерированный путь) |
режим_захвата | объект | Нет | Указывает, что нужно захватить |
режим_захвата.тип | нить | Нет | Тип снимка экрана: «полный», «активное_окно» или «именованное_окно» (по умолчанию: «полный») |
режим_захвата.имя_окна | нить | Нет | Имя окна для захвата (обязательно, если тип — «named_window») |
Возврат:
Этот инструмент делает снимки экрана для визуализации, отладки или контекстно-зависимой помощи.
прочитать_файл_изображения
Считывает файл изображения из файловой системы и возвращает его содержимое в виде строки в кодировке base64.
Параметры:
Параметр | Тип | Необходимый | Описание |
---|---|---|---|
путь | нить | Да | Путь к файлу изображения для чтения |
максимальный_размер | целое число | Нет | Максимальный размер файла в байтах (по умолчанию: 100 МБ) |
Возвращает: данные изображения в кодировке Base64, которые можно отобразить или обработать.
Этот инструмент поддерживает такие распространенные форматы изображений, как PNG, JPEG, GIF и WebP, а также автоматически изменяет размер изображений для оптимального просмотра.
Веб-инструменты
веб-забор
Извлекает контент из URL-адреса и при необходимости сохраняет его в файл.
Параметры:
Параметр | Тип | Необходимый | Описание |
---|---|---|---|
URL-адрес | нить | Да | URL для загрузки контента (только http/https) |
заголовки | объект | Нет | Необязательные заголовки HTTP для включения в запрос |
тайм-аут | целое число | Нет | Максимальное время ожидания ответа (по умолчанию: 10 с) |
сохранить_в_файл | нить | Нет | Путь для сохранения содержимого ответа (в пределах разрешенного каталога) |
конвертировать_html_в_markdown | булев | Нет | Если установлено значение true, HTML-контент преобразуется в разметку для лучшей читабельности (по умолчанию: true) |
Возвращает: Содержимое ответа в виде текста с кодом статуса HTTP и информацией о размере. Для двоичного содержимого возвращает метаданные и сохраняет в файл, если запрошено. Когда включен convert_html_to_markdown, содержимое HTML автоматически преобразуется в формат markdown для лучшей читаемости.
Этот инструмент можно использовать для доступа к веб-API, получения документации или загрузки контента из Интернета с учетом ограничений по размеру (максимум 10 МБ) и ограничений безопасности.
Использование интерфейса командной строки:
веб-поиск
Выполняет надежный веб-поиск с использованием нескольких поисковых систем и возвращает краткие, релевантные результаты.
Параметры:
Параметр | Тип | Необходимый | Описание |
---|---|---|---|
запрос | нить | Да | Поисковый запрос для обработки. Будьте конкретны для лучших результатов. |
num_results | целое число | Нет | Максимальное количество возвращаемых результатов поиска (по умолчанию: 10, максимум: 20) |
конвертировать_html_в_markdown | булев | Нет | Если true, содержимое будет преобразовано из HTML в markdown для лучшей читабельности (по умолчанию: true) |
поисковая_система | нить | Нет | Указывает, какую поисковую систему использовать: «auto» (по умолчанию), «bing» или «duckduckgo» |
Возвращает: Список результатов поиска, отформатированных в markdown, включая заголовки, URL-адреса и фрагменты для каждого результата. Результаты дедуплицируются и организуются иерархически для удобства чтения.
Этот инструмент использует многомоторный подход, который пробует разные поисковые системы с различными стратегиями анализа для обеспечения надежных результатов. Вы можете указать предпочтительную систему, но некоторые системы могут блокировать автоматизированный доступ, в этом случае инструмент будет переключаться на альтернативные системы при выборе «авто».
Использование интерфейса командной строки:
Вспомогательные инструменты
пакетные_инструменты
По возможности выполняйте несколько вызовов инструментов в одном запросе с параллельным выполнением.
Параметры:
Параметр | Тип | Необходимый | Описание |
---|---|---|---|
описание | нить | Да | Краткое описание пакетной операции |
последовательный | булев | Нет | Следует ли запускать инструменты последовательно (по умолчанию: false) |
призывания | множество | Да | Список вызовов инструментов для выполнения |
вызовы[].tool | нить | Да | Название инструмента для вызова |
вызовы[].аргументы | объект | Да | Аргументы в пользу указанного инструмента |
Возвращает: Объединенные результаты всех вызовов инструмента, сгруппированные по инструменту со статусом успеха/ошибки для каждого. Результаты представлены в исходном порядке вызовов с понятными заголовками разделов.
Этот инструмент обеспечивает эффективное выполнение нескольких операций в одном запросе. Когда sequential
имеет значение false (по умолчанию), инструменты выполняются параллельно для лучшей производительности. Когда sequential
имеет значение true, инструменты выполняются по порядку, и если какой-либо инструмент выходит из строя, выполнение останавливается.
ВАЖНО : Все инструменты в пакете выполняются в одном и том же контексте рабочего каталога. Если инструмент создает каталог, а последующий инструмент должен работать внутри этого каталога, вы должны либо:
- Используйте пути относительно текущего рабочего каталога (например, «project/src», а не просто «src»), или
- Включить явный вызов инструмента для смены каталогов с помощью
update_allowed_directory
Использование интерфейса командной строки:
думать
Инструмент для сложных рассуждений и мозгового штурма без внесения изменений в репозиторий.
Параметры:
Параметр | Тип | Необходимый | Описание |
---|---|---|---|
мысль | нить | Да | Ваши подробные мысли, анализ или процесс рассуждения |
Возвращает: Ваши мысли, отформатированные в формате Markdown, с примечанием о том, что это было упражнение на мышление.
Этот инструмент полезен для обдумывания сложных проблем, мозгового штурма решений или разработки планов внедрения без внесения каких-либо фактических изменений. Это отличный способ документировать процесс рассуждений, оценивать различные подходы или планировать многошаговую стратегию перед тем, как приступить к действиям.
Использование интерфейса командной строки:
Выполнение кода
выполнить_код
Выполняет код на различных языках программирования с учетом мер безопасности и ограничений.
Поддерживаемые языки:
- Питон (python3)
- JavaScript (Node.js)
- Рубин
- PHP
- Идти
- Ржавчина
Параметры:
Параметр | Тип | Необходимый | Описание |
---|---|---|---|
язык | нить | Да | Используемый язык программирования |
код | нить | Да | Код для выполнения |
тайм-аут | целое число | Нет | Максимальное время выполнения (по умолчанию: 5 с) |
Использование интерфейса командной строки:
Требования:
- Должны быть установлены соответствующие языковые среды выполнения.
- Команды должны быть доступны в системной переменной PATH
- Правильные разрешения для создания временных файлов
⚠️ Предупреждение о безопасности: этот инструмент выполняет произвольный код в вашей системе. Всегда:
- Тщательно проверьте код перед выполнением
- Понять цель кода и ожидаемый результат
- Никогда не выполняйте ненадежный код
- Помните о возможных системных воздействиях
- Мониторинг результатов выполнения
выполнить_скрипт_оболочки
Выполняет скрипты оболочки (bash/sh) с мерами безопасности и ограничениями.
Параметры:
Параметр | Тип | Необходимый | Описание |
---|---|---|---|
сценарий | нить | Да | Скрипт оболочки для выполнения |
тайм-аут | целое число | Нет | Максимальное время выполнения (по умолчанию: 300 с, макс: 600 с) |
Использование интерфейса командной строки:
Функции:
- Использует /bin/sh для максимальной совместимости между системами
- Выполняется в разрешенном каталоге
- Раздельный вывод stdout и stderr
- Правильная обработка ошибок и контроль времени ожидания
⚠️ Предупреждение о безопасности: этот инструмент выполняет произвольные команды оболочки в вашей системе. Всегда:
- Тщательно просмотрите сценарий перед выполнением.
- Понять цель сценария и ожидаемый результат
- Никогда не выполняйте ненадежные скрипты
- Помните о возможных системных воздействиях
- Мониторинг результатов выполнения
Конфигурация
Файл конфигурации: ~/.skydeckai_code/config.json
Использование CLI
Базовая структура команды:
Отладка
Используйте MCP Inspector для отладки:
Безопасность
- Операции ограничены настроенным разрешенным каталогом
- Предотвращение обхода пути
- Сохранение разрешений на файлы
- Безопасное обращение с эксплуатацией
Предстоящие функции
- Инструменты GitHub:
- Генератор PR-описания
- Обзор кода
- Менеджер действий
- Инструменты Pivotal Tracker:
- Генератор историй
- Менеджер историй
Статус разработки
В настоящее время находится в активной разработке. Возможности и API могут измениться.
Лицензия
Лицензия Apache 2.0 - см. ЛИЦЕНЗИЯ
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Tools
Сервер AiDD MCP предоставляет защищенный интерфейс для агентов ИИ для выполнения операций с файловой системой и анализа кода, улучшая рабочие процессы разработки с использованием ИИ на нескольких языках программирования.
Related Resources
Related MCP Servers
- -securityAlicense-qualityAn MCP server that implements Claude Code-like functionality, allowing the AI to analyze codebases, modify files, execute commands, and manage projects through direct file system interactions.Last updated -179PythonMIT License
- AsecurityFlicenseAqualityAn MCP server that supercharges AI assistants with powerful tools for software development, enabling research, planning, code generation, and project scaffolding through natural language interaction.Last updated -1140TypeScript
- -securityAlicense-qualityAn MCP server that enables AI applications to interact with DiceDB databases.Last updated -4GoMIT License
- AsecurityAlicenseAqualityA MCP server that enables human-in-the-loop workflow in AI-assisted development tools by allowing users to run commands, view their output, and provide textual feedback directly to the AI assistant.Last updated -1453PythonMIT License