Tutorial: Mengelola akses GitHub MCP untuk agen pengodean

Important

Fitur ini ada di Beta. Admin akun dapat mengelola akses ke fitur ini dari halaman Pratinjau di konsol akun. Lihat Kelola Pratinjau Azure Databricks.

Dalam tutorial ini, Anda mengatur akses agen pengodean ke GitHub menggunakan Unity Catalog dan AI Gateway. Misalkan tim Anda menggunakan agen pengodean seperti Claude Code atau Cursor dengan server MCP GitHub, dan Anda ingin pengembang membaca repositori serta membuat pull request melalui agen tersebut, tetapi tidak pernah melakukan force push atau penghapusan, dengan setiap pemanggilan alat diaudit.

Anda menggunakan Layanan MCP bawaansystem.ai.github yang Azure Databricks sediakan, sehingga Anda tidak menghosting atau mendaftarkan server MCP atau membuat koneksi Katalog Unity. Anda melampirkan kebijakan layanan bawaan untuk memblokir operasi tulis, memberikan akses kepada tim Anda, menghubungkan agen pemrograman, dan mengonfirmasi bahwa setiap pemanggilan alat dicatat.

Prasyarat

  • Ruang kerja yang telah diaktifkan untuk Unity Catalog. Lihat Mulai menggunakan Unity Catalog.
  • Pratinjau Unity AI Gateway dan pratinjau Layanan MCP yang disediakan oleh Databricks yang diaktifkan untuk akun Anda. Lihat Kelola Pratinjau Azure Databricks.
  • Hak istimewa berikut pada layanan bawaan system.ai.github:
    • MANAGE, untuk melampirkan kebijakan layanan.
    • EXECUTE, untuk memanggil layanan dan memberikan akses kepada orang lain.
  • CLI Azure Databricks, diautentikasi ke ruang kerja Anda.

Langkah 1: Memblokir operasi destruktif dengan kebijakan bawaan

system.ai.github Layanan MCP menyediakan akses ke alat baca GitHub dan, secara bawaan, menolak akses ke alat tulis. Untuk membuat jaminan tersebut dinyatakan secara eksplisit dan dikelola, lampirkan kebijakan bawaan system.ai.github_policy dengan opsi disallow_writes. Kebijakan bawaan dikelola oleh platform: Anda merujuk ke handler alih-alih menulis fungsi sendiri.

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" }
        }
      ]
    }
  }'

Dengan kebijakan yang dilampirkan, tools/call untuk alat apa pun yang dapat menulis (alat yang tidak ditandai hanya-baca) akan ditolak, sementara alat baca dan pull request tetap berfungsi. Untuk informasi selengkapnya tentang layanan bawaan dan kebijakan, lihat Layanan MCP yang disediakan Databricks dan Kebijakan layanan untuk sumber daya AI yang dapat diamankan.

Langkah 2: Bagikan Layanan MCP dengan tim Anda

Secara bawaan, hanya prinsipal dengan EXECUTE yang dapat memanggil layanan. Untuk memberikan akses kepada tim pengembang Anda dari UI:

  1. Di Gateway AI, buka tab MCP dan pilih Layanan MCP untuk dibagikan, seperti system.ai.github.
  2. Buka tab Izin .
  3. Klik pada Berikan.
  4. Tentukan prinsipal yang diizinkan untuk memanggil Layanan MCP, seperti dev_team, pilih hak istimewa EXECUTE , dan klik Konfirmasi.

Note

Untuk memberikan akses ke layanan MCP di system.ai, admin metastore harus terlebih dahulu memberi diri mereka sendiri MANAGE pada skema system.ai.

Langkah 3: Hubungkan agen pemrograman Anda

Arahkan agen pengkodatan Anda di titik akhir MCP Gateway AI untuk layanan bawaan:

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

Setiap pengembang mengautentikasi untuk Azure Databricks dan harus memiliki EXECUTE pada Layanan MCP. Untuk langkah-langkah penyiapan khusus untuk agen pada Claude Code, Cursor, dan alat lainnya, lihat Menghubungkan MCP ke asisten AI dan agen coding. Untuk contoh pemanggilan, termasuk OpenAI Agents SDK, lihat Memanggil Layanan MCP.

Langkah 4: Mengonfirmasi aktivitas diatur dan dicatat

Verifikasi bahwa tata kelola berfungsi dari kedua ujungnya:

  • Penegakan kebijakan: Dari sisi agen, alat untuk membaca atau alat pull request berhasil, sementara alat untuk menulis ditolak dengan kesalahan kebijakan.

  • Pencatatan penggunaan: Lakukan kueri pada tabel sistem penggunaan untuk mengonfirmasi bahwa panggilan tercatat:

    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;
    

Untuk informasi selengkapnya tentang pemantauan, lihat Memantau penggunaan.

Langkah berikutnya