Skip to main content

Улучшение режима агента GitHub Copilot с помощью MCP

Узнайте, как использовать протокол контекста модели (MCP) для расширения возможностей агента Копилот Чат.

Примечание.

Серверы MCP в политике Copilot для предприятий и организаций, отключенных по умолчанию, управляют использованием MCP.

Сведения о Copilot агентических возможностей %}и MCP

Copilot агентические возможности %}относятся к способности работать независимо , выполняя многофакторные рабочие процессы без постоянного руководства, принимать решения , выбирая соответствующие инструменты и подходы на основе контекста, а также итерацию и адаптацию путем корректировки подхода в соответствии с отзывами и результатами. К этим возможностям можно access, используя режим агента.

В сочетании с серверами протокола Model Context Protocol (MCP) режим агента становится значительно мощнее, предоставляя Copilot access внешним ресурсам без переключения контекста. Это позволяет Copilot выполнять агентические "циклы", где он может динамически адаптировать свой подход путем автономного поиска релевантной информации, анализа отзывов и принятия обоснованных решений. С помощью MCP Copilot может выполнить задачу с минимальным вмешательством человека, постоянно корректируя свою стратегию на основе того, что он обнаруживает.

Преимущества объединения MCP с режимом агента

При использовании серверов MCP с режимом агента вы разблокируете несколько ключевых преимуществ:

  •         **Расширенный контекст**: MCP-серверы предоставляют Copilotданных } с access к внешним источникам данных, API и инструментам.
    
  •         **Сокращение усилий** вручную: Copilot может выполнять такие задачи, как создание проблем и выполнение рабочих процессов при фокусе на более важных задачах.
    
  •         **Простая интеграция**: Copilot может работать над задачей с несколькими инструментами и платформами без переключения контекстов или необходимости пользовательских интеграции.
    

Рекомендации по использованию MCP с режимом агента

Следуйте этим рекомендациям, чтобы получить большую часть объединения серверов MCP с режимом агента.

Подсказки стратегий

  •         **Укажите конкретные цели**: четко определите, что вы хотите выполнить в запросе и какие выходные данные вы хотите.
    
  •         **Предоставить контекст**: Включить релевантную справочную информацию о вашем project и требованиях, включая ссылки на внешние ресурсы, которые Copilot могут access.
    
  •         **Задайте границы**: укажите все ограничения или ограничения для задачи. Например, если вы хотите, чтобы Copilot планировали только новую функцию, а не вносите никаких изменений, укажите это. Вы также можете ограничить, какие средства MCP включены.
    
  •         **Подтверждение** запроса: попросите Copilot подтвердить свое понимание, прежде чем продолжить значительные изменения.
    
  •         **Используйте файлы запроса или пользовательские инструкции: вы можете создавать файлы запросов или пользовательские файлы инструкций**, чтобы помочь Copilot о том, как вести себя для разных серверов MCP. См. [AUTOTITLE](/copilot/concepts/about-customizing-github-copilot-chat-responses).
    

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

  •         **Выберите соответствующие серверы: выберите и включите серверы** MCP, соответствующие конкретным потребностям рабочего процесса.
    
  •         **
            **Начните с нескольких хорошо установленных серверов MCP, прежде чем добавлять более сложные интеграции.
    
  •         **Проверка подключения**. Убедитесь, что все серверы MCP правильно настроены и доступны перед запуском задач режима агента.
    

Вопросы безопасности

  •         **Используйте OAuth при наличии**: для серверов MCP, таких как GitHub MCP, предпочитайте проверку подлинности OAuth по сравнению с personal access tokens. См. [AUTOTITLE](/copilot/customizing-copilot/using-model-context-protocol/using-the-github-mcp-server#remote-mcp-server-configuration-with-oauth).
    
  •         **Ограничение разрешений. Предоставьте только серверы** MCP минимальным разрешениям, необходимым для выполнения задач.
    
  •         **Review connections**: Регулярно проверяйте аудит, какие MCP-серверы имеют access в вашей среде разработки.
    
  •         **Мониторинг действий**. Следите за действиями , которые Copilot выполняются с помощью серверов MCP.
    
  •         **Предотвращение утечек секретов**: Push защита блокирует включение секретов в ответы, сгенерированные ИИ, и предотвращает раскрытие секретов через любые действия, которые вы выполняете с помощью сервера GitHub. Сейчас это доступно только для общедоступных репозиториев. См [. раздел AUTOTITLE](/code-security/secret-scanning/introduction/about-push-protection).
    

Пример сценария. Реализация соответствия специальным возможностям

Примечание.

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

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

  • Список спецификаций, определенных командой разработчиков.
  • Проблемы, созданные в репозитории вашего project после аудита доступности.

Для эффективной реализации улучшений специальных возможностей можно использовать режим агента Copilot для использования нескольких серверов MCP.

В приведенном ниже сценарии показано, как использовать отдельные запросы для различных этапов (исследования, планирования, реализации и проверки), что приводит к тому, что несколько агентических циклов свободно соответствуют этапам жизненного цикла разработки программного обеспечения. Этот подход создает естественные контрольные точки, где можно просматривать ход выполнения, предоставлять отзывы и настраивать требования до Copilot продолжается на следующем этапе.

  •         [Необходимые условия](#prerequisites)
    
  •         [Настройка серверов MCP](#setting-up-mcp-servers)
    
  •         [Шаг 1: Исследовательский loop — Анализ требований к доступности](#step-1-research-loop---analyzing-accessibility-requirements)
    
  •         [Шаг 2: Планирование loop — стратегия реализации доступности](#step-2-planning-loop---accessibility-implementation-strategy)
    
  •         [Шаг 3: Внедрение loop — улучшение доступности](#step-3-implementation-loop---making-accessibility-improvements)
    
  •         [Шаг 4: Тестирование loop — проверка доступности с помощью Playwright](#step-4-testing-loop---accessibility-verification-with-playwright)
    
  •         [Step 5: Обновление GitHub проблем](#step-5-updating-github-issues)
    
  •         [Дополнительные материалы](#further-reading)
    

Необходимые компоненты

Прежде чем использовать режим агента с MCP, убедитесь, что вы:

  • Интегрированная среда разработки с поддержкой интеграции Copilot и поддержкой MCP (например, Visual Studio Code)
  • Режим агента включен
  • Access к необходимым MCP-серверам, которые вы хотите использовать

Настройка серверов MCP

Во-первых, необходимо настроить серверы MCP, ожидаемые Copilot. В этом примере мы будем использовать следующее:

  •         **GitHub MCP server**: Настройте MCP-сервер GitHub, чтобы включить Copilot для access вашего репозитория, анализа кодовой базы, изучения существующих проблем, создания веток и управления pull-запросами. См. [AUTOTITLE](/copilot/customizing-copilot/using-model-context-protocol/using-the-github-mcp-server).
    
  •         **Figma MCP сервер**: Настройте MCP-сервер Figma так, чтобы Copilot access файлы дизайна, содержащие спецификации доступности, такие как требования к цветовому контрасту, состояния фокуса и паттерны взаимодействия. Посмотрите [Figma-Context-MCP](https://github.com/GLips/Figma-Context-MCP) или попробуйте [Dev Mode MCP сервер](https://help.figma.com/hc/en-us/articles/32132100833559-Guide-to-the-Dev-Mode-MCP-Server).
    
  •         **Сервер Playwright MCP: настройте сервер Playwright MCP**, чтобы включить Copilot для записи и запуска автоматических тестов специальных возможностей, включая совместимость средства чтения с экрана и тесты навигации клавиатуры. См. [mcp-playwright](https://github.com/executeautomation/mcp-playwright).
    

Шаг 1: Research loop — анализ требований к доступности

Запросить Copilot для анализа как требований к доступности, так и существующих вопросов, связанных с доступностью GitHub в project.

В запросе добавьте ссылку на файл Figma. Чтобы Copilot успешно считывал и анализировать спецификации конструктора, выберите определенный узел или слой в файле, чтобы идентификатор узла был включен в URL-адрес.

Пример запроса 1

Copilot prompt
I need to make our customer portal WCAG 2.1 AA compliant. Use the Figma MCP to analyze our design specifications at https://figma.com/design/DESIGN-FILE-FOR-ACCESSIBILITY-SPECS?node-id=NODE_ID for accessibility requirements. Also use the GitHub MCP to find open GitHub issues with the labels accessibility or WCAG in the customer-portal repository. Then sort them into categories and list each issue that falls under the category with the issue title and number.

Пример ответа 1

Copilot должен первым ответить, запросив запуск инструментов с серверов Figma и GitHub MCP. После разрешения Copilot будет анализировать спецификации дизайна Figma и искать и организовывать GitHub задачи по категориям.

Например, Copilot может определить контрастность цвета как категорию на основе поиска нескольких проблем.

  • Проблемы с контрастностью цвета
    • Проблема #134: коэффициент контрастности текста панели мониторинга ниже 4.5:1
    • Проблема #156. Состояния ошибок формы не соответствуют требованиям к контрастности

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

Шаг 2: Planning loop — стратегия реализации доступности

Затем попросите Copilot создать подробный план реализации.

Пример запроса 2

Copilot prompt
Based on your accessibility analysis of our Figma designs and GitHub issues, create a focused implementation plan for an immediate pull request addressing the highest priority accessibility issues. Don't make any changes yet. Also suggest follow-up issues we should create for the remaining Figma specifications.

Пример ответа 2

Copilot будет реагировать, создавая приоритетный план реализации, ориентированный на проблемы с высокой доступностью для немедленного запроса на вытягивание, предлагая дальнейшие проблемы для оставшейся работы.

Например, Copilot может определить, что необходимо сделать для устранения проблем в категории контрастности цвета.

          **1. Исправления контрастности цвета:**
  • Обновите переменные цвета текста в переменных.scss, чтобы обеспечить соотношение контрастности 4.5:1 для всего обычного текста
  • Изменение цветов компонентов пользовательского интерфейса в DashboardCard.vue и других основных компонентах в соответствии с коэффициентом контрастности 3:1
  • Приоритет устранения проблемы #134 (контрастность текста панели мониторинга) и проблема 156 (состояния ошибок формы)

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

Шаг 3: Implementation loop — улучшение доступности

После просмотра плана предложите Copilot начать реализацию исправлений специальных возможностей.

Пример запроса 3

Copilot prompt
Create a new branch and implement the critical accessibility fixes according to your proposed implementation plan. Focus on the top three categories that you identified as highest priority. Create a pull request with proper references to the issues being fixed.

Пример ответа 3

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

Например, Copilot может создать новую ветвь, вызванную fix/critical-accessibility-issues и внести изменения в решение проблем с контрастностью цвета.

  • Исправлены проблемы с контрастностью текста панели мониторинга (проблема 134):
    • Обновлены переменные src/styles/variables.scss цвета текста из #767676 до #595959
    • Изменен темный текст на светло-серых фонах, DashboardCard.vue чтобы обеспечить соотношение 4.5:1

Я открыл запрос на вытягивание #213 с этими изменениями.

Шаг 4: Testing loop — проверка доступности с Playwright

Вы можете предложить Copilot создать и запустить тесты специальных возможностей с помощью playwright MCP.

Пример запроса 4

Copilot prompt
Create focused accessibility tests for the components we've updated in the pull request. Use the Playwright MCP.

Пример ответа 4

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

Например, Copilot может создать тестовый файл вокруг контрастности текста.

          **Реализация теста:**
  • Создан целевой тестовый файл в tests/accessibility/: * contrast.spec.ts — проверяет коэффициенты контрастности текста

После создания тестов Copilot запросит разрешение на использование различных средств из Playwright MCP для выполнения тестов. Обратите внимание, что иногда Copilot может выполнить дополнительное тестирование, которое вы не обязательно попросили; Вы можете попытаться предотвратить это, изменив запрос на более строгий.

Шаг 5: Обновление проблем GitHub

Наконец, запросите Copilot для обновления проблем GitHub, которые были решены в pull request, и создайте последующие проблемы.

Пример запроса 5

Copilot prompt
Update the GitHub issues we've fixed in the pull request with comments summarizing the changes. Create the follow-up issues you suggested for the remaining accessibility work.

Пример ответа 5

Copilot ответит, запросив разрешение на использование необходимых инструментов с MCP-сервера GitHub. Затем он обновит проблемы GitHub с подробными комментариями и создаст структурированные последующие вопросы для оставшейся работы.

Например, Copilot добавит примечания к проблемам контрастности цвета, которые изначально определены на этапе исследования.

          **Обновлены проблемы с комментариями:**
  • Проблема #134: "Соотношение контрастности текста панели мониторинга ниже 4.5:1"
    • Комментарий: "Исправлено в PR #213 путем обновления переменных цвета текста в переменных.scss и компонент DashboardCard. Все текст панели мониторинга теперь соответствует коэффициенту контрастности 4.5:1, проверенного автоматическими тестами".

Теперь вы можете просмотреть запрос на вытягивание и внести любые изменения. Убедившись, что изменения действительны, можно объединить как с любым другим запросом на вытягивание.

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

Попробуйте упражнение Интегрировать MCP с GitHub Copilot Skills для практического опыта интеграции MCP с GitHub Copilot.

Дополнительные материалы

  •         **Основы** MCP. Дополнительные сведения о настройке и настройке серверов MCP см. в разделе [AUTOTITLE](/copilot/customizing-copilot/using-model-context-protocol/extending-copilot-chat-with-mcp).
    
  •         **Использование серверов MCP**: Для дополнительных идей по интеграции MCP с GitHub Copilot см. [5 способы трансформации рабочего процесса с помощью GitHub Copilot и MCP](https://github.blog/ai-and-ml/github-copilot/5-ways-to-transform-your-workflow-using-github-copilot-and-mcp/) на the GitHub Blog.