Tutorial: Controlar o acesso do GitHub MCP de um agente de codificação
Neste tutorial, você gerencia o acesso de um agente de codificação ao GitHub usando o Unity Catalog e o AI Gateway. Caso sua equipe use um agente de codificação como o Claude Code ou o Cursor para ler repository e solicitações pull, mas você queira bloquear operações de gravação e auditar cada chamada de ferramenta:
You use the system.ai.github MCP serviço that Databricks provides, so you don't host or registro an MCP server or create a Unity Catalog connection. Você anexa uma política de serviço integrada para bloquear operações de gravação, concede acesso à sua equipe, conecta um agente de codificação e confirma que cada chamada de ferramenta é registrada.
Pré-requisitos
- Um workspace habilitado para Unity Catalog. Consulte Começar a usar o Unity Catalog.
- Os recursos do Unity Gateway em beta ativados para sua account. Um administrador de account pode habilitá-los na página Previews do console da account. Consulte Gerenciar prévias do Databricks.
- Permissão para chamar e compartilhar
system.ai.githube anexar políticas. - Para usar a API REST no o passo 1, autentique a CLI do Databricks no seu workspace.
- Se o seu workspace usa uma política de rede serverless restrita, um administrador de account deve permitir os destinos exigidos pelo serviço do GitHub MCP.
O passo 1: Bloquear operações de gravação com uma política integrada
Anexe a política de serviço integrada do GitHub e ative Disallow writes . Isso bloqueia ferramentas que criam, modificam ou excluem dados no GitHub, enquanto permite ferramentas somente leitura. A política é gerenciada pela plataforma, portanto, você não precisa escrever uma função de política.
- UI
- REST API
- Na barra lateral do workspace, clique em AI Gateway .
- Na tab MCPs , selecione
system.ai.github. - Abra a tab Policies , depois clique em New policy .
- Insira um nome de política, como
block_github_writes. - Em Guardrail type , selecione GitHub .
- Selecione Gravação não permitida e clique em Criar política .
A política de API usa o manipulador system.ai.github_policy com disallow_writes definido como 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" }
}
]
}
}'
O PATCH substitui a lista de políticas do serviço. Se o serviço já tiver políticas, inclua-as em service_policies para que elas permaneçam vinculadas.
Com a política anexada, um tools/call para uma ferramenta de gravação é rejeitado, incluindo ferramentas que criam solicitações pull. Para permitir ferramentas de gravação selecionadas e bloquear operações destrutivas, crie uma política de serviço personalizada. Para saber mais sobre os serviços disponíveis e os controles de políticas, consulte Serviços MCP fornecidos pela Databricks e Políticas de serviço.
O passo 2: Compartilhe o serviço MCP com sua equipe
Siga Compartilhar um MCP para dar à sua equipe, como dev_team, acesso a system.ai.github. Esse guia aborda as permissões de administrador e o acesso herdado para MCPs fornecidos pelo Databricks.
o passo 3: Conecte seu agente de programação
Instale um agente de codificação compatível com MCP se ainda não tiver um. Use a CLI do Unity Gateway (ug) para configurar a conexão do gateway e iniciar o agente no seu dispositivo. Por exemplo, ug claude abre o Claude Code com essa configuração. Para configurar um cliente você mesmo, siga a configuração manual abaixo.
-
Se o
ugnão estiver instalado, instale-o e verifique a versão. Você precisa do Python 3.12 ou posterior e deuv. Consulte o início rápido do agente de programação para obter detalhes de instalação.Bashuv tool install git+https://github.com/databricks/unity-gateway
ug --version -
Configure seu agente de codificação para o seu workspace e faça login quando solicitado. Se o seu dispositivo já estiver configurado, ignore o passo.
Bashug configure --workspace https://<workspace-hostname> -
Adicione o GitHub MCP serviço aos seus agentes configurados. Se a configuração publicada pelo seu administrador já a tiver adicionado, ignore o passo.
Bashug mcp add --names system.ai.github -
Confirme que o serviço aparece nas suas conexões configuradas:
Bashug mcp list -
Inicie ou reinicie seu agente para usar o serviço. Por exemplo, inicie o Claude Code:
Bashug claudeNo Claude Code, digite
/mcppara verificar o status da conexão. Para outros comandos de inicialização e opções de configuração do MCP, consulte Adicionar ferramentas e habilidades e a referência da CLI do ug.
Para a configuração manual, escolha seu cliente em Agentes de programação suportados. Use este endpoint MCP para o serviço integrado:
https://<workspace-url>/ai-gateway/mcp-services/system.ai.github
Para obter exemplos de invocação, incluindo o OpenAI Agents SDK, consulte Usar ferramentas MCP em um agente Python.
O passo 4: Confirme se a atividade é governada e registrada como log.
Verifique se a governança está funcionando de ambas as extremidades:
-
Policy enforcement : From the agent, a read-only tool succeeds, while a write tool, such as one that creates a pull request, is rejected with a policy error.
-
Registro de uso : consulte a tabela do sistema de uso para confirmar se as chamadas são registradas:
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;
Para saber mais sobre o monitoramento, consulte Monitorar o uso.