Работа с MCP-сервером SourceCraft

С помощью SourceCraft MCP AI-агенты могут работать с сущностями SourceCraft. Например, искать и выполнять задачи, создавать предложения изменений и управлять другими ресурсами платформы.

В этой инструкции с помощью Code Assistant и SourceCraft MCP мы найдем задачу в репозитории, внесем все необходимые изменения, отправим их в репозиторий и закроем задачу.

В примере разобрана работа с MCP-сервером через плагин Code Assistant, но вы можете использовать любого другого агента, поддерживающего работу с MCP.

Примечание

Список MCP-серверов Yandex Cloud и SourceCraft, а также рекомендуемые MCP-серверы можно посмотреть в разделе MCP-серверы SourceCraft и Yandex Cloud.

Подготовьте окружение

Для выполнения предложенного сценария понадобятся следующие инструменты:

Проверьте подключение MCP

Если репозиторий размещен в SourceCraft, плагин Code Assistant автоматически подключает SourceCraft MCP. PAT не требуется.

  1. В VS Code на панели слева нажмите на значок плагина .
  2. На открывшейся панели выберите Settings.
  3. Перейдите в раздел Серверы MCP.
  4. Убедитесь, что сервер SourceCraft включен.

Подготовьте репозиторий

  1. Создайте пустой репозиторий, например mcp-test.

  2. Добавьте в созданный репозиторий файл hello.py со следующим содержимым:

    print("Hello, World")
    
  3. Создайте задачу «Добавить русификацию» со следующим описанием:

    В файл hello.py добавить альтернативный вариант на русском языке. Нужный язык должен выбирать пользователь при запуске.
    

Отправьте запросы в чат

Для примера использовался публичный репозиторий mcp-test в организации orgname. Используйте свои названия для запросов к Code Assistant.

Результаты выполнения запросов могут отличаться в зависимости от модели и выбранного режима поведения.

  1. В VS Code на панели слева нажмите на значок плагина .

  2. В открывшемся чате попросите Code Assistant вывести список задач:

    Покажи список issues в репозитории mcp-test в организации orgname.
    

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

  3. С помощью Code Assistant клонируйте репозиторий:

    Теперь клонируй репозиторий.
    

    Ассистент получит ссылку для клонирования с помощью инструмента GetRepository, а затем воспользуется командой git clone.

  4. Попросите Code Assistant выполнить задачу в новой ветке репозитория:

    Создай новую ветку в репозитории и выполни в ней упомянутую задачу по добавлению русификации.
    

    Ассистент отредактирует файл hello.py и добавит коммит с изменениями с помощью git.

  5. Если на предыдущем шаге Code Assistant не протестировал отредактированный код, попросите его об этом:

    Протестируй код.
    

    Ассистент выполнит тест обновленного кода и выведет результаты тестирования.

  6. Создайте с помощью ассистента новое предложение изменений в репозитории:

    Создай из ветки новое предложение изменений в репозитории и привяжи его к упомянутому ранее issue.
    

    Ассистент получит информацию о задаче в репозитории с помощью инструментов GetRepository и GetIssue, через git отправит изменения в удаленный репозиторий, создаст предложение изменений с помощью CreatePullRequest и привяжет к нему исходную задачу через AddLinkedPRs.

  7. В интерфейсе SourceCraft найдите созданное предложение изменений, проверьте его и выполните слияние с основной веткой.

  8. Попросите Code Assistant написать комментарий и закрыть задачу:

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

    Ассистент откроет задачу с помощью инструмента GetIssue, а затем внесет в нее изменения инструментами CreateIssueComment и UpdateIssue.

    Чтобы проверить работу Code Assistant, откройте репозиторий в браузере и убедитесь, что изменения внесены и задача закрыта.

Совет

В примере описаны пошаговые команды для Code Assistant при работе с MCP SourceCraft для более гранулярного контроля над действиями агента.

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

Полезные ссылки

Предыдущая