Tutoriel : Contrôler l'accès GitHub MCP d'un agent de programmation

Dans ce tutoriel, vous régissez l'accès d'un agent de codage à GitHub à l'aide du catalogue Unity et de la passerelle IA. Supposons que votre équipe utilise un agent de codage tel que Claude Code ou Cursor pour lire les dépôts et les pull requests, mais que vous voulez bloquer les opérations d’écriture et auditer chaque appel d’outil.

Vous utilisez le system.ai.github service MCP fourni par Azure Databricks, donc vous n'hébergez ni n'enregistrez un serveur MCP ni ne créez de connexion au catalogue Unity. Vous attachez une stratégie de service intégrée pour bloquer les opérations d’écriture, accorder à votre équipe l’accès, connecter un agent de codage et confirmer que chaque appel d’outil est journalisé.

Prerequisites

Étape 1 : Bloquer les opérations d’écriture à l’aide d’une stratégie intégrée

Associez la politique de service GitHub intégrée et activez l’interdiction des écritures. Cela bloque les outils qui créent, modifient ou suppriment des données sur GitHub tout en permettant des outils en lecture seule. La stratégie étant gérée par la plateforme, vous n’avez pas besoin d’écrire de fonction de stratégie.

Interface utilisateur

  1. Dans la barre latérale de l’espace de travail, cliquez sur AI Gateway.
  2. Sous l’onglet MCPs, sélectionnezsystem.ai.github.
  3. Ouvrez l’onglet Stratégies , puis cliquez sur Nouvelle stratégie.
  4. Entrez un nom de stratégie, par exemple block_github_writes.
  5. Sous Type de garde-fou, sélectionnez GitHub.
  6. Sélectionnez Interdire les écritures, puis cliquez sur Créer une stratégie.

REST API

La stratégie d’API utilise le gestionnaire system.ai.github_policy avec disallow_writes défini sur true :

databricks api patch \
  "/api/2.1/unity-catalog/mcp-services/system.ai.github?update_mask=config.service_policies" \
  --json '{
    "config": {
      "service_policies": [
        {
          "name": "block_github_writes",
          "policy_type": "POLICY_TYPE_BUILTIN",
          "handler": "system.ai.github_policy",
          "options": { "disallow_writes": "true" }
        }
      ]
    }
  }'

PATCH remplace la liste des stratégies du service. Si le service comporte déjà des stratégies, incluez-les dans service_policies afin qu’elles restent associées.

Une fois la stratégie associée, un tools/call pour un outil d’écriture est rejeté, y compris pour les outils qui créent des demandes de tirage (pull requests). Pour autoriser certains outils d’écriture tout en bloquant les opérations destructives, créez plutôt une stratégie de service personnalisée . Pour en savoir plus sur les services disponibles et les contrôles de stratégie, consultez Services MCP fournis par Databricks et Stratégies de service.

Étape 2 : Partager le service MCP avec votre équipe

Suivez la procédure Partager un MCP pour permettre à votre équipe, par exemple dev_team, d’accéder à system.ai.github. Ce guide couvre les autorisations des administrateurs et l’accès hérité pour les MCP fournis par Databricks.

Étape 3 : Connecter votre agent de codage

Installez un agent de codage compatible MCP si vous n’en avez pas déjà un. Utilisez l’interface CLI Unity Gateway (ug) pour configurer la connexion à la passerelle et lancer l’agent sur votre appareil. Par exemple, ug claude ouvre Claude Code avec cette configuration. Pour configurer vous-même un client, suivez la procédure de configuration manuelle ci-dessous.

  1. Si ug n’est pas installé, installez-le et vérifiez sa version. Vous avez besoin de Python 3.12 ou version ultérieure et de uv. Pour plus d’informations sur l’installation, consultez le démarrage rapide de l’agent de codage.

    uv tool install git+https://github.com/databricks/unity-gateway
    ug --version
    
  2. Configurez votre agent de codage pour votre espace de travail et connectez-vous lorsque vous y êtes invité. Si votre appareil est déjà configuré, ignorez cette étape.

    ug configure --workspace https://<workspace-hostname>
    
  3. Ajoutez le service GitHub MCP à vos agents configurés. Si la configuration publiée par votre administrateur l’a déjà ajoutée, sautez cette étape.

    ug mcp add --names system.ai.github
    
  4. Confirmez que le service apparaît dans vos connexions configurées :

    ug mcp list
    
  5. Lancez ou redémarrez votre agent pour utiliser le service. Par exemple, lancer Claude Code :

    ug claude
    

    Dans Claude Code, saisissez /mcp pour vérifier l’état de la connexion. Pour d’autres commandes de lancement et options de configuration MCP, voir Ajouter des outils et compétences ainsi que la référence à la ligne de commande ug.

Pour la configuration manuelle, choisissez votre client dans Assistants de codage et de travail pris en charge. Utilisez ce point de terminaison MCP pour le service intégré :

https://<workspace-url>/ai-gateway/mcp-services/system.ai.github

Pour des exemples d’invocations, y compris le SDK OpenAI Agents, voir Utiliser les outils MCP dans un agent Python.

Étape 4 : Confirmer que l’activité est régie et journalisée

Vérifiez que la gouvernance fonctionne à partir des deux extrémités :

  • Application de la stratégie : Depuis l’agent, un outil en lecture seule s’exécute correctement, tandis qu’un outil d’écriture, tel qu’un outil qui crée une demande de tirage (pull request), est rejeté avec une erreur de stratégie.

  • Journalisation de l’utilisation : interrogez la table système d’utilisation pour confirmer que les appels sont enregistrés :

    SELECT service_name, mcp_metadata.tool_name AS tool_name, status_code, COUNT(*) AS calls
    FROM system.ai_gateway.usage
    WHERE service_type = 'MCP_SERVICE'
      AND service_name = 'system.ai.github'
    GROUP BY service_name, mcp_metadata.tool_name, status_code
    ORDER BY calls DESC;
    

Pour plus d’informations sur la surveillance, consultez Surveiller l’utilisation.

Étapes suivantes