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.
Khám phá kho lưu trữ — Yêu cầu trợ lý của bạn duyệt mã, tìm kiếm tệp và phân tích các commit trong bất kỳ kho lưu trữ nào bạn có thể truy cập.
Quản lý issue và PR — Để AI tạo, cập nhật và phân loại các issue và pull request, bao gồm cả việc xem xét các thay đổi mã.
Giám sát CI/CD — Nhận thông tin chi tiết về các lần chạy workflow GitHub Actions, phân tích lỗi build và quản lý các bản phát hành.
Phân tích bảo mật — Kiểm tra các kết quả quét mã và xem xét các cảnh báo Dependabot về lỗ hổng bảo mật.
Cộng tác nhóm — Truy cập các cuộc thảo luận, quản lý thông báo và phân tích hoạt động của nhóm trên các dự án của bạn.
Máy chủ MCP được lưu trữ
npx add-mcp 'https://api.githubcopilot.com/mcp/'
Cài vào Claude Code, Codex, Cursor và nhiều công cụ khác
Tài liệu
Máy chủ GitHub MCP
Máy chủ GitHub MCP kết nối các công cụ AI trực tiếp 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 tương tác ngôn ngữ tự nhiên.
Các 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 hỗ trợ phân loại lỗi, đánh giá thay đổi mã và duy trì bảng dự án.
CI/CD & Thông minh quy trình làm việc: Giám sát các lần chạy quy trình làm việc GitHub Actions, 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ề quy trình 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 bối 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.
Sử dụng mô-đun Go
Đường dẫn mô-đun Go là github.com/github/github-mcp-server/v2. Người dùng thư viện
phải sử dụng tiền tố này trong các import, ví dụ
github.com/github/github-mcp-server/v2/pkg/github, và trong các lệnh go get.
Không cần thư mục con /v2 khi xây dựng từ bản sao kho lưu trữ.
Thẻ v2.0.0 hiện có có trước bản sửa đường dẫn mô-đun này và không thể được sử dụng
như một mô-đun Go. Sau khi thay đổi này được hợp nhất, một bản phát hành mới như v2.0.1 phải
được gắn thẻ từ một commit chứa đường dẫn mô-đun đã sửa. Cho đến lúc đó,
người dùng có thể sử dụng phiên bản giả từ một commit chứa thay đổi này.
Máy chủ GitHub MCP từ xa
Máy chủ GitHub MCP từ xa được GitHub lưu trữ và cung cấp phương pháp dễ nhất để bắt đầu. 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 Máy chủ GitHub MCP thay thế.
Điều kiện tiên quyế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.)
Để cài đặt nhanh, hãy sử dụng một trong các nút cài đặt một cú nhấp chuột ở trên. Sau khi hoàn tất quy trình đó, hãy bật 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 vào cấu hình máy chủ của bạn:
Lưu ý: Mỗi ứng dụng máy chủ MCP cần cấu hình 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 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 chi tiết đầy đủ 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 Máy chủ GitHub MCP từ xa trong VS Code và các máy chủ MCP khác.
Lưu ý: Khi sử dụng OAuth với GitHub Enterprise trong 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
Để chạy máy chủ trong container, bạn cần cài đặt Docker.
Sau khi cài đặt Docker, bạn cũng cần đảm bảo Docker đang chạy. Hình ảnh Docker có sẵn tại ghcr.io/github/github-mcp-server. Hình ảnh này là công khai; nếu bạn gặp lỗi khi kéo, bạn có thể có mã thông báo hết hạn và cần docker logout ghcr.io.
Xác thực. Trên github.com bạn không cần tạo bất cứ điều gì trước — các nút một cú nhấp chuột ở trên đăng nhập 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; mã thông báo chỉ được giữ trong bộ nhớ). Các nút Docker xuất bản một cổng gọi lại cố định (127.0.0.1:8085) để có thể truy cập gọi lại đăng nhập của container. Xem Đăng nhập OAuth Máy chủ Cục bộ để biết cách hoạt động, phương án dự phòng headless/mã thiết bị và cách 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).
Thích mã thông báo hơn? Bạn vẫn có thể xác thực bằng Mã thông báo truy cập cá nhân GitHub bằng cách đặt GITHUB_PERSONAL_ACCESS_TOKEN thay thế (nó được ưu tiên hơn OAuth). Máy chủ MCP có thể sử dụng nhiều API 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ề mã thông báo 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:
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 tệp .env:
GITHUB_PAT=your_token_here
Bảo vệ tệp .env của bạn
# Add to .gitignore to prevent accidental commits
echo ".env" >> .gitignore
Tham chiếu mã thông báo 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 mã thông báo được mã hóa cứng trong tệp cấu hình.
Các phương pháp bảo mật mã thông báo tốt nhất
Phạm vi tối thiểu: Chỉ cấp các quyền cần thiết
repo - Thao tác kho lưu trữ
read:packages - Truy cập hình ảnh Docker
read:org - Truy cập nhóm tổ chức
Mã thông báo 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
Xoay vòng thường xuyên: Cập nhật mã thông báo định kỳ
Không bao giờ commit: Giữ mã thông báo 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 mã thông báo
chmod 600 ~/.your-app/config.json
GitHub Enterprise Server và Enterprise Cloud có nơ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 có nơi cư trú dữ liệu.
Đối với GitHub Enterprise Server, thêm tiền tố tên máy chủ với lược đồ URI https://. HTTPS là bắt buộc và được thực thi: các máy chủ không phải HTTPS bị từ chối để thông tin xác thực không bao giờ được gửi qua văn bản rõ ràng (ngoại lệ duy nhất là máy chủ loopback như http://localhost để phát triển cục bộ).
Đối với GitHub Enterprise Cloud có nơi cư trú dữ liệu, sử dụng https://YOURSUBDOMAIN.ghe.com làm tên máy chủ.
Để cài đặt nhanh, hãy sử dụng một trong các nút cài đặt một cú nhấp chuột ở trên. Sau khi hoàn tất quy trình đó, hãy bật 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ế độ tác nhân 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.
Đăng nhập bằng OAuth (không cần tạo hoặc lưu trữ mã thông báo). Trên github.com, hình ảnh chính thức đã bao gồm thông tin đăng nhập ứng dụng, vì vậy bạn không cần cung cấp bất kỳ thông tin nào: 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ữ mã thông báo kết quả chỉ trong bộ nhớ. Trong Docker, điều này cần một cổng gọi lại cố định được xuất bản đến loopback để có thể truy cập gọi lại đăng nhập của container:
Xem Đăng nhập OAuth Máy chủ Cục bộ để biết quy trình nhị phân gốc (không cần cổng cố định), phương án dự phòng headless/mã thiết bị, GitHub Enterprise Server / ghe.com và cách mang theo OAuth hoặc GitHub App của riêng bạn.
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.
Để có cái nhìn 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 máy chủ GitHub MCP 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 để xây dựng 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 mã thông báo của bạn. Để chỉ định vị trí đầu ra của bản dựng, 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 đã xây dựng làm command của nó.
Các yêu cầu API STDIO xác định máy chủ là github-mcp-server/<version> và giữ lại tên/phiên bản của máy khách MCP thượng nguồn trong dấu ngoặc đơn khi có sẵn. Các ký tự điều khiển, dấu ngoặc kép, dấu gạch chéo ngược và dấu ngoặc đơn trong siêu dữ liệu máy khách được thoát để tiêu đề HTTP vẫn hợp lệ; tên thông thường, phiên bản, dấu cách và Unicode in được được giữ nguyên. Các bản phát hành giữ nguyên phiên bản phát hành của chúng. Các bản dựng nguồn và Docker mặc định có siêu dữ liệu sửa đổi sử dụng vcs-<full-commit-sha>. Quy trình xuất bản Docker giữ nguyên phiên bản thẻ, bao gồm cả bản phát hành trước, và cho phép các bản dựng nhánh, yêu cầu kéo và hàng đêm sử dụng bản sửa đổi nguồn được liên kết. Dấu hiệu -dirty chỉ áp dụng khi cả bản sửa đổi và trạng thái đã sửa đổi đến từ siêu dữ liệu VCS nhúng, không bao giờ áp dụng cho main.commit hợp lệ, được cung cấp rõ ràng. Đây là mã định danh bản dựng VCS, không phải số phát hành.
Xây dựng gói hoàn chỉnh bằng go build -o github-mcp-server ./cmd/github-mcp-server từ bản sao Git để nhúng bản sửa đổi VCS của nó. Đối với các bản dựng không có siêu dữ liệu VCS, hãy cung cấp bản phát hành thực tế bằng -ldflags '-X main.version=<release>' hoặc bản sửa đổi nguồn đầy đủ bằng -ldflags '-X main.commit=<sha>'. Siêu dữ liệu hợp lệ được chọn theo thứ tự này: bản phát hành rõ ràng, bản sửa đổi nguồn rõ ràng, bản sửa đổi VCS nhúng, sau đó là phiên bản mô-đun chính đã cài đặt. Các bản sửa đổi rõ ràng hợp lệ vẫn có thẩm quyền ngay cả khi bộ lọc ngữ cảnh bản dựng thay đổi siêu dữ liệu VCS nhúng. Các ứng viên bị thiếu hoặc sai định dạng sẽ chuyển sang nguồn có thể sử dụng tiếp theo. Nếu không có sẵn, STDIO vẫn khởi động với nhãn phát triển dev và phát ra cảnh báo trên stderr, để stdout khả dụng cho giao thức MCP. Cung cấp siêu dữ liệu phát hành hoặc sửa đổi thực tế khi cần ghi nhận thuộc tính theo phiên bản cụ thể.
Máy chủ GitHub MCP 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 khả năng API GitHub nào có sẵn cho các công cụ AI của mình. Chỉ bật các 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.
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 có liên quan cũng được bao gồm khi áp dụng.
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.
Đang tìm kiế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ác 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:
Biến môi trường GITHUB_TOOLSETS có quyền ư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.
Thao tác này đăng ký tất cả các công cụ từ bộ công cụ repos và issues, cộng với get_gist.
Lưu ý Quan trọng:
Các 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 sẽ 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ông khởi động được với thông báo lỗi
Khi các công cụ được đổi tên, tên cũ được giữ lại làm 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:
Được khuyế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
actions
Quy trình làm việc GitHub Actions và các hoạt động CI/CD
code_quality
Các công cụ liên quan đến Chất lượng Mã GitHub
code_security
Các công cụ liên quan đến bảo mật mã, chẳng hạn như GitHub Code Scanning
copilot
Các công cụ liên quan đến Copilot
copilot_issue_intents
Các công cụ gán vấn đề Copilot tùy chọn mang siêu dữ liệu ý định (lý do, mức độ tin cậy, gợi ý)
dependabot
Các công cụ Dependabot
discussions
Các công cụ liên quan đến GitHub Discussions
gists
Các công cụ liên quan đến GitHub Gist
git
Các công cụ liên quan đến GitHub Git API cho các hoạt động Git cấp thấp
governance
Các công cụ quản trị kho lưu trữ để quản lý rulesets và thuộc tính tùy chỉnh ở cấp kho lưu trữ, tổ chức và doanh nghiệp
issues
Các công cụ liên quan đến GitHub Issues
labels
Các công cụ liên quan đến GitHub Labels
notifications
Các công cụ liên quan đến GitHub Notifications
orgs
Các công cụ liên quan đến GitHub Organization
projects
Các công cụ liên quan đến GitHub Projects
pull_requests
Các công cụ liên quan đến GitHub Pull Request
repos
Các công cụ liên quan đến GitHub Repository
secret_protection
Các công cụ liên quan đến bảo vệ bí mật, chẳng hạn như GitHub Secret Scanning
security_advisories
Các công cụ liên quan đến tư vấn bảo mật
stargazers
Các công cụ liên quan đến GitHub Stargazers
users
Các công cụ liên quan đến GitHub User
Bộ công cụ Bổ sung trong Máy chủ GitHub MCP Từ xa
Bộ công cụ
Mô tả
copilot
Các công cụ liên quan đến Copilot (ví dụ: Copilot Coding Agent)
copilot_spaces
Các công cụ liên quan đến Copilot Spaces
github_support_docs_search
Tìm kiếm tài liệu để trả lời các câu hỏi về sản phẩm và hỗ trợ GitHub
Công cụ
Các công cụ kho lưu trữ hiển thị lược đồ đầu ra và structuredContent có kiểu dữ liệu khi phiên bản giao thức MCP được đàm phán là phiên bản được hỗ trợ 2026-07-28 hoặc mới hơn. Các máy khách cũ hơn, máy khách có phiên bản giao thức không xác định và máy khách bỏ qua phiên bản sẽ nhận nội dung hiện có mà không có lược đồ đầu ra hoặc đầu ra có cấu trúc. Các phiên bản không xác định không được coi là được hỗ trợ chỉ vì chúng sắp xếp sau 2026-07-28.
Đối với get_file_contents, kết quả thư mục (bao gồm cả phép chiếu trường) là các mảng có cấu trúc. Tải xuống tệp và phản hồi chỉ có siêu dữ liệu sử dụng mảng content gồm các khối văn bản có kiểu dữ liệu, tài nguyên nhúng hoặc liên kết tài nguyên, giữ nguyên thông báo trạng thái, văn bản, blob base64, tệp trống và liên kết tải xuống. Các thay đổi kho lưu trữ chỉ bằng văn bản như gắn sao và xóa cũng trả về message có cấu trúc; phản hồi fork phân biệt tham chiếu kho lưu trữ với thông báo đang tiến hành. Việc xóa kho lưu trữ vẫn yêu cầu luồng xác nhận hiện có trước khi trả về kết quả hoàn tất.
Kết quả kho lưu trữ có cấu trúc sử dụng DTO nhỏ gọn thay vì các đối tượng REST thô. Tra cứu bản phát hành chia sẻ hình dạng bản phát hành nhỏ gọn với danh sách bản phát hành; tham chiếu Git giữ lại ref, loại đối tượng và SHA; thẻ chú thích giữ lại thông tin tag/tin nhắn/tagger/mục tiêu; commit xóa giữ lại SHA, tin nhắn, tác giả, SHA cây, SHA cha và html_url hướng đến con người khi có sẵn. Các mục thư mục giữ lại siêu dữ liệu tệp và các liên kết HTML/tải xuống hữu ích, nhưng bỏ qua các URL định tuyến API và hypermedia ngay cả khi các trường đó được yêu cầu trong phép chiếu. Các phiên bản giao thức kế thừa và không xác định giữ nguyên văn bản gốc từng byte; phản hồi JSON chỉ văn bản hiện đại tuần tự hóa cùng DTO nhỏ gọn như structuredContent. Các khối tài nguyên không phải văn bản và lỗi công cụ giữ nguyên hành vi nội dung hiện có. Các phép chiếu có cấu trúc sử dụng cùng nguồn đã được làm sạch và lọc như định dạng kế thừa.
Đối với get_repository_tree, list_gists, get_gist, create_gist và update_gist, kết quả gist giữ lại tên tệp, nội dung, kích thước, thông tin ngôn ngữ/loại, dấu thời gian, khả năng hiển thị và hồ sơ chủ sở hữu nhỏ gọn, đồng thời bỏ qua các URL API/node và truyền tải Git. Các mục cây bỏ qua các URL API có thể suy ra của chúng. Kết quả tạo/cập nhật gist chứa ID gist và URL HTML. Văn bản JSON hiện đại và nội dung có cấu trúc tuần tự hóa cùng kết quả nhỏ gọn. Các phiên bản giao thức cũ hơn hoặc không xác định giữ nguyên văn bản kế thừa từng byte mà không có lược đồ đầu ra hoặc nội dung có cấu trúc.
Siêu dữ liệu vấn đề (list_issue_types, list_issue_fields), bình luận (add_issue_comment, update_issue_comment), phụ thuộc (issue_dependency_read, issue_dependency_write) và các công cụ phát hiện trùng lặp (find_duplicate) cung cấp outputSchema và structuredContent đã được nhập cho các phiên bản giao thức được hỗ trợ đã thương lượng 2026-07-28 trở lên. Các phiên bản giao thức cũ hơn hoặc không xác định giữ nguyên các phản hồi văn bản tương tự mà không có các trường này. Lỗi công cụ không trả về nội dung có cấu trúc. Các công cụ phụ thuộc và phát hiện trùng lặp giữ nguyên các cổng tính năng hiện có của chúng.
Đối với các phiên bản giao thức được hỗ trợ đã thương lượng 2026-07-28 trở lên, các công cụ Actions hợp nhất (actions_list, actions_get, actions_run_trigger) trả về các đối tượng có cấu trúc với bộ phân biệt method và trường được nhập theo phương thức cụ thể; văn bản JSON chứa cùng phép chiếu nhỏ gọn. Các phép chiếu quy trình làm việc, công việc và tạo phẩm bỏ qua các URL API/hypermedia trong khi giữ lại các liên kết trình duyệt và các định danh hữu ích, trạng thái, dấu thời gian và thời lượng sử dụng. Danh sách sử dụng lần chạy liệt kê các môi trường chạy có thể lập hóa đơn theo thứ tự tên xác định. Các phản hồi văn bản giao thức cũ hơn và không xác định vẫn không thay đổi; get_job_logs giữ lại nội dung được nhập, URL hoặc các biến thể thu thập công việc thất bại.
Actions
actions_get - Lấy chi tiết tài nguyên GitHub Actions (quy trình làm việc, lần chạy quy trình làm việc, công việc và tạo phẩm)
Phạm vi thử thách OAuth: 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 đúng ID:
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 kho lưu trữ
Phạm vi thử thách OAuth: 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 để phân trang (mặc định: 1) (số, tùy chọn)
perPage: Kết quả mỗi trang để 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 đúng ID:
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Ỉ được 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Ỉ được 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 thử thách OAuth: repo
inputs: Đầu vào mà quy trình làm việc chấp nhận. Chỉ được 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 thử thách OAuth: repo
failed_only: Khi đúng, 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 phải cung cấp run_id. (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)
Chất lượng mã
get_code_quality_finding - Lấy phát hiện chất lượng mã
Phạm vi thử thách OAuth: 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)
Bảo mật mã
get_code_scanning_alert - Lấy cảnh báo quét mã
Phạm vi thử thách OAuth: 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ác cảnh báo quét mã
Phạm vi thử thách OAuth: 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)
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á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ác cảnh báo quét mã theo trạng thái. Mặc định là open (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)
Ngữ cảnh
get_me - Lấy hồ sơ người dùng của tôi
Giao diện người dùng MCP App: ui://github-mcp-server/get-me
Không yêu cầu tham số
get_team_members - Lấy thành viên nhóm
Phạm vi thử thách OAuth: read:org
org: Đăng nhập tổ chức (chủ sở hữu) chứa nhóm. (chuỗi, bắt buộc)
team_slug: Slug nhóm (chuỗi, bắt buộc)
get_teams - Lấy các nhóm
Phạm vi thử thách OAuth: read:org
user: Tên người dùng để lấy 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)
ui_get - Lấy dữ liệu giao diện người dùng
Phạm vi thử thách OAuth: repo, read:org
method: Loại dữ liệu để tìm nạp (chuỗi, bắt buộc)
owner: Chủ sở hữu kho lưu trữ (bắt buộc cho tất cả các phương thức) (chuỗi, bắt buộc)
repo: Tên kho lưu trữ (bắt buộc cho nhãn, người được gán, mốc, nhánh, trường vấn đề, người đánh giá) (chuỗi, tùy chọn)
Copilot
assign_copilot_to_issue - Gán Copilot cho vấn đề
Phạm vi thử thách OAuth: 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, ràng buộc hoặc hướng dẫn bổ sung không được ghi lại 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 thử thách OAuth: 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)
Ý định vấn đề Copilot
- **assign_copilot_to_issue_with_intent** - Gán Copilot cho issue với ý định
- **OAuth Challenge Scopes**: `repo`
- `base_ref`: Tham chiếu Git (ví dụ: nhánh) mà agent 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 repository. Bị bỏ qua khi is_suggestion là true (string, tùy chọn)
- `confidence`: Mức độ tự tin của bạn vào lựa chọn này. 'HIGH' cho tín hiệu rõ ràng hoặc yêu cầu tường minh từ người dùng, 'MEDIUM' cho suy luận hợp lý với một số sự mơ hồ, 'LOW' cho dự đoán tốt nhất với tín hiệu hạn chế. (string, bắt buộc)
- `custom_instructions`: Hướng dẫn tùy chỉnh để dẫn dắt agent vượt ra ngoài nội dung issue. Bị bỏ qua khi is_suggestion là true (string, tùy chọn)
- `is_suggestion`: Nếu true, ghi lại ý định gán Copilot đang chờ xử lý thay vì khởi chạy agent. Việc phê duyệt sau đó sẽ cung cấp ngữ cảnh khởi chạy; base_ref và custom_instructions bị bỏ qua trong trường hợp này. (boolean, bắt buộc)
- `issue_number`: Số issue (number, bắt buộc)
- `owner`: Chủ sở hữu repository (string, bắt buộc)
- `rationale`: Một câu ngắn gọn giải thích điều gì cụ thể về issue dẫn đến việc chọn Copilot. Nêu rõ tín hiệu cụ thể (ví dụ: 'Nhiệm vụ được xác định rõ ràng với tiêu chí chấp nhận rõ ràng'). (string, bắt buộc)
- `repo`: Tên repository (string, bắt buộc)
Dependabot
get_dependabot_alert - Lấy cảnh báo dependabot
OAuth Challenge Scopes: security_events
alertNumber: Số của cảnh báo. (number, bắt buộc)
owner: Chủ sở hữu của repository. (string, bắt buộc)
after: Con trỏ để phân trang. Sử dụng con trỏ từ phản hồi trước đó. (string, tùy chọn)
owner: Chủ sở hữu của repository. (string, bắt buộc)
perPage: Số kết quả trên mỗi trang để phân trang (tối thiểu 1, tối đa 100) (number, tùy chọn)
repo: Tên của repository. (string, bắt buộc)
severity: Lọc cảnh báo dependabot theo mức độ nghiêm trọng (string, tùy chọn)
state: Lọc cảnh báo dependabot theo trạng thái. Mặc định là open (string, tùy chọn)
Discussions
discussion_comment_write - Quản lý bình luận thảo luận
OAuth Challenge Scopes: repo
body: Nội dung bình luận (bắt buộc cho các phương thức 'add', 'reply' và 'update') (string, tùy chọn)
commentNodeID: Node ID 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. (string, tùy chọn)
discussionNumber: Số thảo luận (bắt buộc cho các phương thức 'add' và 'reply') (number, tùy chọn)
method: Thao tác ghi cần thực hiện trên bình luận thảo luận.
Các tùy chọn là:
'add' - thêm bình luận cấp cao nhất mới vào một thảo luận.
'reply' - trả lời 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 bình luận thảo luận hiện có.
'delete' - xóa bình luận thảo luận.
'mark_answer' - đánh dấu bình luận thảo luận là câu trả lời (chỉ dành cho Q&A).
'unmark_answer' - bỏ đánh dấu bình luận thảo luận là câu trả lời (chỉ dành cho Q&A).
(string, bắt buộc)
owner: Chủ sở hữu repository (bắt buộc cho các phương thức 'add' và 'reply') (string, tùy chọn)
repo: Tên repository (bắt buộc cho các phương thức 'add' và 'reply') (string, tùy chọn)
get_discussion - Lấy thảo luận
OAuth Challenge Scopes: repo
discussionNumber: Số thảo luận (number, bắt buộc)
owner: Chủ sở hữu repository (string, bắt buộc)
repo: Tên repository (string, bắt buộc)
get_discussion_comments - Lấy bình luận thảo luận
OAuth Challenge Scopes: repo
after: Con trỏ để phân trang. Sử dụng con trỏ từ phản hồi trước đó. (string, tùy chọn)
discussionNumber: Số thảo luận (number, 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 lồng bên trong nó (tối đa 100 câu trả lời cho mỗi bình luận, là mức tối đa của GitHub API). Mặc định là false. (boolean, tùy chọn)
owner: Chủ sở hữu repository (string, bắt buộc)
perPage: Số kết quả trên mỗi trang để phân trang (tối thiểu 1, tối đa 100) (number, tùy chọn)
bypass_actors: Các tác nhân có thể bỏ qua các quy tắc trong bộ quy tắc này (object[], tùy chọn)
conditions: Điều kiện khi nào bộ quy tắc này áp dụng, ví dụ: {"ref_name": {"include": ["refs/heads/main"], "exclude": []}} (object, tùy chọn)
enforcement: Mức thực thi của bộ quy tắc. 'evaluate' cho phép quản trị viên kiểm tra các quy tắc trước khi thực thi chúng (string, bắt buộc)
enterprise: Slug doanh nghiệp. Bắt buộc khi level là 'enterprise'. (string, tùy chọn)
level: Cấp độ mà bộ quy tắc được cấu hình:
'repository': Một bộ quy tắc trên một repository duy nhất (yêu cầu 'owner' và 'repo').
'organization': Một bộ quy tắc bao phủ các repository trong một tổ chức (yêu cầu 'org').
'enterprise': Một bộ quy tắc bao phủ các repository trên toàn doanh nghiệp (yêu cầu 'enterprise'). (string, bắt buộc)
name: Tên của bộ quy tắc (string, bắt buộc)
org: Tên tổ chức. Bắt buộc khi level là 'organization'. (string, tùy chọn)
owner: Chủ sở hữu repository. Bắt buộc khi level là 'repository'. (string, tùy chọn)
repo: Tên repository. Bắt buộc khi level là 'repository'. (string, tùy chọn)
rules: Một mảng các quy tắc trong bộ quy tắc. Mỗi quy tắc là một đối tượng có 'type' (ví dụ: 'creation', 'deletion', 'non_fast_forward', 'required_signatures', 'pull_request', 'required_status_checks') và, đối với các quy tắc cần cấu hình, một đối tượng 'parameters' (object[], bắt buộc)
target: Mục tiêu của bộ quy tắc. Mặc định là 'branch'. 'repository' chỉ hợp lệ cho các bộ quy tắc cấp 'organization' và 'enterprise'. (string, tùy chọn)
enterprise: Slug của doanh nghiệp. Bắt buộc khi cấp độ là 'enterprise'. (chuỗi, tùy chọn)
level: Cấp độ mà các thuộc tính tùy chỉnh được quản lý:
'repository': Các GIÁ TRỊ thuộc tính tùy chỉnh được gán cho một kho lưu trữ (yêu cầu 'owner' và 'repo').
'organization': Các ĐỊNH NGHĨA (schema) thuộc tính tùy chỉnh cho một tổ chức (yêu cầu 'org').
'enterprise': Các ĐỊNH NGHĨA (schema) thuộc tính tùy chỉnh cho một doanh nghiệp (yêu cầu 'enterprise'). (chuỗi, bắt buộc)
org: Tên tổ chức. Bắt buộc khi cấp độ là 'organization'. (chuỗi, tùy chọn)
owner: Chủ sở hữu kho lưu trữ. Bắt buộc khi cấp độ là 'repository'. (chuỗi, tùy chọn)
properties: Các thuộc tính tùy chỉnh để tạo hoặc cập nhật. Ở cấp độ kho lưu trữ, mỗi mục gán một giá trị ('property_name' và 'value'); ở cấp độ tổ chức và doanh nghiệp, mỗi mục định nghĩa schema ('property_name' và 'value_type', cùng với các trường định nghĩa tùy chọn). (object[], bắt buộc)
repo: Tên kho lưu trữ. Bắt buộc khi cấp độ là 'repository'. (chuỗi, tùy chọn)
repository_ruleset_read - Đọc các ruleset của kho lưu trữ
actor_name: Tên xử lý cho tài khoản người dùng GitHub để lọc các bộ quy tắc. Được sử dụng bởi phương thức 'list_rule_suites'. (chuỗi, tùy chọn)
branch: Tên nhánh. Bắt buộc cho phương thức 'get_rules_for_branch'. (chuỗi, tùy chọn)
enterprise: Slug của doanh nghiệp. Bắt buộc khi cấp độ là 'enterprise'. (chuỗi, tùy chọn)
evaluate_status: Lọc các bộ quy tắc theo chế độ đánh giá ruleset. Được sử dụng bởi phương thức 'list_rule_suites'. (chuỗi, tùy chọn)
includes_parents: Bao gồm các ruleset được cấu hình ở cấp độ cao hơn cũng áp dụng. Mặc định là true. Được sử dụng bởi các phương thức 'get' và 'list' ở cấp độ kho lưu trữ. (boolean, tùy chọn)
level: Cấp độ mà ruleset được cấu hình:
'repository': Một ruleset trên một kho lưu trữ duy nhất (yêu cầu 'owner' và 'repo').
'organization': Một ruleset bao phủ các kho lưu trữ trong một tổ chức (yêu cầu 'org').
'enterprise': Một ruleset bao phủ các kho lưu trữ trên toàn doanh nghiệp (yêu cầu 'enterprise'). (chuỗi, bắt buộc)
method: Thao tác cần thực hiện:
'get': Lấy một ruleset cụ thể theo ID (yêu cầu 'ruleset_id'). Được hỗ trợ ở mọi cấp độ.
'list': Liệt kê tất cả các ruleset. Được hỗ trợ ở mọi cấp độ.
'get_rules_for_branch': Lấy tất cả các quy tắc áp dụng cho một nhánh (yêu cầu 'branch'). Chỉ ở cấp độ kho lưu trữ.
'list_rule_suites': Liệt kê các bộ quy tắc, các đánh giá của quy tắc đối với các lần đẩy. Chỉ ở cấp độ kho lưu trữ và tổ chức.
'get_rule_suite': Lấy một bộ quy tắc cụ thể theo ID (yêu cầu 'rule_suite_id'). Chỉ ở cấp độ kho lưu trữ và tổ chức. (chuỗi, bắt buộc)
org: Tên tổ chức. Bắt buộc khi cấp độ là 'organization'. (chuỗi, tùy chọn)
owner: Chủ sở hữu kho lưu trữ. Bắt buộc khi cấp độ là 'repository'. (chuỗi, tùy chọn)
page: Số trang cho phân trang (tối thiểu 1) (số, tùy chọn)
perPage: Số 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: Tên của ref (nhánh, thẻ, v.v.) để lọc các bộ quy tắc. Được sử dụng bởi phương thức 'list_rule_suites'. (chuỗi, tùy chọn)
repo: Tên kho lưu trữ. Bắt buộc khi cấp độ là 'repository'. (chuỗi, tùy chọn)
repository_name: Tên kho lưu trữ để lọc các bộ quy tắc. Được sử dụng bởi phương thức 'list_rule_suites' ở cấp độ tổ chức. (chuỗi, tùy chọn)
rule_suite_id: ID bộ quy tắc. Bắt buộc cho phương thức 'get_rule_suite'. (số, tùy chọn)
rule_suite_result: Kết quả bộ quy tắc để lọc. Được sử dụng bởi phương thức 'list_rule_suites'. (chuỗi, tùy chọn)
ruleset_id: ID ruleset. Bắt buộc cho phương thức 'get'. (số, tùy chọn)
time_period: Khoảng thời gian để lọc các bộ quy tắc. Được sử dụng bởi phương thức 'list_rule_suites'. (chuỗi, tùy chọn)
Issues
add_issue_comment - Thêm bình luận vào issue hoặc pull request
OAuth Challenge Scopes: repo
body: Nội dung bình luận. Bắt buộc trừ khi có phản ứng được cung cấp. (chuỗi, tùy chọn)
comment_id: ID số của bình luận issue hoặc pull request để phản ứng. Sử dụng cái này cho phản ứng với bình luận; bỏ qua để phản ứng với chính issue hoặc pull request. Không thể kết hợp với body. (số nguyên, tùy chọn)
issue_number: Số issue hoặc pull request để 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 biểu tượng cảm xúc để 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ữ
OAuth Challenge Scopes: 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 issue
OAuth Challenge Scopes: repo
issue_number: Số của issue (số, bắt buộc)
method: Thao tác đọc để thực hiện trên một issue duy nhất.
Các tùy chọn là:
get - Lấy chi tiết issue. Cũng trả về các cờ phân cấp nỗ lực tốt nhất (has_parent, has_children); parent và sub_issues_summary là các tóm tắt mối quan hệ tùy chọn, và closed_by_pull_requests tóm tắt các pull request được cấu hình để đóng issue dưới dạng total_count cộng với tối đa 5 references.
get_comments - Lấy các bình luận của issue.
get_sub_issues - Lấy các sub-issue (con) của issue.
get_parent - Lấy issue cha, nếu issue này là sub-issue của một issue khác.
get_labels - Lấy các nhãn được gán cho issue.
(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: Số 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 issue/pull request
OAuth Challenge Scopes: repo
MCP App UI: ui://github-mcp-server/issue-write
assignees: Tên người dùng để gán cho issue này (string[], tùy chọn)
body: Nội dung body của issue (chuỗi, tùy chọn)
duplicate_of: Số issue mà issue này là bản trùng lặp của. Bắt buộc khi state_reason là 'duplicate'. (số, tùy chọn)
issue_fields: Các giá trị trường issue để đặ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'. (object[], tùy chọn)
issue_number: Số issue để cập nhật (số, tùy chọn)
labels: Các nhãn để áp dụng cho issue này (string[], tùy chọn)
method: Thao tác ghi để thực hiện trên một issue duy nhất.
Các tùy chọn là:
'create' - tạo một issue mới.
'update' - cập nhật một issue hiện có.
(chuỗi, bắt buộc)
milestone: Số milestone (số, tùy chọn)
owner: Chủ sở hữu kho lưu trữ (chuỗi, bắt buộc)
parent_issue_number: Số issue của issue cha. Chỉ được sử dụng khi method là 'create' và không thể kết hợp với issue_fields. Issue mới được tạo và đính kèm vào cha này trong cùng một thao tác. (số, tùy chọn)
parent_owner: Chủ sở hữu kho lưu trữ của issue cha. Phải được cung cấp cùng với parent_repo. Bỏ qua cả hai để sử dụng owner và repo. Chỉ được sử dụng khi method là 'create' và parent_issue_number được cung cấp. (chuỗi, tùy chọn)
parent_repo: Tên kho lưu trữ của issue cha. Phải được cung cấp cùng với parent_owner. Bỏ qua cả hai để sử dụng owner và repo. Chỉ được sử dụng khi method là 'create' và parent_issue_number được cung cấp. (chuỗi, tùy chọn)
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 cho việc 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 đề issue (chuỗi, tùy chọn)
type: Loại của issue này. Đối với cập nhật, truyền null để xóa loại hiện tại. Chỉ sử dụng nếu loại issue được bật cho kho lưu trữ này. Sử dụng list_issue_types để lấy các giá trị loại hợp lệ cho kho lưu trữ này hoặc tổ chức sở hữu của nó. Nếu kho lưu trữ không hỗ trợ loại issue, bỏ qua tham số này. (chuỗi | null, tùy chọn)
list_issue_fields - Liệt kê các trường issue
OAuth Challenge Scopes: repo, read: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 (kế thừa từ tổ chức của nó). Khi 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 issue có sẵn
OAuth Challenge Scopes: repo, read: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 issue cho kho lưu trữ cụ thể này. Khi bỏ qua, trả về trực tiếp các loại issue cấp tổ chức. (chuỗi, tùy chọn)
list_issues - Liệt kê các issue
OAuth Challenge Scopes: 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 các giá trị trường issue tùy chỉnh. Mỗi mục nhập nhận một field_name và một value; máy chủ tra cứu trường và ép giá trị sang loại của nó (tên tùy chọn chọn một, văn bản, số hoặc ngày YYYY-MM-DD). (object[], tùy chọn)
fields: Tập hợp con các trường để trả về cho mỗi issue. Nếu bỏ qua, tất cả các trường được trả về. Sử dụng cái này để giảm kích thước phản hồi khi bạn chỉ cần các trường cụ thể; bỏ qua 'body' và 'field_values' đặc biệt làm giảm dữ liệu lớn nhất trên mỗi kết quả. (string[], tùy chọn)
labels: Lọc theo nhãn (string[], tùy chọn)
orderBy: Sắp xếp các issue 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: Số 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ả issue mở và đóng được trả về khi không được cung cấp (chuỗi, tùy chọn)
search_issues - Tìm kiếm issue
OAuth Challenge Scopes: repo
fields: Tập hợp con các trường để trả về cho mỗi kết quả issue. Nếu bỏ qua, tất cả các trường sẽ được trả về. Sử dụng tham số này để giảm kích thước phản hồi khi bạn chỉ cần các trường cụ thể; đặc biệt việc bỏ qua 'body', 'reactions' và 'labels' sẽ loại bỏ dữ liệu lớn nhất trên mỗi kết quả. (string[], tùy chọn)
order: Thứ tự sắp xếp (string, 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 issue của kho lưu trữ này được liệt kê. (string, tùy chọn)
page: Số trang cho phân trang (tối thiểu 1) (number, tùy chọn)
perPage: Số kết quả trên mỗi trang cho phân trang (tối thiểu 1, tối đa 100) (number, tùy chọn)
query: Truy vấn tìm kiếm, dưới dạng ngôn ngữ tự nhiên. Khi người dùng đưa ra các cách diễn đạt thay thế, hãy đưa chúng vào dưới dạng các từ thông thường thay vì nối chúng bằng OR. (string, 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 owner, chỉ các issue của kho lưu trữ này được liệt kê. (string, tùy chọn)
sort: Trường sắp xếp theo số lượng khớp của các danh mục, mặc định là khớp tốt nhất (string, tùy chọn)
sub_issue_write - Thay đổi issue con
OAuth Challenge Scopes: repo
after_id: ID của issue con được ưu tiên sau (nên chỉ định một trong hai after_id HOẶC before_id) (number, tùy chọn)
before_id: ID của issue con được ưu tiên trước (nên chỉ định một trong hai after_id HOẶC before_id) (number, tùy chọn)
issue_number: Số của issue cha (number, bắt buộc)
method: Hành động cần thực hiện trên một issue con
Các tùy chọn là:
'add' - thêm một issue con vào issue cha trong kho lưu trữ GitHub.
'remove' - xóa một issue con khỏi issue cha trong kho lưu trữ GitHub.
'reprioritize' - thay đổi thứ tự của các issue con trong một issue cha trong kho lưu trữ GitHub. Sử dụng 'after_id' hoặc 'before_id' để chỉ định vị trí mới.
Ghi cấu trúc phân cấp issue. Để di chuyển một issue con đến issue cha mới, sử dụng add với replace_parent=true; không có trường cha nào có thể ghi được.
(string, bắt buộc)
owner: Chủ sở hữu kho lưu trữ (string, bắt buộc)
replace_parent: Khi true, thay thế issue cha hiện tại của issue con. Chỉ sử dụng với phương thức 'add'. (boolean, tùy chọn)
repo: Tên kho lưu trữ (string, bắt buộc)
sub_issue_id: ID của issue con cần thêm. ID không giống với số issue (number, bắt buộc)
update_issue_comment - Cập nhật bình luận issue
OAuth Challenge Scopes: repo
body: Nội dung bình luận mới (string, bắt buộc)
comment_id: ID số của bình luận hội thoại issue hoặc pull request cần cập nhật. Không sử dụng ID bình luận đánh giá pull request. (integer, bắt buộc)
owner: Chủ sở hữu kho lưu trữ (string, bắt buộc)
repo: Tên kho lưu trữ (string, bắt buộc)
Nhãn
get_label - Lấy một nhãn cụ thể từ kho lưu trữ
OAuth Challenge Scopes: repo
name: Tên nhãn. (string, 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) (string, bắt buộc)
repo: Tên kho lưu trữ (string, bắt buộc)
label_write - Các thao tác ghi trên nhãn kho lưu trữ
OAuth Challenge Scopes: 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'. (string, tùy chọn)
description: Văn bản mô tả nhãn. Tùy chọn cho 'create' và 'update'. (string, tùy chọn)
method: Thao tác cần thực hiện: 'create', 'update' hoặc 'delete' (string, bắt buộc)
name: Tên nhãn - bắt buộc cho tất cả các thao tác (string, bắt buộc)
new_name: Tên mới cho nhãn (chỉ được sử dụng với phương thức 'update' để đổi tên) (string, 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) (string, bắt buộc)
repo: Tên kho lưu trữ (string, bắt buộc)
list_label - Liệt kê các nhãn từ kho lưu trữ
OAuth Challenge Scopes: repo
after: Con trỏ cho phân trang. Sử dụng con trỏ từ phản hồi trước đó. (string, 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) - bắt buộc cho tất cả các thao tác (string, bắt buộc)
perPage: Số kết quả trên mỗi trang cho phân trang (tối thiểu 1, tối đa 100) (number, tùy chọn)
repo: Tên kho lưu trữ - bắt buộc cho tất cả các thao tác (string, bắt buộc)
Thông báo
dismiss_notification - Bỏ qua thông báo
OAuth Challenge Scopes: notifications
state: Trạng thái mới của thông báo (read/done) (string, bắt buộc)
threadID: ID của chuỗi thông báo (string, bắt buộc)
get_notification_details - Lấy chi tiết thông báo
OAuth Challenge Scopes: notifications
notificationID: ID của thông báo (string, bắt buộc)
list_notifications - Liệt kê các thông báo
OAuth Challenge Scopes: notifications
before: Chỉ hiển thị các thông báo được cập nhật trước thời điểm đã cho (định dạng ISO 8601) (string, tùy chọn)
filter: Lọc thông báo, 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 tham gia trực tiếp, chẳng hạn như các issue hoặc pull request mà họ đã bình luận hoặc tạo. (string, 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 thông báo của kho lưu trữ này được liệt kê. (string, tùy chọn)
page: Số trang cho phân trang (tối thiểu 1) (number, tùy chọn)
perPage: Số kết quả trên mỗi trang cho phân trang (tối thiểu 1, tối đa 100) (number, 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 owner, chỉ các thông báo của kho lưu trữ này được liệt kê. (string, tùy chọn)
since: Chỉ hiển thị các thông báo được cập nhật sau thời điểm đã cho (định dạng ISO 8601) (string, tùy chọn)
manage_notification_subscription - Quản lý đăng ký thông báo
OAuth Challenge Scopes: notifications
action: Hành động cần thực hiện: ignore, watch hoặc delete đăng ký thông báo. (string, bắt buộc)
notificationID: ID của chuỗi thông báo. (string, bắt buộc)
manage_repository_notification_subscription - Quản lý đăng ký thông báo kho lưu trữ
OAuth Challenge Scopes: 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ữ. (string, bắt buộc)
owner: Chủ tài khoản của kho lưu trữ. (string, bắt buộc)
repo: Tên của kho lưu trữ. (string, bắt buộc)
mark_all_notifications_read - Đánh dấu tất cả thông báo là đã đọc
OAuth Challenge Scopes: notifications
lastReadAt: Mô tả thời điểm cuối cùng các thông báo được kiểm tra (tùy chọn). Mặc định: Bây giờ (string, 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 thông báo của kho lưu trữ này được đánh dấu là đã đọc. (string, 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 owner, chỉ các thông báo của kho lưu trữ này được đánh dấu là đã đọc. (string, tùy chọn)
Tổ chức
search_orgs - Tìm kiếm tổ chức
OAuth Challenge Scopes: read:org
order: Thứ tự sắp xếp (string, tùy chọn)
page: Số trang cho phân trang (tối thiểu 1) (number, tùy chọn)
perPage: Số kết quả trên mỗi trang cho phân trang (tối thiểu 1, tối đa 100) (number, 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 được tự động giới hạn ở type:org. (string, bắt buộc)
sort: Trường sắp xếp theo danh mục (string, tùy chọn)
Dự án
projects_get - Lấy chi tiết tài nguyên GitHub Projects
OAuth Challenge Scopes: read:project
field_id: ID của trường. Bắt buộc cho phương thức 'get_project_field'. (number, tùy chọn)
field_names: Danh sách cụ thể các tên trường cần đưa vào 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 có thể đọc được của con người. Loại trừ lẫn nhau với 'fields' — chỉ cung cấp một trong hai, không cung cấp cả hai. Chỉ được sử dụng cho phương thức 'get_project_item'. (string[], tùy chọn)
fields: Danh sách cụ thể các ID trường cần đưa vào phản hồi khi lấy một mục dự án (ví dụ: ["102589", "985201", "169875"]). Nếu cả 'fields' và 'field_names' đều không được cung cấp, chỉ trường tiêu đề được đưa vào. Loại trừ lẫn nhau với 'field_names' — chỉ cung cấp một trong hai, không cung cấp cả hai. Chỉ được sử dụng cho phương thức 'get_project_item'. (string[], tùy chọn)
item_id: ID của mục. Bắt buộc cho phương thức 'get_project_item'. (number, tùy chọn)
method: Phương thức cần thực thi (string, 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. (string, 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ẽ được tự động phát hiện. (string, tùy chọn)
project_number: Số của dự án. (number, tùy chọn)
status_update_id: ID nút của bản cập nhật trạng thái dự án. Bắt buộc cho phương thức 'get_project_status_update'. (string, tùy chọn)
view_id: ID nút của chế độ xem dự án. Bắt buộc cho phương thức 'get_project_view'. (string, tùy chọn)
projects_list - Liệt kê tài nguyên GitHub Projects
OAuth Challenge Scopes: read:project
after: Con trỏ phân trang chuyển tiếp từ pageInfo.nextCursor của trang trước. (chuỗi, tùy chọn)
before: Con trỏ phân trang lùi từ pageInfo.prevCursor của trang trước (hiếm gặp). (chuỗi, tùy chọn)
field_names: Tên trường cần 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. Cá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, không cung cấp cả hai. Chỉ dùng cho phương thức 'list_project_items'. (mảng chuỗi, tùy chọn)
fields: ID trường cần 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 để lấy giá trị trường. Nếu không có tham số này (và không có 'field_names'), chỉ trả về tiêu đề. Loại trừ lẫn nhau với 'field_names' — chỉ cung cấp một trong hai, không cung cấp cả 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 hoa thường. (chuỗi, bắt buộc)
owner_type: Loại chủ sở hữu (user hoặc org). Nếu không cung cấp, sẽ tự động thử cả hai. (chuỗi, tùy chọn)
perPage: Số 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', 'list_project_views' 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 bằng cú pháp lọc dự án của GitHub. (chuỗi, tùy chọn)
projects_write - Quản lý GitHub Projects
OAuth Challenge Scopes: project
body: Nội dung của bản 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)
filter: Bộ lọc chế độ xem đã lưu; bỏ qua khi cập nhật để giữ nguyên, hoặc truyền null để xóa. (chuỗi | null, tùy chọn)
issue_number: Số của 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 mục, là issue hoặc pull_request. Bắt buộc cho phương thức 'add_project_item'. (chuỗi, tùy chọn)
items: Các mục cần cập nhật với 'updated_field' ở cấp cao nhất. Bắt buộc cho 'update_project_items'; ưu tiên dùng phương thức này thay vì gọi 'update_project_item' trong vòng lặp. Mỗi mục phải khớp chính xác một biến thể tham chiếu: 'node_id', 'item_id' dạng số, hoặc 'item_owner' + 'item_repo' + 'issue_number'. Giới hạn: 50 mục mỗi lần gọi. (mảng đối tượng, tùy chọn)
iteration_duration: Thời lượng tính bằng 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). 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, 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)
layout: Bố cục chế độ xem; bắt buộc khi tạo chế độ xem. (chuỗi, tùy chọn)
method: Phương thức cần thực thi (chuỗi, bắt buộc)
name: Tên chế độ xem; bắt buộc khi tạo chế độ xem. (chuỗi, tùy chọn)
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 hoa 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 cung cấp cho các phương thức khác, sẽ được 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 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 bản 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: Trường/giá trị cần áp dụng, sử dụng {"id": 123, "value": ...} hoặc {"name": "Status", "value": ...}; null xóa trường. Bắt buộc cho 'update_project_item' và 'update_project_items', trong đó một trường/giá trị cấp cao nhất áp dụng cho mọi mục trong một lô. Đối với trường SINGLE_SELECT của 'update_project_item', dạng tên chấp nhận tên tùy chọn; dạng ID mong đợi ID tùy chọn. (đối tượng, tùy chọn)
view_id: ID nút chế độ xem dự án để cập nhật hoặc xóa; phải thuộc về owner/project_number. (chuỗi, tùy chọn)
visible_field_names: Tên trường dự án có thứ tự để hiển thị khi tạo hoặc thay thế khi cập nhật; bỏ qua khi cập nhật để giữ nguyên, hoặc truyền [] để đặt lại. Loại trừ lẫn nhau với visible_fields. Roadmap chỉ chấp nhận []. (mảng chuỗi, tùy chọn)
visible_fields: ID cơ sở dữ liệu trường dự án có thứ tự để hiển thị khi tạo hoặc thay thế khi cập nhật; bỏ qua khi cập nhật để giữ nguyên, hoặc truyền [] để đặt lại. Loại trừ lẫn nhau với visible_field_names. Roadmap chỉ chấp nhận []. (mảng chuỗi, tùy chọn)
Pull Requests
add_comment_to_pending_review - Thêm bình luận đánh giá vào bản đánh giá pull request đang chờ mới nhất của người yêu cầu
OAuth Challenge Scopes: 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ủ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 biểu thị trạng thái trước đó, RIGHT biểu thị trạng thái mới (chuỗi, tùy chọn)
startLine: Đối với bình luận nhiều dòng, là dòng đầu 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, là phía bắt đầu của diff mà bình luận áp dụng. LEFT biểu thị trạng thái trước đó, RIGHT biểu thị trạng thái mới (chuỗi, tùy chọn)
subjectType: Cấp độ mà bình luận nhắm đến (chuỗi, bắt buộc)
add_reply_to_pull_request_comment - Thêm phản hồi vào bình luận pull request
OAuth Challenge Scopes: repo
body: Văn bản của phản hồi. Bắt buộc trừ khi có phản ứng (reaction). (chuỗi, tùy chọn)
commentId: ID số của bình luận đánh giá pull request để phản hồi hoặc phản ứng. Sử dụng số từ neo #discussion_r..., không phải ID nút 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 có nội dung (body). (số, tùy chọn)
reaction: Phản ứng biểu tượng cảm xúc để thêm. Bắt buộc trừ khi có nội dung (body). (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
OAuth Challenge Scopes: repo
MCP App UI: ui://github-mcp-server/pr-write
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 duy 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
OAuth Challenge Scopes: 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)
fields: Tập hợp con các trường để trả về cho mỗi pull request. Nếu bỏ qua, tất cả các trường được trả về. Sử dụng tham số này để giảm kích thước phản hồi khi bạn chỉ cần các trường cụ thể; đặc biệt, bỏ qua 'body' sẽ loại bỏ dữ liệu lớn nhất trên mỗi kết quả. (mảng 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: Số 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
OAuth Challenge Scopes: 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)
expectedHeadSha: SHA dự kiến của tham chiếu HEAD của pull request (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
OAuth Challenge Scopes: repo
after: Con trỏ để 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 truy xuất từ GitHub.
Các tùy chọn có thể:
get - Lấy thông tin chi tiết của một pull request cụ thể.
get_diff - Lấy diff của một pull request.
get_status - Lấy trạng thái commit kết hợp của commit đầu trong một pull request.
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ề.
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ề.
get_review_comments - Lấy các chuỗi đánh giá trên một pull request. Mỗi chuỗi chứa các nhận xét đánh giá được nhóm theo logic trên cùng một vị trí mã trong quá trình đánh giá pull request. Trả về siêu dữ liệu chuỗi và nhận xét với tọa độ phạm vi dòng hiện tại và gốc có thể null (line, start_line, original_line, original_start_line). Tọa độ hiện tại bị bỏ qua khi không khả dụng, chẳng hạn như đối với các nhận xét cũ. Sử dụng phân trang dựa trên con trỏ (perPage, after) để kiểm soát kết quả.
get_reviews - Lấy các đánh giá trên một pull request. Khi được yêu cầu nhận xét đá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ề.
get_comments - Lấy các nhận xét trên một pull request. Sử dụng tùy chọn này nếu người dùng không cụ thể muốn nhận xét đá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ề.
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 để phân trang (tối thiểu 1) (số, tùy chọn)
perPage: Kết quả trên mỗi trang để 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 - Các thao tác ghi (tạo, gửi, xóa) trên các đánh giá pull request
OAuth Challenge Scopes: repo
body: Văn bản nhận xét đá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 chuỗi đánh giá (ví dụ: PRRT_kwDOxxx). Bắt buộc đối với các phương thức resolve_thread và unresolve_thread. Lấy ID chuỗi 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 requests
OAuth Challenge Scopes: repo
fields: Tập hợp con các trường cần trả về cho mỗi kết quả pull request. Nếu bỏ qua, tất cả các trường được trả về. Sử dụng tùy chọn này để giảm kích thước phản hồi khi bạn chỉ cần các trường cụ thể; đặc biệt việc bỏ qua 'body', 'reactions' và 'labels' sẽ loại bỏ dữ liệu lớn nhất trên mỗi kết quả. (chuỗi[], tùy chọn)
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 để phân trang (tối thiểu 1) (số, tùy chọn)
perPage: Kết quả trên 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 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 khớp của các danh mục, mặc định là khớp tốt nhất (chuỗi, tùy chọn)
update_pull_request - Chỉnh sửa pull request
OAuth Challenge Scopes: repo
MCP App UI: ui://github-mcp-server/pr-edit
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 chỉnh sửa của người duy trì (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á (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
OAuth Challenge Scopes: 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)
Kho lưu trữ
create_branch - Tạo nhánh
OAuth Challenge Scopes: 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 repo) (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
OAuth Challenge Scopes: repo, workflow
allow_symlink_write: Đặt true để cập nhật chính liên kết tượng trưng; nội dung phải là đường dẫn đích mới của nó. (boolean, tùy chọn)
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, chính xác như nó sẽ xuất hiện sau khi được ghi. Không mã hóa base64; máy chủ này thực hiện điều đó trước khi gọi REST API. (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. Truy xuất nó bằng get_file_contents sử dụng cùng chủ sở hữu, repo và đường dẫn, với ref được đặt thành giá trị nhánh của công cụ này. (chuỗi, tùy chọn)
create_repository - Tạo kho lưu trữ
OAuth Challenge Scopes: 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ữ (bỏ qua để tạo trong tài khoản cá nhân của bạn) (chuỗi, tùy chọn)
private: Liệu kho lưu trữ có nên là 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
OAuth Challenge Scopes: repo, workflow
branch: Nhánh để xó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 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)
delete_repository - Xóa kho lưu trữ
OAuth Challenge Scopes: delete_repo, 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)
repo: Tên kho lưu trữ (chuỗi, bắt buộc)
fork_repository - Fork kho lưu trữ
OAuth Challenge Scopes: 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 thông tin chi tiết commit
OAuth Challenge Scopes: repo
detail: Mức độ chi tiết để 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 trên 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 patch. "full_patch" bổ sung bao gồm nội dung diff hợp 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 để phân trang (tối thiểu 1) (số, tùy chọn)
perPage: Kết quả trên 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)
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
OAuth Challenge Scopes: repo
fields: Tập hợp con các trường cần trả về cho mỗi mục khi đường dẫn là một thư mục. Nếu bỏ qua, tất cả các trường được trả về. Bị bỏ qua khi đường dẫn là một tệp đơn. Sử dụng tùy chọn này để giảm kích thước phản hồi khi liệt kê thư mục và bạn chỉ cần các trường cụ thể, ví dụ: chỉ 'name' và 'type'. (chuỗi[], tùy chọn)
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 cho ref (chuỗi, tùy chọn)
get_latest_release - Lấy bản phát hành mới nhất
OAuth Challenge Scopes: 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ẻ
OAuth Challenge Scopes: 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 thông tin chi tiết thẻ
OAuth Challenge Scopes: 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
OAuth Challenge Scopes: 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ả trên 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)
list_commits - Liệt kê các commit
OAuth Challenge Scopes: 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)
fields: Tập hợp con các trường cần trả về cho mỗi commit. Nếu bỏ qua, tất cả các trường sẽ được trả về. Sử dụng tùy chọn này để giảm kích thước phản hồi khi bạn chỉ cần các trường cụ thể, ví dụ chỉ 'sha' và 'html_url'. (mảng 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: Số 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, nhánh hoặc tên 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
OAuth Challenge Scopes: repo
fields: Tập hợp con các trường cần trả về cho mỗi bản phát hành. Nếu bỏ qua, tất cả các trường sẽ được trả về. Sử dụng tùy chọn này để giảm kích thước phản hồi khi bạn chỉ cần các trường cụ thể; đặc biệt việc bỏ qua 'body' sẽ loại bỏ dữ liệu lớn nhất mỗi bản phát hành. (mảng 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: Số 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ữ
OAuth Challenge Scopes: repo
affiliation: Lọc theo 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: Số 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ê các thẻ
OAuth Challenge Scopes: 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: Số 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)
push_files - Đẩy tệp vào kho lưu trữ
OAuth Challenge Scopes: repo, workflow
branch: Nhánh để đẩy tới (chuỗi, bắt buộc)
files: Mảng các đối tượng tệp để đẩy, mỗi đối tượng có path (chuỗi) và content (chuỗi) (mảng đối tượng, 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ã
OAuth Challenge Scopes: repo
fields: Tập hợp con các trường cần trả về cho mỗi kết quả tìm kiếm mã. Nếu bỏ qua, tất cả các trường sẽ được trả về. Sử dụng tùy chọn này để giảm kích thước phản hồi khi bạn chỉ cần các trường cụ thể; đặc biệt việc bỏ qua 'repository' và 'text_matches' sẽ loại bỏ dữ liệu lớn nhất mỗi kết quả. (mảng chuỗi, tùy chọn)
order: Thứ tự sắp xếp cho kết quả (chuỗi, tùy chọn)
page: Số trang cho phân trang (tối thiểu 1) (số, tùy chọn)
perPage: Số 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 (GitHub code search REST). AND ngầm giữa các thuật ngữ; 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
OAuth Challenge Scopes: repo
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: Số 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 commit (GitHub commit search REST). Tìm kiếm thông điệp commit trên nhánh mặc định. Giới hạn 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 khớp trên toàn bộ GitHub và thường không phải điều bạn muốn). Bộ định tính khác: author:, committer:, author-name:, committer-name:, author-email:, committer-email:, author-date:, committer-date: (hỗ trợ phạm vi >, <, >=, <=, và 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ữ
OAuth Challenge Scopes: repo
minimal_output: Trả về thông tin kho lưu trữ tối thiểu (mặc định: true). Khi false, các máy khách hiện đại nhận thêm chi tiết kho lưu trữ được tuyển chọn, không phải đối tượng GitHub API đầy đủ. Máy khách kế thừa giữ nguyên đối tượng kho lưu trữ GitHub API đầy đủ. (boolean, tùy chọn)
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: Số 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 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)
Bảo vệ bí mật
get_secret_scanning_alert - Lấy cảnh báo quét bí mật
OAuth Challenge Scopes: 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ác cảnh báo quét bí mật
OAuth Challenge Scopes: 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: Số 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)
resolution: Lọc theo giải pháp (chuỗi, tùy chọn)
secret_type: Danh sách phân tách bằng dấu phẩy các loại bí mật cần 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, truyền 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)
Cố vấn bảo mật
get_global_security_advisory - Lấy cố vấn bảo mật toàn cầu
OAuth Challenge Scopes: security_events
ghsaId: ID Cố 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ê các cố vấn bảo mật toàn cầu
OAuth Challenge Scopes: security_events
affects: Lọc cố 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 Common Weakness Enumeration (ví dụ ["79", "284", "22"]). (mảng chuỗi, 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 Cố 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 cố vấn đã rút lạ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 cố 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ê các cố vấn bảo mật kho lưu trữ của tổ chức
OAuth Challenge Scopes: security_events
direction: Hướng sắp xếp. (chuỗi, tùy chọn)
org: Tên đăng nhập của 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 cố vấn. (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 cố vấn. (chuỗi, tùy chọn)
Stargazers
list_starred_repositories - Liệt kê các kho lưu trữ đã gắn sao
OAuth Challenge Scopes: repo
direction: Hướng để sắp xếp kết quả. (chuỗi, tùy chọn)
page: Số trang cho phân trang (tối thiểu 1) (số, tùy chọn)
perPage: Số kết quả mỗi trang cho 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 cuối). (chuỗi, tùy chọn)
username: Tên người dùng để liệt kê các 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ữ
OAuth Challenge Scopes: 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ữ
OAuth Challenge Scopes: 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)
Người dùng
- **search_users** - Tìm kiếm người dùng
- **OAuth Challenge Scopes**: `repo`
- `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`: Số 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 người dùng. Ví dụ: 'john smith', 'location:seattle', 'followers:>100'. Tìm kiếm tự động giới hạn theo 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ác công cụ bổ sung trong GitHub MCP Server 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)
Copilot Spaces
Ghi chú xác thực
PAT chi tiết không bị ẩn bởi bộ 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 mã thông báo không thể sử dụng chúng.
Đối với không gian thuộc 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 tổ chức chứa tài nguyên được hỗ trợ bởi kho lưu trữ, mã thông báo cũng phải có quyền truy cập vào mọi kho lưu trữ được tham chiếu hoặc không gian có thể bị coi là không tìm thấy.
get_copilot_space - Lấy Copilot Space
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ê Copilot Spaces
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ợ 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 người dùng thô chưa chỉnh sửa mới nhất. Bạn LUÔN LUÔN để nguyên tin nhắn 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:
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 truy cập 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 giữ quyền truy cập đầy đủ vào nội dung của chính họ.
Chế độ khóa là bộ lọc nội dung nỗ lực tốt nhất nhằm giảm rủi ro tiêm prompt từ nội dung kho lưu trữ không đáng tin cậy (vấn đề, pull request, bình luận, cam kết, v.v.). Nó không phải là ranh giới ủy quyền: nó không thay đổi những gì thông tin xác thực GitHub cơ bản có thể đọc hoặc ghi, và nội dung bị giữ lại khỏi phản hồi công cụ được lọc vẫn có thể truy cập qua các công cụ khác hoặc truy cập API GitHub trực tiếp với cùng thông tin xác thực.
Là một ngoại lệ có chủ đích, nội dung do một tập hợp nhỏ các tài khoản bot đáng tin cậy (hiện tại là github-actions[bot] và copilot) tạo ra luôn được coi là an toàn, bất kể quyền truy cập push. Điều này tránh lọc đầu ra tự động hóa thông thường (ví dụ: cam kết hoặc bình luận do CI tạo) mà nếu không sẽ bị giữ lại trong chế độ khóa.
./github-mcp-server --lockdown-mode
Khi chạy với Docker, hãy đặt biến môi trường tương ứng:
Trong chế độ HTTP, cờ này (hoặc GITHUB_LOCKDOWN_MODE) là giới hạn trên: tiêu đề yêu cầu X-MCP-Lockdown có thể bật chế độ khóa khi người vận hành chưa bật, nhưng không thể tắt chế độ khóa mà người vận hành đã bật. Xem Hướng dẫn cấu hình máy chủ để biết chi tiết.
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 truy cập push:
issue_read:get
pull_request_read:get
pull_request_read:get_diff
pull_request_read:get_files
pull_request_read:get_commits
Các công cụ sau sẽ lọc nội dung từ người dùng thiếu quyền truy cập 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 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àm khóa và mô tả mới
làm 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 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ẽ giữ nguyên mọi bản dịch/ghi đè bạn đã thực hiện, đồng thời thêm
mọi bản dịch mới đã được thêm vào tệp nhị phân kể từ lần xuất trước.
Bạn cũng có thể sử dụng biến ENV để ghi đè mô tả. Tên biến môi trường
giống với khóa trong tệp JSON, có tiền tố là
GITHUB_MCP_ và tất cả chữ hoa.
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 name và
title 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 chúng.
Khóa
Biến môi trường
Mặc định
SERVER_NAME
GITHUB_MCP_SERVER_NAME
github-mcp-server
SERVER_TITLE
GITHUB_MCP_SERVER_TITLE
GitHub MCP Server
Ví dụ: để cấu hình một phiên bản máy chủ cho GitHub Enterprise Server:
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ể thay đổi phá vỡ. Trong tương lai, chúng tôi có thể cung cấp tính ổn định; vui lòng gửi vấn đề nếu có trường hợp sử dụng mà điều này có giá trị.
Đóng góp
Đóng góp được hoan nghênh. Trước khi mở 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ử, lint 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 tính năng, vui lòng tìm kiếm các vấn đề hiện có trước khi mở vấn đề mới.
Bảo mật
Vui lòng không báo cáo lỗ hổng bảo mật 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 nguồn mở MIT. Vui lòng tham khảo MIT để biết các điều khoản đầy đủ.