GitHub MCP Server: hướng dẫn kết nối AI với GitHub

GitHub MCP Server là gì, cài thế nào: server MCP chính thức của GitHub cho AI đọc issue, tạo pull request, tra code scanning qua VS Code, Claude.

AI lập trình8 phút đọc
Minh họa một nhánh cây mã nguồn phát sáng nối qua cổng kết nối chuẩn tới một trợ lý AI trên nền tối

Thử hình dung sáng thứ Hai của một trưởng nhóm phần mềm. Cuối tuần khách báo lỗi, kho mã có thêm hơn hai chục issue mới, ba pull request đang chờ duyệt. Anh mở GitHub, bấm từng cái, đọc, gắn nhãn, ghi chú. Ly cà phê nguội hẳn mà việc chính chưa bắt đầu.

Phần việc đọc, gom, phân loại đó rất hợp để giao cho AI. Vấn đề là AI trong VS Code hay Claude Desktop không tự nhìn thấy GitHub của anh. GitHub MCP Server là sợi dây nối hai bên lại.

Đọc nhanh trong 30 giây

  • GitHub MCP Server là server Model Context Protocol chính thức của GitHub, công bố bản xem trước công khai ngày 04/04/2025, mã nguồn mở theo giấy phép MIT.
  • Nó cho trợ lý AI đọc issue, tạo pull request, tìm code và xem cảnh báo code scanning trong kho mã của anh chị.
  • Cài bằng Docker cộng một GitHub Personal Access Token, rồi khai báo trong VS Code hoặc Claude Desktop.
  • Hợp với đội kỹ thuật đã quản lý công việc trên GitHub, muốn AI gánh phần đọc và tóm tắt.

GitHub MCP Server là gì?

GitHub MCP Server là chương trình chạy trên máy anh chị, đứng giữa ứng dụng AI và GitHub API. Ứng dụng AI hỗ trợ MCP như VS Code hay Claude Desktop gọi các công cụ của server, còn server dùng token của anh chị để làm việc thật trên GitHub.

Ví von cho dễ hình dung: GitHub là một tòa văn phòng có bảo vệ. Trợ lý AI là người mới vào làm, giỏi việc nhưng không có thẻ ra vào. Token là tấm thẻ từ anh chị cấp, quy định được lên tầng nào, mở phòng nào. GitHub MCP Server là anh lễ tân thuộc đường trong tòa nhà: nhận yêu cầu của trợ lý, quẹt thẻ, lấy đúng hồ sơ mang ra.

Sơ đồ kiến trúc GitHub MCP Server: ứng dụng AI gọi công cụ, server dùng token gọi GitHub API

Ứng dụng AI không chạm thẳng vào GitHub: mọi yêu cầu đi qua server và bị giới hạn bởi quyền của token.

Theo bài công bố trên GitHub Changelog, đây là bản viết lại bằng Go từ server tham chiếu mà Anthropic làm trước đó. GitHub hợp tác với Anthropic và từ nay tiếp quản việc phát triển. Bản mới giữ toàn bộ chức năng cũ và thêm ba thứ: tùy chỉnh mô tả công cụ, hỗ trợ code scanning, và hàm get_me để AI hiểu những câu như "cho tôi xem các repo riêng tư của tôi".

Nếu anh chị chưa rõ MCP là gì, nên đọc trước bài MCP là gì: Model Context Protocol cho doanh nghiệp.

AI làm được gì với kho mã của anh chị?

GitHub MCP Server chia công cụ thành sáu nhóm theo README, từ đọc thông tin tới thay đổi kho mã.

Sáu nhóm công cụ của GitHub MCP Server: Users, Issues, Pull Requests, Repositories, Search, Code Scanning

Sáu nhóm công cụ, có nhóm chỉ đọc và có nhóm thay đổi trực tiếp kho mã.

Nhóm Một số công cụ
Users get_me
Issues get_issue, create_issue, add_issue_comment, list_issues, update_issue, search_issues
Pull Requests get_pull_request, list_pull_requests, merge_pull_request, create_pull_request, create_pull_request_review
Repositories get_file_contents, create_or_update_file, push_files, create_branch, list_commits, fork_repository
Search search_code, search_users
Code Scanning get_code_scanning_alert, list_code_scanning_alerts

Cài GitHub MCP Server trong 10 phút

README yêu cầu hai thứ: Docker để chạy server trong container, và một GitHub Personal Access Token.

Các bước cài GitHub MCP Server: tạo token, cài Docker, khai báo cấu hình trong VS Code hoặc Claude Desktop

Một token, một Docker, một khối cấu hình là AI đã gọi được GitHub.

  1. Tạo token tại trang Personal access tokens của GitHub. README khuyên chỉ bật những quyền anh chị thấy thoải mái giao cho công cụ AI.
  2. Cài Docker nếu máy chưa có.
  3. Cấu hình VS Code. Bấm nút cài một chạm ở đầu README, hoặc mở Ctrl + Shift + P, gõ Preferences: Open User Settings (JSON) rồi thêm khối sau:
{
  "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}"
        }
      }
    }
  }
}

Muốn chia sẻ cấu hình cho cả nhóm, đặt nội dung vào file .vscode/mcp.json trong dự án, bỏ khóa mcp ở ngoài cùng. Token được hỏi lúc chạy, không nằm trong file.

  1. Hoặc cấu hình Claude Desktop, thêm vào file cấu hình:
{
  "mcpServers": {
    "github": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "GITHUB_PERSONAL_ACCESS_TOKEN",
        "ghcr.io/github/github-mcp-server"
      ],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "<YOUR_TOKEN>"
      }
    }
  }
}
  1. Không có Docker: README hướng dẫn dùng Go build file chạy trong thư mục cmd/github-mcp-server, rồi chạy lệnh github-mcp-server stdio với biến môi trường GITHUB_PERSONAL_ACCESS_TOKEN.

Công ty dùng GitHub Enterprise Server thì đặt tên máy chủ bằng cờ --gh-host hoặc biến môi trường GH_HOST.

Thử ngay với hai việc thật

Việc 1: phân loại issue đầu tuần. Quay lại anh trưởng nhóm sáng thứ Hai. Anh mở chế độ agent trong VS Code và gõ:

Liệt kê các issue đang mở trong repo cong-ty/web-ban-hang tạo trong 7 ngày qua. Nhóm theo loại: lỗi, yêu cầu tính năng, câu hỏi. Issue nào chưa có nhãn thì đề xuất nhãn, chưa gắn vội.

AI dùng list_issues với tham số since để lọc theo ngày, rồi trả về bảng tóm tắt. Câu "chưa gắn vội" giữ cho AI chỉ đọc, người duyệt xong mới cho sửa.

Việc 2: đọc cảnh báo bảo mật bằng tiếng Việt. Repo có bật code scanning thì hỏi:

Dùng list_code_scanning_alerts cho repo cong-ty/api-noi-bo, liệt kê cảnh báo đang mở, xếp theo mức độ nghiêm trọng, giải thích ngắn từng cảnh báo bằng tiếng Việt.

Mẹo

README cho phép ghi đè mô tả công cụ bằng file github-mcp-server-config.json đặt cạnh file chạy, hoặc bằng biến môi trường có tiền tố GITHUB_MCP_. Ví dụ: export GITHUB_MCP_TOOL_ADD_ISSUE_COMMENT_DESCRIPTION="an alternative description". Mô tả càng sát cách đội anh chị làm việc, AI càng dễ chọn đúng công cụ.

Cẩn thận với tấm thẻ từ

Lưu ý

  • Bản xem trước: GitHub ghi rõ đây là public preview, công cụ và cấu hình có thể đổi.
  • Token là chìa khóa thật: token có quyền ghi thì AI có thể tạo nhánh, đẩy file, merge pull request. Nên tạo token riêng cho AI, giới hạn đúng repo và đúng quyền.
  • Công cụ có tác động mạnh: merge_pull_request, push_files, create_or_update_file thay đổi kho mã. Đừng để chế độ tự động đồng ý mọi lời gọi.
  • Token nằm trong file cấu hình: cấu hình Claude Desktop ghi token dạng chữ thường. Không đưa file này lên repo, không gửi qua chat.
  • Cần Docker hoặc Go: máy văn phòng không cài được Docker thì phải build từ mã nguồn.

Nhận xét của chuyên gia

Khi tư vấn đưa AI vào đội phần mềm, lỗi tôi gặp nhiều nhất không nằm ở model, mà ở tấm thẻ từ: tạo một token toàn quyền cho nhanh, rồi quên luôn nó đang mở được những cửa nào. Điểm cộng lớn của GitHub MCP Server là do chính GitHub duy trì, doanh nghiệp yên tâm hơn so với server cộng đồng không rõ ai bảo trì. Nhưng server chính chủ không thay được kỷ luật cấp quyền.

Hợp với ai: đội phát triển từ vài người trở lên, đã dùng GitHub làm nơi quản lý công việc; trưởng nhóm muốn AI gánh việc đọc, tóm tắt, phân loại issue và pull request.

Chưa hợp với ai: công ty chỉ dùng GitHub để lưu mã mà quản lý việc ở chỗ khác; nhóm chưa có quy định ai được merge vào nhánh chính. Khi quy trình review còn lỏng, cho AI quyền merge là mở thêm một cửa rủi ro.

Cách bắt đầu của tôi: tạo token chỉ đọc cho một repo thử; dùng hai tuần cho việc tóm tắt issue và pull request; sau đó mới cấp quyền ghi issue, còn quyền merge thì để người làm. Anh chị xem thêm các mốc công cụ agent khác trên dòng thời gian AI.

Một câu để nhớ: cho AI vào kho mã thì dễ, cấp đúng thẻ cho AI mới là việc của người quản lý.

Câu hỏi thường gặp

GitHub MCP Server có miễn phí không?

Có. Mã nguồn miễn phí theo giấy phép MIT. Anh chị chỉ trả chi phí của ứng dụng AI đang dùng và gói GitHub sẵn có.

GitHub MCP Server khác gì server GitHub cũ của Anthropic?

Theo GitHub, đây là bản viết lại bằng Go từ server tham chiếu của Anthropic, giữ toàn bộ chức năng cũ và thêm tùy chỉnh mô tả công cụ, code scanning, hàm get_me. GitHub tiếp quản việc phát triển từ nay.

Có dùng được với GitHub Enterprise Server không?

Có. README hướng dẫn đặt tên máy chủ bằng cờ --gh-host hoặc biến môi trường GH_HOST.

Không cài được Docker thì sao?

README hướng dẫn build file chạy bằng Go từ thư mục cmd/github-mcp-server, rồi chạy github-mcp-server stdio với biến môi trường chứa token.

Nguồn: github/github-mcp-server trên GitHub, 04/04/2025.

Nguồn tham khảo: https://github.com/github/github-mcp-server

Zalo

TA-Assistant

System Online
Xin chào! Tôi là trợ lý AI của Tuấn Anh. Tôi có thể giúp gì cho bạn hôm nay?