Skip to main content

Configuración de servidores MCP para el repositorio

Configure los servidores del Protocolo de Contexto de Modelo (MCP) para su repositorio para dar a agente en la nube de Copilot y revisión de código Copilot acceso a herramientas externas y orígenes de datos.

Prerequisite

Antes de configurar servidores MCP para el repositorio, lea Acerca del Protocolo de contexto de modelo (MCP) y Protocolo de contexto de modelo (MCP) y agente en la nube de GitHub Copilot.

Introducción

Como administrador de repositorios, puedes configurar servidores MCP para su uso en el repositorio. Para esto, usa una configuración con formato JSON que especifique los detalles de los servidores MCP que quieres usar. Escriba la configuración JSON directamente en la configuración del repositorio en GitHub.com.

Esta configuración de MCP de nivel de repositorio la comparte agente en la nube de Copilot y revisión de código Copilot. Para obtener información sobre cómo deshabilitar el uso de servidores MCP mediante revisión de código Copilot, vea Deshabilitación de las herramientas de MCP para revisión de código Copilot.

Nota:

  • La compatibilidad con las habilidades del agente y los servidores MCP con revisión de código Copilot se encuentra en versión preliminar pública y está sujeta a cambios.
  • Las configuraciones de MCP existentes del repositorio, que antes se administraban en la configuración de agente en la nube de Copilot, se trasladaron automáticamente a la nueva página compartida de configuración de MCP. No se requiere ninguna acción de migración.

El GitHub servidor MCP y el servidor MCP de Playwright están habilitados de forma predeterminada. Puede agregar sus propios servidores MCP junto con estos valores predeterminados.

Los administradores de la organización y de la empresa también pueden configurar servidores MCP como parte de agentes personalizados usando la frontmatter de YAML. Para obtener más información, vea Configuración de agentes personalizados.

Advertencia

Una vez configurado un servidor MCP, Copilot podrá usar las herramientas proporcionadas por el servidor de forma autónoma y no solicitará su aprobación antes de usarlas.

Al configurar servidores MCP para su uso por agente en la nube de Copilot y revisión de código Copilot, tenga en cuenta lo siguiente:

  • agente en la nube de Copilot y revisión de código Copilot solo admiten herramientas de MCP. Actualmente no admiten recursos ni avisos proporcionados por el servidor MCP.
  • agente en la nube de Copilot y revisión de código Copilot actualmente no admiten servidores MCP remotos que aprovechen OAuth para la autenticación y autorización.

Adición de una configuración de MCP al repositorio

Los administradores del repositorio pueden configurar servidores MCP siguiendo estos pasos:

  1. En GitHub, navegue hasta la página principal del repositorio.

  2. Debajo del nombre del repositorio, haz clic en Settings. Si no puedes ver la pestaña "Configuración", selecciona el menú desplegable y, a continuación, haz clic en Configuración.

    Captura de pantalla de un encabezado de repositorio en el que se muestran las pestañas. La pestaña "Configuración" está resaltada con un contorno naranja oscuro.

  3. En la sección "Código y automatización" de la barra lateral, haga clic en Copilot****Servidores MCP.

  4. En la página "Protocolo de contexto del modelo (MCP)", agregue su configuración en la sección "Configuración de MCP".

    En las secciones siguientes de este artículo se explica cómo escribir la configuración JSON que debes escribir aquí.

  5. Haga clic en Guardar configuración de MCP.

    La configuración se validará para garantizar una sintaxis adecuada.

  6. Si el servidor MCP requiere una variable, una clave o un secreto, agregue un secreto o una variable de Agents cuyo nombre tenga el prefijo COPILOT_MCP_. Solo los secretos y variables de los agentes con nombres que tengan el prefijo COPILOT_MCP_ estarán disponibles para la configuración de MCP. Consulte Configurar secretos y variables para el agente de Copilot en la nube.

Escritura de una configuración JSON para servidores MCP

Los servidores MCP se configuran con un formato JSON especial. El JSON debe contener un objeto mcpServers, donde la clave es el nombre del servidor MCP (por ejemplo, sentry) y el valor es un objeto con la configuración de ese servidor MCP.

JSON
{
  "mcpServers": {
    "MCP SERVER 1": {
      "command": "VALUE",
      "args": [ VALUES ],
      ...
    },
    "MCP SERVER 2": {
      "command": "VALUE",
      "args": [ VALUES ],
      ...
    },
    ...
  }
}

El objeto de configuración puede contener las claves siguientes:

Claves necesarias para servidores MCP locales y remotos

  • tools (string[]): herramientas del servidor MCP que se va a habilitar. Puedes encontrar una lista de herramientas en la documentación del servidor o en su código. Se recomienda encarecidamente incluir en la lista de permitidos herramientas específicas de solo lectura, ya que el agente podrá usar estas herramientas de forma autónoma y no le pedirá primero la aprobación. También puedes habilitar todas las herramientas incluyendo * en la matriz.
  • type (string): agente en la nube de Copilot acepta "local", "stdio", "http"o "sse".

Claves específicas de MCP local

  • command (string): necesario. Comando que se va a ejecutar para iniciar el servidor MCP.
  • args (string[]): necesario. Argumentos que se pasan a command.
  • env (object): opcional. Variables de entorno que se van a pasar al servidor. Este objeto debe asignar el nombre de la variable de entorno que se debe exponer al servidor MCP a uno de los siguientes:
    • Referencia para la sustitución de un secreto o variable dentro de tu Copilot entorno, como $COPILOT_MCP_API_KEY o ${COPILOT_MCP_API_KEY}. Los nombres a los que se hace referencia deben comenzar por COPILOT_MCP_.
    • Un valor de cadena literal.

Claves específicas de MCP remoto

  • url (string): necesario. Dirección URL del servidor MCP.
  • headers (object): opcional. Encabezados que se van a adjuntar a las solicitudes al servidor. Este objeto debe asignar el nombre de las claves de encabezado a uno de los siguientes elementos:
    • Referencia para la sustitución de un secreto o variable dentro de tu Copilot entorno, como $COPILOT_MCP_API_KEY o ${COPILOT_MCP_API_KEY}. Los nombres a los que se hace referencia deben comenzar por COPILOT_MCP_.
    • Un valor de cadena literal.

Tenga en cuenta que todos los string y string[] campos, además de tools y type, admiten la sustitución con una variable o secreto que ha configurado en su Copilot entorno.

Sustitución de variables

Se admiten los siguientes patrones de sintaxis para hacer referencia a variables de entorno configuradas en el Copilot entorno:

SyntaxExample
$VAR$COPILOT_MCP_API_KEY
${VAR}${COPILOT_MCP_API_KEY}
${VAR:-default}${COPILOT_MCP_API_KEY:-fallback_value}

Configuraciones de ejemplo

En los ejemplos siguientes se muestran las configuraciones del servidor MCP para distintos proveedores.

Ejemplo: Sentry

El servidor MCP de Sentry proporciona Copilot acceso autenticado a las excepciones registradas en Sentry.

JavaScript
// If you copy and paste this example, you will need to remove the comments prefixed with `//`, which are not valid JSON.
{
  "mcpServers": {
    "sentry": {
      "type": "local",
      "command": "npx",
      // We can use the $SENTRY_HOST environment variable which is passed to
      // the server because of the `env` value below.
      "args": ["@sentry/mcp-server@latest", "--host=$SENTRY_HOST"],
      "env": {
        // We can specify an environment variable value as a string...
        "SENTRY_HOST": "https://contoso.sentry.io",
        // or refer to a variable or secret in your Copilot environment
        // with a name starting with `COPILOT_MCP_`
        "SENTRY_ACCESS_TOKEN": "$COPILOT_MCP_SENTRY_ACCESS_TOKEN"
      }
    }
  }
}

Ejemplo: Notion

El servidor MCP de Notion proporciona Copilot acceso autenticado a notas y a otro contenido de Notion.

JavaScript
// If you copy and paste this example, you will need to remove the comments prefixed with `//`, which are not valid JSON.
{
  "mcpServers": {
    "notionApi": {
      "type": "local",
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "-e",
        // We can use the $NOTION_API_KEY environment variable which is passed to
        // the server because of the `env` value below.
        "OPENAPI_MCP_HEADERS={\"Authorization\": \"Bearer $NOTION_API_KEY\", \"Notion-Version\": \"2022-06-28\"}",
       "mcp/notion"
      ],
      "env": {
        // The value of the `COPILOT_MCP_NOTION_API_KEY` secret will be passed to the
        // server command as an environment variable called `NOTION_API_KEY`
        "NOTION_API_KEY": "$COPILOT_MCP_NOTION_API_KEY"
      },
      "tools": ["*"]
    }
  }
}

Ejemplo: Azure

El Repositorio MCP de Microsoft incluye el servidor MCP de Azure, que permite Copilot comprender los archivos específicos de Azure y los recursos de Azure en tu suscripción al realizar cambios en el código.

Para configurar automáticamente su repositorio con un archivo copilot-setup-steps.yml para autenticarse con Azure, además de secretos para la autenticación, clone el repositorio localmente y ejecute el comando Azure Developer CLIazd cloud-agent config en la raíz del repositorio.

Una vez que haya ejecutado el comando y combinado la solicitud de incorporación de cambios creada, puede agregar la configuración de MCP al repositorio.

JSON
 {
   "mcpServers": {
     "Azure": {
      "type": "local",
      "command": "npx",
      "args": [
        "-y",
        "@azure/mcp@latest",
        "server",
        "start"
       ],
      "tools": ["*"]
     }
   }
 }

Ejemplo: Cloudflare

El servidor MCP de Cloudflare crea conexiones entre los servicios de Cloudflare, incluida la documentación de procesamiento y el análisis de datos.

JSON
{
  "mcpServers": {
    "cloudflare": {
      "type": "sse",
      "url": "https://docs.mcp.cloudflare.com/sse",
      "tools": ["*"]
    }
  }
}

Ejemplo: Azure DevOps

El servidor MCP de Azure DevOps crea una conexión sin problemas entre Copilot los servicios de Azure DevOps, incluidos los elementos de trabajo, las canalizaciones o la documentación.

Para usar el servidor MCP de Azure DevOps con agente en la nube de Copilot, debe actualizar el archivo copilot-setup-steps.yml del repositorio para incluir un paso de flujo de trabajo de inicio de sesión de Azure.

  1. Configura OIDC en una aplicación de Microsoft Entra, confiando en GitHub. Consulte Utilice la acción Inicio de sesión de Azure con OpenID Connect.

  2. Configure el acceso a la organización y los proyectos de Azure DevOps para la identidad de la aplicación. Consulta Agregar usuarios de la organización y administrar el acceso.

  3. Agrega un archivo de flujo de trabajo de Acciones .github/workflows/copilot-setup-steps.yml en el repositorio si aún no tienes uno.

  4. Agregue un paso de inicio de sesión de Azure a la tarea del flujo de trabajo de copilot-setup-steps.

    YAML
    # Este flujo de trabajo usa acciones que no GitHub no certifica.
    # Estas las proporcionan entidades terceras y las gobiernan
    # condiciones de servicio, políticas de privacidad y documentación de soporte
    # en línea.
    on:
      workflow_dispatch:
    permissions:
      id-token: write
      contents: read
    jobs:
      copilot-setup-steps:
        runs-on: ubuntu-latest
        permissions:
          id-token: write
          contents: read
        environment: copilot
        steps:
          - name: Azure login
            uses: azure/login@a457da9ea143d694b1b9c7c869ebb04ebe844ef5
            with:
              client-id: ${{ secrets.AZURE_CLIENT_ID }}
              tenant-id: ${{ secrets.AZURE_TENANT_ID }}
              allow-no-subscriptions: true
    

    Esta configuración garantiza que la azure/login acción se ejecute cuando agente en la nube de Copilot se ejecuta.

  5. Configura secretos para AZURE_CLIENT_ID y AZURE_TENANT_ID como secretos de agentes en el nivel de organización o de repositorio. Para obtener más información, vea Configurar secretos y variables para el agente de Copilot en la nube.

  6. Configure el servidor MCP de Azure DevOps añadiendo un objeto ado en la configuración de MCP con las herramientas que desea usar Copilot.

JSON
{
  "mcpServers": {
    "ado": {
      "type": "local",
      "command": "npx",
      "args": ["-y", "@azure-devops/mcp", "<your-azure-devops-organization>", "-a", "azcli"],
      "tools": ["wit_get_work_item", "wit_get_work_items_batch_by_ids", ...]
    }
  }
}

Ejemplo: Atlassian

El servidor atlassian MCP proporciona Copilot acceso autenticado a las aplicaciones de Atlassian, como Jira, Compass y Confluence.

Para obtener más información sobre la autenticación en el servidor MCP de Atlassian mediante una clave de API, consulte Configuración de la autenticación mediante token de API en la documentación de Atlassian.

JavaScript
// If you copy and paste this example, you will need to remove the comments prefixed with `//`, which are not valid JSON.
{
  "mcpServers": {
    "atlassian-rovo-mcp": {
      "command": "npx",
      "type": "local",
      "tools": ["*"],
      "args": [
        "mcp-remote@latest",
        "https://mcp.atlassian.com/v1/mcp",
        // We can use the $ATLASSIAN_API_KEY environment variable which is passed
        // to the server because of the `env` value below.
        "--header",
        "Authorization: Basic $ATLASSIAN_API_KEY"
      ],
      "env": {
        // The value of the `COPILOT_MCP_ATLASSIAN_API_KEY` secret will be passed
        // to the server command as an environment variable
        // called `ATLASSIAN_API_KEY`.
        "ATLASSIAN_API_KEY": "$COPILOT_MCP_ATLASSIAN_API_KEY"
      }
    }
  }
}

Reutilización de la configuración de MCP desde Visual Studio Code

Si ya ha configurado servidores MCP en VS Code, puede aprovechar una configuración similar para la configuración de MCP del repositorio en GitHub.

En función de cómo VS Code se configure, es posible que pueda encontrar la configuración de MCP en el archivo del .vscode/mcp.json repositorio o en el archivo privado settings.json de la máquina.

Para adaptar la configuración de MCP para el repositorio en GitHub, tendrá que:

  1. Agregue una tools clave para cada servidor MCP, especificando qué herramientas estarán disponibles para Copilot.
  2. Si has configurado inputs, cambiar a este mediante env directamente.
  3. Si has configurado un elemento envFile, cambiar a este mediante env directamente.
  4. Actualiza las referencias a inputs en la configuración args para hacer referencia a variables de entorno desde env en su lugar.

Para obtener más información sobre MCP en VS Code, consulte la VS Code documentación.

Validación de la configuración de MCP

Una vez que hayas configurado la configuración de MCP, debes probarla para asegurarte de que está configurada correctamente.

Validación con agente en la nube de Copilot

  1. Cree un problema en el repositorio y asígnelo a Copilot.
  2. Espere unos segundos y Copilot dejará una 👀 reacción sobre el problema.
  3. Espere unos segundos más y Copilot creará una solicitud de incorporación de cambios, que aparecerá en la cronología de la incidencia.
  4. Haga clic en la solicitud de incorporación de cambios creada en la cronología y espere hasta que aparezca un evento en la cronología indicando "Copilot ha comenzado el trabajo".
  5. Haga clic en Ver sesión para abrir los agente en la nube de Copilot registros.
  6. Haga clic en el botón de puntos suspensivos (...) situado en la parte superior derecha del visor de registros y, a continuación, haga clic Copilot en la barra lateral.
  7. Haz clic en el paso Start MCP Servers para expandir los registros.
  8. Si los servidores MCP se han iniciado correctamente, verás sus herramientas en la parte inferior de los registros.

Si los servidores MCP requieren dependencias que no están instaladas en el GitHub Actions ejecutor de forma predeterminada, como uv y pipx, o que necesitan pasos de configuración especiales, es posible que tenga que crear un copilot-setup-steps.yml archivo de flujo de trabajo de Acciones para instalarlos. Para obtener más información, vea Configuración del entorno de desarrollo.

Validación con revisión de código Copilot

  1. Abra una pull request en el repositorio.
  2. Solicite una revisión de Copilot.
  3. Para abrir la sesión de revisión vinculada desde la escala de tiempo de la solicitud de incorporación de cambios, haga clic en Ver sesión. En los registros de sesión, revise la sección "Configuración del entorno" para ver qué servidores y herramientas de MCP se iniciaron y llamaron.

Personalización del servidor MCP integrado GitHub

El GitHub servidor MCP está habilitado de forma predeterminada y se conecta a GitHub con un token con ámbito especial que solo tiene acceso de solo lectura al repositorio actual.

Si desea permitir Copilot el acceso a datos fuera del repositorio actual, puede concederle un personal access token con acceso más amplio.

  1. Cree un personal access token con los permisos adecuados. Se recomienda usar un fine-grained personal access token, donde puede limitar el acceso del token a permisos de solo lectura en repositorios específicos. Para obtener más información sobre personal access tokens, vea Administración de tokens de acceso personal.

  2. En GitHub, navegue hasta la página principal del repositorio.

  3. Debajo del nombre del repositorio, haz clic en Settings. Si no puedes ver la pestaña "Configuración", selecciona el menú desplegable y, a continuación, haz clic en Configuración.

    Captura de pantalla de un encabezado de repositorio en el que se muestran las pestañas. La pestaña "Configuración" está resaltada con un contorno naranja oscuro.

  4. En la sección "Código y automatización" de la barra lateral, haga clic en Copilot****Servidores MCP.

  5. Agregue la configuración en la sección "Configuración de MCP". Por ejemplo, puede agregar lo siguiente:

    JavaScript
     // If you copy and paste this example, you will need to remove the comments prefixed with `//`, which are not valid JSON.
     {
       "mcpServers": {
         "github-mcp-server": {
           "type": "http",
           // Remove "/readonly" to enable wider access to all tools.
           // Then, use the "X-MCP-Toolsets" header to specify which toolsets you'd like to include.
           // Use the "tools" field to select individual tools from the toolsets.
           "url": "https://api.githubcopilot.com/mcp/readonly",
           "tools": ["*"],
           "headers": {
             "X-MCP-Toolsets": "repos,issues,users,pull_requests,code_security,secret_protection,actions,web_search"
           }
         }
       }
     }
    

    Para obtener más información sobre las herramientas, consulte el archivo Léame en la documentación del Servidor Remoto MCP.

  6. Haga clic en Guardar configuración de MCP.

  7. Agregue un secreto de agente llamado COPILOT_MCP_GITHUB_PERSONAL_ACCESS_TOKEN con su personal access token como valor. Puede configurarlo en el nivel de organización o repositorio. Para obtener más información, vea Configurar secretos y variables para el agente de Copilot en la nube.

Para obtener información sobre el uso del GitHub servidor MCP en otros entornos, consulte Uso del servidor MCP de GitHub en el IDE.

Deshabilitación de las herramientas de MCP para la revisión de código

Nota:

La compatibilidad con las habilidades de agente y los servidores MCP con revisión de código Copilot está disponible en versión preliminar pública y está sujeta a cambios.

En la configuración del repositorio, el uso de herramientas de MCP por revisión de código Copilot está habilitado de forma predeterminada.

Deshabilite esta opción si desea que los servidores MCP configurados solo estén disponibles para agente en la nube de Copiloty no para revisión de código Copilot.

Si deshabilita esta configuración, revisión de código Copilot no invocará herramientas MCP en las revisiones de solicitudes de extracción de ese repositorio, incluidas las herramientas de los servidores MCP predeterminados GitHub y Playwright.

  1. En GitHub, navegue hasta la página principal del repositorio.

  2. Debajo del nombre del repositorio, haz clic en Settings. Si no puedes ver la pestaña "Configuración", selecciona el menú desplegable y, a continuación, haz clic en Configuración.

    Captura de pantalla de un encabezado de repositorio en el que se muestran las pestañas. La pestaña "Configuración" está resaltada con un contorno naranja oscuro.

  3. En la sección "Código y automatización" de la barra lateral, haga clic en Copilot****Revisar código.

  4. Haga clic en el interruptor Permitir que Copilot use herramientas MCP al revisar las solicitudes de incorporación para desactivar la opción.

Pasos siguientes