Tutoriel : contrôlez l'accès de l'agent de codage au MCP GitHub
Dans ce tutoriel, vous régissez l'accès d'un agent de codage à GitHub à l'aide d'Unity Catalog et de l'AI Gateway. Supposons que votre équipe utilise un agent de codage tel que Claude Code ou Cursor pour lire les repository et les pull requests, mais que vous souhaitiez bloquer les opérations d'écriture et auditer chaque appel d'outil.
Vous utilisez le system.ai.github MCP Service fourni par Databricks, de sorte que vous n'hébergez ni n'enregistrez de serveur MCP et ne créez pas de connexion Unity Catalog. Vous attachez une politique de service intégrée pour bloquer les opérations d'écriture, accorder l'accès à votre équipe, connecter un agent de codage et confirmer que chaque appel d'outil est enregistré.
Prérequis
- Un Workspace activé pour Unity Catalog. Consultez Se familiariser avec Unity Catalog.
- Les fonctionnalités de la version bêta de Unity Gateway sont activées pour votre compte. Un administrateur de compte peut les activer depuis la page Aperçus de la console du compte. Consultez Gérer les aperçus Databricks.
- Autorisation d'appeler et de partager
system.ai.githubet de joindre des stratégies. - Pour utiliser l'API REST à l'étape 1, authentifiez la CLI Databricks auprès de votre workspace.
- Si votre workspace utilise une politique réseau serverless restreinte, un administrateur du compte doit autoriser les destinations requises par le service GitHub MCP.
Étape 1 : bloquer les Opérations d'écriture avec une politique intégrée
Attachez la politique de service GitHub intégrée et activez Disallow writes . Cette action bloque les outils qui créent, modifient ou suppriment des données sur GitHub tout en autorisant les outils en lecture seule. La politique est gérée par la plateforme ; vous n'avez donc pas besoin d'écrire de fonction de politique.
- UI
- REST API
- Dans la barre latérale du workspace, cliquez sur AI Gateway .
- Sur le tab MCPs , sélectionnez
system.ai.github. - Ouvrez l'tab Policies , puis cliquez sur New policy .
- Saisissez un nom de politique, tel que
block_github_writes. - Sous Guardrail type , sélectionnez GitHub .
- Sélectionnez Disallow writes , puis cliquez sur Create policy .
La politique 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 politiques du service. Si le service possède déjà des politiques, incluez-les dans service_policies afin qu'elles restent associées.
Une fois la politique associée, un tools/call pour un outil d'écriture est rejeté, y compris les outils qui créent des demandes d'extraction. Pour autoriser certains outils d'écriture tout en bloquant les opérations destructrices, créez plutôt une politique de service personnalisée. Pour en savoir plus sur les services disponibles et les contrôles de politiques, consultez Services MCP fournis par Databricks et Politiques de service.
Étape 2 : Partagez le service MCP avec votre équipe
Suivez la section Share an MCP pour donner à votre équipe, telle que dev_team, accès à system.ai.github. Ce guide aborde les autorisations d'administrateur 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 possédez pas déjà un. Utilisez la 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 configuration manuelle ci-dessous.
-
Si
ugn'est pas installé, installez-le et vérifiez la version. Vous avez besoin de Python 3.12 ou version ultérieure et deuv. Consultez le guide de démarrage rapide de l'agent de codage pour obtenir des détails sur l'installation.Bashuv tool install git+https://github.com/databricks/unity-gateway
ug --version -
Configurez votre agent de codage pour votre Workspace et connectez-vous lorsque vous y êtes invité. Si votre appareil est déjà configuré, passez cette étape.
Bashug configure --workspace https://<workspace-hostname> -
Ajoutez le service GitHub MCP à vos agents configurés. Si la configuration publiée par votre administrateur l'a déjà ajouté, passez cette étape.
Bashug mcp add --names system.ai.github -
Confirmez que le service apparaît dans vos connexions configurées :
Bashug mcp list -
Lancez ou redémarrez votre agent pour utiliser le service. Par exemple, lancez Claude Code :
Bashug claudeDans Claude Code, saisissez
/mcppour vérifier l'état de la connexion. Pour les autres commandes de lancement et options de configuration MCP, consultez Ajouter des outils et des compétences et la référence de la CLI ug.
Pour la configuration manuelle, choisissez votre client dans Supported coding agents. Utilisez cet Endpoint MCP pour le service intégré :
https://<workspace-url>/ai-gateway/mcp-services/system.ai.github
Pour des exemples d’invocation, notamment avec le SDK OpenAI Agents, consultez Utiliser des outils MCP dans un agent Python.
Étape 4 : Confirmez que l'activité est régie et enregistrée.
Vérifiez que la gouvernance fonctionne des deux côtés :
-
Application des règles : depuis l'agent, un outil en lecture seule s'exécute correctement, tandis qu'un outil d'écriture, tel qu'un outil créant une pull request, est rejeté avec une erreur de règle.
-
Journalisation de l'utilisation : Interrogez la table système d'utilisation pour confirmer que les appels sont enregistrés :
SQLSELECT 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 en savoir plus sur le monitoring, consultez Surveiller l'utilisation.