GitHub MCP

chính thức

Máy chủ MCP chính thức của GitHub dành cho tìm kiếm kho lưu trữ, vấn đề, yêu cầu kéo, ngữ cảnh mã và quy trình làm việc GitHub trong các ứng dụng AI tương thích MCP.

Bạn có thể làm gì với Git Hub MCP?

  • Duyệt và tìm kiếm kho lưu trữ — Yêu cầu trợ lý của bạn tìm tệp, đọc mã hoặc phân tích lịch sử commit bằng cách sử dụng các công cụ từ bộ công cụ repos.
  • Quản lý issues và pull requests — Tạo, cập nhật và phân loại issues hoặc PRs bằng các công cụ từ bộ công cụ issuespull_requests.
  • Giám sát quy trình CI/CD — Kiểm tra trạng thái chạy GitHub Actions, điều tra lỗi build và quản lý bản phát hành thông qua bộ công cụ actions.
  • Xem xét các cảnh báo bảo mật mã — Kiểm tra kết quả quét mã, cảnh báo Dependabot và kết quả quét bí mật bằng cách sử dụng các bộ công cụ code_security, dependabotsecret_protection.
  • Cộng tác trên các cuộc thảo luận và dự án — Truy cập các cuộc thảo luận nhóm, quản lý bảng dự án và xử lý thông báo thông qua các bộ công cụ discussions, projectsnotifications.

Tài liệu

Go Report Card

GitHub MCP Server

GitHub MCP Server kết nối trực tiếp các công cụ AI với nền tảng GitHub. Điều này cho phép các tác nhân AI, trợ lý và chatbot có khả năng đọc kho lưu trữ và tệp mã, quản lý issue và PR, phân tích mã và tự động hóa quy trình làm việc. Tất cả thông qua các tương tác bằng ngôn ngữ tự nhiên.

Trường hợp sử dụng

  • Quản lý kho lưu trữ: Duyệt và truy vấn mã, tìm kiếm tệp, phân tích commit và hiểu cấu trúc dự án trên bất kỳ kho lưu trữ nào bạn có quyền truy cập.
  • Tự động hóa Issue & PR: Tạo, cập nhật và quản lý issue và pull request. Để AI giúp phân loại lỗi, xem xét thay đổi mã và duy trì bảng dự án.
  • Thông minh CI/CD & Quy trình làm việc: Giám sát các lần chạy GitHub Actions workflow, phân tích lỗi build, quản lý bản phát hành và nhận thông tin chi tiết về pipeline phát triển của bạn.
  • Phân tích mã: Kiểm tra các phát hiện bảo mật, xem xét cảnh báo Dependabot, hiểu các mẫu mã và nhận thông tin chi tiết toàn diện về cơ sở mã của bạn.
  • Cộng tác nhóm: Truy cập thảo luận, quản lý thông báo, phân tích hoạt động nhóm và hợp lý hóa quy trình cho nhóm của bạn.

Được xây dựng cho các nhà phát triển muốn kết nối các công cụ AI của họ với ngữ cảnh và khả năng của GitHub, từ các truy vấn ngôn ngữ tự nhiên đơn giản đến các quy trình làm việc tác nhân đa bước phức tạp.


GitHub MCP Server từ xa

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

GitHub MCP Server từ xa được lưu trữ bởi GitHub và cung cấp phương thức dễ dàng nhất để bắt đầu và chạy. Nếu máy chủ MCP của bạn không hỗ trợ máy chủ MCP từ xa, đừng lo lắng! Bạn có thể sử dụng phiên bản cục bộ của GitHub MCP Server thay thế.

Điều kiện tiên quyết

  1. Một máy chủ MCP tương thích có hỗ trợ máy chủ từ xa (VS Code 1.101+, Claude Desktop, Cursor, Windsurf, v.v.)
  2. Bất kỳ chính sách nào được bật có liên quan

Cài đặt trong VS Code

Để cài đặt nhanh, hãy sử dụng một trong các nút cài đặt một lần nhấp ở trên. Sau khi hoàn tất quy trình đó, hãy chuyển đổi chế độ Agent (nằm cạnh ô nhập văn bản Copilot Chat) và máy chủ sẽ khởi động. Đảm bảo bạn đang sử dụng VS Code 1.101 hoặc mới hơn để hỗ trợ MCP từ xa và OAuth.

Ngoài ra, để cấu hình VS Code thủ công, hãy chọn khối JSON phù hợp từ các ví dụ bên dưới và thêm nó vào cấu hình máy chủ của bạn:

Sử dụng OAuthSử dụng GitHub PAT
VS Code (phiên bản 1.101 trở lên)
{
  "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
    }
  ]
}

Cài đặt trong các máy chủ MCP khác

  • Copilot CLI - Hướng dẫn cài đặt cho GitHub Copilot CLI
  • GitHub Copilot trong các IDE khác - Cài đặt cho JetBrains, Visual Studio, Eclipse và Xcode với GitHub Copilot
  • Ứng dụng Claude - Hướng dẫn cài đặt cho Claude Desktop và Claude Code CLI
  • Codex - Hướng dẫn cài đặt cho OpenAI Codex
  • Cursor - Hướng dẫn cài đặt cho Cursor IDE
  • OpenCode - Hướng dẫn cài đặt cho tác nhân terminal OpenCode
  • Windsurf - Hướng dẫn cài đặt cho Windsurf IDE
  • Zed - Hướng dẫn cài đặt cho trình soạn thảo Zed
  • Rovo Dev CLI - Hướng dẫn cài đặt cho Rovo Dev CLI

Lưu ý: Mỗi ứng dụng máy chủ MCP cần cấu hình một GitHub App hoặc OAuth App để hỗ trợ truy cập từ xa qua OAuth. Bất kỳ ứng dụng máy chủ nào hỗ trợ máy chủ MCP từ xa đều nên hỗ trợ máy chủ GitHub từ xa với xác thực PAT. Chi tiết cấu hình và mức hỗ trợ khác nhau tùy theo máy chủ. Hãy đảm bảo tham khảo tài liệu của ứng dụng máy chủ để biết thêm thông tin.

Cấu hình

Cấu hình bộ công cụ

Xem Tài liệu Máy chủ Từ xa để biết đầy đủ chi tiết về cấu hình máy chủ từ xa, bộ công cụ, tiêu đề và cách sử dụng nâng cao. Tệp này cung cấp hướng dẫn và ví dụ toàn diện để kết nối, tùy chỉnh và cài đặt GitHub MCP Server từ xa trong VS Code và các máy chủ MCP khác.

Khi không có bộ công cụ nào được chỉ định, bộ công cụ mặc định sẽ được sử dụng.

Chế độ Người dùng nội bộ

Dùng thử các tính năng mới sớm! Máy chủ từ xa cung cấp phiên bản nội bộ với quyền truy cập sớm vào các tính năng mới và công cụ thử nghiệm.

Sử dụng Đường dẫn URLSử dụng Tiêu đề
{
  "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"
      }
    }
  }
}

Xem Tài liệu Máy chủ Từ xa để biết thêm chi tiết và ví dụ, và Tính năng Người dùng nội bộ để có danh sách đầy đủ những gì có sẵn.

GitHub Enterprise

GitHub Enterprise Cloud với cư trú dữ liệu (ghe.com)

GitHub Enterprise Cloud cũng có thể sử dụng máy chủ từ xa.

Ví dụ cho https://octocorp.ghe.com với GitHub PAT token:

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

Lưu ý: Khi sử dụng OAuth với GitHub Enterprise cùng VS Code và GitHub Copilot, bạn cũng cần cấu hình cài đặt VS Code của mình để trỏ đến phiên bản GitHub Enterprise của bạn - xem Xác thực từ VS Code

GitHub Enterprise Server

GitHub Enterprise Server không hỗ trợ lưu trữ máy chủ từ xa. Vui lòng tham khảo GitHub Enterprise Server và Enterprise Cloud với cư trú dữ liệu (ghe.com) từ cấu hình máy chủ cục bộ.


GitHub MCP Server cục bộ

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

Điều kiện tiên quyết

  1. Để chạy máy chủ trong container, bạn cần cài đặt Docker.

  2. Sau khi cài đặt Docker, bạn cũng cần đảm bảo Docker đang chạy. Docker image có sẵn tại ghcr.io/github/github-mcp-server. Image là công khai; nếu bạn gặp lỗi khi pull, bạn có thể có token hết hạn và cần docker logout ghcr.io.

  3. Xác thực. Trên github.com, bạn không cần tạo bất cứ thứ gì trước — các nút một lần nhấp ở trên sẽ đăng nhập cho bạn bằng OAuth trong lần sử dụng đầu tiên (quy trình dựa trên trình duyệt; token chỉ được giữ trong bộ nhớ). Các nút Docker công bố một cổng callback cố định (127.0.0.1:8085) để callback đăng nhập của container có thể truy cập được. Xem Đăng nhập OAuth Máy chủ Cục bộ để biết cách thức hoạt động, phương án dự phòng headless/device-code và mang theo OAuth hoặc GitHub App của riêng bạn (bắt buộc đối với GitHub Enterprise Server và ghe.com).

    Bạn thích dùng token hơn? Bạn vẫn có thể xác thực bằng GitHub Personal Access Token bằng cách đặt GITHUB_PERSONAL_ACCESS_TOKEN thay thế (nó được ưu tiên hơn OAuth). MCP server có thể sử dụng nhiều API của GitHub, vì vậy hãy bật các quyền mà bạn cảm thấy thoải mái khi cấp cho các công cụ AI của mình (để tìm hiểu thêm về token truy cập, vui lòng xem tài liệu).

Xử lý PAT một cách an toàn

Biến môi trường (Khuyến nghị)

Để giữ GitHub PAT của bạn an toàn và có thể tái sử dụng trên các máy chủ MCP khác nhau:

  1. Lưu trữ PAT của bạn trong các biến môi trường

    export GITHUB_PAT=your_token_here
    

    Hoặc tạo một tệp .env:

    GITHUB_PAT=your_token_here
    
  2. Bảo vệ tệp .env của bạn

    # Add to .gitignore to prevent accidental commits
    echo ".env" >> .gitignore
    
  3. Tham chiếu token trong cấu hình

    # 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"
    }
    

Lưu ý: Hỗ trợ biến môi trường khác nhau tùy theo ứng dụng máy chủ và IDE. Một số ứng dụng (như Windsurf) yêu cầu token được mã hóa cứng trong tệp cấu hình.

Thực hành tốt nhất về bảo mật token

  • Phạm vi tối thiểu: Chỉ cấp các quyền cần thiết

    • repo - Hoạt động kho lưu trữ
    • read:packages - Truy cập Docker image
    • read:org - Truy cập nhóm tổ chức
  • Token riêng biệt: Sử dụng các PAT khác nhau cho các dự án/môi trường khác nhau

  • Luân chuyển thường xuyên: Cập nhật token định kỳ

  • Không bao giờ commit: Giữ token ngoài kiểm soát phiên bản

  • Quyền tệp: Hạn chế quyền truy cập vào các tệp cấu hình chứa token

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

GitHub Enterprise Server và Enterprise Cloud với cư trú dữ liệu (ghe.com)

Cờ --gh-host và biến môi trường GITHUB_HOST có thể được sử dụng để đặt tên máy chủ cho GitHub Enterprise Server hoặc GitHub Enterprise Cloud với cư trú dữ liệu.

  • Đối với GitHub Enterprise Server, hãy thêm tiền tố tên máy chủ bằng lược đồ URI https://, vì nếu không, nó sẽ mặc định là http://, mà GitHub Enterprise Server không hỗ trợ.
  • Đối với GitHub Enterprise Cloud với cư trú dữ liệu, hãy sử dụng https://YOURSUBDOMAIN.ghe.com làm tên máy chủ.
"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>"
    }
}

Cài đặt

Cài đặt trong GitHub Copilot trên VS Code

Để cài đặt nhanh, hãy sử dụng một trong các nút cài đặt một lần nhấp ở trên. Sau khi hoàn tất quy trình đó, hãy chuyển đổi chế độ Agent (nằm cạnh ô nhập văn bản Copilot Chat) và máy chủ sẽ khởi động.

Tìm hiểu thêm về việc sử dụng các công cụ máy chủ MCP trong tài liệu chế độ agent của VS Code.

Cài đặt trong GitHub Copilot trên các IDE khác (JetBrains, Visual Studio, Eclipse, v.v.)

Thêm một trong các khối JSON sau vào cài đặt MCP của IDE của bạn.

Đăng nhập bằng OAuth (không cần tạo hoặc lưu trữ token). Trên github.com, image chính thức đã bao gồm thông tin xác thực ứng dụng, vì vậy bạn không cần tự cung cấp: nó chạy đăng nhập dựa trên trình duyệt trong lần sử dụng đầu tiên và giữ token kết quả chỉ trong bộ nhớ. Trong Docker, điều này cần một cổng callback cố định được công bố tới loopback để callback đăng nhập của container có thể truy cập được:

{
  "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"
        }
      }
    }
  }
}

Xem Đăng nhập OAuth Máy chủ Cục bộ để biết quy trình native-binary (không cần cổng cố định), phương án dự phòng headless/device-code, GitHub Enterprise Server / ghe.com, và mang theo OAuth hoặc GitHub App của riêng bạn.

Hoặc xác thực bằng Personal Access Token. Đặt GITHUB_PERSONAL_ACCESS_TOKEN thay thế (nó được ưu tiên hơn 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}"
        }
      }
    }
  }
}

Tùy chọn, bạn có thể thêm một ví dụ tương tự (tức là không có khóa mcp) vào một tệp có tên .vscode/mcp.json trong không gian làm việc của bạn. Điều này sẽ cho phép bạn chia sẻ cấu hình với các ứng dụng máy chủ khác chấp nhận cùng định dạng.

Ví dụ khối JSON không bao gồm khóa 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}"
      }
    }
  }
}

Cài đặt trong các Máy chủ MCP khác

Đối với các ứng dụng máy chủ MCP khác, vui lòng tham khảo hướng dẫn cài đặt của chúng tôi:

  • Copilot CLI - Hướng dẫn cài đặt cho GitHub Copilot CLI
  • GitHub Copilot trong các IDE khác - Cài đặt cho JetBrains, Visual Studio, Eclipse và Xcode với GitHub Copilot
  • Claude Code & Claude Desktop - Hướng dẫn cài đặt cho Claude Code và Claude Desktop
  • Cursor - Hướng dẫn cài đặt cho Cursor IDE
  • Google Gemini CLI - Hướng dẫn cài đặt cho Google Gemini CLI
  • OpenCode - Hướng dẫn cài đặt cho tác nhân terminal OpenCode
  • Windsurf - Hướng dẫn cài đặt cho Windsurf IDE
  • Zed - Hướng dẫn cài đặt cho trình soạn thảo Zed

Để có tổng quan đầy đủ về tất cả các tùy chọn cài đặt, hãy xem Chỉ mục Hướng dẫn Cài đặt của chúng tôi.

Lưu ý: Bất kỳ ứng dụng máy chủ nào hỗ trợ máy chủ MCP cục bộ đều có thể truy cập GitHub MCP Server cục bộ. Tuy nhiên, quy trình cấu hình cụ thể, cú pháp và độ ổn định của tích hợp sẽ khác nhau tùy theo ứng dụng máy chủ. Mặc dù nhiều ứng dụng có thể tuân theo định dạng tương tự như các ví dụ trên, điều này không được đảm bảo. Vui lòng tham khảo tài liệu của ứng dụng máy chủ của bạn để biết cú pháp cấu hình MCP chính xác và quy trình thiết lập.

Xây dựng từ mã nguồn

Nếu bạn không có Docker, bạn có thể sử dụng go build để build tệp nhị phân trong thư mục cmd/github-mcp-server, và sử dụng lệnh github-mcp-server stdio với biến môi trường GITHUB_PERSONAL_ACCESS_TOKEN được đặt thành token của bạn. Để chỉ định vị trí đầu ra của bản build, hãy sử dụng cờ -o. Bạn nên cấu hình máy chủ của mình để sử dụng tệp thực thi đã build làm command của nó. Ví dụ:

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

Tiện ích CLI

Tệp nhị phân github-mcp-server bao gồm một vài lệnh con CLI hữu ích cho việc gỡ lỗi và khám phá máy chủ.

  • github-mcp-server tool-search "<query>" tìm kiếm công cụ theo tên, mô tả và tên tham số đầu vào. Sử dụng --max-results để trả về nhiều kết quả khớp hơn. Ví dụ (đầu ra có màu yêu cầu TTY; sử dụng docker run -t (hoặc -it) khi chạy trong 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

Cấu hình Công cụ

GitHub MCP Server hỗ trợ bật hoặc tắt các nhóm chức năng cụ thể thông qua cờ --toolsets. Điều này cho phép bạn kiểm soát những khả năng API GitHub nào có sẵn cho các công cụ AI của mình. Chỉ bật những bộ công cụ bạn cần có thể giúp LLM lựa chọn công cụ và giảm kích thước ngữ cảnh.

Các bộ công cụ không giới hạn ở Công cụ. Các Tài nguyên và Lời nhắc MCP liên quan cũng được bao gồm khi thích hợp.

Khi không có bộ công cụ nào được chỉ định, các bộ công cụ mặc định sẽ được sử dụng.

Đang tìm ví dụ? Xem Hướng dẫn Cấu hình Máy chủ để biết các công thức phổ biến như thiết lập tối thiểu, chế độ chỉ đọc và kết hợp công cụ với bộ công cụ.

Chỉ định Bộ công cụ

Để chỉ định các bộ công cụ bạn muốn có sẵn cho LLM, bạn có thể truyền danh sách cho phép theo hai cách:

  1. Sử dụng Đối số Dòng lệnh:

    github-mcp-server --toolsets repos,issues,pull_requests,actions,code_security
    
  2. Sử dụng Biến môi trường:

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

Biến môi trường GITHUB_TOOLSETS được ưu tiên hơn đối số dòng lệnh nếu cả hai đều được cung cấp.

Chỉ định Công cụ Riêng lẻ

Bạn cũng có thể cấu hình các công cụ cụ thể bằng cờ --tools. Các công cụ có thể được sử dụng độc lập hoặc kết hợp với các bộ công cụ để kiểm soát chi tiết.

  1. Sử dụng Đối số Dòng lệnh:

    github-mcp-server --tools get_file_contents,issue_read,create_pull_request
    
  2. Sử dụng Biến môi trường:

    GITHUB_TOOLS="get_file_contents,issue_read,create_pull_request" ./github-mcp-server
    
  3. Kết hợp với Bộ công cụ (cộng dồn):

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

    Điều này đăng ký tất cả các công cụ từ bộ công cụ reposissues, cộng thêm get_gist.

Lưu ý Quan trọng:

  • Công cụ và bộ công cụ có thể được sử dụng cùng nhau
  • Chế độ chỉ đọc được ưu tiên: các công cụ ghi bị bỏ qua nếu --read-only được đặt, ngay cả khi được yêu cầu rõ ràng qua --tools
  • Tên công cụ phải khớp chính xác (ví dụ: get_file_contents, không phải getFileContents). Tên công cụ không hợp lệ sẽ khiến máy chủ khởi động thất bại với thông báo lỗi
  • Khi công cụ được đổi tên, tên cũ được giữ lại dưới dạng bí danh để tương thích ngược. Xem Đổi tên Công cụ để biết chi tiết.

Sử dụng Bộ công cụ Với Docker

Khi sử dụng Docker, bạn có thể truyền các bộ công cụ dưới dạng biến môi trường:

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

Sử dụng Công cụ Với Docker

Khi sử dụng Docker, bạn có thể truyền các công cụ cụ thể dưới dạng biến môi trường. Bạn cũng có thể kết hợp công cụ với bộ công cụ:

# 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

Bộ công cụ đặc biệt

Bộ công cụ "all"

Bộ công cụ đặc biệt all có thể được cung cấp để bật tất cả các bộ công cụ có sẵn bất kể cấu hình nào khác:

./github-mcp-server --toolsets all

Hoặc sử dụng biến môi trường:

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

Bộ công cụ "default"

Bộ công cụ mặc định default là cấu hình được truyền cho máy chủ nếu không có bộ công cụ nào được chỉ định.

Cấu hình mặc định là:

  • context
  • repos
  • issues
  • pull_requests
  • users

Để giữ cấu hình mặc định và thêm các bộ công cụ bổ sung:

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

Chế độ Người dùng Nội bộ

GitHub MCP Server cục bộ cung cấp phiên bản nội bộ với quyền truy cập sớm vào các tính năng mới và công cụ thử nghiệm.

  1. Sử dụng Đối số Dòng lệnh:

    ./github-mcp-server --insiders
    
  2. Sử dụng Biến môi trường:

    GITHUB_INSIDERS=true ./github-mcp-server
    

Khi sử dụng Docker:

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

Bộ công cụ Có sẵn

Các bộ công cụ sau đây có sẵn:

Bộ công cụMô tả
personcontextKhuyến nghị mạnh mẽ: Các công cụ cung cấp ngữ cảnh về người dùng hiện tại và ngữ cảnh GitHub bạn đang hoạt động
workflowactionsQuy trình làm việc GitHub Actions và các hoạt động CI/CD
code-squarecode_qualityCác công cụ liên quan đến Chất lượng Mã GitHub
codescancode_securityCác công cụ liên quan đến bảo mật mã, chẳng hạn như Quét Mã GitHub
copilotcopilotCác công cụ liên quan đến Copilot
dependabotdependabotCác công cụ Dependabot
comment-discussiondiscussionsCác công cụ liên quan đến Thảo luận GitHub
logo-gistgistsCác công cụ liên quan đến GitHub Gist
git-branchgitCác công cụ liên quan đến GitHub Git API cho các hoạt động Git cấp thấp
issue-openedissuesCác công cụ liên quan đến GitHub Issues
taglabelsCác công cụ liên quan đến GitHub Labels
bellnotificationsCác công cụ liên quan đến GitHub Notifications
organizationorgsCác công cụ liên quan đến GitHub Organization
projectprojectsCác công cụ liên quan đến GitHub Projects
git-pull-requestpull_requestsCác công cụ liên quan đến GitHub Pull Request
reporeposCác công cụ liên quan đến GitHub Repository
shield-locksecret_protectionCác công cụ liên quan đến bảo vệ bí mật, chẳng hạn như Quét Bí mật GitHub
shieldsecurity_advisoriesCác công cụ liên quan đến tư vấn bảo mật
starstargazersCác công cụ liên quan đến GitHub Stargazers
peopleusersCác công cụ liên quan đến GitHub User

Bộ công cụ Bổ sung trong GitHub MCP Server Từ xa

Bộ công cụMô tả
copilotCác công cụ liên quan đến Copilot (ví dụ: Copilot Coding Agent)
copilot_spacesCác công cụ liên quan đến Copilot Spaces
github_support_docs_searchTìm kiếm tài liệu để trả lời các câu hỏi về sản phẩm và hỗ trợ của GitHub

Công cụ

workflow Actions
  • actions_get - Lấy chi tiết về các tài nguyên GitHub Actions (quy trình làm việc, lần chạy quy trình, công việc và tạo phẩm)

    • Phạm vi OAuth Bắt buộc: repo
    • method: Phương thức thực thi (chuỗi, bắt buộc)
    • owner: Chủ sở hữu kho lưu trữ (chuỗi, bắt buộc)
    • repo: Tên kho lưu trữ (chuỗi, bắt buộc)
    • resource_id: Định danh duy nhất của tài nguyên. Điều này sẽ thay đổi tùy theo "phương thức" được cung cấp, vì vậy hãy đảm bảo bạn cung cấp ID chính xác:
      • Cung cấp ID quy trình làm việc hoặc tên tệp quy trình làm việc (ví dụ: ci.yaml) cho phương thức 'get_workflow'.
      • Cung cấp ID lần chạy quy trình làm việc cho các phương thức 'get_workflow_run', 'get_workflow_run_usage' và 'get_workflow_run_logs_url'.
      • Cung cấp ID tạo phẩm cho phương thức 'download_workflow_run_artifact'.
      • Cung cấp ID công việc cho phương thức 'get_workflow_job'. (chuỗi, bắt buộc)
  • actions_list - Liệt kê các quy trình làm việc GitHub Actions trong một kho lưu trữ

    • Phạm vi OAuth Bắt buộc: repo
    • method: Hành động thực hiện (chuỗi, bắt buộc)
    • owner: Chủ sở hữu kho lưu trữ (chuỗi, bắt buộc)
    • page: Số trang cho phân trang (mặc định: 1) (số, tùy chọn)
    • per_page: Kết quả mỗi trang cho phân trang (mặc định: 30, tối đa: 100) (số, tùy chọn)
    • repo: Tên kho lưu trữ (chuỗi, bắt buộc)
    • resource_id: Định danh duy nhất của tài nguyên. Điều này sẽ thay đổi tùy theo "phương thức" được cung cấp, vì vậy hãy đảm bảo bạn cung cấp ID chính xác:
      • Không cung cấp bất kỳ ID tài nguyên nào cho phương thức 'list_workflows'.
      • Cung cấp ID quy trình làm việc hoặc tên tệp quy trình làm việc (ví dụ: ci.yaml) cho phương thức 'list_workflow_runs', hoặc bỏ qua để liệt kê tất cả các lần chạy quy trình làm việc trong kho lưu trữ.
      • Cung cấp ID lần chạy quy trình làm việc cho các phương thức 'list_workflow_jobs' và 'list_workflow_run_artifacts'. (chuỗi, tùy chọn)
    • workflow_jobs_filter: Bộ lọc cho các công việc quy trình làm việc. CHỈ sử dụng khi phương thức là 'list_workflow_jobs' (đối tượng, tùy chọn)
    • workflow_runs_filter: Bộ lọc cho các lần chạy quy trình làm việc. CHỈ sử dụng khi phương thức là 'list_workflow_runs' (đối tượng, tùy chọn)
  • actions_run_trigger - Kích hoạt các hành động quy trình làm việc GitHub Actions

    • Phạm vi OAuth Bắt buộc: repo
    • inputs: Đầu vào mà quy trình làm việc chấp nhận. Chỉ sử dụng cho phương thức 'run_workflow'. (đối tượng, tùy chọn)
    • method: Phương thức thực thi (chuỗi, bắt buộc)
    • owner: Chủ sở hữu kho lưu trữ (chuỗi, bắt buộc)
    • ref: Tham chiếu git cho quy trình làm việc. Tham chiếu có thể là tên nhánh hoặc thẻ. Bắt buộc cho phương thức 'run_workflow'. (chuỗi, tùy chọn)
    • repo: Tên kho lưu trữ (chuỗi, bắt buộc)
    • run_id: ID của lần chạy quy trình làm việc. Bắt buộc cho tất cả các phương thức ngoại trừ 'run_workflow'. (số, tùy chọn)
    • workflow_id: ID quy trình làm việc (dạng số) hoặc tên tệp quy trình làm việc (ví dụ: main.yml, ci.yaml). Bắt buộc cho phương thức 'run_workflow'. (chuỗi, tùy chọn)
  • get_job_logs - Lấy nhật ký công việc quy trình làm việc GitHub Actions

    • Phạm vi OAuth Bắt buộc: repo
    • failed_only: Khi true, lấy nhật ký cho tất cả các công việc thất bại trong lần chạy quy trình làm việc được chỉ định bởi run_id. Yêu cầu run_id phải được cung cấp. (boolean, tùy chọn)
    • job_id: Định danh duy nhất của công việc quy trình làm việc. Bắt buộc khi lấy nhật ký cho một công việc duy nhất. (số, tùy chọn)
    • owner: Chủ sở hữu kho lưu trữ (chuỗi, bắt buộc)
    • repo: Tên kho lưu trữ (chuỗi, bắt buộc)
    • return_content: Trả về nội dung nhật ký thực tế thay vì URL (boolean, tùy chọn)
    • run_id: Định danh duy nhất của lần chạy quy trình làm việc. Bắt buộc khi failed_only là true để lấy nhật ký cho tất cả các công việc thất bại trong lần chạy. (số, tùy chọn)
    • tail_lines: Số dòng trả về từ cuối nhật ký (số, tùy chọn)
code-square Chất lượng Mã - **get_code_quality_finding** - Lấy phát hiện chất lượng mã - **Phạm vi OAuth Bắt buộc**: `repo` - `findingNumber`: Số của phát hiện. (số, bắt buộc) - `owner`: Chủ sở hữu của kho lưu trữ. (chuỗi, bắt buộc) - `repo`: Tên của kho lưu trữ. (chuỗi, bắt buộc)
codescan Bảo mật Mã
  • get_code_scanning_alert - Lấy cảnh báo quét mã

    • Phạm vi OAuth Bắt buộc: security_events
    • Phạm vi OAuth Được chấp nhận: repo, security_events
    • alertNumber: Số của cảnh báo. (số, bắt buộc)
    • owner: Chủ sở hữu của kho lưu trữ. (chuỗi, bắt buộc)
    • repo: Tên của kho lưu trữ. (chuỗi, bắt buộc)
  • list_code_scanning_alerts - Liệt kê cảnh báo quét mã

    • Phạm vi OAuth Bắt buộc: security_events
    • Phạm vi OAuth Được chấp nhận: repo, security_events
    • owner: Chủ sở hữu của kho lưu trữ. (chuỗi, bắt buộc)
    • page: Số trang cho phân trang (tối thiểu 1) (số, tùy chọn)
    • perPage: Kết quả mỗi trang cho phân trang (tối thiểu 1, tối đa 100) (số, tùy chọn)
    • ref: Tham chiếu Git cho các kết quả bạn muốn liệt kê. (chuỗi, tùy chọn)
    • repo: Tên của kho lưu trữ. (chuỗi, bắt buộc)
    • severity: Lọc cảnh báo quét mã theo mức độ nghiêm trọng (chuỗi, tùy chọn)
    • state: Lọc cảnh báo quét mã theo trạng thái. Mặc định là mở (chuỗi, tùy chọn)
    • tool_name: Tên của công cụ được sử dụng để quét mã. (chuỗi, tùy chọn)
person Ngữ cảnh
  • get_me - Lấy hồ sơ người dùng của tôi

    • Không yêu cầu tham số
  • get_team_members - Lấy thành viên nhóm

    • Phạm vi OAuth Bắt buộc: read:org
    • Phạm vi OAuth Được chấp nhận: admin:org, read:org, write:org
    • org: Thông tin đăng nhập tổ chức (chủ sở hữu) chứa nhóm. (chuỗi, bắt buộc)
    • team_slug: Slug của nhóm (chuỗi, bắt buộc)
  • get_teams - Lấy danh sách nhóm

    • Phạm vi OAuth Bắt buộc: read:org
    • Phạm vi OAuth Được chấp nhận: admin:org, read:org, write:org
    • user: Tên người dùng để lấy danh sách nhóm. Nếu không được cung cấp, sử dụng người dùng đã xác thực. (chuỗi, tùy chọn)
copilot Copilot
  • assign_copilot_to_issue - Gán Copilot cho vấn đề

    • Phạm vi OAuth Bắt buộc: repo
    • base_ref: Tham chiếu Git (ví dụ: nhánh) mà tác nhân sẽ bắt đầu công việc từ đó. Nếu không được chỉ định, mặc định là nhánh mặc định của kho lưu trữ (chuỗi, tùy chọn)
    • custom_instructions: Hướng dẫn tùy chỉnh tùy chọn để hướng dẫn tác nhân ngoài nội dung vấn đề. Sử dụng điều này để cung cấp ngữ cảnh bổ sung, ràng buộc hoặc hướng dẫn không được nắm bắt trong mô tả vấn đề (chuỗi, tùy chọn)
    • issue_number: Số vấn đề (số, bắt buộc)
    • owner: Chủ sở hữu kho lưu trữ (chuỗi, bắt buộc)
    • repo: Tên kho lưu trữ (chuỗi, bắt buộc)
  • request_copilot_review - Yêu cầu đánh giá Copilot

    • Phạm vi OAuth Bắt buộc: repo
    • owner: Chủ sở hữu kho lưu trữ (chuỗi, bắt buộc)
    • pullNumber: Số yêu cầu kéo (số, bắt buộc)
    • repo: Tên kho lưu trữ (chuỗi, bắt buộc)
dependabot Dependabot
  • get_dependabot_alert - Lấy cảnh báo dependabot

    • Phạm vi OAuth Bắt buộc: security_events
    • Phạm vi OAuth Được chấp nhận: repo, security_events
    • alertNumber: Số của cảnh báo. (số, bắt buộc)
    • owner: Chủ sở hữu của kho lưu trữ. (chuỗi, bắt buộc)
    • repo: Tên của kho lưu trữ. (chuỗi, bắt buộc)
  • list_dependabot_alerts - Liệt kê cảnh báo dependabot

    • Phạm vi OAuth Bắt buộc: security_events
    • Phạm vi OAuth Được chấp nhận: repo, security_events
    • after: Con trỏ cho phân trang. Sử dụng con trỏ từ phản hồi trước đó. (chuỗi, tùy chọn)
    • owner: Chủ sở hữu của kho lưu trữ. (chuỗi, bắt buộc)
    • perPage: Kết quả mỗi trang cho phân trang (tối thiểu 1, tối đa 100) (số, tùy chọn)
    • repo: Tên của kho lưu trữ. (chuỗi, bắt buộc)
    • severity: Lọc cảnh báo dependabot theo mức độ nghiêm trọng (chuỗi, tùy chọn)
    • state: Lọc cảnh báo dependabot theo trạng thái. Mặc định là mở (chuỗi, tùy chọn)
comment-discussion Thảo luận
  • discussion_comment_write - Quản lý bình luận thảo luận

    • Phạm vi OAuth Bắt buộc: repo
    • body: Nội dung bình luận (bắt buộc cho các phương thức 'add', 'reply' và 'update') (chuỗi, tùy chọn)
    • commentNodeID: ID Node của bình luận thảo luận (bắt buộc cho các phương thức 'reply', 'update', 'delete', 'mark_answer' và 'unmark_answer'). Đối với 'reply', đây là bình luận cấp cao nhất để trả lời; GitHub Discussions chỉ hỗ trợ một cấp lồng nhau. (chuỗi, tùy chọn)
    • discussionNumber: Số thảo luận (bắt buộc cho các phương thức 'add' và 'reply') (số, tùy chọn)
    • method: Thao tác ghi để thực hiện trên một bình luận thảo luận. Các tùy chọn là:
      • 'add' - thêm một bình luận cấp cao nhất mới vào một cuộc thảo luận.
      • 'reply' - trả lời một bình luận thảo luận cấp cao nhất (GitHub Discussions chỉ hỗ trợ một cấp lồng nhau).
      • 'update' - cập nhật một bình luận thảo luận hiện có.
      • 'delete' - xóa một bình luận thảo luận.
      • 'mark_answer' - đánh dấu một bình luận thảo luận là câu trả lời (chỉ dành cho Hỏi & Đáp).
      • 'unmark_answer' - bỏ đánh dấu một bình luận thảo luận là câu trả lời (chỉ dành cho Hỏi & Đáp). (chuỗi, bắt buộc)
    • owner: Chủ sở hữu kho lưu trữ (bắt buộc cho các phương thức 'add' và 'reply') (chuỗi, tùy chọn)
    • repo: Tên kho lưu trữ (bắt buộc cho các phương thức 'add' và 'reply') (chuỗi, tùy chọn)
  • get_discussion - Lấy thảo luận

    • Phạm vi OAuth Bắt buộc: repo
    • discussionNumber: Số thảo luận (số, bắt buộc)
    • owner: Chủ sở hữu kho lưu trữ (chuỗi, bắt buộc)
    • repo: Tên kho lưu trữ (chuỗi, bắt buộc)
  • get_discussion_comments - Lấy bình luận thảo luận

    • Phạm vi OAuth Bắt buộc: repo
    • after: Con trỏ cho phân trang. Sử dụng con trỏ từ phản hồi trước đó. (chuỗi, tùy chọn)
    • discussionNumber: Số thảo luận (số, bắt buộc)
    • includeReplies: Khi true, mỗi bình luận cấp cao nhất sẽ bao gồm các câu trả lời được lồng bên trong nó (tối đa 100 câu trả lời mỗi bình luận, là giới hạn tối đa của GitHub API). Mặc định là false. (boolean, tùy chọn)
    • owner: Chủ sở hữu kho lưu trữ (chuỗi, bắt buộc)
    • perPage: Kết quả mỗi trang cho phân trang (tối thiểu 1, tối đa 100) (số, tùy chọn)
    • repo: Tên kho lưu trữ (chuỗi, bắt buộc)
  • list_discussion_categories - Liệt kê danh mục thảo luận

    • Phạm vi OAuth Bắt buộc: repo
    • owner: Chủ sở hữu kho lưu trữ (chuỗi, bắt buộc)
    • repo: Tên kho lưu trữ. Nếu không được cung cấp, các danh mục thảo luận sẽ được truy vấn ở cấp tổ chức. (chuỗi, tùy chọn)
  • list_discussions - Liệt kê thảo luận

    • Phạm vi OAuth Bắt buộc: repo
    • after: Con trỏ cho phân trang. Sử dụng con trỏ từ phản hồi trước đó. (chuỗi, tùy chọn)
    • category: Bộ lọc tùy chọn theo ID danh mục thảo luận. Nếu được cung cấp, chỉ các thảo luận có danh mục này được liệt kê. (chuỗi, tùy chọn)
    • direction: Hướng sắp xếp. (chuỗi, tùy chọn)
    • orderBy: Sắp xếp thảo luận theo trường. Nếu được cung cấp, 'direction' cũng cần được cung cấp. (chuỗi, tùy chọn)
    • owner: Chủ sở hữu kho lưu trữ (chuỗi, bắt buộc)
    • perPage: Kết quả mỗi trang cho phân trang (tối thiểu 1, tối đa 100) (số, tùy chọn)
    • repo: Tên kho lưu trữ. Nếu không được cung cấp, các thảo luận sẽ được truy vấn ở cấp tổ chức. (chuỗi, tùy chọn)
logo-gist Gists
  • create_gist - Tạo Gist

    • Phạm vi OAuth Bắt buộc: gist
    • content: Nội dung cho việc tạo gist đơn giản một tệp (chuỗi, bắt buộc)
    • description: Mô tả của gist (chuỗi, tùy chọn)
    • filename: Tên tệp cho việc tạo gist đơn giản một tệp (chuỗi, bắt buộc)
    • public: Gist có công khai hay không (boolean, tùy chọn)
  • get_gist - Lấy Nội dung Gist

    • gist_id: ID của gist (chuỗi, bắt buộc)
  • list_gists - Liệt kê Gists

    • page: Số trang cho phân trang (tối thiểu 1) (số, tùy chọn)
    • perPage: Kết quả mỗi trang cho phân trang (tối thiểu 1, tối đa 100) (số, tùy chọn)
    • since: Chỉ các gist được cập nhật sau thời gian này (dấu thời gian ISO 8601) (chuỗi, tùy chọn)
    • username: Tên người dùng GitHub (bỏ qua để lấy gist của người dùng đã xác thực) (chuỗi, tùy chọn)
  • update_gist - Cập nhật Gist

    • Phạm vi OAuth Bắt buộc: gist
    • content: Nội dung cho tệp (chuỗi, bắt buộc)
    • description: Mô tả đã cập nhật của gist (chuỗi, tùy chọn)
    • filename: Tên tệp để cập nhật hoặc tạo mới (chuỗi, bắt buộc)
    • gist_id: ID của gist cần cập nhật (chuỗi, bắt buộc)
git-branch Git
  • get_repository_tree - Lấy cây kho lưu trữ
    • Phạm vi OAuth Bắt buộc: repo
    • owner: Chủ sở hữu kho lưu trữ (tên người dùng hoặc tổ chức) (chuỗi, bắt buộc)
    • path_filter: Tiền tố đường dẫn tùy chọn để lọc kết quả cây (ví dụ: 'src/' để chỉ hiển thị các tệp trong thư mục src) (chuỗi, tùy chọn)
    • recursive: Đặt tham số này thành true sẽ trả về các đối tượng hoặc cây con được tham chiếu bởi cây. Mặc định là false (boolean, tùy chọn)
    • repo: Tên kho lưu trữ (chuỗi, bắt buộc)
    • tree_sha: Giá trị SHA1 hoặc tên ref (nhánh hoặc thẻ) của cây. Mặc định là nhánh mặc định của kho lưu trữ (chuỗi, tùy chọn)
issue-opened Vấn đề
  • add_issue_comment - Thêm bình luận vào vấn đề hoặc yêu cầu kéo

    • Phạm vi OAuth Bắt buộc: repo
    • body: Nội dung bình luận. Bắt buộc trừ khi phản ứng được cung cấp. (chuỗi, tùy chọn)
    • comment_id: ID số của bình luận vấn đề hoặc yêu cầu kéo để phản ứng. Sử dụng điều này cho các phản ứng đối với bình luận; bỏ qua nó để phản ứng với chính vấn đề hoặc yêu cầu kéo. Không thể kết hợp với body. (số, tùy chọn)
    • issue_number: Số vấn đề hoặc yêu cầu kéo để bình luận hoặc phản ứng. (số, bắt buộc)
    • owner: Chủ sở hữu kho lưu trữ (chuỗi, bắt buộc)
    • reaction: Phản ứng emoji để thêm. Bắt buộc trừ khi body được cung cấp. (chuỗi, tùy chọn)
    • repo: Tên kho lưu trữ (chuỗi, bắt buộc)
  • get_label - Lấy một nhãn cụ thể từ kho lưu trữ

    • Phạm vi OAuth bắt buộc: repo
    • name: Tên nhãn. (chuỗi, bắt buộc)
    • owner: Chủ sở hữu kho lưu trữ (tên người dùng hoặc tên tổ chức) (chuỗi, bắt buộc)
    • repo: Tên kho lưu trữ (chuỗi, bắt buộc)
  • issue_read - Lấy chi tiết vấn đề

    • Phạm vi OAuth bắt buộc: repo
    • issue_number: Số của vấn đề (số, bắt buộc)
    • method: Thao tác đọc cần thực hiện trên một vấn đề. Các tùy chọn là:
      1. get - Lấy chi tiết vấn đề. Cũng trả về các cờ phân cấp theo nỗ lực tốt nhất (has_parent, has_children); parentsub_issues_summary là các bản tóm tắt quan hệ tùy chọn.
      2. get_comments - Lấy bình luận của vấn đề.
      3. get_sub_issues - Lấy các vấn đề con (con) của vấn đề.
      4. get_parent - Lấy vấn đề cha, nếu vấn đề này là vấn đề con của một vấn đề khác.
      5. get_labels - Lấy các nhãn được gán cho vấn đề. (chuỗi, bắt buộc)
    • owner: Chủ sở hữu của kho lưu trữ (chuỗi, bắt buộc)
    • page: Số trang cho phân trang (tối thiểu 1) (số, tùy chọn)
    • perPage: Kết quả mỗi trang cho phân trang (tối thiểu 1, tối đa 100) (số, tùy chọn)
    • repo: Tên của kho lưu trữ (chuỗi, bắt buộc)
  • issue_write - Tạo hoặc cập nhật vấn đề/yêu cầu kéo

    • Phạm vi OAuth bắt buộc: repo
    • assignees: Tên người dùng cần gán cho vấn đề này (chuỗi[], tùy chọn)
    • body: Nội dung thân vấn đề (chuỗi, tùy chọn)
    • duplicate_of: Số vấn đề mà vấn đề này là bản sao của. Chỉ được sử dụng khi state_reason là 'duplicate'. (số, tùy chọn)
    • issue_fields: Giá trị trường vấn đề cần đặt hoặc xóa. Mỗi mục yêu cầu 'field_name' và chính xác một trong 'value', 'field_option_name', hoặc 'delete: true'. (đối tượng[], tùy chọn)
    • issue_number: Số vấn đề cần cập nhật (số, tùy chọn)
    • labels: Nhãn cần áp dụng cho vấn đề này (chuỗi[], tùy chọn)
    • method: Thao tác ghi cần thực hiện trên một vấn đề. Các tùy chọn là:
      • 'create' - tạo một vấn đề mới.
      • 'update' - cập nhật một vấn đề hiện có. (chuỗi, bắt buộc)
    • milestone: Số cột mốc (số, tùy chọn)
    • owner: Chủ sở hữu kho lưu trữ (chuỗi, bắt buộc)
    • repo: Tên kho lưu trữ (chuỗi, bắt buộc)
    • state: Trạng thái mới (chuỗi, tùy chọn)
    • state_reason: Lý do thay đổi trạng thái. Bị bỏ qua trừ khi trạng thái được thay đổi. (chuỗi, tùy chọn)
    • title: Tiêu đề vấn đề (chuỗi, tùy chọn)
    • type: Loại của vấn đề này. Chỉ sử dụng nếu loại vấn đề được bật cho kho lưu trữ này. Sử dụng công cụ list_issue_types để lấy giá trị loại hợp lệ cho kho lưu trữ này hoặc tổ chức chủ sở hữu của nó. Nếu kho lưu trữ không hỗ trợ loại vấn đề, hãy bỏ qua tham số này. (chuỗi, tùy chọn)
  • list_issue_fields - Liệt kê các trường vấn đề

    • Phạm vi OAuth bắt buộc (bất kỳ): repo, read:org
    • Phạm vi OAuth được chấp nhận: admin:org, read:org, repo, write:org
    • owner: Chủ sở hữu tài khoản của kho lưu trữ hoặc tổ chức. Tên không phân biệt chữ hoa chữ thường. (chuỗi, bắt buộc)
    • repo: Tên của kho lưu trữ. Khi được cung cấp, trả về các trường cho kho lưu trữ cụ thể này (được kế thừa từ tổ chức của nó). Khi bị bỏ qua, trả về trực tiếp các trường cấp tổ chức. (chuỗi, tùy chọn)
  • list_issue_types - Liệt kê các loại vấn đề có sẵn

    • Phạm vi OAuth bắt buộc (bất kỳ): repo, read:org
    • Phạm vi OAuth được chấp nhận: admin:org, read:org, repo, write:org
    • owner: Chủ sở hữu tài khoản của kho lưu trữ hoặc tổ chức. (chuỗi, bắt buộc)
    • repo: Tên của kho lưu trữ. Khi được cung cấp, trả về các loại vấn đề cho kho lưu trữ cụ thể này. Khi bị bỏ qua, trả về trực tiếp các loại vấn đề cấp tổ chức. (chuỗi, tùy chọn)
  • list_issues - Liệt kê các vấn đề

    • Phạm vi OAuth bắt buộc: repo
    • after: Con trỏ cho phân trang. Sử dụng con trỏ từ phản hồi trước đó. (chuỗi, tùy chọn)
    • direction: Hướng sắp xếp. Nếu được cung cấp, 'orderBy' cũng cần được cung cấp. (chuỗi, tùy chọn)
    • field_filters: Lọc theo giá trị trường vấn đề tùy chỉnh. Mỗi mục nhập lấy một field_name và một value; máy chủ tra cứu trường và ép kiểu giá trị thành kiểu của nó (tên tùy chọn chọn đơn, văn bản, số hoặc ngày YYYY-MM-DD). (đối tượng[], tùy chọn)
    • labels: Lọc theo nhãn (chuỗi[], tùy chọn)
    • orderBy: Sắp xếp vấn đề theo trường. Nếu được cung cấp, 'direction' cũng cần được cung cấp. (chuỗi, tùy chọn)
    • owner: Chủ sở hữu kho lưu trữ (chuỗi, bắt buộc)
    • perPage: Kết quả mỗi trang cho phân trang (tối thiểu 1, tối đa 100) (số, tùy chọn)
    • repo: Tên kho lưu trữ (chuỗi, bắt buộc)
    • since: Lọc theo ngày (dấu thời gian ISO 8601) (chuỗi, tùy chọn)
    • state: Lọc theo trạng thái, theo mặc định cả vấn đề mở và đóng đều được trả về khi không được cung cấp (chuỗi, tùy chọn)
  • search_issues - Tìm kiếm vấn đề

    • Phạm vi OAuth bắt buộc: repo
    • order: Thứ tự sắp xếp (chuỗi, tùy chọn)
    • owner: Chủ sở hữu kho lưu trữ tùy chọn. Nếu được cung cấp cùng với repo, chỉ các vấn đề cho kho lưu trữ này được liệt kê. (chuỗi, tùy chọn)
    • page: Số trang cho phân trang (tối thiểu 1) (số, tùy chọn)
    • perPage: Kết quả mỗi trang cho phân trang (tối thiểu 1, tối đa 100) (số, tùy chọn)
    • query: Truy vấn tìm kiếm sử dụng cú pháp tìm kiếm vấn đề GitHub (chuỗi, bắt buộc)
    • repo: Tên kho lưu trữ tùy chọn. Nếu được cung cấp cùng với chủ sở hữu, chỉ các vấn đề cho kho lưu trữ này được liệt kê. (chuỗi, tùy chọn)
    • sort: Sắp xếp trường theo số lượng kết quả khớp của các danh mục, mặc định là kết quả khớp tốt nhất (chuỗi, tùy chọn)
  • sub_issue_write - Thay đổi vấn đề con

    • Phạm vi OAuth bắt buộc: repo
    • after_id: ID của vấn đề con cần được ưu tiên sau (nên chỉ định after_id HOẶC before_id) (số, tùy chọn)
    • before_id: ID của vấn đề con cần được ưu tiên trước (nên chỉ định after_id HOẶC before_id) (số, tùy chọn)
    • issue_number: Số của vấn đề cha (số, bắt buộc)
    • method: Hành động cần thực hiện trên một vấn đề con Các tùy chọn là:
      • 'add' - thêm một vấn đề con vào vấn đề cha trong kho lưu trữ GitHub.
      • 'remove' - xóa một vấn đề con khỏi vấn đề cha trong kho lưu trữ GitHub.
      • 'reprioritize' - thay đổi thứ tự của các vấn đề con trong một vấn đề cha trong kho lưu trữ GitHub. Sử dụng 'after_id' hoặc 'before_id' để chỉ định vị trí mới. Ghi phân cấp vấn đề. Để di chuyển một vấn đề con sang cha mới, hãy sử dụng add với replace_parent=true; không có trường cha có thể ghi. (chuỗi, bắt buộc)
    • owner: Chủ sở hữu kho lưu trữ (chuỗi, bắt buộc)
    • replace_parent: Khi true, thay thế vấn đề cha hiện tại của vấn đề con. Chỉ sử dụng với phương thức 'add'. (boolean, tùy chọn)
    • repo: Tên kho lưu trữ (chuỗi, bắt buộc)
    • sub_issue_id: ID của vấn đề con cần thêm. ID không giống với số vấn đề (số, bắt buộc)
tag Nhãn
  • get_label - Lấy một nhãn cụ thể từ kho lưu trữ

    • Phạm vi OAuth bắt buộc: repo
    • name: Tên nhãn. (chuỗi, bắt buộc)
    • owner: Chủ sở hữu kho lưu trữ (tên người dùng hoặc tên tổ chức) (chuỗi, bắt buộc)
    • repo: Tên kho lưu trữ (chuỗi, bắt buộc)
  • label_write - Thao tác ghi trên nhãn kho lưu trữ

    • Phạm vi OAuth bắt buộc: repo
    • color: Màu nhãn dưới dạng mã hex 6 ký tự không có tiền tố '#' (ví dụ: 'f29513'). Bắt buộc cho 'create', tùy chọn cho 'update'. (chuỗi, tùy chọn)
    • description: Văn bản mô tả nhãn. Tùy chọn cho 'create' và 'update'. (chuỗi, tùy chọn)
    • method: Thao tác cần thực hiện: 'create', 'update', hoặc 'delete' (chuỗi, bắt buộc)
    • name: Tên nhãn - bắt buộc cho tất cả các thao tác (chuỗi, bắt buộc)
    • new_name: Tên mới cho nhãn (chỉ sử dụng với phương thức 'update' để đổi tên) (chuỗi, tùy chọn)
    • owner: Chủ sở hữu kho lưu trữ (tên người dùng hoặc tên tổ chức) (chuỗi, bắt buộc)
    • repo: Tên kho lưu trữ (chuỗi, bắt buộc)
  • list_label - Liệt kê nhãn từ kho lưu trữ

    • Phạm vi OAuth bắt buộc: repo
    • owner: Chủ sở hữu kho lưu trữ (tên người dùng hoặc tên tổ chức) - bắt buộc cho tất cả các thao tác (chuỗi, bắt buộc)
    • repo: Tên kho lưu trữ - bắt buộc cho tất cả các thao tác (chuỗi, bắt buộc)
bell Thông báo
  • dismiss_notification - Bỏ qua thông báo

    • Phạm vi OAuth bắt buộc: notifications
    • state: Trạng thái mới của thông báo (read/done) (chuỗi, bắt buộc)
    • threadID: ID của luồng thông báo (chuỗi, bắt buộc)
  • get_notification_details - Lấy chi tiết thông báo

    • Phạm vi OAuth bắt buộc: notifications
    • notificationID: ID của thông báo (chuỗi, bắt buộc)
  • list_notifications - Liệt kê thông báo

    • Phạm vi OAuth bắt buộc: notifications
    • before: Chỉ hiển thị thông báo được cập nhật trước thời gian đã cho (định dạng ISO 8601) (chuỗi, tùy chọn)
    • filter: Lọc thông báo đến, sử dụng mặc định trừ khi được chỉ định. Thông báo đã đọc là những thông báo đã được người dùng xác nhận. Thông báo tham gia là những thông báo mà người dùng trực tiếp tham gia, chẳng hạn như các vấn đề hoặc yêu cầu kéo mà họ đã bình luận hoặc tạo. (chuỗi, tùy chọn)
    • owner: Chủ sở hữu kho lưu trữ tùy chọn. Nếu được cung cấp cùng với repo, chỉ thông báo cho kho lưu trữ này được liệt kê. (chuỗi, tùy chọn)
    • page: Số trang cho phân trang (tối thiểu 1) (số, tùy chọn)
    • perPage: Kết quả mỗi trang cho phân trang (tối thiểu 1, tối đa 100) (số, tùy chọn)
    • repo: Tên kho lưu trữ tùy chọn. Nếu được cung cấp cùng với chủ sở hữu, chỉ thông báo cho kho lưu trữ này được liệt kê. (chuỗi, tùy chọn)
    • since: Chỉ hiển thị thông báo được cập nhật sau thời gian đã cho (định dạng ISO 8601) (chuỗi, tùy chọn)
  • manage_notification_subscription - Quản lý đăng ký thông báo

    • Phạm vi OAuth bắt buộc: notifications
    • action: Hành động cần thực hiện: ignore, watch, hoặc delete đăng ký thông báo. (chuỗi, bắt buộc)
    • notificationID: ID của luồng thông báo. (chuỗi, bắt buộc)
  • manage_repository_notification_subscription - Quản lý đăng ký thông báo kho lưu trữ

    • Phạm vi OAuth bắt buộc: notifications
    • action: Hành động cần thực hiện: ignore, watch, hoặc delete đăng ký thông báo kho lưu trữ. (chuỗi, bắt buộc)
    • owner: Chủ sở hữu tài khoản của kho lưu trữ. (chuỗi, bắt buộc)
    • repo: Tên của kho lưu trữ. (chuỗi, bắt buộc)
  • mark_all_notifications_read - Đánh dấu tất cả thông báo là đã đọc

    • Phạm vi OAuth bắt buộc: notifications
    • lastReadAt: Mô tả thời điểm cuối cùng thông báo được kiểm tra (tùy chọn). Mặc định: Hiện tại (chuỗi, tùy chọn)
    • owner: Chủ sở hữu kho lưu trữ tùy chọn. Nếu được cung cấp cùng với repo, chỉ thông báo cho kho lưu trữ này được đánh dấu là đã đọc. (chuỗi, tùy chọn)
    • repo: Tên kho lưu trữ tùy chọn. Nếu được cung cấp cùng với chủ sở hữu, chỉ thông báo cho kho lưu trữ này được đánh dấu là đã đọc. (chuỗi, tùy chọn)
organization Tổ chức
  • search_orgs - Tìm kiếm tổ chức
    • Phạm vi OAuth bắt buộc: read:org
    • Phạm vi OAuth được chấp nhận: admin:org, read:org, write:org
    • order: Thứ tự sắp xếp (chuỗi, tùy chọn)
    • page: Số trang cho phân trang (tối thiểu 1) (số, tùy chọn)
    • perPage: Kết quả mỗi trang cho phân trang (tối thiểu 1, tối đa 100) (số, tùy chọn)
    • query: Truy vấn tìm kiếm tổ chức. Ví dụ: 'microsoft', 'location:california', 'created:>=2025-01-01'. Tìm kiếm tự động giới hạn trong type:org. (chuỗi, bắt buộc)
    • sort: Trường sắp xếp theo danh mục (chuỗi, tùy chọn)
project Dự án
  • projects_get - Lấy chi tiết tài nguyên GitHub Projects

    • Phạm vi OAuth bắt buộc: read:project
    • Phạm vi OAuth được chấp nhận: project, read:project
    • field_id: ID của trường. Bắt buộc cho phương thức 'get_project_field'. (số, tùy chọn)
    • field_names: Danh sách cụ thể các tên trường để bao gồm trong phản hồi khi lấy một mục dự án (ví dụ: ["Status", "Priority"]). Được phân giải phía máy chủ thành ID trường — truyền tham số này thay vì 'fields' khi bạn chỉ biết tên dễ đọc. Loại trừ lẫn nhau với 'fields' — chỉ cung cấp một trong hai. Chỉ dùng cho phương thức 'get_project_item'. (mảng chuỗi, tùy chọn)
    • fields: Danh sách cụ thể các ID trường để bao gồm trong phản hồi khi lấy một mục dự án (ví dụ: ["102589", "985201", "169875"]). Nếu không cung cấp 'fields' hoặc 'field_names', chỉ có trường tiêu đề được bao gồm. Loại trừ lẫn nhau với 'field_names' — chỉ cung cấp một trong hai. Chỉ dùng cho phương thức 'get_project_item'. (mảng chuỗi, tùy chọn)
    • item_id: ID của mục. Bắt buộc cho phương thức 'get_project_item'. (số, tùy chọn)
    • method: Phương thức cần thực thi (chuỗi, bắt buộc)
    • owner: Chủ sở hữu (tên đăng nhập người dùng hoặc tổ chức). Tên không phân biệt chữ hoa chữ thường. (chuỗi, tùy chọn)
    • owner_type: Loại chủ sở hữu (user hoặc org). Nếu không được cung cấp, sẽ tự động phát hiện. (chuỗi, tùy chọn)
    • project_number: Số của dự án. (số, tùy chọn)
    • status_update_id: ID nút của cập nhật trạng thái dự án. Bắt buộc cho phương thức 'get_project_status_update'. (chuỗi, tùy chọn)
  • projects_list - Liệt kê tài nguyên GitHub Projects

    • Phạm vi OAuth bắt buộc: read:project
    • Phạm vi OAuth được chấp nhận: project, read:project
    • after: Con trỏ phân trang tiến từ pageInfo.nextCursor trước đó. (chuỗi, tùy chọn)
    • before: Con trỏ phân trang lùi từ pageInfo.prevCursor trước đó (hiếm khi dùng). (chuỗi, tùy chọn)
    • field_names: Tên trường để bao gồm khi liệt kê các mục dự án (ví dụ: ["Status", "Priority"]). Được phân giải phía máy chủ thành ID trường — truyền tham số này thay vì 'fields' khi bạn chỉ biết tên dễ đọc. Tên không phân giải được sẽ trả về lỗi có cấu trúc. Loại trừ lẫn nhau với 'fields' — chỉ cung cấp một trong hai. Chỉ dùng cho phương thức 'list_project_items'. (mảng chuỗi, tùy chọn)
    • fields: ID trường để bao gồm khi liệt kê các mục dự án (ví dụ: ["102589", "985201"]). QUAN TRỌNG: Luôn cung cấp để nhận giá trị trường. Nếu không có tham số này (và không có 'field_names'), chỉ có tiêu đề được trả về. Loại trừ lẫn nhau với 'field_names' — chỉ cung cấp một trong hai. Chỉ dùng cho phương thức 'list_project_items'. (mảng chuỗi, tùy chọn)
    • method: Hành động cần thực hiện (chuỗi, bắt buộc)
    • owner: Chủ sở hữu (tên đăng nhập người dùng hoặc tổ chức). Tên không phân biệt chữ hoa chữ thường. (chuỗi, bắt buộc)
    • owner_type: Loại chủ sở hữu (user hoặc org). Nếu không được cung cấp, sẽ tự động thử cả hai. (chuỗi, tùy chọn)
    • per_page: Kết quả mỗi trang (tối đa 50) (số, tùy chọn)
    • project_number: Số của dự án. Bắt buộc cho các phương thức 'list_project_fields', 'list_project_items', và 'list_project_status_updates'. (số, tùy chọn)
    • query: Chuỗi lọc/truy vấn. Đối với list_projects: lọc theo văn bản tiêu đề và trạng thái (ví dụ: "roadmap is:open"). Đối với list_project_items: lọc nâng cao sử dụng cú pháp lọc dự án của GitHub. (chuỗi, tùy chọn)
  • projects_write - Quản lý GitHub Projects

    • Phạm vi OAuth bắt buộc: project
    • body: Nội dung của cập nhật trạng thái (markdown). Dùng cho phương thức 'create_project_status_update'. (chuỗi, tùy chọn)
    • field_name: Tên của trường lặp (ví dụ: 'Sprint'). Bắt buộc cho phương thức 'create_iteration_field'. (chuỗi, tùy chọn)
    • issue_number: Số issue. Bắt buộc cho 'add_project_item' khi item_type là 'issue'. Cũng được chấp nhận bởi 'update_project_item' để phân giải mục theo số issue (kết hợp với item_owner và item_repo). (số, tùy chọn)
    • item_id: ID mục dự án. Bắt buộc cho 'delete_project_item'. Đối với 'update_project_item', cung cấp item_id, hoặc (item_owner + item_repo + issue_number) để phân giải mục theo issue. (số, tùy chọn)
    • item_owner: Chủ sở hữu (người dùng hoặc tổ chức) của kho lưu trữ chứa issue hoặc pull request. Bắt buộc cho phương thức 'add_project_item'. Cũng được chấp nhận bởi 'update_project_item' khi phân giải mục theo số issue. (chuỗi, tùy chọn)
    • item_repo: Tên của kho lưu trữ chứa issue hoặc pull request. Bắt buộc cho phương thức 'add_project_item'. Cũng được chấp nhận bởi 'update_project_item' khi phân giải mục theo số issue. (chuỗi, tùy chọn)
    • item_type: Loại của mục, issue hoặc pull_request. Bắt buộc cho phương thức 'add_project_item'. (chuỗi, tùy chọn)
    • iteration_duration: Thời lượng theo ngày cho các lần lặp của trường (ví dụ: 7 cho hàng tuần, 14 cho hai tuần một lần). Bắt buộc cho phương thức 'create_iteration_field'. (số, tùy chọn)
    • iterations: Các lần lặp tùy chỉnh cho phương thức 'create_iteration_field'. Chỉ đặt tham số này khi bạn cần các lần lặp có thời lượng khác nhau, có khoảng nghỉ giữa chúng, hoặc tiêu đề cụ thể. Nếu không, hãy bỏ qua: GitHub tự động tạo ba lần lặp với 'iteration_duration' ngày bắt đầu từ 'start_date', đây là lựa chọn phù hợp cho hầu hết các trường hợp. (mảng đối tượng, tùy chọn)
    • method: Phương thức cần thực thi (chuỗi, bắt buộc)
    • owner: Chủ sở hữu dự án (tên đăng nhập người dùng hoặc tổ chức). Tên không phân biệt chữ hoa chữ thường. (chuỗi, bắt buộc)
    • owner_type: Loại chủ sở hữu (user hoặc org). Bắt buộc cho phương thức 'create_project'. Nếu không được cung cấp cho các phương thức khác, sẽ tự động phát hiện. (chuỗi, tùy chọn)
    • project_number: Số của dự án. Bắt buộc cho tất cả các phương thức ngoại trừ 'create_project'. (số, tùy chọn)
    • pull_request_number: Số pull request (dùng khi item_type là 'pull_request' cho phương thức 'add_project_item'). Cung cấp issue_number hoặc pull_request_number. (số, tùy chọn)
    • start_date: Ngày bắt đầu theo định dạng YYYY-MM-DD. Dùng cho các phương thức 'create_project_status_update' và 'create_iteration_field'. (chuỗi, tùy chọn)
    • status: Trạng thái của dự án. Dùng cho phương thức 'create_project_status_update'. (chuỗi, tùy chọn)
    • target_date: Ngày mục tiêu của cập nhật trạng thái theo định dạng YYYY-MM-DD. Dùng cho phương thức 'create_project_status_update'. (chuỗi, tùy chọn)
    • title: Tiêu đề dự án. Bắt buộc cho phương thức 'create_project'. (chuỗi, tùy chọn)
    • updated_field: Đối tượng mô tả trường cần cập nhật và giá trị mới của nó. Bắt buộc cho 'update_project_item'. Chấp nhận hai dạng: (1) theo ID — {"id": 123456, "value": "..."}; (2) theo tên — {"name": "Status", "value": "In Progress"}. Đối với trường chọn đơn, phân giải tên tùy chọn yêu cầu dạng theo tên; với dạng theo ID, truyền ID tùy chọn. Đặt value thành null để xóa trường. (đối tượng, tùy chọn)
git-pull-request Pull Requests
  • add_comment_to_pending_review - Thêm bình luận đánh giá vào đánh giá pull request đang chờ xử lý mới nhất của người yêu cầu

    • Phạm vi OAuth bắt buộc: repo
    • body: Văn bản của bình luận đánh giá (chuỗi, bắt buộc)
    • line: Dòng của blob trong diff pull request mà bình luận áp dụng. Đối với bình luận nhiều dòng, là dòng cuối cùng của phạm vi (số, tùy chọn)
    • owner: Chủ sở hữu kho lưu trữ (chuỗi, bắt buộc)
    • path: Đường dẫn tương đối đến tệp cần bình luận (chuỗi, bắt buộc)
    • pullNumber: Số pull request (số, bắt buộc)
    • repo: Tên kho lưu trữ (chuỗi, bắt buộc)
    • side: Phía của diff để bình luận. LEFT chỉ trạng thái trước đó, RIGHT chỉ trạng thái mới (chuỗi, tùy chọn)
    • startLine: Đối với bình luận nhiều dòng, dòng đầu tiên của phạm vi mà bình luận áp dụng (số, tùy chọn)
    • startSide: Đối với bình luận nhiều dòng, phía bắt đầu của diff mà bình luận áp dụng. LEFT chỉ trạng thái trước đó, RIGHT chỉ trạng thái mới (chuỗi, tùy chọn)
    • subjectType: Cấp độ mà bình luận được nhắm mục tiêu (chuỗi, bắt buộc)
  • add_reply_to_pull_request_comment - Thêm trả lời vào bình luận pull request

    • Phạm vi OAuth bắt buộc: repo
    • body: Văn bản trả lời. Bắt buộc trừ khi reaction được cung cấp. (chuỗi, tùy chọn)
    • commentId: ID số của bình luận đánh giá pull request cần trả lời hoặc phản ứng. Sử dụng số từ neo #discussion_r..., không phải ID nút luồng GraphQL (PRRT_...). (số, bắt buộc)
    • owner: Chủ sở hữu kho lưu trữ (chuỗi, bắt buộc)
    • pullNumber: Số pull request. Bắt buộc khi body được cung cấp. (số, tùy chọn)
    • reaction: Phản ứng emoji để thêm. Bắt buộc trừ khi body được cung cấp. (chuỗi, tùy chọn)
    • repo: Tên kho lưu trữ (chuỗi, bắt buộc)
  • create_pull_request - Mở pull request mới

    • Phạm vi OAuth bắt buộc: repo
    • base: Nhánh để hợp nhất vào (chuỗi, bắt buộc)
    • body: Mô tả PR (chuỗi, tùy chọn)
    • draft: Tạo dưới dạng PR nháp (boolean, tùy chọn)
    • head: Nhánh chứa các thay đổi (chuỗi, bắt buộc)
    • maintainer_can_modify: Cho phép người bảo trì chỉnh sửa (boolean, tùy chọn)
    • owner: Chủ sở hữu kho lưu trữ (chuỗi, bắt buộc)
    • repo: Tên kho lưu trữ (chuỗi, bắt buộc)
    • reviewers: Tên người dùng GitHub hoặc người đánh giá nhóm ORG/team-slug để yêu cầu đánh giá (mảng chuỗi, tùy chọn)
    • title: Tiêu đề PR (chuỗi, bắt buộc)
  • list_pull_requests - Liệt kê pull requests

    • Phạm vi OAuth bắt buộc: repo
    • base: Lọc theo nhánh cơ sở (chuỗi, tùy chọn)
    • direction: Hướng sắp xếp (chuỗi, tùy chọn)
    • head: Lọc theo người dùng/tổ chức head và nhánh (chuỗi, tùy chọn)
    • owner: Chủ sở hữu kho lưu trữ (chuỗi, bắt buộc)
    • page: Số trang cho phân trang (tối thiểu 1) (số, tùy chọn)
    • perPage: Kết quả mỗi trang cho phân trang (tối thiểu 1, tối đa 100) (số, tùy chọn)
    • repo: Tên kho lưu trữ (chuỗi, bắt buộc)
    • sort: Sắp xếp theo (chuỗi, tùy chọn)
    • state: Lọc theo trạng thái (chuỗi, tùy chọn)
  • merge_pull_request - Hợp nhất pull request

    • Phạm vi OAuth bắt buộc: repo
    • commit_message: Chi tiết bổ sung cho commit hợp nhất (chuỗi, tùy chọn)
    • commit_title: Tiêu đề cho commit hợp nhất (chuỗi, tùy chọn)
    • merge_method: Phương thức hợp nhất (chuỗi, tùy chọn)
    • owner: Chủ sở hữu kho lưu trữ (chuỗi, bắt buộc)
    • pullNumber: Số pull request (số, bắt buộc)
    • repo: Tên kho lưu trữ (chuỗi, bắt buộc)
  • pull_request_read - Lấy thông tin chi tiết của một pull request

    • Phạm vi OAuth bắt buộc: repo
    • after: Con trỏ dùng cho phân trang, chỉ được sử dụng bởi phương thức get_review_comments. Truyền endCursor từ PageInfo của trang trước để lấy trang tiếp theo. (chuỗi, tùy chọn)
    • method: Hành động để chỉ định dữ liệu pull request nào cần được lấy từ GitHub. Các tùy chọn khả dụng:
      1. get - Lấy thông tin chi tiết của một pull request cụ thể.
      2. get_diff - Lấy diff của một pull request.
      3. get_status - Lấy trạng thái commit kết hợp của commit đầu trong một pull request.
      4. get_files - Lấy danh sách các tệp đã thay đổi trong một pull request. Sử dụng với các tham số phân trang để kiểm soát số lượng kết quả trả về.
      5. get_commits - Lấy danh sách các commit trên một pull request. Sử dụng với các tham số phân trang để kiểm soát số lượng kết quả trả về.
      6. get_review_comments - Lấy các luồng đánh giá trên một pull request. Mỗi luồng chứa các bình luận đánh giá được nhóm logic được tạo trên cùng một vị trí mã trong quá trình đánh giá pull request. Trả về các luồng với siêu dữ liệu (isResolved, isOutdated, isCollapsed) và các bình luận liên quan của chúng. Sử dụng phân trang dựa trên con trỏ (perPage, after) để kiểm soát kết quả.
      7. get_reviews - Lấy các đánh giá trên một pull request. Khi được yêu cầu bình luận đánh giá, hãy sử dụng phương thức get_review_comments. Sử dụng với các tham số phân trang để kiểm soát số lượng kết quả trả về.
      8. get_comments - Lấy bình luận trên một pull request. Sử dụng phương thức này nếu người dùng không yêu cầu cụ thể bình luận đánh giá. Sử dụng với các tham số phân trang để kiểm soát số lượng kết quả trả về.
      9. get_check_runs - Lấy các lần chạy kiểm tra cho commit đầu của một pull request. Các lần chạy kiểm tra là các công việc và kiểm tra CI/CD riêng lẻ chạy trên PR. (chuỗi, bắt buộc)
    • owner: Chủ sở hữu kho lưu trữ (chuỗi, bắt buộc)
    • page: Số trang cho phân trang (tối thiểu 1) (số, tùy chọn)
    • perPage: Kết quả mỗi trang cho phân trang (tối thiểu 1, tối đa 100) (số, tùy chọn)
    • pullNumber: Số pull request (số, bắt buộc)
    • repo: Tên kho lưu trữ (chuỗi, bắt buộc)
  • pull_request_review_write - Thao tác ghi (tạo, gửi, xóa) trên các đánh giá pull request

    • Phạm vi OAuth bắt buộc: repo
    • body: Văn bản bình luận đánh giá (chuỗi, tùy chọn)
    • commitID: SHA của commit cần đánh giá (chuỗi, tùy chọn)
    • event: Hành động đánh giá cần thực hiện. (chuỗi, tùy chọn)
    • method: Thao tác ghi cần thực hiện trên đánh giá pull request. (chuỗi, bắt buộc)
    • owner: Chủ sở hữu kho lưu trữ (chuỗi, bắt buộc)
    • pullNumber: Số pull request (số, bắt buộc)
    • repo: Tên kho lưu trữ (chuỗi, bắt buộc)
    • threadId: ID nút của luồng đánh giá (ví dụ: PRRT_kwDOxxx). Bắt buộc cho các phương thức resolve_thread và unresolve_thread. Lấy ID luồng từ pull_request_read với phương thức get_review_comments. (chuỗi, tùy chọn)
  • search_pull_requests - Tìm kiếm pull request

    • Phạm vi OAuth bắt buộc: repo
    • order: Thứ tự sắp xếp (chuỗi, tùy chọn)
    • owner: Chủ sở hữu kho lưu trữ tùy chọn. Nếu được cung cấp cùng với repo, chỉ các pull request cho kho lưu trữ này được liệt kê. (chuỗi, tùy chọn)
    • page: Số trang cho phân trang (tối thiểu 1) (số, tùy chọn)
    • perPage: Kết quả mỗi trang cho phân trang (tối thiểu 1, tối đa 100) (số, tùy chọn)
    • query: Truy vấn tìm kiếm sử dụng cú pháp tìm kiếm pull request của GitHub (chuỗi, bắt buộc)
    • repo: Tên kho lưu trữ tùy chọn. Nếu được cung cấp cùng với chủ sở hữu, chỉ các pull request cho kho lưu trữ này được liệt kê. (chuỗi, tùy chọn)
    • sort: Trường sắp xếp theo số lượng kết quả khớp của các danh mục, mặc định là kết quả khớp tốt nhất (chuỗi, tùy chọn)
  • update_pull_request - Chỉnh sửa pull request

    • Phạm vi OAuth bắt buộc: repo
    • base: Tên nhánh cơ sở mới (chuỗi, tùy chọn)
    • body: Mô tả mới (chuỗi, tùy chọn)
    • draft: Đánh dấu pull request là bản nháp (true) hoặc sẵn sàng để đánh giá (false) (boolean, tùy chọn)
    • maintainer_can_modify: Cho phép người bảo trì chỉnh sửa (boolean, tùy chọn)
    • owner: Chủ sở hữu kho lưu trữ (chuỗi, bắt buộc)
    • pullNumber: Số pull request cần cập nhật (số, bắt buộc)
    • repo: Tên kho lưu trữ (chuỗi, bắt buộc)
    • reviewers: Tên người dùng GitHub hoặc người đánh giá nhóm ORG/team-slug để yêu cầu đánh giá (mảng chuỗi, tùy chọn)
    • state: Trạng thái mới (chuỗi, tùy chọn)
    • title: Tiêu đề mới (chuỗi, tùy chọn)
  • update_pull_request_branch - Cập nhật nhánh pull request

    • Phạm vi OAuth bắt buộc: repo
    • expectedHeadSha: SHA dự kiến của tham chiếu HEAD của pull request (chuỗi, tùy chọn)
    • owner: Chủ sở hữu kho lưu trữ (chuỗi, bắt buộc)
    • pullNumber: Số pull request (số, bắt buộc)
    • repo: Tên kho lưu trữ (chuỗi, bắt buộc)
repo Kho lưu trữ
  • create_branch - Tạo nhánh

    • Phạm vi OAuth bắt buộc: repo
    • branch: Tên cho nhánh mới (chuỗi, bắt buộc)
    • from_branch: Nhánh nguồn (mặc định là nhánh mặc định của kho lưu trữ) (chuỗi, tùy chọn)
    • owner: Chủ sở hữu kho lưu trữ (chuỗi, bắt buộc)
    • repo: Tên kho lưu trữ (chuỗi, bắt buộc)
  • create_or_update_file - Tạo hoặc cập nhật tệp

    • Phạm vi OAuth bắt buộc: repo
    • branch: Nhánh để tạo/cập nhật tệp (chuỗi, bắt buộc)
    • content: Nội dung của tệp (chuỗi, bắt buộc)
    • message: Thông điệp commit (chuỗi, bắt buộc)
    • owner: Chủ sở hữu kho lưu trữ (tên người dùng hoặc tổ chức) (chuỗi, bắt buộc)
    • path: Đường dẫn nơi tạo/cập nhật tệp (chuỗi, bắt buộc)
    • repo: Tên kho lưu trữ (chuỗi, bắt buộc)
    • sha: SHA blob của tệp đang được thay thế. Bắt buộc nếu tệp đã tồn tại. (chuỗi, tùy chọn)
  • create_repository - Tạo kho lưu trữ

    • Phạm vi OAuth bắt buộc: repo
    • autoInit: Khởi tạo với README (boolean, tùy chọn)
    • description: Mô tả kho lưu trữ (chuỗi, tùy chọn)
    • name: Tên kho lưu trữ (chuỗi, bắt buộc)
    • organization: Tổ chức để tạo kho lưu trữ trong đó (bỏ qua để tạo trong tài khoản cá nhân của bạn) (chuỗi, tùy chọn)
    • private: Kho lưu trữ có nên ở chế độ riêng tư hay không. Mặc định là true (riêng tư) khi bỏ qua. (boolean, tùy chọn)
  • delete_file - Xóa tệp

    • Phạm vi OAuth bắt buộc: repo
    • branch: Nhánh để xóa tệp khỏi đó (chuỗi, bắt buộc)
    • message: Thông điệp commit (chuỗi, bắt buộc)
    • owner: Chủ sở hữu kho lưu trữ (tên người dùng hoặc tổ chức) (chuỗi, bắt buộc)
    • path: Đường dẫn đến tệp cần xóa (chuỗi, bắt buộc)
    • repo: Tên kho lưu trữ (chuỗi, bắt buộc)
  • fork_repository - Fork kho lưu trữ

    • Phạm vi OAuth bắt buộc: repo
    • organization: Tổ chức để fork đến (chuỗi, tùy chọn)
    • owner: Chủ sở hữu kho lưu trữ (chuỗi, bắt buộc)
    • repo: Tên kho lưu trữ (chuỗi, bắt buộc)
  • get_commit - Lấy chi tiết commit

    • Phạm vi OAuth bắt buộc: repo
    • detail: Mức độ chi tiết cần bao gồm cho các tệp đã thay đổi. "none" bỏ qua hoàn toàn số liệu thống kê và tệp. "stats" (mặc định) bao gồm siêu dữ liệu mỗi tệp: tên tệp, trạng thái và số dòng mã (thêm, xóa, thay đổi), không có nội dung vá. "full_patch" bao gồm thêm nội dung diff thống nhất cho mỗi tệp và có thể rất lớn. (chuỗi, tùy chọn)
    • owner: Chủ sở hữu kho lưu trữ (chuỗi, bắt buộc)
    • page: Số trang cho phân trang (tối thiểu 1) (số, tùy chọn)
    • perPage: Kết quả mỗi trang cho phân trang (tối thiểu 1, tối đa 100) (số, tùy chọn)
    • repo: Tên kho lưu trữ (chuỗi, bắt buộc)
    • sha: SHA commit, tên nhánh hoặc tên thẻ (chuỗi, bắt buộc)
  • get_file_contents - Lấy nội dung tệp hoặc thư mục

    • Phạm vi OAuth bắt buộc: repo
    • owner: Chủ sở hữu kho lưu trữ (tên người dùng hoặc tổ chức) (chuỗi, bắt buộc)
    • path: Đường dẫn đến tệp/thư mục (chuỗi, tùy chọn)
    • ref: Chấp nhận các tham chiếu git tùy chọn như refs/tags/{tag}, refs/heads/{branch} hoặc refs/pull/{pr_number}/head (chuỗi, tùy chọn)
    • repo: Tên kho lưu trữ (chuỗi, bắt buộc)
    • sha: Chấp nhận SHA commit tùy chọn. Nếu được chỉ định, nó sẽ được sử dụng thay vì ref (chuỗi, tùy chọn)
  • get_latest_release - Lấy bản phát hành mới nhất

    • Phạm vi OAuth bắt buộc: repo
    • owner: Chủ sở hữu kho lưu trữ (chuỗi, bắt buộc)
    • repo: Tên kho lưu trữ (chuỗi, bắt buộc)
  • get_release_by_tag - Lấy bản phát hành theo tên thẻ

    • Phạm vi OAuth bắt buộc: repo
    • owner: Chủ sở hữu kho lưu trữ (chuỗi, bắt buộc)
    • repo: Tên kho lưu trữ (chuỗi, bắt buộc)
    • tag: Tên thẻ (ví dụ: 'v1.0.0') (chuỗi, bắt buộc)
  • get_tag - Lấy chi tiết thẻ

    • Phạm vi OAuth bắt buộc: repo
    • owner: Chủ sở hữu kho lưu trữ (chuỗi, bắt buộc)
    • repo: Tên kho lưu trữ (chuỗi, bắt buộc)
    • tag: Tên thẻ (chuỗi, bắt buộc)
  • list_branches - Liệt kê các nhánh

    • Phạm vi OAuth bắt buộc: repo
    • owner: Chủ sở hữu kho lưu trữ (chuỗi, bắt buộc)
    • page: Số trang cho phân trang (tối thiểu 1) (số, tùy chọn)
    • perPage: Kết quả mỗi trang cho phân trang (tối thiểu 1, tối đa 100) (số, tùy chọn)
    • repo: Tên kho lưu trữ (chuỗi, bắt buộc)
  • list_commits - Liệt kê các commit

    • Phạm vi OAuth bắt buộc: repo
    • author: Tên người dùng hoặc địa chỉ email của tác giả để lọc commit (chuỗi, tùy chọn)
    • owner: Chủ sở hữu kho lưu trữ (chuỗi, bắt buộc)
    • page: Số trang cho phân trang (tối thiểu 1) (số, tùy chọn)
    • path: Chỉ các commit chứa đường dẫn tệp này mới được trả về (chuỗi, tùy chọn)
    • perPage: Kết quả mỗi trang cho phân trang (tối thiểu 1, tối đa 100) (số, tùy chọn)
    • repo: Tên kho lưu trữ (chuỗi, bắt buộc)
    • sha: SHA commit, tên nhánh hoặc thẻ để liệt kê các commit. Nếu không được cung cấp, sử dụng nhánh mặc định của kho lưu trữ. Nếu SHA commit được cung cấp, sẽ liệt kê các commit cho đến SHA đó. (chuỗi, tùy chọn)
    • since: Chỉ các commit sau ngày này mới được trả về (định dạng ISO 8601: YYYY-MM-DDTHH:MM:SSZ hoặc YYYY-MM-DD) (chuỗi, tùy chọn)
    • until: Chỉ các commit trước ngày này mới được trả về (định dạng ISO 8601: YYYY-MM-DDTHH:MM:SSZ hoặc YYYY-MM-DD) (chuỗi, tùy chọn)
  • list_releases - Liệt kê các bản phát hành

    • Phạm vi OAuth bắt buộc: repo
    • owner: Chủ sở hữu kho lưu trữ (chuỗi, bắt buộc)
    • page: Số trang cho phân trang (tối thiểu 1) (số, tùy chọn)
    • perPage: Kết quả mỗi trang cho phân trang (tối thiểu 1, tối đa 100) (số, tùy chọn)
    • repo: Tên kho lưu trữ (chuỗi, bắt buộc)
  • list_repository_collaborators - Liệt kê cộng tác viên của kho lưu trữ

    • Phạm vi OAuth bắt buộc: repo
    • affiliation: Lọc theo mối liên kết. Có thể là một trong: 'outside' (cộng tác viên bên ngoài), 'direct' (tất cả có quyền bất kể tư cách thành viên tổ chức), 'all' (tất cả cộng tác viên). Mặc định: 'all' (chuỗi, tùy chọn)
    • owner: Chủ sở hữu kho lưu trữ (chuỗi, bắt buộc)
    • page: Số trang cho phân trang (mặc định 1, tối thiểu 1) (số, tùy chọn)
    • perPage: Kết quả mỗi trang cho phân trang (mặc định 30, tối thiểu 1, tối đa 100) (số, tùy chọn)
    • repo: Tên kho lưu trữ (chuỗi, bắt buộc)
  • list_tags - Liệt kê thẻ

    • Phạm vi OAuth bắt buộc: repo
    • owner: Chủ sở hữu kho lưu trữ (chuỗi, bắt buộc)
    • page: Số trang để phân trang (tối thiểu 1) (số, tùy chọn)
    • perPage: Kết quả mỗi trang để phân trang (tối thiểu 1, tối đa 100) (số, tùy chọn)
    • repo: Tên kho lưu trữ (chuỗi, bắt buộc)
  • push_files - Đẩy tệp lên kho lưu trữ

    • Phạm vi OAuth bắt buộc: repo
    • branch: Nhánh để đẩy lên (chuỗi, bắt buộc)
    • files: Mảng các đối tượng tệp để đẩy, mỗi đối tượng có đường dẫn (chuỗi) và nội dung (chuỗi) (object[], bắt buộc)
    • message: Thông điệp commit (chuỗi, bắt buộc)
    • owner: Chủ sở hữu kho lưu trữ (chuỗi, bắt buộc)
    • repo: Tên kho lưu trữ (chuỗi, bắt buộc)
  • search_code - Tìm kiếm mã

    • Phạm vi OAuth bắt buộc: repo
    • order: Thứ tự sắp xếp kết quả (chuỗi, tùy chọn)
    • page: Số trang để phân trang (tối thiểu 1) (số, tùy chọn)
    • perPage: Kết quả mỗi trang để phân trang (tối thiểu 1, tối đa 100) (số, tùy chọn)
    • query: Truy vấn tìm kiếm (REST tìm kiếm mã GitHub). Ngầm định AND giữa các từ; hỗ trợ OR, NOT, và "quoted phrase" cho khớp chính xác. Bộ định tính: repo:owner/repo, org:, user:, language:, path:dir (khớp tiền tố), filename:exact.ext, extension:, in:file, in:path, size:, is:archived, is:fork. Tối đa 256 ký tự. Ví dụ: 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. (chuỗi, bắt buộc)
    • sort: Trường sắp xếp (chỉ 'indexed') (chuỗi, tùy chọn)
  • search_commits - Tìm kiếm commit

    • Phạm vi OAuth bắt buộc: repo
    • order: Thứ tự sắp xếp (chuỗi, tùy chọn)
    • page: Số trang để phân trang (tối thiểu 1) (số, tùy chọn)
    • perPage: Kết quả mỗi trang để phân trang (tối thiểu 1, tối đa 100) (số, tùy chọn)
    • query: Truy vấn tìm kiếm commit (REST tìm kiếm commit GitHub). Chỉ tìm kiếm thông điệp commit trên nhánh mặc định. Giới hạn phạm vi tìm kiếm với repo:owner/repo, org:, hoặc user: (truy vấn không có bộ định tính phạm vi sẽ khớp trên toàn bộ GitHub và thường không phải là điều bạn muốn). Các bộ định tính khác: author:, committer:, author-name:, committer-name:, author-email:, committer-email:, author-date:, committer-date: (hỗ trợ >, <, >=, <=, và phạm vi YYYY-MM-DD..YYYY-MM-DD), merge:true|false, hash:, tree:, parent:, is:public. Ví dụ: repo:owner/repo fix panic; org:github author:defunkt committer-date:>=2024-01-01; "refactor cache" repo:o/r; hash:abc1234 repo:o/r. (chuỗi, bắt buộc)
    • sort: Sắp xếp theo ngày tác giả hoặc người commit (mặc định là khớp tốt nhất) (chuỗi, tùy chọn)
  • search_repositories - Tìm kiếm kho lưu trữ

    • Phạm vi OAuth bắt buộc: repo
    • minimal_output: Trả về thông tin kho lưu trữ tối thiểu (mặc định: true). Khi false, trả về đối tượng kho lưu trữ đầy đủ của GitHub API. (boolean, tùy chọn)
    • order: Thứ tự sắp xếp (chuỗi, tùy chọn)
    • page: Số trang để phân trang (tối thiểu 1) (số, tùy chọn)
    • perPage: Kết quả mỗi trang để phân trang (tối thiểu 1, tối đa 100) (số, tùy chọn)
    • query: Truy vấn tìm kiếm kho lưu trữ. Ví dụ: 'machine learning in:name stars:>1000 language:python', 'topic:react', 'user:facebook'. Hỗ trợ cú pháp tìm kiếm nâng cao để lọc chính xác. (chuỗi, bắt buộc)
    • sort: Sắp xếp kho lưu trữ theo trường, mặc định là khớp tốt nhất (chuỗi, tùy chọn)
shield-lock Bảo vệ Bí mật
  • get_secret_scanning_alert - Lấy cảnh báo quét bí mật

    • Phạm vi OAuth bắt buộc: security_events
    • Phạm vi OAuth được chấp nhận: repo, security_events
    • alertNumber: Số của cảnh báo. (số, bắt buộc)
    • owner: Chủ sở hữu của kho lưu trữ. (chuỗi, bắt buộc)
    • repo: Tên của kho lưu trữ. (chuỗi, bắt buộc)
  • list_secret_scanning_alerts - Liệt kê cảnh báo quét bí mật

    • Phạm vi OAuth bắt buộc: security_events
    • Phạm vi OAuth được chấp nhận: repo, security_events
    • owner: Chủ sở hữu của kho lưu trữ. (chuỗi, bắt buộc)
    • page: Số trang để phân trang (tối thiểu 1) (số, tùy chọn)
    • perPage: Kết quả mỗi trang để phân trang (tối thiểu 1, tối đa 100) (số, tùy chọn)
    • repo: Tên của kho lưu trữ. (chuỗi, bắt buộc)
    • resolution: Lọc theo giải pháp (chuỗi, tùy chọn)
    • secret_type: Danh sách các loại bí mật được phân tách bằng dấu phẩy để trả về. Tất cả các mẫu bí mật mặc định được trả về. Để trả về các mẫu chung, hãy truyền (các) tên token trong tham số. (chuỗi, tùy chọn)
    • state: Lọc theo trạng thái (chuỗi, tùy chọn)
shield Tư vấn Bảo mật
  • get_global_security_advisory - Lấy tư vấn bảo mật toàn cầu

    • Phạm vi OAuth bắt buộc: security_events
    • Phạm vi OAuth được chấp nhận: repo, security_events
    • ghsaId: ID Tư vấn Bảo mật GitHub (định dạng: GHSA-xxxx-xxxx-xxxx). (chuỗi, bắt buộc)
  • list_global_security_advisories - Liệt kê tư vấn bảo mật toàn cầu

    • Phạm vi OAuth bắt buộc: security_events
    • Phạm vi OAuth được chấp nhận: repo, security_events
    • affects: Lọc tư vấn theo gói hoặc phiên bản bị ảnh hưởng (ví dụ: "package1,package2@1.0.0"). (chuỗi, tùy chọn)
    • cveId: Lọc theo ID CVE. (chuỗi, tùy chọn)
    • cwes: Lọc theo ID Liệt kê Điểm yếu Phổ biến (ví dụ: ["79", "284", "22"]). (string[], tùy chọn)
    • ecosystem: Lọc theo hệ sinh thái gói. (chuỗi, tùy chọn)
    • ghsaId: Lọc theo ID Tư vấn Bảo mật GitHub (định dạng: GHSA-xxxx-xxxx-xxxx). (chuỗi, tùy chọn)
    • isWithdrawn: Có chỉ trả về các tư vấn đã bị thu hồi hay không. (boolean, tùy chọn)
    • modified: Lọc theo ngày xuất bản hoặc cập nhật hoặc phạm vi ngày (ngày ISO 8601 hoặc phạm vi). (chuỗi, tùy chọn)
    • published: Lọc theo ngày xuất bản hoặc phạm vi ngày (ngày ISO 8601 hoặc phạm vi). (chuỗi, tùy chọn)
    • severity: Lọc theo mức độ nghiêm trọng. (chuỗi, tùy chọn)
    • type: Loại tư vấn. (chuỗi, tùy chọn)
    • updated: Lọc theo ngày cập nhật hoặc phạm vi ngày (ngày ISO 8601 hoặc phạm vi). (chuỗi, tùy chọn)
  • list_org_repository_security_advisories - Liệt kê tư vấn bảo mật kho lưu trữ của tổ chức

    • Phạm vi OAuth bắt buộc: security_events
    • Phạm vi OAuth được chấp nhận: repo, security_events
    • direction: Hướng sắp xếp. (chuỗi, tùy chọn)
    • org: Tên đăng nhập tổ chức. (chuỗi, bắt buộc)
    • sort: Trường sắp xếp. (chuỗi, tùy chọn)
    • state: Lọc theo trạng thái tư vấn. (chuỗi, tùy chọn)
  • list_repository_security_advisories - Liệt kê tư vấn bảo mật kho lưu trữ

    • Phạm vi OAuth bắt buộc: security_events
    • Phạm vi OAuth được chấp nhận: repo, security_events
    • direction: Hướng sắp xếp. (chuỗi, tùy chọn)
    • owner: Chủ sở hữu của kho lưu trữ. (chuỗi, bắt buộc)
    • repo: Tên của kho lưu trữ. (chuỗi, bắt buộc)
    • sort: Trường sắp xếp. (chuỗi, tùy chọn)
    • state: Lọc theo trạng thái tư vấn. (chuỗi, tùy chọn)
star Người gắn sao
  • list_starred_repositories - Liệt kê kho lưu trữ đã gắn sao

    • Phạm vi OAuth bắt buộc: repo
    • direction: Hướng sắp xếp kết quả. (chuỗi, tùy chọn)
    • page: Số trang để phân trang (tối thiểu 1) (số, tùy chọn)
    • perPage: Kết quả mỗi trang để phân trang (tối thiểu 1, tối đa 100) (số, tùy chọn)
    • sort: Cách sắp xếp kết quả. Có thể là 'created' (khi kho lưu trữ được gắn sao) hoặc 'updated' (khi kho lưu trữ được đẩy lên lần cuối). (chuỗi, tùy chọn)
    • username: Tên người dùng để liệt kê kho lưu trữ đã gắn sao. Mặc định là người dùng đã xác thực. (chuỗi, tùy chọn)
  • star_repository - Gắn sao kho lưu trữ

    • Phạm vi OAuth bắt buộc: repo
    • owner: Chủ sở hữu kho lưu trữ (chuỗi, bắt buộc)
    • repo: Tên kho lưu trữ (chuỗi, bắt buộc)
  • unstar_repository - Bỏ gắn sao kho lưu trữ

    • Phạm vi OAuth bắt buộc: repo
    • owner: Chủ sở hữu kho lưu trữ (chuỗi, bắt buộc)
    • repo: Tên kho lưu trữ (chuỗi, bắt buộc)
people Người dùng
  • search_users - Tìm kiếm người dùng
    • Phạm vi OAuth bắt buộc: repo
    • order: Thứ tự sắp xếp (chuỗi, tùy chọn)
    • page: Số trang để phân trang (tối thiểu 1) (số, tùy chọn)
    • perPage: Kết quả mỗi trang để phân trang (tối thiểu 1, tối đa 100) (số, tùy chọn)
    • query: Truy vấn tìm kiếm người dùng. Ví dụ: 'john smith', 'location:seattle', 'followers:>100'. Tìm kiếm tự động được giới hạn phạm vi thành type:user. (chuỗi, bắt buộc)
    • sort: Sắp xếp người dùng theo số lượng người theo dõi hoặc kho lưu trữ, hoặc thời điểm người đó tham gia GitHub. (chuỗi, tùy chọn)

Công cụ Bổ sung trong Máy chủ GitHub MCP Từ xa

Copilot
  • create_pull_request_with_copilot - Thực hiện tác vụ với tác nhân mã hóa GitHub Copilot
    • owner: Chủ sở hữu kho lưu trữ. Bạn có thể đoán chủ sở hữu, nhưng hãy xác nhận với người dùng trước khi tiếp tục. (chuỗi, bắt buộc)
    • repo: Tên kho lưu trữ. Bạn có thể đoán tên kho lưu trữ, nhưng hãy xác nhận với người dùng trước khi tiếp tục. (chuỗi, bắt buộc)
    • problem_statement: Mô tả chi tiết về tác vụ cần thực hiện (ví dụ: 'Triển khai tính năng X', 'Sửa lỗi Y', v.v.) (chuỗi, bắt buộc)
    • title: Tiêu đề cho pull request sẽ được tạo (chuỗi, bắt buộc)
    • base_ref: Tham chiếu Git (ví dụ: nhánh) mà tác nhân sẽ bắt đầu công việc từ đó. Nếu không được chỉ định, mặc định là nhánh mặc định của kho lưu trữ (chuỗi, tùy chọn)
Không gian Copilot
  • Ghi chú xác thực

    • PAT chi tiết không bị ẩn bởi lọc phạm vi PAT cổ điển, vì vậy các công cụ này vẫn có thể xuất hiện ngay cả khi token không thể sử dụng chúng.
    • Đối với không gian thuộc sở hữu tổ chức, PAT chi tiết phải được cài đặt trên tổ chức sở hữu và bao gồm organization_copilot_spaces: read.
    • Nếu không gian thuộc sở hữu tổ chức chứa tài nguyên được hỗ trợ bởi kho lưu trữ, token cũng phải có quyền truy cập vào mọi kho lưu trữ được tham chiếu nếu không không gian có thể được coi là không tìm thấy.
  • get_copilot_space - Lấy Không gian Copilot

    • owner: Chủ sở hữu của không gian. (chuỗi, bắt buộc)
    • name: Tên của không gian. (chuỗi, bắt buộc)
  • list_copilot_spaces - Liệt kê Không gian Copilot

Tìm kiếm Tài liệu Hỗ trợ GitHub - **github_support_docs_search** - Truy xuất tài liệu liên quan để trả lời các câu hỏi về sản phẩm và hỗ trợ của GitHub. Các chủ đề hỗ trợ bao gồm: GitHub Actions Workflows, Xác thực, Yêu cầu Hỗ trợ GitHub, Thực hành Pull Request, Bảo trì Kho lưu trữ, GitHub Pages, GitHub Packages, GitHub Discussions, Copilot Spaces - `query`: Đầu vào từ người dùng về câu hỏi họ cần được trả lời. Đây là tin nhắn thô mới nhất chưa chỉnh sửa của người dùng. Bạn LUÔN LUÔN nên giữ nguyên tin nhắn của người dùng, không bao giờ sửa đổi nó. (chuỗi, bắt buộc)

Chế độ Chỉ đọc

Để chạy máy chủ ở chế độ chỉ đọc, bạn có thể sử dụng cờ --read-only. Điều này sẽ chỉ cung cấp các công cụ chỉ đọc, ngăn chặn mọi sửa đổi đối với kho lưu trữ, vấn đề, pull request, v.v.

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

Khi sử dụng Docker, bạn có thể truyền chế độ chỉ đọc dưới dạng biến môi trường:

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

Chế độ Khóa

Chế độ khóa giới hạn nội dung mà máy chủ sẽ hiển thị từ các kho lưu trữ công khai. Khi được bật, máy chủ sẽ kiểm tra xem tác giả của mỗi mục có quyền push vào kho lưu trữ hay không. Các kho lưu trữ riêng tư không bị ảnh hưởng và cộng tác viên vẫn có toàn quyền truy cập vào nội dung của chính họ.

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

Khi chạy với Docker, hãy đặt biến môi trường tương ứng:

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

Hành vi của chế độ khóa phụ thuộc vào công cụ được gọi.

Các công cụ sau sẽ trả về lỗi khi tác giả thiếu quyền push:

  • issue_read:get
  • pull_request_read:get

Các công cụ sau sẽ lọc bỏ nội dung từ những người dùng thiếu quyền 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 / Ghi đè Mô tả

Mô tả của các công cụ có thể được ghi đè bằng cách tạo một tệp github-mcp-server-config.json trong cùng thư mục với tệp nhị phân.

Tệp phải chứa một đối tượng JSON với tên công cụ là khóa và mô tả mới là giá trị. Ví dụ:

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

Bạn có thể tạo một bản xuất các bản dịch hiện tại bằng cách chạy tệp nhị phân với cờ --export-translations.

Cờ này sẽ bảo toàn mọi bản dịch/ghi đè bạn đã thực hiện, đồng thời thêm bất kỳ bản dịch mới nào đã được thêm vào tệp nhị phân kể từ lần cuối bạn xuất.

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

Bạn cũng có thể sử dụng biến môi trường để ghi đè mô tả. Tên biến môi trường giống với khóa trong tệp JSON, được thêm tiền tố GITHUB_MCP_ và viết hoa toàn bộ.

Ví dụ, để ghi đè công cụ TOOL_ADD_ISSUE_COMMENT_DESCRIPTION, bạn có thể đặt biến môi trường sau:

export GITHUB_MCP_TOOL_ADD_ISSUE_COMMENT_DESCRIPTION="an alternative description"

Ghi đè Tên và Tiêu đề Máy chủ

Cơ chế ghi đè tương tự có thể được sử dụng để tùy chỉnh các trường nametitle của máy chủ MCP trong phản hồi khởi tạo. Điều này hữu ích khi chạy nhiều phiên bản GitHub MCP Server (ví dụ: một cho github.com và một cho GitHub Enterprise Server) để các tác nhân có thể phân biệt giữa chúng.

KhóaBiến Môi trườngMặc định
SERVER_NAMEGITHUB_MCP_SERVER_NAMEgithub-mcp-server
SERVER_TITLEGITHUB_MCP_SERVER_TITLEGitHub MCP Server

Ví dụ, để cấu hình một phiên bản máy chủ cho GitHub Enterprise Server:

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

Hoặc sử dụng biến môi trường:

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

Sử dụng Thư viện

API Go được xuất của mô-đun này hiện nên được coi là không ổn định và có thể có những thay đổi phá vỡ. Trong tương lai, chúng tôi có thể cung cấp sự ổn định; vui lòng gửi một vấn đề nếu có trường hợp sử dụng mà điều này có giá trị.

Đóng góp

Chúng tôi hoan nghênh các đóng góp. Trước khi mở một pull request, vui lòng đọc hướng dẫn đóng góp để biết hướng dẫn thiết lập, kiểm thử, linting và tạo tài liệu.

Hỗ trợ

Để được trợ giúp sử dụng GitHub MCP Server, hãy xem hướng dẫn hỗ trợ. Nếu bạn đã tìm thấy lỗi hoặc muốn yêu cầu một tính năng, vui lòng tìm kiếm các vấn đề hiện có trước khi mở một vấn đề mới.

Bảo mật

Vui lòng không báo cáo lỗ hổng bảo mật thông qua các vấn đề công khai. Làm theo hướng dẫn trong chính sách bảo mật để báo cáo lỗ hổng một cách có trách nhiệm.

Giấy phép

Dự án này được cấp phép theo các điều khoản của giấy phép mã nguồn mở MIT. Vui lòng tham khảo MIT để biết các điều khoản đầy đủ.