GitHub MCP

resmi

Server MCP resmi GitHub untuk pencarian repositori, isu, permintaan tarik, konteks kode, dan alur kerja GitHub di klien AI yang kompatibel dengan MCP.

Apa yang bisa Anda lakukan dengan Git Hub MCP?

  • Jelajahi dan cari repositori — Minta asisten Anda untuk menemukan file, membaca kode, atau menganalisis riwayat komit menggunakan alat dari kumpulan alat repos.
  • Kelola isu dan permintaan tarik — Buat, perbarui, dan urutkan isu atau PR dengan alat dari kumpulan alat issues dan pull_requests.
  • Pantau alur kerja CI/CD — Periksa status proses GitHub Actions, selidiki kegagalan build, dan kelola rilis melalui kumpulan alat actions.
  • Tinjau peringatan keamanan kode — Periksa temuan pemindaian kode, peringatan Dependabot, dan hasil pemindaian rahasia menggunakan kumpulan alat code_security, dependabot, dan secret_protection.
  • Berkolaborasi dalam diskusi dan proyek — Akses diskusi tim, kelola papan proyek, dan tangani notifikasi melalui kumpulan alat discussions, projects, dan notifications.

Dokumentasi

Go Report Card

GitHub MCP Server

GitHub MCP Server menghubungkan perangkat AI langsung ke platform GitHub. Ini memberi agen AI, asisten, dan chatbot kemampuan untuk membaca repositori dan berkas kode, mengelola isu dan PR, menganalisis kode, dan mengotomatiskan alur kerja. Semuanya melalui interaksi bahasa alami.

Kasus Penggunaan

  • Manajemen Repositori: Jelajahi dan kueri kode, cari berkas, analisis komit, dan pahami struktur proyek di seluruh repositori yang dapat Anda akses.
  • Otomatisasi Isu & PR: Buat, perbarui, dan kelola isu dan pull request. Biarkan AI membantu triase bug, meninjau perubahan kode, dan memelihara papan proyek.
  • Intelijen CI/CD & Alur Kerja: Pantau jalannya alur kerja GitHub Actions, analisis kegagalan build, kelola rilis, dan dapatkan wawasan tentang pipeline pengembangan Anda.
  • Analisis Kode: Periksa temuan keamanan, tinjau peringatan Dependabot, pahami pola kode, dan dapatkan wawasan komprehensif tentang basis kode Anda.
  • Kolaborasi Tim: Akses diskusi, kelola notifikasi, analisis aktivitas tim, dan sederhanakan proses untuk tim Anda.

Dibangun untuk pengembang yang ingin menghubungkan perangkat AI mereka ke konteks dan kemampuan GitHub, dari kueri bahasa alami sederhana hingga alur kerja agen multi-langkah yang kompleks.


Remote GitHub MCP Server

Install in VS Code Install in VS Code Insiders Install in Visual Studio

Remote GitHub MCP Server dihosting oleh GitHub dan menyediakan metode termudah untuk memulai. Jika host MCP Anda tidak mendukung server MCP jarak jauh, jangan khawatir! Anda dapat menggunakan versi lokal GitHub MCP Server sebagai gantinya.

Prasyarat

  1. Host MCP yang kompatibel dengan dukungan server jarak jauh (VS Code 1.101+, Claude Desktop, Cursor, Windsurf, dll.)
  2. Kebijakan yang berlaku diaktifkan

Instal di VS Code

Untuk instalasi cepat, gunakan salah satu tombol instal sekali klik di atas. Setelah Anda menyelesaikan alur tersebut, alihkan mode Agent (terletak di dekat input teks Copilot Chat) dan server akan mulai. Pastikan Anda menggunakan VS Code 1.101 atau yang lebih baru untuk dukungan MCP jarak jauh dan OAuth.

Atau, untuk mengonfigurasi VS Code secara manual, pilih blok JSON yang sesuai dari contoh di bawah ini dan tambahkan ke konfigurasi host Anda:

Menggunakan OAuthMenggunakan PAT GitHub
VS Code (versi 1.101 atau lebih baru)
{
  "servers": {
    "github": {
      "type": "http",
      "url": "https://api.githubcopilot.com/mcp/"
    }
  }
}
{
  "servers": {
    "github": {
      "type": "http",
      "url": "https://api.githubcopilot.com/mcp/",
      "headers": {
        "Authorization": "Bearer ${input:github_mcp_pat}"
      }
    }
  },
  "inputs": [
    {
      "type": "promptString",
      "id": "github_mcp_pat",
      "description": "GitHub Personal Access Token",
      "password": true
    }
  ]
}

Instal di host MCP lainnya

  • Copilot CLI - Panduan instalasi untuk GitHub Copilot CLI
  • GitHub Copilot di IDE lainnya - Instalasi untuk JetBrains, Visual Studio, Eclipse, dan Xcode dengan GitHub Copilot
  • Aplikasi Claude - Panduan instalasi untuk Claude Desktop dan Claude Code CLI
  • Codex - Panduan instalasi untuk OpenAI Codex
  • Cursor - Panduan instalasi untuk Cursor IDE
  • OpenCode - Panduan instalasi untuk agen terminal OpenCode
  • Windsurf - Panduan instalasi untuk Windsurf IDE
  • Zed - Panduan instalasi untuk editor Zed
  • Rovo Dev CLI - Panduan instalasi untuk Rovo Dev CLI

Catatan: Setiap aplikasi host MCP perlu mengonfigurasi GitHub App atau OAuth App untuk mendukung akses jarak jauh melalui OAuth. Aplikasi host apa pun yang mendukung server MCP jarak jauh seharusnya mendukung server GitHub jarak jauh dengan autentikasi PAT. Detail konfigurasi dan tingkat dukungan bervariasi menurut host. Pastikan untuk merujuk ke dokumentasi aplikasi host untuk info lebih lanjut.

Konfigurasi

Konfigurasi toolset

Lihat Dokumentasi Server Jarak Jauh untuk detail lengkap tentang konfigurasi server jarak jauh, toolset, header, dan penggunaan lanjutan. Berkas ini menyediakan instruksi dan contoh komprehensif untuk menghubungkan, menyesuaikan, dan menginstal Remote GitHub MCP Server di VS Code dan host MCP lainnya.

Ketika tidak ada toolset yang ditentukan, toolset default digunakan.

Mode Insiders

Coba fitur baru lebih awal! Server jarak jauh menawarkan versi insiders dengan akses awal ke fitur baru dan alat eksperimental.

Menggunakan Jalur URLMenggunakan Header
{
  "servers": {
    "github": {
      "type": "http",
      "url": "https://api.githubcopilot.com/mcp/insiders"
    }
  }
}
{
  "servers": {
    "github": {
      "type": "http",
      "url": "https://api.githubcopilot.com/mcp/",
      "headers": {
        "X-MCP-Insiders": "true"
      }
    }
  }
}

Lihat Dokumentasi Server Jarak Jauh untuk detail dan contoh lebih lanjut, dan Fitur Insiders untuk daftar lengkap apa yang tersedia.

GitHub Enterprise

GitHub Enterprise Cloud dengan residensi data (ghe.com)

GitHub Enterprise Cloud juga dapat memanfaatkan server jarak jauh.

Contoh untuk https://octocorp.ghe.com dengan token PAT GitHub:

{
    ...
    "github-octocorp": {
      "type": "http",
      "url": "https://copilot-api.octocorp.ghe.com/mcp",
      "headers": {
        "Authorization": "Bearer ${input:github_mcp_pat}"
      }
    },
    ...
}

Catatan: Saat menggunakan OAuth dengan GitHub Enterprise dengan VS Code dan GitHub Copilot, Anda juga perlu mengonfigurasi pengaturan VS Code Anda untuk menunjuk ke instans GitHub Enterprise Anda - lihat Autentikasi dari VS Code

GitHub Enterprise Server

GitHub Enterprise Server tidak mendukung hosting server jarak jauh. Silakan merujuk ke GitHub Enterprise Server dan Enterprise Cloud dengan residensi data (ghe.com) dari konfigurasi server lokal.


Local GitHub MCP Server

Install with Docker in VS Code Install with Docker in VS Code Insiders Install with Docker in Visual Studio

Prasyarat

  1. Untuk menjalankan server dalam kontainer, Anda harus menginstal Docker.

  2. Setelah Docker terinstal, Anda juga perlu memastikan Docker sedang berjalan. Image Docker tersedia di ghcr.io/github/github-mcp-server. Image ini bersifat publik; jika Anda mendapatkan kesalahan saat pull, Anda mungkin memiliki token kedaluwarsa dan perlu docker logout ghcr.io.

  3. Autentikasi. Di github.com Anda tidak perlu membuat apa pun di awal — tombol sekali klik di atas memasukkan Anda dengan OAuth pada penggunaan pertama (alur berbasis browser; token hanya disimpan di memori). Tombol Docker mempublikasikan port callback tetap (127.0.0.1:8085) sehingga callback login kontainer dapat dijangkau. Lihat Login OAuth Server Lokal untuk cara kerjanya, fallback headless/kode-perangkat, dan membawa OAuth atau GitHub App Anda sendiri (diperlukan untuk GitHub Enterprise Server dan ghe.com).

    Lebih suka token? Anda masih dapat mengautentikasi dengan Token Akses Pribadi GitHub dengan mengatur GITHUB_PERSONAL_ACCESS_TOKEN sebagai gantinya (ini lebih diutamakan daripada OAuth). Server MCP dapat menggunakan banyak API GitHub, jadi aktifkan izin yang Anda rasa nyaman untuk diberikan kepada perangkat AI Anda (untuk mempelajari lebih lanjut tentang token akses, silakan lihat dokumentasi).

Menangani PAT dengan Aman

Variabel Lingkungan (Direkomendasikan)

Untuk menjaga PAT GitHub Anda tetap aman dan dapat digunakan kembali di berbagai host MCP:

  1. Simpan PAT Anda di variabel lingkungan

    export GITHUB_PAT=your_token_here
    

    Atau buat berkas .env:

    GITHUB_PAT=your_token_here
    
  2. Lindungi berkas .env Anda

    # Add to .gitignore to prevent accidental commits
    echo ".env" >> .gitignore
    
  3. Referensikan token dalam konfigurasi

    # CLI usage
    claude mcp add github -e GITHUB_PERSONAL_ACCESS_TOKEN=$GITHUB_PAT -- docker run -i --rm -e GITHUB_PERSONAL_ACCESS_TOKEN ghcr.io/github/github-mcp-server
    
    # In config files (where supported)
    "env": {
      "GITHUB_PERSONAL_ACCESS_TOKEN": "$GITHUB_PAT"
    }
    

Catatan: Dukungan variabel lingkungan bervariasi menurut aplikasi host dan IDE. Beberapa aplikasi (seperti Windsurf) memerlukan token hardcode dalam berkas konfigurasi.

Praktik Terbaik Keamanan Token

  • Cakupan minimum: Hanya berikan izin yang diperlukan

    • repo - Operasi repositori
    • read:packages - Akses image Docker
    • read:org - Akses tim organisasi
  • Token terpisah: Gunakan PAT yang berbeda untuk proyek/lingkungan yang berbeda

  • Rotasi rutin: Perbarui token secara berkala

  • Jangan pernah commit: Jauhkan token dari kontrol versi

  • Izin berkas: Batasi akses ke berkas konfigurasi yang berisi token

    chmod 600 ~/.your-app/config.json
    

GitHub Enterprise Server dan Enterprise Cloud dengan residensi data (ghe.com)

Flag --gh-host dan variabel lingkungan GITHUB_HOST dapat digunakan untuk mengatur nama host untuk GitHub Enterprise Server atau GitHub Enterprise Cloud dengan residensi data.

  • Untuk GitHub Enterprise Server, awali nama host dengan skema URI https://, karena jika tidak, defaultnya adalah http://, yang tidak didukung oleh GitHub Enterprise Server.
  • Untuk GitHub Enterprise Cloud dengan residensi data, gunakan https://YOURSUBDOMAIN.ghe.com sebagai nama host.
"github": {
    "command": "docker",
    "args": [
    "run",
    "-i",
    "--rm",
    "-e",
    "GITHUB_PERSONAL_ACCESS_TOKEN",
    "-e",
    "GITHUB_HOST",
    "ghcr.io/github/github-mcp-server"
    ],
    "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "${input:github_token}",
        "GITHUB_HOST": "https://<your GHES or ghe.com domain name>"
    }
}

Instalasi

Instal di GitHub Copilot pada VS Code

Untuk instalasi cepat, gunakan salah satu tombol instal sekali klik di atas. Setelah Anda menyelesaikan alur tersebut, alihkan mode Agent (terletak di dekat input teks Copilot Chat) dan server akan mulai.

Lebih lanjut tentang menggunakan alat server MCP di dokumentasi mode agen VS Code.

Instal di GitHub Copilot pada IDE lain (JetBrains, Visual Studio, Eclipse, dll.)

Tambahkan salah satu blok JSON berikut ke pengaturan MCP IDE Anda.

Login dengan OAuth (tidak perlu membuat atau menyimpan token). Di github.com, image resmi sudah menyertakan kredensial aplikasi, jadi Anda tidak perlu menyediakannya sendiri: ini menjalankan login berbasis browser pada penggunaan pertama dan menyimpan token yang dihasilkan hanya di memori. Di Docker, ini memerlukan port callback tetap yang dipublikasikan ke loopback agar callback login kontainer dapat dijangkau:

{
  "mcp": {
    "servers": {
      "github": {
        "command": "docker",
        "args": [
          "run",
          "-i",
          "--rm",
          "-p",
          "127.0.0.1:8085:8085",
          "-e",
          "GITHUB_OAUTH_CALLBACK_PORT",
          "ghcr.io/github/github-mcp-server"
        ],
        "env": {
          "GITHUB_OAUTH_CALLBACK_PORT": "8085"
        }
      }
    }
  }
}

Lihat Login OAuth Server Lokal untuk alur biner asli (tidak perlu port tetap), fallback headless/kode-perangkat, GitHub Enterprise Server / ghe.com, dan membawa OAuth atau GitHub App Anda sendiri.

Atau autentikasi dengan Token Akses Pribadi. Atur GITHUB_PERSONAL_ACCESS_TOKEN sebagai gantinya (ini lebih diutamakan daripada OAuth):

{
  "mcp": {
    "inputs": [
      {
        "type": "promptString",
        "id": "github_token",
        "description": "GitHub Personal Access Token",
        "password": true
      }
    ],
    "servers": {
      "github": {
        "command": "docker",
        "args": [
          "run",
          "-i",
          "--rm",
          "-e",
          "GITHUB_PERSONAL_ACCESS_TOKEN",
          "ghcr.io/github/github-mcp-server"
        ],
        "env": {
          "GITHUB_PERSONAL_ACCESS_TOKEN": "${input:github_token}"
        }
      }
    }
  }
}

Secara opsional, Anda dapat menambahkan contoh serupa (yaitu tanpa kunci mcp) ke berkas bernama .vscode/mcp.json di ruang kerja Anda. Ini akan memungkinkan Anda untuk berbagi konfigurasi dengan aplikasi host lain yang menerima format yang sama.

Contoh blok JSON tanpa kunci MCP disertakan
{
  "inputs": [
    {
      "type": "promptString",
      "id": "github_token",
      "description": "GitHub Personal Access Token",
      "password": true
    }
  ],
  "servers": {
    "github": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "GITHUB_PERSONAL_ACCESS_TOKEN",
        "ghcr.io/github/github-mcp-server"
      ],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "${input:github_token}"
      }
    }
  }
}

Instal di Host MCP Lainnya

Untuk aplikasi host MCP lainnya, silakan merujuk ke panduan instalasi kami:

Untuk gambaran lengkap semua opsi instalasi, lihat Indeks Panduan Instalasi kami.

Catatan: Aplikasi host apa pun yang mendukung server MCP lokal seharusnya dapat mengakses server MCP GitHub lokal. Namun, proses konfigurasi spesifik, sintaks, dan stabilitas integrasi akan bervariasi menurut aplikasi host. Meskipun banyak yang mungkin mengikuti format serupa dengan contoh di atas, ini tidak dijamin. Silakan merujuk ke dokumentasi aplikasi host Anda untuk sintaks konfigurasi MCP dan proses pengaturan yang benar.

Build dari sumber

Jika Anda tidak memiliki Docker, Anda dapat menggunakan go build untuk membangun biner di direktori cmd/github-mcp-server, dan gunakan perintah github-mcp-server stdio dengan variabel lingkungan GITHUB_PERSONAL_ACCESS_TOKEN diatur ke token Anda. Untuk menentukan lokasi keluaran build, gunakan flag -o. Anda harus mengonfigurasi server Anda untuk menggunakan executable yang telah dibangun sebagai command-nya. Contoh:

{
  "mcp": {
    "servers": {
      "github": {
        "command": "/path/to/github-mcp-server",
        "args": ["stdio"],
        "env": {
          "GITHUB_PERSONAL_ACCESS_TOKEN": "<YOUR_TOKEN>"
        }
      }
    }
  }
}

Utilitas CLI

Biner github-mcp-server menyertakan beberapa subperintah CLI yang berguna untuk debugging dan menjelajahi server.

  • github-mcp-server tool-search "<query>" mencari alat berdasarkan nama, deskripsi, dan nama parameter input. Gunakan --max-results untuk mengembalikan lebih banyak kecocokan. Contoh (output warna memerlukan TTY; gunakan docker run -t (atau -it) saat berjalan di Docker):
docker run -it --rm ghcr.io/github/github-mcp-server tool-search "issue" --max-results 5
github-mcp-server tool-search "issue" --max-results 5

Konfigurasi Alat

GitHub MCP Server mendukung pengaktifan atau penonaktifan grup fungsionalitas tertentu melalui flag --toolsets. Ini memungkinkan Anda mengontrol kemampuan API GitHub mana yang tersedia untuk alat AI Anda. Hanya mengaktifkan set alat yang Anda butuhkan dapat membantu LLM dalam pemilihan alat dan mengurangi ukuran konteks.

Set alat tidak terbatas pada Alat. Resource dan Prompt MCP yang relevan juga disertakan jika berlaku.

Ketika tidak ada set alat yang ditentukan, set alat default digunakan.

Mencari contoh? Lihat Panduan Konfigurasi Server untuk resep umum seperti pengaturan minimal, mode hanya-baca, dan menggabungkan alat dengan set alat.

Menentukan Set Alat

Untuk menentukan set alat yang ingin Anda sediakan untuk LLM, Anda dapat memberikan daftar izin dengan dua cara:

  1. Menggunakan Argumen Baris Perintah:

    github-mcp-server --toolsets repos,issues,pull_requests,actions,code_security
    
  2. Menggunakan Variabel Lingkungan:

    GITHUB_TOOLSETS="repos,issues,pull_requests,actions,code_security" ./github-mcp-server
    

Variabel lingkungan GITHUB_TOOLSETS lebih diutamakan daripada argumen baris perintah jika keduanya disediakan.

Menentukan Alat Individual

Anda juga dapat mengonfigurasi alat tertentu menggunakan flag --tools. Alat dapat digunakan secara independen atau dikombinasikan dengan set alat untuk kontrol yang lebih terperinci.

  1. Menggunakan Argumen Baris Perintah:

    github-mcp-server --tools get_file_contents,issue_read,create_pull_request
    
  2. Menggunakan Variabel Lingkungan:

    GITHUB_TOOLS="get_file_contents,issue_read,create_pull_request" ./github-mcp-server
    
  3. Menggabungkan dengan Set Alat (aditif):

    github-mcp-server --toolsets repos,issues --tools get_gist
    

    Ini mendaftarkan semua alat dari set alat repos dan issues, ditambah get_gist.

Catatan Penting:

  • Alat dan set alat dapat digunakan bersama
  • Mode hanya-baca lebih diutamakan: alat tulis dilewati jika --read-only diatur, bahkan jika diminta secara eksplisit melalui --tools
  • Nama alat harus cocok persis (mis., get_file_contents, bukan getFileContents). Nama alat yang tidak valid akan menyebabkan server gagal saat startup dengan pesan kesalahan
  • Ketika alat diganti namanya, nama lama dipertahankan sebagai alias untuk kompatibilitas mundur. Lihat Penggantian Nama Alat untuk detailnya.

Menggunakan Set Alat Dengan Docker

Saat menggunakan Docker, Anda dapat meneruskan set alat sebagai variabel lingkungan:

docker run -i --rm \
  -e GITHUB_PERSONAL_ACCESS_TOKEN=<your-token> \
  -e GITHUB_TOOLSETS="repos,issues,pull_requests,actions,code_security" \
  ghcr.io/github/github-mcp-server

Menggunakan Alat Dengan Docker

Saat menggunakan Docker, Anda dapat meneruskan alat tertentu sebagai variabel lingkungan. Anda juga dapat menggabungkan alat dengan set alat:

# Tools only
docker run -i --rm \
  -e GITHUB_PERSONAL_ACCESS_TOKEN=<your-token> \
  -e GITHUB_TOOLS="get_file_contents,issue_read,create_pull_request" \
  ghcr.io/github/github-mcp-server

# Tools combined with toolsets (additive)
docker run -i --rm \
  -e GITHUB_PERSONAL_ACCESS_TOKEN=<your-token> \
  -e GITHUB_TOOLSETS="repos,issues" \
  -e GITHUB_TOOLS="get_gist" \
  ghcr.io/github/github-mcp-server

Set alat khusus

Set alat "all"

Set alat khusus all dapat diberikan untuk mengaktifkan semua set alat yang tersedia terlepas dari konfigurasi lainnya:

./github-mcp-server --toolsets all

Atau menggunakan variabel lingkungan:

GITHUB_TOOLSETS="all" ./github-mcp-server

Set alat "default"

Set alat default default adalah konfigurasi yang diteruskan ke server jika tidak ada set alat yang ditentukan.

Konfigurasi default adalah:

  • context
  • repos
  • issues
  • pull_requests
  • users

Untuk mempertahankan konfigurasi default dan menambahkan set alat tambahan:

GITHUB_TOOLSETS="default,stargazers" ./github-mcp-server

Mode Insiders

GitHub MCP Server lokal menawarkan versi insiders dengan akses awal ke fitur baru dan alat eksperimental.

  1. Menggunakan Argumen Baris Perintah:

    ./github-mcp-server --insiders
    
  2. Menggunakan Variabel Lingkungan:

    GITHUB_INSIDERS=true ./github-mcp-server
    

Saat menggunakan Docker:

docker run -i --rm \
  -e GITHUB_PERSONAL_ACCESS_TOKEN=<your-token> \
  -e GITHUB_INSIDERS=true \
  ghcr.io/github/github-mcp-server

Set Alat yang Tersedia

Set alat berikut tersedia:

Set AlatDeskripsi
personcontextSangat direkomendasikan: Alat yang menyediakan konteks tentang pengguna saat ini dan konteks GitHub tempat Anda beroperasi
workflowactionsAlur kerja GitHub Actions dan operasi CI/CD
code-squarecode_qualityAlat terkait Kualitas Kode GitHub
codescancode_securityAlat terkait keamanan kode, seperti Pemindaian Kode GitHub
copilotcopilotAlat terkait Copilot
dependabotdependabotAlat Dependabot
comment-discussiondiscussionsAlat terkait Diskusi GitHub
logo-gistgistsAlat terkait GitHub Gist
git-branchgitAlat terkait GitHub Git API untuk operasi Git tingkat rendah
issue-openedissuesAlat terkait GitHub Issues
taglabelsAlat terkait Label GitHub
bellnotificationsAlat terkait Notifikasi GitHub
organizationorgsAlat terkait Organisasi GitHub
projectprojectsAlat terkait Proyek GitHub
git-pull-requestpull_requestsAlat terkait Pull Request GitHub
reporeposAlat terkait Repositori GitHub
shield-locksecret_protectionAlat terkait perlindungan rahasia, seperti Pemindaian Rahasia GitHub
shieldsecurity_advisoriesAlat terkait advisori keamanan
starstargazersAlat terkait Stargazers GitHub
peopleusersAlat terkait Pengguna GitHub

Set Alat Tambahan di GitHub MCP Server Jarak Jauh

Set AlatDeskripsi
copilotAlat terkait Copilot (mis. Agen Pengkodean Copilot)
copilot_spacesAlat terkait Copilot Spaces
github_support_docs_searchCari dokumen untuk menjawab pertanyaan produk dan dukungan GitHub

Alat

workflow Actions
  • actions_get - Dapatkan detail sumber daya GitHub Actions (alur kerja, eksekusi alur kerja, pekerjaan, dan artefak)

    • Cakupan OAuth yang Diperlukan: repo
    • method: Metode yang akan dieksekusi (string, diperlukan)
    • owner: Pemilik repositori (string, diperlukan)
    • repo: Nama repositori (string, diperlukan)
    • resource_id: Pengidentifikasi unik sumber daya. Ini akan bervariasi berdasarkan "metode" yang diberikan, jadi pastikan Anda memberikan ID yang benar:
      • Berikan ID alur kerja atau nama file alur kerja (mis. ci.yaml) untuk metode 'get_workflow'.
      • Berikan ID eksekusi alur kerja untuk metode 'get_workflow_run', 'get_workflow_run_usage', dan 'get_workflow_run_logs_url'.
      • Berikan ID artefak untuk metode 'download_workflow_run_artifact'.
      • Berikan ID pekerjaan untuk metode 'get_workflow_job'. (string, diperlukan)
  • actions_list - Daftar alur kerja GitHub Actions di repositori

    • Cakupan OAuth yang Diperlukan: repo
    • method: Tindakan yang akan dilakukan (string, diperlukan)
    • owner: Pemilik repositori (string, diperlukan)
    • page: Nomor halaman untuk paginasi (default: 1) (number, opsional)
    • per_page: Hasil per halaman untuk paginasi (default: 30, maks: 100) (number, opsional)
    • repo: Nama repositori (string, diperlukan)
    • resource_id: Pengidentifikasi unik sumber daya. Ini akan bervariasi berdasarkan "metode" yang diberikan, jadi pastikan Anda memberikan ID yang benar:
      • Jangan berikan ID sumber daya apa pun untuk metode 'list_workflows'.
      • Berikan ID alur kerja atau nama file alur kerja (mis. ci.yaml) untuk metode 'list_workflow_runs', atau kosongkan untuk mendaftar semua eksekusi alur kerja di repositori.
      • Berikan ID eksekusi alur kerja untuk metode 'list_workflow_jobs' dan 'list_workflow_run_artifacts'. (string, opsional)
    • workflow_jobs_filter: Filter untuk pekerjaan alur kerja. HANYA digunakan saat metode adalah 'list_workflow_jobs' (object, opsional)
    • workflow_runs_filter: Filter untuk eksekusi alur kerja. HANYA digunakan saat metode adalah 'list_workflow_runs' (object, opsional)
  • actions_run_trigger - Picu tindakan alur kerja GitHub Actions

    • Cakupan OAuth yang Diperlukan: repo
    • inputs: Input yang diterima alur kerja. Hanya digunakan untuk metode 'run_workflow'. (object, opsional)
    • method: Metode yang akan dieksekusi (string, diperlukan)
    • owner: Pemilik repositori (string, diperlukan)
    • ref: Referensi git untuk alur kerja. Referensi dapat berupa nama cabang atau tag. Diperlukan untuk metode 'run_workflow'. (string, opsional)
    • repo: Nama repositori (string, diperlukan)
    • run_id: ID eksekusi alur kerja. Diperlukan untuk semua metode kecuali 'run_workflow'. (number, opsional)
    • workflow_id: ID alur kerja (numerik) atau nama file alur kerja (mis., main.yml, ci.yaml). Diperlukan untuk metode 'run_workflow'. (string, opsional)
  • get_job_logs - Dapatkan log pekerjaan alur kerja GitHub Actions

    • Cakupan OAuth yang Diperlukan: repo
    • failed_only: Jika true, dapatkan log untuk semua pekerjaan yang gagal dalam eksekusi alur kerja yang ditentukan oleh run_id. Memerlukan run_id untuk disediakan. (boolean, opsional)
    • job_id: Pengidentifikasi unik pekerjaan alur kerja. Diperlukan saat mendapatkan log untuk satu pekerjaan. (number, opsional)
    • owner: Pemilik repositori (string, diperlukan)
    • repo: Nama repositori (string, diperlukan)
    • return_content: Mengembalikan konten log aktual alih-alih URL (boolean, opsional)
    • run_id: Pengidentifikasi unik eksekusi alur kerja. Diperlukan saat failed_only adalah true untuk mendapatkan log untuk semua pekerjaan yang gagal dalam eksekusi. (number, opsional)
    • tail_lines: Jumlah baris yang akan dikembalikan dari akhir log (number, opsional)
code-square Kualitas Kode - **get_code_quality_finding** - Dapatkan temuan kualitas kode - **Cakupan OAuth yang Diperlukan**: `repo` - `findingNumber`: Nomor temuan. (angka, wajib) - `owner`: Pemilik repositori. (string, wajib) - `repo`: Nama repositori. (string, wajib)
codescan Keamanan Kode
  • get_code_scanning_alert - Dapatkan peringatan pemindaian kode

    • Cakupan OAuth yang Diperlukan: security_events
    • Cakupan OAuth yang Diterima: repo, security_events
    • alertNumber: Nomor peringatan. (angka, wajib)
    • owner: Pemilik repositori. (string, wajib)
    • repo: Nama repositori. (string, wajib)
  • list_code_scanning_alerts - Daftar peringatan pemindaian kode

    • Cakupan OAuth yang Diperlukan: security_events
    • Cakupan OAuth yang Diterima: repo, security_events
    • owner: Pemilik repositori. (string, wajib)
    • page: Nomor halaman untuk paginasi (min 1) (angka, opsional)
    • perPage: Hasil per halaman untuk paginasi (min 1, maks 100) (angka, opsional)
    • ref: Referensi Git untuk hasil yang ingin Anda daftarkan. (string, opsional)
    • repo: Nama repositori. (string, wajib)
    • severity: Filter peringatan pemindaian kode berdasarkan tingkat keparahan (string, opsional)
    • state: Filter peringatan pemindaian kode berdasarkan status. Default ke terbuka (string, opsional)
    • tool_name: Nama alat yang digunakan untuk pemindaian kode. (string, opsional)
person Konteks
  • get_me - Dapatkan profil pengguna saya

    • Tidak ada parameter yang diperlukan
  • get_team_members - Dapatkan anggota tim

    • Cakupan OAuth yang Diperlukan: read:org
    • Cakupan OAuth yang Diterima: admin:org, read:org, write:org
    • org: Login organisasi (pemilik) yang berisi tim. (string, wajib)
    • team_slug: Slug tim (string, wajib)
  • get_teams - Dapatkan tim

    • Cakupan OAuth yang Diperlukan: read:org
    • Cakupan OAuth yang Diterima: admin:org, read:org, write:org
    • user: Nama pengguna untuk mendapatkan tim. Jika tidak disediakan, menggunakan pengguna yang terautentikasi. (string, opsional)
copilot Copilot
  • assign_copilot_to_issue - Tetapkan Copilot ke isu

    • Cakupan OAuth yang Diperlukan: repo
    • base_ref: Referensi Git (mis., cabang) tempat agen akan memulai pekerjaannya. Jika tidak ditentukan, default ke cabang default repositori (string, opsional)
    • custom_instructions: Instruksi kustom opsional untuk memandu agen di luar isi isu. Gunakan ini untuk memberikan konteks, batasan, atau panduan tambahan yang tidak tercakup dalam deskripsi isu (string, opsional)
    • issue_number: Nomor isu (angka, wajib)
    • owner: Pemilik repositori (string, wajib)
    • repo: Nama repositori (string, wajib)
  • request_copilot_review - Minta tinjauan Copilot

    • Cakupan OAuth yang Diperlukan: repo
    • owner: Pemilik repositori (string, wajib)
    • pullNumber: Nomor pull request (angka, wajib)
    • repo: Nama repositori (string, wajib)
dependabot Dependabot
  • get_dependabot_alert - Dapatkan peringatan dependabot

    • Cakupan OAuth yang Diperlukan: security_events
    • Cakupan OAuth yang Diterima: repo, security_events
    • alertNumber: Nomor peringatan. (angka, wajib)
    • owner: Pemilik repositori. (string, wajib)
    • repo: Nama repositori. (string, wajib)
  • list_dependabot_alerts - Daftar peringatan dependabot

    • Cakupan OAuth yang Diperlukan: security_events
    • Cakupan OAuth yang Diterima: repo, security_events
    • after: Kursor untuk paginasi. Gunakan kursor dari respons sebelumnya. (string, opsional)
    • owner: Pemilik repositori. (string, wajib)
    • perPage: Hasil per halaman untuk paginasi (min 1, maks 100) (angka, opsional)
    • repo: Nama repositori. (string, wajib)
    • severity: Filter peringatan dependabot berdasarkan tingkat keparahan (string, opsional)
    • state: Filter peringatan dependabot berdasarkan status. Default ke terbuka (string, opsional)
comment-discussion Diskusi
  • discussion_comment_write - Kelola komentar diskusi

    • Cakupan OAuth yang Diperlukan: repo
    • body: Konten komentar (wajib untuk metode 'add', 'reply', dan 'update') (string, opsional)
    • commentNodeID: ID Node dari komentar diskusi (wajib untuk metode 'reply', 'update', 'delete', 'mark_answer', dan 'unmark_answer'). Untuk 'reply', ini adalah komentar tingkat atas yang akan dibalas; Diskusi GitHub hanya mendukung satu tingkat penyarangan. (string, opsional)
    • discussionNumber: Nomor diskusi (wajib untuk metode 'add' dan 'reply') (angka, opsional)
    • method: Operasi tulis yang akan dilakukan pada komentar diskusi. Pilihannya adalah:
      • 'add' - menambahkan komentar tingkat atas baru ke diskusi.
      • 'reply' - membalas komentar diskusi tingkat atas (Diskusi GitHub hanya mendukung satu tingkat penyarangan).
      • 'update' - memperbarui komentar diskusi yang ada.
      • 'delete' - menghapus komentar diskusi.
      • 'mark_answer' - menandai komentar diskusi sebagai jawaban (hanya T&J).
      • 'unmark_answer' - menghapus tanda komentar diskusi sebagai jawaban (hanya T&J). (string, wajib)
    • owner: Pemilik repositori (wajib untuk metode 'add' dan 'reply') (string, opsional)
    • repo: Nama repositori (wajib untuk metode 'add' dan 'reply') (string, opsional)
  • get_discussion - Dapatkan diskusi

    • Cakupan OAuth yang Diperlukan: repo
    • discussionNumber: Nomor Diskusi (angka, wajib)
    • owner: Pemilik repositori (string, wajib)
    • repo: Nama repositori (string, wajib)
  • get_discussion_comments - Dapatkan komentar diskusi

    • Cakupan OAuth yang Diperlukan: repo
    • after: Kursor untuk paginasi. Gunakan kursor dari respons sebelumnya. (string, opsional)
    • discussionNumber: Nomor Diskusi (angka, wajib)
    • includeReplies: Jika true, setiap komentar tingkat atas akan menyertakan balasannya yang tersarang di dalamnya (hingga 100 balasan per komentar, yang merupakan maksimum API GitHub). Default ke false. (boolean, opsional)
    • owner: Pemilik repositori (string, wajib)
    • perPage: Hasil per halaman untuk paginasi (min 1, maks 100) (angka, opsional)
    • repo: Nama repositori (string, wajib)
  • list_discussion_categories - Daftar kategori diskusi

    • Cakupan OAuth yang Diperlukan: repo
    • owner: Pemilik repositori (string, wajib)
    • repo: Nama repositori. Jika tidak disediakan, kategori diskusi akan dikueri di tingkat organisasi. (string, opsional)
  • list_discussions - Daftar diskusi

    • Cakupan OAuth yang Diperlukan: repo
    • after: Kursor untuk paginasi. Gunakan kursor dari respons sebelumnya. (string, opsional)
    • category: Filter opsional berdasarkan ID kategori diskusi. Jika disediakan, hanya diskusi dengan kategori ini yang dicantumkan. (string, opsional)
    • direction: Arah urutan. (string, opsional)
    • orderBy: Urutkan diskusi berdasarkan bidang. Jika disediakan, 'direction' juga perlu disediakan. (string, opsional)
    • owner: Pemilik repositori (string, wajib)
    • perPage: Hasil per halaman untuk paginasi (min 1, maks 100) (angka, opsional)
    • repo: Nama repositori. Jika tidak disediakan, diskusi akan dikueri di tingkat organisasi. (string, opsional)
logo-gist Gists
  • create_gist - Buat Gist

    • Cakupan OAuth yang Diperlukan: gist
    • content: Konten untuk pembuatan gist file tunggal sederhana (string, wajib)
    • description: Deskripsi gist (string, opsional)
    • filename: Nama file untuk pembuatan gist file tunggal sederhana (string, wajib)
    • public: Apakah gist bersifat publik (boolean, opsional)
  • get_gist - Dapatkan Konten Gist

    • gist_id: ID gist (string, wajib)
  • list_gists - Daftar Gists

    • page: Nomor halaman untuk paginasi (min 1) (angka, opsional)
    • perPage: Hasil per halaman untuk paginasi (min 1, maks 100) (angka, opsional)
    • since: Hanya gist yang diperbarui setelah waktu ini (stempel waktu ISO 8601) (string, opsional)
    • username: Nama pengguna GitHub (hilangkan untuk gist pengguna yang terautentikasi) (string, opsional)
  • update_gist - Perbarui Gist

    • Cakupan OAuth yang Diperlukan: gist
    • content: Konten untuk file (string, wajib)
    • description: Deskripsi gist yang diperbarui (string, opsional)
    • filename: Nama file untuk diperbarui atau dibuat (string, wajib)
    • gist_id: ID gist yang akan diperbarui (string, wajib)
git-branch Git
  • get_repository_tree - Dapatkan pohon repositori
    • Cakupan OAuth yang Diperlukan: repo
    • owner: Pemilik repositori (nama pengguna atau organisasi) (string, wajib)
    • path_filter: Awalan jalur opsional untuk memfilter hasil pohon (mis., 'src/' untuk hanya menampilkan file di direktori src) (string, opsional)
    • recursive: Mengatur parameter ini ke true mengembalikan objek atau subpohon yang direferensikan oleh pohon. Default adalah false (boolean, opsional)
    • repo: Nama repositori (string, wajib)
    • tree_sha: Nilai SHA1 atau nama ref (cabang atau tag) dari pohon. Default ke cabang default repositori (string, opsional)
issue-opened Isu
  • add_issue_comment - Tambahkan komentar ke isu atau pull request

    • Cakupan OAuth yang Diperlukan: repo
    • body: Konten komentar. Wajib kecuali reaksi disediakan. (string, opsional)
    • comment_id: ID numerik dari komentar isu atau pull request untuk diberi reaksi. Gunakan ini untuk reaksi ke komentar; hilangkan untuk bereaksi ke isu atau pull request itu sendiri. Tidak dapat digabungkan dengan body. (angka, opsional)
    • issue_number: Nomor isu atau pull request untuk dikomentari atau diberi reaksi. (angka, wajib)
    • owner: Pemilik repositori (string, wajib)
    • reaction: Reaksi emoji untuk ditambahkan. Wajib kecuali body disediakan. (string, opsional)
    • repo: Nama repositori (string, wajib)
  • get_label - Dapatkan label tertentu dari repositori

    • Cakupan OAuth yang Diperlukan: repo
    • name: Nama label. (string, wajib)
    • owner: Pemilik repositori (nama pengguna atau nama organisasi) (string, wajib)
    • repo: Nama repositori (string, wajib)
  • issue_read - Dapatkan detail isu

    • Cakupan OAuth yang Diperlukan: repo
    • issue_number: Nomor isu (angka, wajib)
    • method: Operasi baca yang akan dilakukan pada satu isu. Pilihannya adalah:
      1. get - Dapatkan detail isu. Juga mengembalikan flag hierarki upaya terbaik (has_parent, has_children); parent dan sub_issues_summary adalah ringkasan hubungan opsional.
      2. get_comments - Dapatkan komentar isu.
      3. get_sub_issues - Dapatkan sub-isu (anak) dari isu.
      4. get_parent - Dapatkan isu induk, jika isu ini merupakan sub-isu dari isu lain.
      5. get_labels - Dapatkan label yang ditetapkan ke isu. (string, wajib)
    • owner: Pemilik repositori (string, wajib)
    • page: Nomor halaman untuk paginasi (min 1) (angka, opsional)
    • perPage: Hasil per halaman untuk paginasi (min 1, maks 100) (angka, opsional)
    • repo: Nama repositori (string, wajib)
  • issue_write - Buat atau perbarui isu/pull request

    • Cakupan OAuth yang Diperlukan: repo
    • assignees: Nama pengguna yang akan ditugaskan ke isu ini (string[], opsional)
    • body: Konten isi isu (string, opsional)
    • duplicate_of: Nomor isu yang merupakan duplikat dari isu ini. Hanya digunakan jika state_reason adalah 'duplicate'. (angka, opsional)
    • issue_fields: Nilai bidang isu yang akan diatur atau dihapus. Setiap item memerlukan 'field_name' dan tepat salah satu dari 'value', 'field_option_name', atau 'delete: true'. (object[], opsional)
    • issue_number: Nomor isu yang akan diperbarui (angka, opsional)
    • labels: Label yang akan diterapkan ke isu ini (string[], opsional)
    • method: Operasi tulis yang akan dilakukan pada satu isu. Pilihannya adalah:
      • 'create' - membuat isu baru.
      • 'update' - memperbarui isu yang sudah ada. (string, wajib)
    • milestone: Nomor milestone (angka, opsional)
    • owner: Pemilik repositori (string, wajib)
    • repo: Nama repositori (string, wajib)
    • state: Status baru (string, opsional)
    • state_reason: Alasan perubahan status. Diabaikan kecuali status diubah. (string, opsional)
    • title: Judul isu (string, opsional)
    • type: Tipe isu ini. Hanya gunakan jika tipe isu diaktifkan untuk repositori ini. Gunakan alat list_issue_types untuk mendapatkan nilai tipe yang valid untuk repositori ini atau organisasi pemiliknya. Jika repositori tidak mendukung tipe isu, abaikan parameter ini. (string, opsional)
  • list_issue_fields - Daftar bidang isu

    • Cakupan OAuth yang Diperlukan (salah satu dari): repo, read:org
    • Cakupan OAuth yang Diterima: admin:org, read:org, repo, write:org
    • owner: Pemilik akun repositori atau organisasi. Nama tidak peka huruf besar/kecil. (string, wajib)
    • repo: Nama repositori. Jika disediakan, mengembalikan bidang untuk repositori spesifik ini (diwarisi dari organisasinya). Jika dihilangkan, mengembalikan bidang tingkat organisasi secara langsung. (string, opsional)
  • list_issue_types - Daftar tipe isu yang tersedia

    • Cakupan OAuth yang Diperlukan (salah satu dari): repo, read:org
    • Cakupan OAuth yang Diterima: admin:org, read:org, repo, write:org
    • owner: Pemilik akun repositori atau organisasi. (string, wajib)
    • repo: Nama repositori. Jika disediakan, mengembalikan tipe isu untuk repositori spesifik ini. Jika dihilangkan, mengembalikan tipe isu tingkat organisasi secara langsung. (string, opsional)
  • list_issues - Daftar isu

    • Cakupan OAuth yang Diperlukan: repo
    • after: Kursor untuk paginasi. Gunakan kursor dari respons sebelumnya. (string, opsional)
    • direction: Arah urutan. Jika disediakan, 'orderBy' juga perlu disediakan. (string, opsional)
    • field_filters: Filter berdasarkan nilai bidang isu kustom. Setiap entri mengambil field_name dan value; server mencari bidang dan memaksa nilainya ke tipenya (nama opsi pilihan tunggal, teks, angka, atau tanggal YYYY-MM-DD). (object[], opsional)
    • labels: Filter berdasarkan label (string[], opsional)
    • orderBy: Urutkan isu berdasarkan bidang. Jika disediakan, 'direction' juga perlu disediakan. (string, opsional)
    • owner: Pemilik repositori (string, wajib)
    • perPage: Hasil per halaman untuk paginasi (min 1, maks 100) (angka, opsional)
    • repo: Nama repositori (string, wajib)
    • since: Filter berdasarkan tanggal (stempel waktu ISO 8601) (string, opsional)
    • state: Filter berdasarkan status, secara default isu terbuka dan tertutup dikembalikan jika tidak disediakan (string, opsional)
  • search_issues - Cari isu

    • Cakupan OAuth yang Diperlukan: repo
    • order: Urutan pengurutan (string, opsional)
    • owner: Pemilik repositori opsional. Jika disediakan dengan repo, hanya isu untuk repositori ini yang dicantumkan. (string, opsional)
    • page: Nomor halaman untuk paginasi (min 1) (angka, opsional)
    • perPage: Hasil per halaman untuk paginasi (min 1, maks 100) (angka, opsional)
    • query: Kueri pencarian menggunakan sintaks pencarian isu GitHub (string, wajib)
    • repo: Nama repositori opsional. Jika disediakan dengan pemilik, hanya isu untuk repositori ini yang dicantumkan. (string, opsional)
    • sort: Urutkan bidang berdasarkan jumlah kecocokan kategori, default ke kecocokan terbaik (string, opsional)
  • sub_issue_write - Ubah sub-isu

    • Cakupan OAuth yang Diperlukan: repo
    • after_id: ID sub-isu yang akan diprioritaskan setelahnya (baik after_id ATAU before_id harus ditentukan) (angka, opsional)
    • before_id: ID sub-isu yang akan diprioritaskan sebelumnya (baik after_id ATAU before_id harus ditentukan) (angka, opsional)
    • issue_number: Nomor isu induk (angka, wajib)
    • method: Tindakan yang akan dilakukan pada satu sub-isu Pilihannya adalah:
      • 'add' - tambahkan sub-isu ke isu induk di repositori GitHub.
      • 'remove' - hapus sub-isu dari isu induk di repositori GitHub.
      • 'reprioritize' - ubah urutan sub-isu dalam isu induk di repositori GitHub. Gunakan 'after_id' atau 'before_id' untuk menentukan posisi baru. Menulis hierarki isu. Untuk memindahkan sub-isu ke induk baru, gunakan add dengan replace_parent=true; tidak ada bidang induk yang dapat ditulis. (string, wajib)
    • owner: Pemilik repositori (string, wajib)
    • replace_parent: Jika true, mengganti isu induk sub-isu saat ini. Hanya gunakan dengan metode 'add'. (boolean, opsional)
    • repo: Nama repositori (string, wajib)
    • sub_issue_id: ID sub-isu yang akan ditambahkan. ID tidak sama dengan nomor isu (angka, wajib)
tag Label
  • get_label - Dapatkan label tertentu dari repositori

    • Cakupan OAuth yang Diperlukan: repo
    • name: Nama label. (string, wajib)
    • owner: Pemilik repositori (nama pengguna atau nama organisasi) (string, wajib)
    • repo: Nama repositori (string, wajib)
  • label_write - Operasi tulis pada label repositori

    • Cakupan OAuth yang Diperlukan: repo
    • color: Warna label sebagai kode hex 6 karakter tanpa awalan '#' (mis., 'f29513'). Wajib untuk 'create', opsional untuk 'update'. (string, opsional)
    • description: Teks deskripsi label. Opsional untuk 'create' dan 'update'. (string, opsional)
    • method: Operasi yang akan dilakukan: 'create', 'update', atau 'delete' (string, wajib)
    • name: Nama label - wajib untuk semua operasi (string, wajib)
    • new_name: Nama baru untuk label (hanya digunakan dengan metode 'update' untuk mengganti nama) (string, opsional)
    • owner: Pemilik repositori (nama pengguna atau nama organisasi) (string, wajib)
    • repo: Nama repositori (string, wajib)
  • list_label - Daftar label dari repositori

    • Cakupan OAuth yang Diperlukan: repo
    • owner: Pemilik repositori (nama pengguna atau nama organisasi) - wajib untuk semua operasi (string, wajib)
    • repo: Nama repositori - wajib untuk semua operasi (string, wajib)
bell Notifikasi
  • dismiss_notification - Abaikan notifikasi

    • Cakupan OAuth yang Diperlukan: notifications
    • state: Status baru notifikasi (read/done) (string, wajib)
    • threadID: ID utas notifikasi (string, wajib)
  • get_notification_details - Dapatkan detail notifikasi

    • Cakupan OAuth yang Diperlukan: notifications
    • notificationID: ID notifikasi (string, wajib)
  • list_notifications - Daftar notifikasi

    • Cakupan OAuth yang Diperlukan: notifications
    • before: Hanya tampilkan notifikasi yang diperbarui sebelum waktu yang diberikan (format ISO 8601) (string, opsional)
    • filter: Filter notifikasi ke, gunakan default kecuali ditentukan. Notifikasi yang sudah dibaca adalah yang telah diakui oleh pengguna. Notifikasi partisipasi adalah yang melibatkan pengguna secara langsung, seperti isu atau pull request yang mereka komentari atau buat. (string, opsional)
    • owner: Pemilik repositori opsional. Jika disediakan dengan repo, hanya notifikasi untuk repositori ini yang dicantumkan. (string, opsional)
    • page: Nomor halaman untuk paginasi (min 1) (angka, opsional)
    • perPage: Hasil per halaman untuk paginasi (min 1, maks 100) (angka, opsional)
    • repo: Nama repositori opsional. Jika disediakan dengan pemilik, hanya notifikasi untuk repositori ini yang dicantumkan. (string, opsional)
    • since: Hanya tampilkan notifikasi yang diperbarui setelah waktu yang diberikan (format ISO 8601) (string, opsional)
  • manage_notification_subscription - Kelola langganan notifikasi

    • Cakupan OAuth yang Diperlukan: notifications
    • action: Tindakan yang akan dilakukan: ignore, watch, atau delete langganan notifikasi. (string, wajib)
    • notificationID: ID utas notifikasi. (string, wajib)
  • manage_repository_notification_subscription - Kelola langganan notifikasi repositori

    • Cakupan OAuth yang Diperlukan: notifications
    • action: Tindakan yang akan dilakukan: ignore, watch, atau delete langganan notifikasi repositori. (string, wajib)
    • owner: Pemilik akun repositori. (string, wajib)
    • repo: Nama repositori. (string, wajib)
  • mark_all_notifications_read - Tandai semua notifikasi sebagai telah dibaca

    • Cakupan OAuth yang Diperlukan: notifications
    • lastReadAt: Menjelaskan titik terakhir notifikasi diperiksa (opsional). Default: Sekarang (string, opsional)
    • owner: Pemilik repositori opsional. Jika disediakan dengan repo, hanya notifikasi untuk repositori ini yang ditandai sebagai telah dibaca. (string, opsional)
    • repo: Nama repositori opsional. Jika disediakan dengan pemilik, hanya notifikasi untuk repositori ini yang ditandai sebagai telah dibaca. (string, opsional)
organization Organisasi
  • search_orgs - Cari organisasi
    • Cakupan OAuth yang Diperlukan: read:org
    • Cakupan OAuth yang Diterima: admin:org, read:org, write:org
    • order: Urutan pengurutan (string, opsional)
    • page: Nomor halaman untuk paginasi (min 1) (number, opsional)
    • perPage: Hasil per halaman untuk paginasi (min 1, maks 100) (number, opsional)
    • query: Kueri pencarian organisasi. Contoh: 'microsoft', 'location:california', 'created:>=2025-01-01'. Pencarian secara otomatis dibatasi ke type:org. (string, diperlukan)
    • sort: Urutkan bidang berdasarkan kategori (string, opsional)
project Proyek
  • projects_get - Dapatkan detail sumber daya GitHub Projects

    • Cakupan OAuth yang Diperlukan: read:project
    • Cakupan OAuth yang Diterima: project, read:project
    • field_id: ID bidang. Diperlukan untuk metode 'get_project_field'. (number, opsional)
    • field_names: Daftar spesifik nama bidang untuk disertakan dalam respons saat mendapatkan item proyek (mis. ["Status", "Priority"]). Diselesaikan di sisi server menjadi ID bidang — gunakan ini alih-alih 'fields' jika Anda hanya mengetahui nama yang dapat dibaca manusia. Saling eksklusif dengan 'fields' — berikan salah satu, jangan keduanya. Hanya digunakan untuk metode 'get_project_item'. (string[], opsional)
    • fields: Daftar spesifik ID bidang untuk disertakan dalam respons saat mendapatkan item proyek (mis. ["102589", "985201", "169875"]). Jika 'fields' maupun 'field_names' tidak disediakan, hanya bidang judul yang disertakan. Saling eksklusif dengan 'field_names' — berikan salah satu, jangan keduanya. Hanya digunakan untuk metode 'get_project_item'. (string[], opsional)
    • item_id: ID item. Diperlukan untuk metode 'get_project_item'. (number, opsional)
    • method: Metode yang akan dieksekusi (string, diperlukan)
    • owner: Pemilik (login pengguna atau organisasi). Nama tidak peka huruf besar/kecil. (string, opsional)
    • owner_type: Tipe pemilik (pengguna atau org). Jika tidak disediakan, akan terdeteksi secara otomatis. (string, opsional)
    • project_number: Nomor proyek. (number, opsional)
    • status_update_id: ID node dari pembaruan status proyek. Diperlukan untuk metode 'get_project_status_update'. (string, opsional)
  • projects_list - Daftar sumber daya GitHub Projects

    • Cakupan OAuth yang Diperlukan: read:project
    • Cakupan OAuth yang Diterima: project, read:project
    • after: Kursor paginasi maju dari pageInfo.nextCursor sebelumnya. (string, opsional)
    • before: Kursor paginasi mundur dari pageInfo.prevCursor sebelumnya (jarang). (string, opsional)
    • field_names: Nama bidang untuk disertakan saat mendaftar item proyek (mis. ["Status", "Priority"]). Diselesaikan di sisi server menjadi ID bidang — gunakan ini alih-alih 'fields' jika Anda hanya mengetahui nama yang dapat dibaca manusia. Nama yang gagal diselesaikan akan mengembalikan kesalahan terstruktur. Saling eksklusif dengan 'fields' — berikan salah satu, jangan keduanya. Hanya digunakan untuk metode 'list_project_items'. (string[], opsional)
    • fields: ID bidang untuk disertakan saat mendaftar item proyek (mis. ["102589", "985201"]). PENTING: Selalu berikan untuk mendapatkan nilai bidang. Tanpa ini (dan tanpa 'field_names'), hanya judul yang dikembalikan. Saling eksklusif dengan 'field_names' — berikan salah satu, jangan keduanya. Hanya digunakan untuk metode 'list_project_items'. (string[], opsional)
    • method: Tindakan yang akan dilakukan (string, diperlukan)
    • owner: Pemilik (login pengguna atau organisasi). Nama tidak peka huruf besar/kecil. (string, diperlukan)
    • owner_type: Tipe pemilik (pengguna atau org). Jika tidak disediakan, akan otomatis mencoba keduanya. (string, opsional)
    • per_page: Hasil per halaman (maks 50) (number, opsional)
    • project_number: Nomor proyek. Diperlukan untuk metode 'list_project_fields', 'list_project_items', dan 'list_project_status_updates'. (number, opsional)
    • query: String filter/kueri. Untuk list_projects: filter berdasarkan teks judul dan status (mis. "roadmap is:open"). Untuk list_project_items: pemfilteran lanjutan menggunakan sintaks pemfilteran proyek GitHub. (string, opsional)
  • projects_write - Kelola GitHub Projects

    • Cakupan OAuth yang Diperlukan: project
    • body: Isi pembaruan status (markdown). Digunakan untuk metode 'create_project_status_update'. (string, opsional)
    • field_name: Nama bidang iterasi (mis. 'Sprint'). Diperlukan untuk metode 'create_iteration_field'. (string, opsional)
    • issue_number: Nomor isu. Diperlukan untuk 'add_project_item' saat item_type adalah 'issue'. Juga diterima oleh 'update_project_item' untuk menyelesaikan item berdasarkan nomor isu (gabungkan dengan item_owner dan item_repo). (number, opsional)
    • item_id: ID item proyek. Diperlukan untuk 'delete_project_item'. Untuk 'update_project_item', berikan salah satu item_id, atau (item_owner + item_repo + issue_number) untuk menyelesaikan item berdasarkan isu. (number, opsional)
    • item_owner: Pemilik (pengguna atau organisasi) repositori yang berisi isu atau pull request. Diperlukan untuk metode 'add_project_item'. Juga diterima oleh 'update_project_item' saat menyelesaikan item berdasarkan nomor isu. (string, opsional)
    • item_repo: Nama repositori yang berisi isu atau pull request. Diperlukan untuk metode 'add_project_item'. Juga diterima oleh 'update_project_item' saat menyelesaikan item berdasarkan nomor isu. (string, opsional)
    • item_type: Tipe item, baik issue atau pull_request. Diperlukan untuk metode 'add_project_item'. (string, opsional)
    • iteration_duration: Durasi dalam hari untuk iterasi bidang (mis. 7 untuk mingguan, 14 untuk dua mingguan). Diperlukan untuk metode 'create_iteration_field'. (number, opsional)
    • iterations: Iterasi kustom untuk metode 'create_iteration_field'. Hanya atur ini jika Anda memerlukan iterasi dengan durasi yang bervariasi, jeda di antaranya, atau judul spesifik. Jika tidak, abaikan: GitHub secara otomatis membuat tiga iterasi selama 'iteration_duration' hari dimulai pada 'start_date', yang merupakan pilihan tepat untuk sebagian besar kasus. (object[], opsional)
    • method: Metode yang akan dieksekusi (string, diperlukan)
    • owner: Pemilik proyek (login pengguna atau organisasi). Nama tidak peka huruf besar/kecil. (string, diperlukan)
    • owner_type: Tipe pemilik (pengguna atau org). Diperlukan untuk metode 'create_project'. Jika tidak disediakan untuk metode lain, akan terdeteksi secara otomatis. (string, opsional)
    • project_number: Nomor proyek. Diperlukan untuk semua metode kecuali 'create_project'. (number, opsional)
    • pull_request_number: Nomor pull request (gunakan saat item_type adalah 'pull_request' untuk metode 'add_project_item'). Berikan salah satu issue_number atau pull_request_number. (number, opsional)
    • start_date: Tanggal mulai dalam format YYYY-MM-DD. Digunakan untuk metode 'create_project_status_update' dan 'create_iteration_field'. (string, opsional)
    • status: Status proyek. Digunakan untuk metode 'create_project_status_update'. (string, opsional)
    • target_date: Tanggal target pembaruan status dalam format YYYY-MM-DD. Digunakan untuk metode 'create_project_status_update'. (string, opsional)
    • title: Judul proyek. Diperlukan untuk metode 'create_project'. (string, opsional)
    • updated_field: Objek yang menjelaskan bidang yang akan diperbarui dan nilai barunya. Diperlukan untuk 'update_project_item'. Dua bentuk diterima: (1) berdasarkan ID — {"id": 123456, "value": "..."}; (2) berdasarkan nama — {"name": "Status", "value": "In Progress"}. Untuk bidang pilihan tunggal, resolusi nama opsi memerlukan bentuk berdasarkan nama; pada bentuk berdasarkan ID, berikan ID opsi. Atur value ke null untuk menghapus bidang. (object, opsional)
git-pull-request Pull Request
  • add_comment_to_pending_review - Tambahkan komentar tinjauan ke tinjauan pull request tertunda terbaru pemohon

    • Cakupan OAuth yang Diperlukan: repo
    • body: Teks komentar tinjauan (string, diperlukan)
    • line: Baris blob dalam diff pull request yang berlaku untuk komentar. Untuk komentar multi-baris, baris terakhir dari rentang (number, opsional)
    • owner: Pemilik repositori (string, diperlukan)
    • path: Jalur relatif ke file yang memerlukan komentar (string, diperlukan)
    • pullNumber: Nomor pull request (number, diperlukan)
    • repo: Nama repositori (string, diperlukan)
    • side: Sisi diff yang akan dikomentari. LEFT menunjukkan status sebelumnya, RIGHT menunjukkan status baru (string, opsional)
    • startLine: Untuk komentar multi-baris, baris pertama dari rentang yang berlaku untuk komentar (number, opsional)
    • startSide: Untuk komentar multi-baris, sisi awal diff yang berlaku untuk komentar. LEFT menunjukkan status sebelumnya, RIGHT menunjukkan status baru (string, opsional)
    • subjectType: Tingkat di mana komentar ditargetkan (string, diperlukan)
  • add_reply_to_pull_request_comment - Tambahkan balasan ke komentar pull request

    • Cakupan OAuth yang Diperlukan: repo
    • body: Teks balasan. Diperlukan kecuali reaksi disediakan. (string, opsional)
    • commentId: ID numerik komentar tinjauan pull request yang akan dibalas atau diberi reaksi. Gunakan nomor dari anchor #discussion_r..., bukan ID node utas GraphQL (PRRT_...). (number, diperlukan)
    • owner: Pemilik repositori (string, diperlukan)
    • pullNumber: Nomor pull request. Diperlukan saat body disediakan. (number, opsional)
    • reaction: Reaksi emoji yang akan ditambahkan. Diperlukan kecuali body disediakan. (string, opsional)
    • repo: Nama repositori (string, diperlukan)
  • create_pull_request - Buka pull request baru

    • Cakupan OAuth yang Diperlukan: repo
    • base: Cabang tujuan penggabungan (string, diperlukan)
    • body: Deskripsi PR (string, opsional)
    • draft: Buat sebagai PR draf (boolean, opsional)
    • head: Cabang yang berisi perubahan (string, diperlukan)
    • maintainer_can_modify: Izinkan pengelola mengedit (boolean, opsional)
    • owner: Pemilik repositori (string, diperlukan)
    • repo: Nama repositori (string, diperlukan)
    • reviewers: Nama pengguna GitHub atau slug tim ORG/tim untuk meminta tinjauan (string[], opsional)
    • title: Judul PR (string, diperlukan)
  • list_pull_requests - Daftar pull request

    • Cakupan OAuth yang Diperlukan: repo
    • base: Filter berdasarkan cabang dasar (string, opsional)
    • direction: Arah pengurutan (string, opsional)
    • head: Filter berdasarkan pengguna/org kepala dan cabang (string, opsional)
    • owner: Pemilik repositori (string, diperlukan)
    • page: Nomor halaman untuk paginasi (min 1) (number, opsional)
    • perPage: Hasil per halaman untuk paginasi (min 1, maks 100) (number, opsional)
    • repo: Nama repositori (string, diperlukan)
    • sort: Urutkan berdasarkan (string, opsional)
    • state: Filter berdasarkan status (string, opsional)
  • merge_pull_request - Gabungkan pull request

    • Cakupan OAuth yang Diperlukan: repo
    • commit_message: Detail tambahan untuk komit penggabungan (string, opsional)
    • commit_title: Judul untuk komit penggabungan (string, opsional)
    • merge_method: Metode penggabungan (string, opsional)
    • owner: Pemilik repositori (string, diperlukan)
    • pullNumber: Nomor pull request (number, diperlukan)
    • repo: Nama repositori (string, diperlukan)
  • pull_request_read - Dapatkan detail untuk satu pull request

    • Ruang Lingkup OAuth yang Diperlukan: repo
    • after: Kursor untuk paginasi, hanya digunakan oleh metode get_review_comments. Berikan endCursor dari PageInfo halaman sebelumnya untuk mengambil halaman berikutnya. (string, opsional)
    • method: Tindakan untuk menentukan data pull request apa yang perlu diambil dari GitHub. Opsi yang mungkin:
      1. get - Dapatkan detail pull request tertentu.
      2. get_diff - Dapatkan diff dari pull request.
      3. get_status - Dapatkan status commit gabungan dari commit kepala di pull request.
      4. get_files - Dapatkan daftar file yang diubah di pull request. Gunakan dengan parameter paginasi untuk mengontrol jumlah hasil yang dikembalikan.
      5. get_commits - Dapatkan daftar commit di pull request. Gunakan dengan parameter paginasi untuk mengontrol jumlah hasil yang dikembalikan.
      6. get_review_comments - Dapatkan utas review di pull request. Setiap utas berisi komentar review yang dikelompokkan secara logis yang dibuat di lokasi kode yang sama selama review pull request. Mengembalikan utas dengan metadata (isResolved, isOutdated, isCollapsed) dan komentar terkaitnya. Gunakan paginasi berbasis kursor (perPage, after) untuk mengontrol hasil.
      7. get_reviews - Dapatkan review di pull request. Saat diminta komentar review, gunakan metode get_review_comments. Gunakan dengan parameter paginasi untuk mengontrol jumlah hasil yang dikembalikan.
      8. get_comments - Dapatkan komentar di pull request. Gunakan ini jika pengguna tidak secara spesifik menginginkan komentar review. Gunakan dengan parameter paginasi untuk mengontrol jumlah hasil yang dikembalikan.
      9. get_check_runs - Dapatkan check runs untuk commit kepala dari pull request. Check runs adalah pekerjaan dan pemeriksaan CI/CD individual yang berjalan di PR. (string, diperlukan)
    • owner: Pemilik repositori (string, diperlukan)
    • page: Nomor halaman untuk paginasi (min 1) (number, opsional)
    • perPage: Hasil per halaman untuk paginasi (min 1, maks 100) (number, opsional)
    • pullNumber: Nomor pull request (number, diperlukan)
    • repo: Nama repositori (string, diperlukan)
  • pull_request_review_write - Operasi tulis (buat, kirim, hapus) pada review pull request

    • Ruang Lingkup OAuth yang Diperlukan: repo
    • body: Teks komentar review (string, opsional)
    • commitID: SHA dari commit yang akan direview (string, opsional)
    • event: Tindakan review yang akan dilakukan. (string, opsional)
    • method: Operasi tulis yang akan dilakukan pada review pull request. (string, diperlukan)
    • owner: Pemilik repositori (string, diperlukan)
    • pullNumber: Nomor pull request (number, diperlukan)
    • repo: Nama repositori (string, diperlukan)
    • threadId: ID node dari utas review (misalnya, PRRT_kwDOxxx). Diperlukan untuk metode resolve_thread dan unresolve_thread. Dapatkan ID utas dari pull_request_read dengan metode get_review_comments. (string, opsional)
  • search_pull_requests - Cari pull request

    • Ruang Lingkup OAuth yang Diperlukan: repo
    • order: Urutan pengurutan (string, opsional)
    • owner: Pemilik repositori opsional. Jika diberikan bersama repo, hanya pull request untuk repositori ini yang dicantumkan. (string, opsional)
    • page: Nomor halaman untuk paginasi (min 1) (number, opsional)
    • perPage: Hasil per halaman untuk paginasi (min 1, maks 100) (number, opsional)
    • query: Kueri pencarian menggunakan sintaks pencarian pull request GitHub (string, diperlukan)
    • repo: Nama repositori opsional. Jika diberikan bersama pemilik, hanya pull request untuk repositori ini yang dicantumkan. (string, opsional)
    • sort: Bidang pengurutan berdasarkan jumlah kecocokan kategori, default ke kecocokan terbaik (string, opsional)
  • update_pull_request - Edit pull request

    • Ruang Lingkup OAuth yang Diperlukan: repo
    • base: Nama cabang dasar baru (string, opsional)
    • body: Deskripsi baru (string, opsional)
    • draft: Tandai pull request sebagai draft (true) atau siap untuk direview (false) (boolean, opsional)
    • maintainer_can_modify: Izinkan pengeditan oleh pengelola (boolean, opsional)
    • owner: Pemilik repositori (string, diperlukan)
    • pullNumber: Nomor pull request yang akan diperbarui (number, diperlukan)
    • repo: Nama repositori (string, diperlukan)
    • reviewers: Nama pengguna GitHub atau tim ORG/team-slug untuk dimintai review (string[], opsional)
    • state: Status baru (string, opsional)
    • title: Judul baru (string, opsional)
  • update_pull_request_branch - Perbarui cabang pull request

    • Ruang Lingkup OAuth yang Diperlukan: repo
    • expectedHeadSha: SHA yang diharapkan dari referensi HEAD pull request (string, opsional)
    • owner: Pemilik repositori (string, diperlukan)
    • pullNumber: Nomor pull request (number, diperlukan)
    • repo: Nama repositori (string, diperlukan)
repo Repositori
  • create_branch - Buat cabang

    • Ruang Lingkup OAuth yang Diperlukan: repo
    • branch: Nama untuk cabang baru (string, diperlukan)
    • from_branch: Cabang sumber (default ke default repositori) (string, opsional)
    • owner: Pemilik repositori (string, diperlukan)
    • repo: Nama repositori (string, diperlukan)
  • create_or_update_file - Buat atau perbarui file

    • Ruang Lingkup OAuth yang Diperlukan: repo
    • branch: Cabang untuk membuat/memperbarui file (string, diperlukan)
    • content: Konten file (string, diperlukan)
    • message: Pesan commit (string, diperlukan)
    • owner: Pemilik repositori (nama pengguna atau organisasi) (string, diperlukan)
    • path: Jalur tempat membuat/memperbarui file (string, diperlukan)
    • repo: Nama repositori (string, diperlukan)
    • sha: SHA blob dari file yang diganti. Diperlukan jika file sudah ada. (string, opsional)
  • create_repository - Buat repositori

    • Ruang Lingkup OAuth yang Diperlukan: repo
    • autoInit: Inisialisasi dengan README (boolean, opsional)
    • description: Deskripsi repositori (string, opsional)
    • name: Nama repositori (string, diperlukan)
    • organization: Organisasi untuk membuat repositori (hilangkan untuk membuat di akun pribadi Anda) (string, opsional)
    • private: Apakah repositori harus bersifat privat. Default ke true (privat) jika dihilangkan. (boolean, opsional)
  • delete_file - Hapus file

    • Ruang Lingkup OAuth yang Diperlukan: repo
    • branch: Cabang untuk menghapus file (string, diperlukan)
    • message: Pesan commit (string, diperlukan)
    • owner: Pemilik repositori (nama pengguna atau organisasi) (string, diperlukan)
    • path: Jalur ke file yang akan dihapus (string, diperlukan)
    • repo: Nama repositori (string, diperlukan)
  • fork_repository - Fork repositori

    • Ruang Lingkup OAuth yang Diperlukan: repo
    • organization: Organisasi tujuan fork (string, opsional)
    • owner: Pemilik repositori (string, diperlukan)
    • repo: Nama repositori (string, diperlukan)
  • get_commit - Dapatkan detail commit

    • Ruang Lingkup OAuth yang Diperlukan: repo
    • detail: Tingkat detail yang disertakan untuk file yang diubah. "none" menghilangkan statistik dan file sepenuhnya. "stats" (default) menyertakan metadata per file: nama file, status, dan jumlah baris kode (penambahan, penghapusan, perubahan), tanpa konten patch. "full_patch" juga menyertakan konten diff terpadu untuk setiap file dan bisa sangat besar. (string, opsional)
    • owner: Pemilik repositori (string, diperlukan)
    • page: Nomor halaman untuk paginasi (min 1) (number, opsional)
    • perPage: Hasil per halaman untuk paginasi (min 1, maks 100) (number, opsional)
    • repo: Nama repositori (string, diperlukan)
    • sha: SHA commit, nama cabang, atau nama tag (string, diperlukan)
  • get_file_contents - Dapatkan konten file atau direktori

    • Ruang Lingkup OAuth yang Diperlukan: repo
    • owner: Pemilik repositori (nama pengguna atau organisasi) (string, diperlukan)
    • path: Jalur ke file/direktori (string, opsional)
    • ref: Menerima referensi git opsional seperti refs/tags/{tag}, refs/heads/{branch} atau refs/pull/{pr_number}/head (string, opsional)
    • repo: Nama repositori (string, diperlukan)
    • sha: Menerima SHA commit opsional. Jika ditentukan, akan digunakan alih-alih ref (string, opsional)
  • get_latest_release - Dapatkan rilis terbaru

    • Ruang Lingkup OAuth yang Diperlukan: repo
    • owner: Pemilik repositori (string, diperlukan)
    • repo: Nama repositori (string, diperlukan)
  • get_release_by_tag - Dapatkan rilis berdasarkan nama tag

    • Ruang Lingkup OAuth yang Diperlukan: repo
    • owner: Pemilik repositori (string, diperlukan)
    • repo: Nama repositori (string, diperlukan)
    • tag: Nama tag (misalnya, 'v1.0.0') (string, diperlukan)
  • get_tag - Dapatkan detail tag

    • Ruang Lingkup OAuth yang Diperlukan: repo
    • owner: Pemilik repositori (string, diperlukan)
    • repo: Nama repositori (string, diperlukan)
    • tag: Nama tag (string, diperlukan)
  • list_branches - Daftar cabang

    • Ruang Lingkup OAuth yang Diperlukan: repo
    • owner: Pemilik repositori (string, diperlukan)
    • page: Nomor halaman untuk paginasi (min 1) (number, opsional)
    • perPage: Hasil per halaman untuk paginasi (min 1, maks 100) (number, opsional)
    • repo: Nama repositori (string, diperlukan)
  • list_commits - Daftar commit

    • Ruang Lingkup OAuth yang Diperlukan: repo
    • author: Nama pengguna atau alamat email penulis untuk memfilter commit (string, opsional)
    • owner: Pemilik repositori (string, diperlukan)
    • page: Nomor halaman untuk paginasi (min 1) (number, opsional)
    • path: Hanya commit yang berisi jalur file ini yang akan dikembalikan (string, opsional)
    • perPage: Hasil per halaman untuk paginasi (min 1, maks 100) (number, opsional)
    • repo: Nama repositori (string, diperlukan)
    • sha: SHA commit, cabang, atau nama tag untuk mendaftarkan commit. Jika tidak disediakan, menggunakan cabang default repositori. Jika SHA commit disediakan, akan mendaftarkan commit hingga SHA tersebut. (string, opsional)
    • since: Hanya commit setelah tanggal ini yang akan dikembalikan (format ISO 8601: YYYY-MM-DDTHH:MM:SSZ atau YYYY-MM-DD) (string, opsional)
    • until: Hanya commit sebelum tanggal ini yang akan dikembalikan (format ISO 8601: YYYY-MM-DDTHH:MM:SSZ atau YYYY-MM-DD) (string, opsional)
  • list_releases - Daftar rilis

    • Ruang Lingkup OAuth yang Diperlukan: repo
    • owner: Pemilik repositori (string, diperlukan)
    • page: Nomor halaman untuk paginasi (min 1) (number, opsional)
    • perPage: Hasil per halaman untuk paginasi (min 1, maks 100) (number, opsional)
    • repo: Nama repositori (string, diperlukan)
  • list_repository_collaborators - Daftar kolaborator repositori

    • Ruang Lingkup OAuth yang Diperlukan: repo
    • affiliation: Filter berdasarkan afiliasi. Dapat berupa salah satu dari: 'outside' (kolaborator luar), 'direct' (semua dengan izin terlepas dari keanggotaan org), 'all' (semua kolaborator). Default: 'all' (string, opsional)
    • owner: Pemilik repositori (string, diperlukan)
    • page: Nomor halaman untuk paginasi (default 1, min 1) (number, opsional)
    • perPage: Hasil per halaman untuk paginasi (default 30, min 1, maks 100) (number, opsional)
    • repo: Nama repositori (string, diperlukan)
  • list_tags - Daftar tag

    • Cakupan OAuth yang Diperlukan: repo
    • owner: Pemilik repositori (string, wajib)
    • page: Nomor halaman untuk paginasi (min 1) (number, opsional)
    • perPage: Hasil per halaman untuk paginasi (min 1, maks 100) (number, opsional)
    • repo: Nama repositori (string, wajib)
  • push_files - Dorong file ke repositori

    • Cakupan OAuth yang Diperlukan: repo
    • branch: Cabang tujuan dorong (string, wajib)
    • files: Array objek file yang akan didorong, setiap objek dengan path (string) dan content (string) (object[], wajib)
    • message: Pesan komit (string, wajib)
    • owner: Pemilik repositori (string, wajib)
    • repo: Nama repositori (string, wajib)
  • search_code - Cari kode

    • Cakupan OAuth yang Diperlukan: repo
    • order: Urutan pengurutan hasil (string, opsional)
    • page: Nomor halaman untuk paginasi (min 1) (number, opsional)
    • perPage: Hasil per halaman untuk paginasi (min 1, maks 100) (number, opsional)
    • query: Kueri pencarian (REST pencarian kode GitHub). AND implisit antar istilah; mendukung OR, NOT, dan "quoted phrase" untuk pencocokan tepat. Kualifikasi: repo:owner/repo, org:, user:, language:, path:dir (pencocokan awalan), filename:exact.ext, extension:, in:file, in:path, size:, is:archived, is:fork. Maks 256 karakter. Contoh: WithContext language:go org:github; "package main" repo:o/r; func extension:go path:cmd repo:o/r; NOT TODO language:go repo:o/r. (string, wajib)
    • sort: Kolom pengurutan (hanya 'indexed') (string, opsional)
  • search_commits - Cari komit

    • Cakupan OAuth yang Diperlukan: repo
    • order: Urutan pengurutan (string, opsional)
    • page: Nomor halaman untuk paginasi (min 1) (number, opsional)
    • perPage: Hasil per halaman untuk paginasi (min 1, maks 100) (number, opsional)
    • query: Kueri pencarian komit (REST pencarian komit GitHub). Hanya mencari pesan komit pada cabang default. Lingkup pencarian dengan repo:owner/repo, org:, atau user: (kueri tanpa kualifikasi lingkup akan mencocokkan di seluruh GitHub dan biasanya bukan yang Anda inginkan). Kualifikasi lain: author:, committer:, author-name:, committer-name:, author-email:, committer-email:, author-date:, committer-date: (mendukung rentang >, <, >=, <=, dan YYYY-MM-DD..YYYY-MM-DD), merge:true|false, hash:, tree:, parent:, is:public. Contoh: repo:owner/repo fix panic; org:github author:defunkt committer-date:>=2024-01-01; "refactor cache" repo:o/r; hash:abc1234 repo:o/r. (string, wajib)
    • sort: Urutkan berdasarkan tanggal penulis atau komiter (default ke kecocokan terbaik) (string, opsional)
  • search_repositories - Cari repositori

    • Cakupan OAuth yang Diperlukan: repo
    • minimal_output: Kembalikan informasi repositori minimal (default: true). Jika false, mengembalikan objek repositori API GitHub lengkap. (boolean, opsional)
    • order: Urutan pengurutan (string, opsional)
    • page: Nomor halaman untuk paginasi (min 1) (number, opsional)
    • perPage: Hasil per halaman untuk paginasi (min 1, maks 100) (number, opsional)
    • query: Kueri pencarian repositori. Contoh: 'machine learning in:name stars:>1000 language:python', 'topic:react', 'user:facebook'. Mendukung sintaks pencarian lanjutan untuk penyaringan tepat. (string, wajib)
    • sort: Urutkan repositori berdasarkan kolom, default ke kecocokan terbaik (string, opsional)
shield-lock Perlindungan Rahasia
  • get_secret_scanning_alert - Dapatkan peringatan pemindaian rahasia

    • Cakupan OAuth yang Diperlukan: security_events
    • Cakupan OAuth yang Diterima: repo, security_events
    • alertNumber: Nomor peringatan. (number, wajib)
    • owner: Pemilik repositori. (string, wajib)
    • repo: Nama repositori. (string, wajib)
  • list_secret_scanning_alerts - Daftar peringatan pemindaian rahasia

    • Cakupan OAuth yang Diperlukan: security_events
    • Cakupan OAuth yang Diterima: repo, security_events
    • owner: Pemilik repositori. (string, wajib)
    • page: Nomor halaman untuk paginasi (min 1) (number, opsional)
    • perPage: Hasil per halaman untuk paginasi (min 1, maks 100) (number, opsional)
    • repo: Nama repositori. (string, wajib)
    • resolution: Filter berdasarkan resolusi (string, opsional)
    • secret_type: Daftar tipe rahasia yang dipisahkan koma untuk dikembalikan. Semua pola rahasia default dikembalikan. Untuk mengembalikan pola generik, berikan nama token di parameter. (string, opsional)
    • state: Filter berdasarkan status (string, opsional)
shield Advisory Keamanan
  • get_global_security_advisory - Dapatkan advisory keamanan global

    • Cakupan OAuth yang Diperlukan: security_events
    • Cakupan OAuth yang Diterima: repo, security_events
    • ghsaId: ID Advisory Keamanan GitHub (format: GHSA-xxxx-xxxx-xxxx). (string, wajib)
  • list_global_security_advisories - Daftar advisory keamanan global

    • Cakupan OAuth yang Diperlukan: security_events
    • Cakupan OAuth yang Diterima: repo, security_events
    • affects: Filter advisory berdasarkan paket atau versi yang terpengaruh (mis. "package1,package2@1.0.0"). (string, opsional)
    • cveId: Filter berdasarkan ID CVE. (string, opsional)
    • cwes: Filter berdasarkan ID Common Weakness Enumeration (mis. ["79", "284", "22"]). (string[], opsional)
    • ecosystem: Filter berdasarkan ekosistem paket. (string, opsional)
    • ghsaId: Filter berdasarkan ID Advisory Keamanan GitHub (format: GHSA-xxxx-xxxx-xxxx). (string, opsional)
    • isWithdrawn: Apakah hanya mengembalikan advisory yang ditarik. (boolean, opsional)
    • modified: Filter berdasarkan tanggal publikasi atau pembaruan atau rentang tanggal (tanggal atau rentang ISO 8601). (string, opsional)
    • published: Filter berdasarkan tanggal publikasi atau rentang tanggal (tanggal atau rentang ISO 8601). (string, opsional)
    • severity: Filter berdasarkan tingkat keparahan. (string, opsional)
    • type: Tipe advisory. (string, opsional)
    • updated: Filter berdasarkan tanggal pembaruan atau rentang tanggal (tanggal atau rentang ISO 8601). (string, opsional)
  • list_org_repository_security_advisories - Daftar advisory keamanan repositori organisasi

    • Cakupan OAuth yang Diperlukan: security_events
    • Cakupan OAuth yang Diterima: repo, security_events
    • direction: Arah pengurutan. (string, opsional)
    • org: Login organisasi. (string, wajib)
    • sort: Kolom pengurutan. (string, opsional)
    • state: Filter berdasarkan status advisory. (string, opsional)
  • list_repository_security_advisories - Daftar advisory keamanan repositori

    • Cakupan OAuth yang Diperlukan: security_events
    • Cakupan OAuth yang Diterima: repo, security_events
    • direction: Arah pengurutan. (string, opsional)
    • owner: Pemilik repositori. (string, wajib)
    • repo: Nama repositori. (string, wajib)
    • sort: Kolom pengurutan. (string, opsional)
    • state: Filter berdasarkan status advisory. (string, opsional)
star Pemberi Bintang
  • list_starred_repositories - Daftar repositori yang dibintangi

    • Cakupan OAuth yang Diperlukan: repo
    • direction: Arah pengurutan hasil. (string, opsional)
    • page: Nomor halaman untuk paginasi (min 1) (number, opsional)
    • perPage: Hasil per halaman untuk paginasi (min 1, maks 100) (number, opsional)
    • sort: Cara mengurutkan hasil. Bisa 'created' (kapan repositori dibintangi) atau 'updated' (kapan repositori terakhir didorong). (string, opsional)
    • username: Nama pengguna untuk mendaftar repositori yang dibintangi. Default ke pengguna yang terautentikasi. (string, opsional)
  • star_repository - Bintangi repositori

    • Cakupan OAuth yang Diperlukan: repo
    • owner: Pemilik repositori (string, wajib)
    • repo: Nama repositori (string, wajib)
  • unstar_repository - Hapus bintang repositori

    • Cakupan OAuth yang Diperlukan: repo
    • owner: Pemilik repositori (string, wajib)
    • repo: Nama repositori (string, wajib)
people Pengguna
  • search_users - Cari pengguna
    • Cakupan OAuth yang Diperlukan: repo
    • order: Urutan pengurutan (string, opsional)
    • page: Nomor halaman untuk paginasi (min 1) (number, opsional)
    • perPage: Hasil per halaman untuk paginasi (min 1, maks 100) (number, opsional)
    • query: Kueri pencarian pengguna. Contoh: 'john smith', 'location:seattle', 'followers:>100'. Pencarian otomatis dilingkup ke type:user. (string, wajib)
    • sort: Urutkan pengguna berdasarkan jumlah pengikut atau repositori, atau kapan orang tersebut bergabung dengan GitHub. (string, opsional)

Alat Tambahan di Server GitHub MCP Jarak Jauh

Copilot
  • create_pull_request_with_copilot - Lakukan tugas dengan agen pengkodean GitHub Copilot
    • owner: Pemilik repositori. Anda dapat menebak pemiliknya, tetapi konfirmasikan dengan pengguna sebelum melanjutkan. (string, wajib)
    • repo: Nama repositori. Anda dapat menebak nama repositori, tetapi konfirmasikan dengan pengguna sebelum melanjutkan. (string, wajib)
    • problem_statement: Deskripsi rinci tugas yang akan dilakukan (mis., 'Implementasikan fitur yang melakukan X', 'Perbaiki bug Y', dll.) (string, wajib)
    • title: Judul untuk pull request yang akan dibuat (string, wajib)
    • base_ref: Referensi Git (mis., cabang) tempat agen akan memulai pekerjaannya. Jika tidak ditentukan, default ke cabang default repositori (string, opsional)
Copilot Spaces
  • Catatan autentikasi

    • PAT fine-grained tidak disembunyikan oleh penyaringan cakupan PAT klasik, jadi alat ini mungkin masih muncul meskipun token tidak dapat menggunakannya.
    • Untuk ruang milik organisasi, PAT fine-grained harus diinstal pada organisasi pemilik dan menyertakan organization_copilot_spaces: read.
    • Jika ruang milik organisasi berisi sumber daya yang didukung repositori, token juga harus memiliki akses ke setiap repositori yang direferensikan atau ruang tersebut dapat dianggap tidak ditemukan.
  • get_copilot_space - Dapatkan Copilot Space

    • owner: Pemilik ruang. (string, wajib)
    • name: Nama ruang. (string, wajib)
  • list_copilot_spaces - Daftar Copilot Spaces

Pencarian Dokumen Dukungan GitHub - **github_support_docs_search** - Mengambil dokumentasi yang relevan untuk menjawab pertanyaan produk dan dukungan GitHub. Topik dukungan meliputi: GitHub Actions Workflows, Autentikasi, Pertanyaan Dukungan GitHub, Praktik Pull Request, Pemeliharaan Repositori, GitHub Pages, GitHub Packages, GitHub Discussions, Copilot Spaces - `query`: Masukan dari pengguna tentang pertanyaan yang perlu dijawab. Ini adalah pesan pengguna mentah terbaru yang belum diedit. Anda harus SELALU membiarkan pesan pengguna apa adanya, jangan pernah mengubahnya. (string, wajib)

Mode Hanya-Baca

Untuk menjalankan server dalam mode hanya-baca, Anda dapat menggunakan flag --read-only. Ini hanya akan menawarkan alat baca-saja, mencegah modifikasi apa pun pada repositori, isu, pull request, dll.

./github-mcp-server --read-only

Saat menggunakan Docker, Anda dapat meneruskan mode hanya-baca sebagai variabel lingkungan:

docker run -i --rm \
  -e GITHUB_PERSONAL_ACCESS_TOKEN=<your-token> \
  -e GITHUB_READ_ONLY=1 \
  ghcr.io/github/github-mcp-server

Mode Lockdown

Mode lockdown membatasi konten yang akan ditampilkan server dari repositori publik. Saat diaktifkan, server memeriksa apakah penulis setiap item memiliki akses push ke repositori. Repositori privat tidak terpengaruh, dan kolaborator tetap memiliki akses penuh ke konten mereka sendiri.

./github-mcp-server --lockdown-mode

Saat menjalankan dengan Docker, atur variabel lingkungan yang sesuai:

docker run -i --rm \
  -e GITHUB_PERSONAL_ACCESS_TOKEN=<your-token> \
  -e GITHUB_LOCKDOWN_MODE=1 \
  ghcr.io/github/github-mcp-server

Perilaku mode lockdown bergantung pada alat yang dipanggil.

Alat berikut akan mengembalikan kesalahan ketika penulis tidak memiliki akses push:

  • issue_read:get
  • pull_request_read:get

Alat berikut akan menyaring konten dari pengguna yang tidak memiliki akses push:

  • issue_read:get_comments
  • issue_read:get_sub_issues
  • pull_request_read:get_comments
  • pull_request_read:get_review_comments
  • pull_request_read:get_reviews

i18n / Menimpa Deskripsi

Deskripsi alat dapat ditimpa dengan membuat file github-mcp-server-config.json di direktori yang sama dengan biner.

File tersebut harus berisi objek JSON dengan nama alat sebagai kunci dan deskripsi baru sebagai nilai. Contoh:

{
  "TOOL_ADD_ISSUE_COMMENT_DESCRIPTION": "an alternative description",
  "TOOL_CREATE_BRANCH_DESCRIPTION": "Create a new branch in a GitHub repository"
}

Anda dapat membuat ekspor terjemahan saat ini dengan menjalankan biner menggunakan flag --export-translations.

Flag ini akan mempertahankan terjemahan/penimpaan yang telah Anda buat, sambil menambahkan terjemahan baru yang telah ditambahkan ke biner sejak terakhir kali Anda mengekspor.

./github-mcp-server --export-translations
cat github-mcp-server-config.json

Anda juga dapat menggunakan variabel ENV untuk menimpa deskripsi. Nama variabel lingkungan sama dengan kunci di file JSON, diawali dengan GITHUB_MCP_ dan semuanya huruf besar.

Misalnya, untuk menimpa alat TOOL_ADD_ISSUE_COMMENT_DESCRIPTION, Anda dapat mengatur variabel lingkungan berikut:

export GITHUB_MCP_TOOL_ADD_ISSUE_COMMENT_DESCRIPTION="an alternative description"

Menimpa Nama dan Judul Server

Mekanisme penimpaan yang sama dapat digunakan untuk menyesuaikan bidang name dan title server MCP dalam respons inisialisasi. Ini berguna saat menjalankan beberapa instans GitHub MCP Server (misalnya, satu untuk github.com dan satu untuk GitHub Enterprise Server) sehingga agen dapat membedakannya.

KunciVariabel LingkunganDefault
SERVER_NAMEGITHUB_MCP_SERVER_NAMEgithub-mcp-server
SERVER_TITLEGITHUB_MCP_SERVER_TITLEGitHub MCP Server

Misalnya, untuk mengonfigurasi instans server untuk GitHub Enterprise Server:

{
  "SERVER_NAME": "ghes-mcp-server",
  "SERVER_TITLE": "GHES MCP Server"
}

Atau menggunakan variabel lingkungan:

export GITHUB_MCP_SERVER_NAME="ghes-mcp-server"
export GITHUB_MCP_SERVER_TITLE="GHES MCP Server"

Penggunaan Pustaka

API Go yang diekspor dari modul ini saat ini harus dianggap tidak stabil, dan dapat mengalami perubahan yang merusak. Di masa mendatang, kami mungkin menawarkan stabilitas; silakan buat isu jika ada kasus penggunaan di mana ini akan bernilai.

Berkontribusi

Kontribusi sangat diterima. Sebelum membuka pull request, harap baca panduan berkontribusi untuk instruksi penyiapan, pengujian, linting, dan pembuatan dokumentasi.

Dukungan

Untuk bantuan menggunakan GitHub MCP Server, lihat panduan dukungan. Jika Anda menemukan bug atau ingin meminta fitur, silakan cari isu yang ada sebelum membuka yang baru.

Keamanan

Harap jangan melaporkan kerentanan keamanan melalui isu publik. Ikuti instruksi dalam kebijakan keamanan untuk melaporkan kerentanan secara bertanggung jawab.

Lisensi

Proyek ini dilisensikan di bawah ketentuan lisensi sumber terbuka MIT. Silakan merujuk ke MIT untuk ketentuan lengkapnya.