Ưu, nhược và chỗ chưa rõ
| Ưu | Có cờ --read-only: chỉ bật các tool đọc, agent không sửa được repo, issue hay PR. | README, Read-Only Mode |
|---|---|---|
| Ưu | Tháng 10/2025 GitHub giảm bộ tool bật sẵn từ 101 xuống 52, phần mô tả tool nạp vào ngữ cảnh giảm từ 64,6k xuống 30,3k token; các nhóm như Actions, Projects phải tự bật thêm. | Discussion #1182 |
| Ưu | Có cả bản GitHub chạy hộ (không cần cài gì) và bản chạy trên máy bằng Docker; đăng nhập OAuth trên github.com không cần tự tạo token. | README, Local GitHub MCP Server |
| Nhược | Invariant Labs (2025-05-26) chỉ ra: một issue độc trong repo công khai có thể khiến agent đọc repo riêng tư của bạn rồi chép dữ liệu ra một PR công khai. Lỗ hổng nằm ở cách agent dùng quyền token, nên không có bản vá trong code server. | Invariant Labs, 2025-05-26 |
| Nhược | README ghi lockdown mode chỉ là bộ lọc cố gắng hết sức, không giới hạn quyền của token; nội dung bị lọc vẫn có thể lấy qua tool khác với cùng token. | README, Lockdown Mode |
| Nhược | Agent có shell thì gh và git đã làm được phần lớn việc; một hướng dẫn độc lập ghi đọc log CI bằng gh tốn ít token hơn, MCP chỉ đáng khi cần đọc thread review hoặc agent không có shell. | developertoolkit.ai, 2026-09-26 |
| Nhược | Chưa tải được ảnh đính kèm lên PR hay issue; agent không gắn được ảnh chụp màn hình trước và sau. Issue còn mở. | Issue #738 |
| Chưa rõ | Bản từ xa do GitHub chạy nên không ghim được phiên bản; bộ tool có thể đổi mà bạn không biết trước. | README, Remote GitHub MCP Server |
| Chưa rõ | docs/policies-and-governance.md ghi bản cục bộ bắt buộc dùng PAT, còn README ghi đăng nhập OAuth được trên github.com. Hai tài liệu của cùng repo chưa khớp nhau. | docs/policies-and-governance.md |
Khi nên dùng
- Agent của bạn không có shell, hoặc bạn cần nó đọc và trả lời thread review PR; nên bật --read-only khi chỉ cần đọc.
Khi không nên dùng
- Agent đã chạy được lệnh gh và git trong terminal (Claude Code, Codex): dùng gh là đủ. Cũng tránh cho agent token có quyền ghi khi nó đọc issue từ repo công khai.
Cách cài
claude mcp add github -e GITHUB_OAUTH_CALLBACK_PORT=8085 -- docker run -i --rm -p 127.0.0.1:8085:8085 -e GITHUB_OAUTH_CALLBACK_PORT ghcr.io/github/github-mcp-server:v2.0.3Theo tài liệu của tác giảclaude mcp add-json github '{"type":"http","url":"https://api.githubcopilot.com/mcp","headers":{"Authorization":"Bearer YOUR_GITHUB_PAT"}}'Theo tài liệu của tác giả[mcp_servers.github] command = "docker", args = ["run", "-i", "--rm", "-p", "127.0.0.1:8085:8085", "-e", "GITHUB_OAUTH_CALLBACK_PORT", "ghcr.io/github/github-mcp-server:v2.0.3"], env = { GITHUB_OAUTH_CALLBACK_PORT = "8085" }Theo tài liệu của tác giảNó chạm vào những gì
- File đọc và ghi
- Mặc định không ghi file. Chỉ ghi khi bạn bật cờ: --log-file ghi log, --export-translations ghi github-mcp-server-config.json vào thư mục đang chạy. Token OAuth chỉ giữ trong bộ nhớ.
- Gọi mạng
- api.github.com (hoặc máy chủ GitHub Enterprise bạn chỉ định); github.com cho đăng nhập OAuth; ghcr.io khi Docker tải image. Bản từ xa: mọi lệnh đi qua api.githubcopilot.com.
- Script lúc cài
- Không có script chạy lúc cài; image Docker build sẵn từ Go.
- Tiến trình
- Một tiến trình server cho mỗi phiên (container Docker hoặc file chạy). Khi đăng nhập OAuth, nó mở trình duyệt và nghe callback trên 127.0.0.1 (cổng 8085 trong Docker).
Đọc từ: callback.go, env.go, server.go, translations.go, Dockerfile
MCP server chạy code trên máy bạn và dùng quyền của token GitHub bạn cấp: với quyền ghi, agent có thể tạo, sửa, đóng issue và PR trên mọi repo mà token với tới.
Mục này chạy mã trên máy bạn với quyền của tài khoản bạn. Theo tài liệu Claude Code, hook và MCP server chạy ngoài sandbox. Đọc phần trên và file của tác giả trước khi cài. Tài liệu bảo mật plugin