GitHub MCP
ทางการเซิร์ฟเวอร์ GitHub MCP อย่างเป็นทางการสำหรับการค้นหาที่เก็บข้อมูล ปัญหา คำขอดึงข้อมูล บริบทโค้ด และเวิร์กโฟลว์ของ GitHub ในไคลเอนต์ AI ที่รองรับ MCP
คุณทำอะไรได้บ้างด้วย GitHub MCP?
- การสำรวจ repository — ให้ผู้ช่วยของคุณเรียกดูโค้ด ค้นหาไฟล์ และวิเคราะห์ commits ใน repository ใดก็ได้ที่คุณเข้าถึงได้
- การจัดการ issues และ PR — ให้ AI สร้าง อัปเดต และจัดลำดับความสำคัญของ issues และ pull requests รวมถึงการตรวจสอบการเปลี่ยนแปลงโค้ด
- การตรวจสอบ CI/CD — รับข้อมูลเชิงลึกเกี่ยวกับการทำงานของ GitHub Actions workflow วิเคราะห์สาเหตุที่ build ล้มเหลว และจัดการ releases
- การวิเคราะห์ความปลอดภัย — ตรวจสอบผลการสแกนโค้ด และทบทวนการแจ้งเตือน Dependabot สำหรับช่องโหว่
- การทำงานร่วมกันในทีม — เข้าถึง discussions จัดการ notifications และวิเคราะห์กิจกรรมของทีมในโปรเจกต์ต่างๆ ของคุณ
เซิร์ฟเวอร์ MCP แบบโฮสต์
npx add-mcp 'https://api.githubcopilot.com/mcp/'ติดตั้งลง Claude Code, Codex, Cursor และอื่นๆ
เอกสาร
GitHub MCP Server
GitHub MCP Server เชื่อมต่อเครื่องมือ AI เข้ากับแพลตฟอร์ม GitHub โดยตรง ทำให้ AI agents, assistants และ chatbots สามารถอ่าน repository และไฟล์โค้ด จัดการ issues และ PRs วิเคราะห์โค้ด และทำงานอัตโนมัติได้ทั้งหมดผ่านการโต้ตอบด้วยภาษาธรรมชาติ
กรณีการใช้งาน
- การจัดการ Repository: เรียกดูและค้นหาโค้ด ค้นหาไฟล์ วิเคราะห์ commits และเข้าใจโครงสร้างโปรเจกต์ใน repository ใดก็ได้ที่คุณเข้าถึงได้
- ระบบอัตโนมัติสำหรับ Issues และ PRs: สร้าง อัปเดต และจัดการ issues และ pull requests ให้ AI ช่วยคัดกรอง bugs ตรวจสอบการเปลี่ยนแปลงโค้ด และดูแล project boards
- CI/CD และความชาญฉลาดด้าน Workflow: ตรวจสอบการทำงานของ GitHub Actions workflow runs วิเคราะห์ build failures จัดการ releases และรับข้อมูลเชิงลึกเกี่ยวกับ development pipeline ของคุณ
- การวิเคราะห์โค้ด: ตรวจสอบ security findings ตรวจสอบ Dependabot alerts เข้าใจรูปแบบโค้ด และรับข้อมูลเชิงลึกที่ครอบคลุมเกี่ยวกับ codebase ของคุณ
- การทำงานร่วมกันในทีม: เข้าถึง discussions จัดการ notifications วิเคราะห์กิจกรรมของทีม และปรับปรุงกระบวนการทำงานของทีม
สร้างขึ้นสำหรับนักพัฒนาที่ต้องการเชื่อมต่อเครื่องมือ AI เข้ากับบริบทและความสามารถของ GitHub ตั้งแต่คำสั่งภาษาธรรมชาติแบบง่ายไปจนถึง agent workflows แบบหลายขั้นตอนที่ซับซ้อน
การใช้ Go module
Go module path คือ github.com/github/github-mcp-server/v2 ผู้ใช้ไลบรารี
ต้องใช้ prefix นี้ใน imports เช่น
github.com/github/github-mcp-server/v2/pkg/github และในคำสั่ง go get
ไม่จำเป็นต้องมีไดเรกทอรีย่อย /v2 เมื่อ build จาก repository checkout
แท็ก v2.0.0 ที่มีอยู่เดิมเกิดขึ้นก่อนการแก้ไข module-path นี้และไม่สามารถใช้
เป็น Go module ได้ หลังจากการเปลี่ยนแปลงนี้ถูก merge แล้ว release ใหม่เช่น v2.0.1 จะต้อง
ถูกแท็กจาก commit ที่มี module path ที่แก้ไขแล้ว จนกว่าจะถึงเวลานั้น
ผู้ใช้สามารถใช้ pseudo-version จาก commit ที่มีการเปลี่ยนแปลงนี้ได้
Remote GitHub MCP Server
Remote GitHub MCP Server โฮสต์โดย GitHub และเป็นวิธีที่ง่ายที่สุดในการเริ่มต้นใช้งาน หาก MCP host ของคุณไม่รองรับ remote MCP servers ไม่ต้องกังวล! คุณสามารถใช้ local version ของ GitHub MCP Server แทนได้
ข้อกำหนดเบื้องต้น
- MCP host ที่เข้ากันได้พร้อมการรองรับ remote server (VS Code 1.101+, Claude Desktop, Cursor, Windsurf ฯลฯ)
- เปิดใช้งานนโยบาย ที่เกี่ยวข้องตามที่กำหนด
การติดตั้งใน VS Code
สำหรับการติดตั้งที่รวดเร็ว ให้ใช้ปุ่มติดตั้งแบบคลิกเดียวด้านบน เมื่อคุณทำตามขั้นตอนเสร็จสิ้น ให้สลับไปที่โหมด Agent (อยู่ใกล้กับช่องป้อนข้อความ Copilot Chat) และ server จะเริ่มทำงาน ตรวจสอบให้แน่ใจว่าคุณใช้ VS Code 1.101 หรือ ใหม่กว่า สำหรับการรองรับ remote MCP และ OAuth
หรือหากต้องการกำหนดค่า VS Code ด้วยตนเอง ให้เลือกบล็อก JSON ที่เหมาะสมจากตัวอย่างด้านล่างและเพิ่มลงในการกำหนดค่า host ของคุณ:
| การใช้ OAuth | การใช้ GitHub PAT |
|---|---|
| VS Code (เวอร์ชัน 1.101 หรือสูงกว่า) | |
|
|
การติดตั้งใน MCP hosts อื่นๆ
- Copilot CLI - คู่มือการติดตั้งสำหรับ GitHub Copilot CLI
- GitHub Copilot ใน IDEs อื่นๆ - การติดตั้งสำหรับ JetBrains, Visual Studio, Eclipse และ Xcode พร้อม GitHub Copilot
- Claude Applications - คู่มือการติดตั้งสำหรับ Claude Desktop และ Claude Code CLI
- Codex - คู่มือการติดตั้งสำหรับ OpenAI Codex
- Cursor - คู่มือการติดตั้งสำหรับ Cursor IDE
- OpenCode - คู่มือการติดตั้งสำหรับ OpenCode terminal agent
- Windsurf - คู่มือการติดตั้งสำหรับ Windsurf IDE
- Zed - คู่มือการติดตั้งสำหรับ Zed editor
- Rovo Dev CLI - คู่มือการติดตั้งสำหรับ Rovo Dev CLI
หมายเหตุ: แต่ละแอปพลิเคชัน MCP host จำเป็นต้องกำหนดค่า GitHub App หรือ OAuth App เพื่อรองรับการเข้าถึงระยะไกลผ่าน OAuth แอปพลิเคชัน host ใดๆ ที่รองรับ remote MCP servers ควรรองรับ remote GitHub server ด้วยการรับรองความถูกต้องด้วย PAT รายละเอียดการกำหนดค่าและระดับการสนับสนุนแตกต่างกันไปตาม host โปรดอ้างอิงเอกสารของแอปพลิเคชัน host สำหรับข้อมูลเพิ่มเติม
การกำหนดค่า
การกำหนดค่า Toolset
ดู Remote Server Documentation สำหรับรายละเอียดทั้งหมดเกี่ยวกับการกำหนดค่า remote server, toolsets, headers และการใช้งานขั้นสูง ไฟล์นี้ให้คำแนะนำและตัวอย่างที่ครอบคลุมสำหรับการเชื่อมต่อ การปรับแต่ง และการติดตั้ง remote GitHub MCP Server ใน VS Code และ MCP hosts อื่นๆ
เมื่อไม่มีการระบุ toolsets จะใช้ default toolsets
โหมด Insiders
ลองฟีเจอร์ใหม่ล่วงหน้า! remote server มีเวอร์ชัน insiders ที่ให้สิทธิ์เข้าถึงฟีเจอร์ใหม่และเครื่องมือทดลองได้ก่อนใคร
| การใช้ URL Path | การใช้ Header |
|---|---|
|
|
ดู Remote Server Documentation สำหรับรายละเอียดและตัวอย่างเพิ่มเติม และ Insiders Features สำหรับรายการทั้งหมดที่มีให้ใช้งาน
GitHub Enterprise
GitHub Enterprise Cloud พร้อม data residency (ghe.com)
GitHub Enterprise Cloud ยังสามารถใช้ remote server ได้
ตัวอย่างสำหรับ https://octocorp.ghe.com ด้วย GitHub PAT token:
{
...
"github-octocorp": {
"type": "http",
"url": "https://copilot-api.octocorp.ghe.com/mcp",
"headers": {
"Authorization": "Bearer ${input:github_mcp_pat}"
}
},
...
}
หมายเหตุ: เมื่อใช้ OAuth กับ GitHub Enterprise ร่วมกับ VS Code และ GitHub Copilot คุณต้องกำหนดค่า VS Code settings เพื่อชี้ไปยัง GitHub Enterprise instance ของคุณด้วย - ดู Authenticate from VS Code
GitHub Enterprise Server
GitHub Enterprise Server ไม่รองรับการโฮสต์ remote server โปรดอ้างอิง GitHub Enterprise Server และ Enterprise Cloud พร้อม data residency (ghe.com) จากการกำหนดค่า local server
Local GitHub MCP Server
ข้อกำหนดเบื้องต้น
-
ในการรัน server ใน container คุณจะต้องติดตั้ง Docker
-
เมื่อติดตั้ง Docker แล้ว คุณต้องตรวจสอบให้แน่ใจว่า Docker กำลังทำงานอยู่ Docker image มีให้ใช้งานที่
ghcr.io/github/github-mcp-serverimage เป็นแบบสาธารณะ หากคุณได้รับข้อผิดพลาดในการ pull คุณอาจมี token ที่หมดอายุและจำเป็นต้องdocker logout ghcr.io -
การรับรองความถูกต้อง บน github.com คุณไม่จำเป็นต้องสร้างอะไรล่วงหน้า — ปุ่มคลิกเดียวด้านบนจะให้คุณเข้าสู่ระบบด้วย OAuth ในการใช้งานครั้งแรก (เป็นขั้นตอนผ่านเบราว์เซอร์ token จะถูกเก็บไว้ในหน่วยความจำเท่านั้น) ปุ่ม Docker จะเผยแพร่พอร์ต callback แบบคงที่ (
127.0.0.1:8085) เพื่อให้ login callback ของ container เข้าถึงได้ ดู Local Server OAuth Login สำหรับวิธีการทำงาน ทางเลือกแบบ headless/device-code และการนำ OAuth หรือ GitHub App ของคุณเองมาใช้ (จำเป็นสำหรับ GitHub Enterprise Server และghe.com)ต้องการใช้ token ไหม? คุณยังสามารถรับรองความถูกต้องด้วย GitHub Personal Access Token โดยตั้งค่า
GITHUB_PERSONAL_ACCESS_TOKENแทน (มีลำดับความสำคัญเหนือกว่า OAuth) MCP server สามารถใช้ GitHub APIs ได้หลายรายการ ดังนั้นให้เปิดใช้งานสิทธิ์ที่คุณรู้สึกสบายใจที่จะมอบให้กับเครื่องมือ AI ของคุณ (หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับ access tokens โปรดดู เอกสารประกอบ)
การจัดการ PATs อย่างปลอดภัย
Environment Variables (แนะนำ)
เพื่อให้ GitHub PAT ของคุณปลอดภัยและนำกลับมาใช้ใหม่ได้ใน MCP hosts ต่างๆ:
-
เก็บ PAT ของคุณใน environment variables
export GITHUB_PAT=your_token_hereหรือสร้างไฟล์
.env:GITHUB_PAT=your_token_here -
ปกป้องไฟล์
.envของคุณ# Add to .gitignore to prevent accidental commits echo ".env" >> .gitignore -
อ้างอิง token ในการกำหนดค่า
# 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" }
หมายเหตุ: การรองรับ environment variables แตกต่างกันไปตามแอปพลิเคชัน host และ IDE บางแอปพลิเคชัน (เช่น Windsurf) จำเป็นต้องใช้ token แบบ hardcoded ในไฟล์กำหนดค่า
แนวทางปฏิบัติที่ดีที่สุดด้านความปลอดภัยของ Token
-
ขอบเขตขั้นต่ำ: ให้สิทธิ์ที่จำเป็นเท่านั้น
repo- การดำเนินการกับ repositoryread:packages- การเข้าถึง Docker imageread:org- การเข้าถึงทีมองค์กร
-
แยก token: ใช้ PAT ที่แตกต่างกันสำหรับโปรเจกต์/สภาพแวดล้อมที่แตกต่างกัน
-
หมุนเวียนเป็นประจำ: อัปเดต tokens เป็นระยะ
-
ไม่ commit: เก็บ tokens ไว้นอก version control
-
สิทธิ์ไฟล์: จำกัดการเข้าถึงไฟล์กำหนดค่าที่มี tokens
chmod 600 ~/.your-app/config.json
GitHub Enterprise Server และ Enterprise Cloud พร้อม data residency (ghe.com)
แฟล็ก --gh-host และ environment variable GITHUB_HOST สามารถใช้เพื่อตั้งค่า
hostname สำหรับ GitHub Enterprise Server หรือ GitHub Enterprise Cloud พร้อม data residency
- สำหรับ GitHub Enterprise Server ให้ใส่ prefix hostname ด้วย URI scheme
https://จำเป็นต้องใช้ HTTPS และบังคับใช้: host ที่ไม่ใช่ HTTPS จะถูกปฏิเสธเพื่อไม่ให้ส่งข้อมูลรับรองผ่าน cleartext (ข้อยกเว้นเพียงอย่างเดียวคือ loopback host เช่นhttp://localhostสำหรับการพัฒนาท้องถิ่น) - สำหรับ GitHub Enterprise Cloud พร้อม data residency ให้ใช้
https://YOURSUBDOMAIN.ghe.comเป็น hostname
"github": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"GITHUB_PERSONAL_ACCESS_TOKEN",
"-e",
"GITHUB_HOST",
"ghcr.io/github/github-mcp-server"
],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "${input:github_token}",
"GITHUB_HOST": "https://<your GHES or ghe.com domain name>"
}
}
การติดตั้ง
การติดตั้งใน GitHub Copilot บน VS Code
สำหรับการติดตั้งที่รวดเร็ว ให้ใช้ปุ่มติดตั้งแบบคลิกเดียวด้านบน เมื่อคุณทำตามขั้นตอนเสร็จสิ้น ให้สลับไปที่โหมด Agent (อยู่ใกล้กับช่องป้อนข้อความ Copilot Chat) และ server จะเริ่มทำงาน
เรียนรู้เพิ่มเติมเกี่ยวกับการใช้เครื่องมือ MCP server ใน เอกสารโหมด agent ของ VS Code
การติดตั้งใน GitHub Copilot บน IDEs อื่นๆ (JetBrains, Visual Studio, Eclipse ฯลฯ)
เพิ่มบล็อก JSON หนึ่งในต่อไปนี้ในการตั้งค่า MCP ของ IDE ของคุณ
เข้าสู่ระบบด้วย OAuth (ไม่ต้องสร้างหรือเก็บ token) บน github.com image อย่างเป็นทางการมีข้อมูลรับรองแอปอยู่แล้ว ดังนั้นคุณไม่ต้องระบุเอง: มันจะรันการเข้าสู่ระบบผ่านเบราว์เซอร์ในการใช้งานครั้งแรกและเก็บ token ที่ได้ ในหน่วยความจำเท่านั้น ใน Docker จำเป็นต้องเผยแพร่พอร์ต callback แบบคงที่ไปยัง loopback เพื่อให้ login callback ของ container เข้าถึงได้:
{
"mcp": {
"servers": {
"github": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-p",
"127.0.0.1:8085:8085",
"-e",
"GITHUB_OAUTH_CALLBACK_PORT",
"ghcr.io/github/github-mcp-server"
],
"env": {
"GITHUB_OAUTH_CALLBACK_PORT": "8085"
}
}
}
}
}
ดู Local Server OAuth Login สำหรับขั้นตอน native-binary (ไม่ต้องใช้พอร์ตคงที่) ทางเลือกแบบ headless/device-code GitHub Enterprise Server / ghe.com และการนำ OAuth หรือ GitHub App ของคุณเองมาใช้
สำหรับการปรับใช้ stdio แบบไม่โต้ตอบ ดู GitHub App Authentication
หรือรับรองความถูกต้องด้วย Personal Access Token ตั้งค่า GITHUB_PERSONAL_ACCESS_TOKEN แทน (มีลำดับความสำคัญเหนือกว่า OAuth):
{
"mcp": {
"inputs": [
{
"type": "promptString",
"id": "github_token",
"description": "GitHub Personal Access Token",
"password": true
}
],
"servers": {
"github": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"GITHUB_PERSONAL_ACCESS_TOKEN",
"ghcr.io/github/github-mcp-server"
],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "${input:github_token}"
}
}
}
}
}
คุณสามารถเพิ่มตัวอย่างที่คล้ายกัน (เช่น ไม่มีคีย์ mcp) ในไฟล์ชื่อ .vscode/mcp.json ใน workspace ของคุณได้ ซึ่งจะช่วยให้คุณแชร์การกำหนดค่ากับแอปพลิเคชัน host อื่นๆ ที่ยอมรับรูปแบบเดียวกัน
ตัวอย่างบล็อก JSON ที่ไม่มีคีย์ 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}"
}
}
}
}
การติดตั้งใน MCP Hosts อื่นๆ
สำหรับแอปพลิเคชัน MCP host อื่นๆ โปรดอ้างอิงคู่มือการติดตั้งของเรา:
- Copilot CLI - คู่มือการติดตั้ง GitHub Copilot CLI
- GitHub Copilot ใน IDE อื่นๆ - การติดตั้งสำหรับ JetBrains, Visual Studio, Eclipse และ Xcode พร้อม GitHub Copilot
- Claude Code และ Claude Desktop - คู่มือการติดตั้ง Claude Code และ Claude Desktop
- Cursor - คู่มือการติดตั้งสำหรับ Cursor IDE
- Google Gemini CLI - คู่มือการติดตั้งสำหรับ Google Gemini CLI
- OpenCode - คู่มือการติดตั้งสำหรับเอเจนต์เทอร์มินัล OpenCode
- Windsurf - คู่มือการติดตั้งสำหรับ Windsurf IDE
- Zed - คู่มือการติดตั้งสำหรับโปรแกรมแก้ไข Zed
สำหรับภาพรวมที่สมบูรณ์ของตัวเลือกการติดตั้งทั้งหมด โปรดดู ดัชนีคู่มือการติดตั้ง
หมายเหตุ: แอปพลิเคชันโฮสต์ใดๆ ที่รองรับเซิร์ฟเวอร์ MCP ในเครื่องควรสามารถเข้าถึงเซิร์ฟเวอร์ GitHub MCP ในเครื่องได้ อย่างไรก็ตาม กระบวนการกำหนดค่าเฉพาะ ไวยากรณ์ และความเสถียรของการผสานรวมจะแตกต่างกันไปตามแอปพลิเคชันโฮสต์ แม้ว่าหลายรายการอาจใช้รูปแบบที่คล้ายกับตัวอย่างข้างต้น แต่ก็ไม่มีการรับประกัน โปรดอ้างอิงเอกสารของแอปพลิเคชันโฮสต์ของคุณสำหรับไวยากรณ์การกำหนดค่า MCP และขั้นตอนการตั้งค่าที่ถูกต้อง
สร้างจากซอร์สโค้ด
หากคุณไม่มี Docker คุณสามารถใช้ go build เพื่อสร้างไบนารีในไดเรกทอรี
cmd/github-mcp-server และใช้คำสั่ง github-mcp-server stdio โดยตั้งค่าตัวแปรสภาพแวดล้อม GITHUB_PERSONAL_ACCESS_TOKEN เป็นโทเค็นของคุณ หากต้องการระบุตำแหน่งเอาต์พุตของการสร้าง ให้ใช้แฟล็ก -o คุณควรกำหนดค่าเซิร์ฟเวอร์ของคุณให้ใช้ไฟล์ปฏิบัติการที่สร้างขึ้นเป็น command
คำขอ API ของ STDIO ระบุเซิร์ฟเวอร์เป็น github-mcp-server/<version> และเก็บชื่อ/เวอร์ชันของไคลเอ็นต์ MCP ต้นทางไว้ในวงเล็บเมื่อมีข้อมูลดังกล่าว อักขระควบคุม เครื่องหมายคำพูด แบ็กสแลช และวงเล็บในข้อมูลเมตาของไคลเอ็นต์จะถูก Escape เพื่อให้ส่วนหัว HTTP ยังคงถูกต้อง ชื่อ เวอร์ชัน ช่องว่าง และอักขระ Unicode ที่พิมพ์ได้ทั่วไปจะถูกเก็บรักษาไว้ บิลด์ที่เผยแพร่จะเก็บเวอร์ชันการเผยแพร่ไว้ บิลด์ซอร์สและ Docker เริ่มต้นที่มีข้อมูลเมตาการแก้ไขใช้ vcs-<full-commit-sha> เวิร์กโฟลว์การเผยแพร่ Docker จะเก็บรักษาเวอร์ชันแท็ก รวมถึงพรีรีลีส และอนุญาตให้บิลด์สาขา คำขอ Pull และรายคืนใช้การแก้ไขซอร์สที่เชื่อมโยง เครื่องหมาย -dirty ใช้เฉพาะเมื่อทั้งการแก้ไขและสถานะที่แก้ไขมาจากข้อมูลเมตาของ VCS ที่ฝังไว้เท่านั้น ไม่เคยใช้กับ main.commit ที่ถูกต้องซึ่งระบุไว้อย่างชัดเจน นี่คือตัวระบุบิลด์ VCS ไม่ใช่หมายเลขการเผยแพร่
สร้างแพ็คเกจที่สมบูรณ์ด้วย go build -o github-mcp-server ./cmd/github-mcp-server จากการเช็คเอาต์ Git เพื่อฝังการแก้ไข VCS สำหรับบิลด์ที่ไม่มีข้อมูลเมตาของ VCS ให้ระบุการเผยแพร่จริงด้วย -ldflags '-X main.version=<release>' หรือการแก้ไขซอร์สเต็มรูปแบบด้วย -ldflags '-X main.commit=<sha>' ข้อมูลเมตาที่ถูกต้องจะถูกเลือกตามลำดับนี้: การเผยแพร่ที่ระบุอย่างชัดเจน การแก้ไขซอร์สที่ระบุอย่างชัดเจน การแก้ไข VCS ที่ฝังไว้ จากนั้นจึงเป็นเวอร์ชันโมดูลหลักที่ติดตั้ง การแก้ไขที่ระบุอย่างชัดเจนที่ถูกต้องยังคงมีอำนาจแม้ว่าการกรองบริบทบิลด์จะเปลี่ยนข้อมูลเมตาของ VCS ที่ฝังไว้ ตัวเลือกที่ขาดหายไปหรือไม่ถูกต้องจะตกไปยังแหล่งถัดไปที่ใช้งานได้ หากไม่มี STDIO จะยังคงเริ่มต้นด้วยป้ายกำกับการพัฒนา dev และส่งคำเตือนไปยัง stderr โดยปล่อยให้ stdout พร้อมใช้งานสำหรับโปรโตคอล MCP ระบุข้อมูลเมตาการเผยแพร่หรือการแก้ไขจริงเมื่อจำเป็นต้องมีการระบุแหล่งที่มาตามเวอร์ชัน
ตัวอย่างเช่น:
{
"mcp": {
"servers": {
"github": {
"command": "/path/to/github-mcp-server",
"args": ["stdio"],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "<YOUR_TOKEN>"
}
}
}
}
}
การกำหนดค่าเครื่องมือ
เซิร์ฟเวอร์ GitHub MCP รองรับการเปิดหรือปิดใช้งานกลุ่มฟังก์ชันการทำงานเฉพาะผ่านแฟล็ก --toolsets ซึ่งช่วยให้คุณควบคุมความสามารถของ GitHub API ที่พร้อมใช้งานสำหรับเครื่องมือ AI ของคุณ การเปิดใช้งานเฉพาะชุดเครื่องมือที่คุณต้องการสามารถช่วย LLM ในการเลือกเครื่องมือและลดขนาดบริบทได้
ชุดเครื่องมือไม่ได้จำกัดเฉพาะเครื่องมือเท่านั้น ทรัพยากร MCP และพรอมต์ที่เกี่ยวข้องจะรวมอยู่ด้วยเมื่อเกี่ยวข้อง
เมื่อไม่มีการระบุชุดเครื่องมือ จะใช้ ชุดเครื่องมือเริ่มต้น
กำลังมองหาตัวอย่างอยู่หรือไม่? ดู คู่มือการกำหนดค่าเซิร์ฟเวอร์ สำหรับสูตรทั่วไป เช่น การตั้งค่าขั้นต่ำ โหมดอ่านอย่างเดียว และการรวมเครื่องมือเข้ากับชุดเครื่องมือ
การระบุชุดเครื่องมือ
หากต้องการระบุชุดเครื่องมือที่คุณต้องการให้พร้อมใช้งานสำหรับ LLM คุณสามารถส่งรายการอนุญาตได้สองวิธี:
-
การใช้อาร์กิวเมนต์บรรทัดคำสั่ง:
github-mcp-server --toolsets repos,issues,pull_requests,actions,code_security -
การใช้ตัวแปรสภาพแวดล้อม:
GITHUB_TOOLSETS="repos,issues,pull_requests,actions,code_security" ./github-mcp-server
ตัวแปรสภาพแวดล้อม GITHUB_TOOLSETS มีลำดับความสำคัญเหนืออาร์กิวเมนต์บรรทัดคำสั่งหากมีการระบุทั้งสองอย่าง
การระบุเครื่องมือแต่ละรายการ
คุณยังสามารถกำหนดค่าเครื่องมือเฉพาะโดยใช้แฟล็ก --tools ได้อีกด้วย เครื่องมือสามารถใช้ได้อย่างอิสระหรือรวมกับชุดเครื่องมือเพื่อการควบคุมที่ละเอียด
-
การใช้อาร์กิวเมนต์บรรทัดคำสั่ง:
github-mcp-server --tools get_file_contents,issue_read,create_pull_request -
การใช้ตัวแปรสภาพแวดล้อม:
GITHUB_TOOLS="get_file_contents,issue_read,create_pull_request" ./github-mcp-server -
การรวมกับชุดเครื่องมือ (แบบเพิ่มเติม):
github-mcp-server --toolsets repos,issues --tools get_gistการดำเนินการนี้จะลงทะเบียนเครื่องมือทั้งหมดจากชุดเครื่องมือ
reposและissuesรวมถึงget_gist
หมายเหตุสำคัญ:
- เครื่องมือและชุดเครื่องมือสามารถใช้ร่วมกันได้
- โหมดอ่านอย่างเดียวมีความสำคัญสูงกว่า: เครื่องมือเขียนจะถูกข้ามหากตั้งค่า
--read-onlyแม้ว่าจะมีการร้องขออย่างชัดเจนผ่าน--toolsก็ตาม - ชื่อเครื่องมือต้องตรงกันทุกประการ (เช่น
get_file_contentsไม่ใช่getFileContents) ชื่อเครื่องมือที่ไม่ถูกต้องจะทำให้เซิร์ฟเวอร์ล้มเหลวเมื่อเริ่มต้นด้วยข้อความแสดงข้อผิดพลาด - เมื่อมีการเปลี่ยนชื่อเครื่องมือ ชื่อเก่าจะถูกเก็บรักษาเป็นนามแฝงเพื่อความเข้ากันได้ย้อนหลัง ดู การเปลี่ยนชื่อเครื่องมือ สำหรับรายละเอียด
การใช้ชุดเครื่องมือกับ Docker
เมื่อใช้ Docker คุณสามารถส่งชุดเครื่องมือเป็นตัวแปรสภาพแวดล้อมได้:
docker run -i --rm \
-e GITHUB_PERSONAL_ACCESS_TOKEN=<your-token> \
-e GITHUB_TOOLSETS="repos,issues,pull_requests,actions,code_security" \
ghcr.io/github/github-mcp-server
การใช้เครื่องมือกับ Docker
เมื่อใช้ Docker คุณสามารถส่งเครื่องมือเฉพาะเป็นตัวแปรสภาพแวดล้อมได้ คุณยังสามารถรวมเครื่องมือเข้ากับชุดเครื่องมือได้:
# Tools only
docker run -i --rm \
-e GITHUB_PERSONAL_ACCESS_TOKEN=<your-token> \
-e GITHUB_TOOLS="get_file_contents,issue_read,create_pull_request" \
ghcr.io/github/github-mcp-server
# Tools combined with toolsets (additive)
docker run -i --rm \
-e GITHUB_PERSONAL_ACCESS_TOKEN=<your-token> \
-e GITHUB_TOOLSETS="repos,issues" \
-e GITHUB_TOOLS="get_gist" \
ghcr.io/github/github-mcp-server
ชุดเครื่องมือพิเศษ
ชุดเครื่องมือ "all"
ชุดเครื่องมือพิเศษ all สามารถระบุได้เพื่อเปิดใช้งานชุดเครื่องมือที่มีอยู่ทั้งหมดโดยไม่คำนึงถึงการกำหนดค่าอื่นๆ:
./github-mcp-server --toolsets all
หรือใช้ตัวแปรสภาพแวดล้อม:
GITHUB_TOOLSETS="all" ./github-mcp-server
ชุดเครื่องมือ "default"
ชุดเครื่องมือเริ่มต้น default คือการกำหนดค่าที่ส่งไปยังเซิร์ฟเวอร์หากไม่มีการระบุชุดเครื่องมือ
การกำหนดค่าเริ่มต้นคือ:
- context
- repos
- issues
- pull_requests
- users
เพื่อรักษาการกำหนดค่าเริ่มต้นและเพิ่มชุดเครื่องมือเพิ่มเติม:
GITHUB_TOOLSETS="default,stargazers" ./github-mcp-server
โหมด Insiders
เซิร์ฟเวอร์ GitHub MCP ในเครื่องมีเวอร์ชัน insiders ที่ให้การเข้าถึงฟีเจอร์ใหม่และเครื่องมือทดลองก่อนใคร
-
การใช้อาร์กิวเมนต์บรรทัดคำสั่ง:
./github-mcp-server --insiders -
การใช้ตัวแปรสภาพแวดล้อม:
GITHUB_INSIDERS=true ./github-mcp-server
เมื่อใช้ Docker:
docker run -i --rm \
-e GITHUB_PERSONAL_ACCESS_TOKEN=<your-token> \
-e GITHUB_INSIDERS=true \
ghcr.io/github/github-mcp-server
ชุดเครื่องมือที่มีอยู่
ชุดเครื่องมือต่อไปนี้พร้อมใช้งาน:
| ชุดเครื่องมือ | คำอธิบาย | |
|---|---|---|
context | แนะนำอย่างยิ่ง: เครื่องมือที่ให้บริบทเกี่ยวกับผู้ใช้ปัจจุบันและบริบท GitHub ที่คุณกำลังดำเนินการอยู่ | |
actions | เวิร์กโฟลว์ GitHub Actions และการดำเนินการ CI/CD | |
code_quality | เครื่องมือที่เกี่ยวข้องกับคุณภาพโค้ด GitHub | |
code_security | เครื่องมือที่เกี่ยวข้องกับความปลอดภัยของโค้ด เช่น GitHub Code Scanning | |
copilot | เครื่องมือที่เกี่ยวข้องกับ Copilot | |
copilot_issue_intents | เครื่องมือกำหนดปัญหาของ Copilot แบบเลือกเข้าร่วมที่นำข้อมูลเมตาความตั้งใจ (เหตุผล ความเชื่อมั่น คำแนะนำ) | |
dependabot | เครื่องมือ Dependabot | |
discussions | เครื่องมือที่เกี่ยวข้องกับ GitHub Discussions | |
gists | เครื่องมือที่เกี่ยวข้องกับ GitHub Gist | |
git | เครื่องมือที่เกี่ยวข้องกับ GitHub Git API สำหรับการดำเนินการ Git ระดับต่ำ | |
governance | เครื่องมือการกำกับดูแลพื้นที่เก็บข้อมูลสำหรับการจัดการกฎชุดและคุณสมบัติที่กำหนดเองในระดับพื้นที่เก็บข้อมูล องค์กร และองค์กรขนาดใหญ่ | |
issues | เครื่องมือที่เกี่ยวข้องกับ GitHub Issues | |
labels | เครื่องมือที่เกี่ยวข้องกับป้ายกำกับ GitHub | |
notifications | เครื่องมือที่เกี่ยวข้องกับการแจ้งเตือน GitHub | |
orgs | เครื่องมือที่เกี่ยวข้องกับองค์กร GitHub | |
projects | เครื่องมือที่เกี่ยวข้องกับ GitHub Projects | |
pull_requests | เครื่องมือที่เกี่ยวข้องกับ Pull Request ของ GitHub | |
repos | เครื่องมือที่เกี่ยวข้องกับพื้นที่เก็บข้อมูล GitHub | |
secret_protection | เครื่องมือที่เกี่ยวข้องกับการป้องกันความลับ เช่น GitHub Secret Scanning | |
security_advisories | เครื่องมือที่เกี่ยวข้องกับคำแนะนำด้านความปลอดภัย | |
stargazers | เครื่องมือที่เกี่ยวข้องกับผู้ติดดาว GitHub | |
users | เครื่องมือที่เกี่ยวข้องกับผู้ใช้ GitHub |
ชุดเครื่องมือเพิ่มเติมในเซิร์ฟเวอร์ GitHub MCP ระยะไกล
| ชุดเครื่องมือ | คำอธิบาย |
|---|---|
copilot | เครื่องมือที่เกี่ยวข้องกับ Copilot (เช่น Copilot Coding Agent) |
copilot_spaces | เครื่องมือที่เกี่ยวข้องกับ Copilot Spaces |
github_support_docs_search | ค้นหาเอกสารเพื่อตอบคำถามเกี่ยวกับผลิตภัณฑ์และการสนับสนุนของ GitHub |
เครื่องมือ
เครื่องมือพื้นที่เก็บข้อมูลเปิดเผยสคีมาเอาต์พุตและ structuredContent ที่พิมพ์เมื่อเวอร์ชันโปรโตคอล MCP ที่เจรจาเป็นเวอร์ชันที่รองรับ 2026-07-28 หรือใหม่กว่า ไคลเอ็นต์ที่เก่ากว่า ไคลเอ็นต์ที่มีเวอร์ชันโปรโตคอลที่ไม่รู้จัก และไคลเอ็นต์ที่ละเว้นเวอร์ชันจะได้รับเนื้อหาที่มีอยู่โดยไม่มีสคีมาเอาต์พุตหรือเอาต์พุตที่มีโครงสร้าง เวอร์ชันที่ไม่รู้จักจะไม่ถือว่าได้รับการสนับสนุนเพียงเพราะจัดเรียงหลังจาก 2026-07-28
สำหรับ get_file_contents ผลลัพธ์ไดเรกทอรี (รวมถึงการฉายภาพฟิลด์) เป็นอาร์เรย์ที่มีโครงสร้าง การดาวน์โหลดไฟล์และการตอบสนองเฉพาะข้อมูลเมตาใช้ content อาร์เรย์ของบล็อกข้อความ ทรัพยากรที่ฝัง หรือลิงก์ทรัพยากรที่พิมพ์ โดยเก็บรักษาข้อความสถานะ ข้อความ บล็อก base64 ไฟล์ว่าง และลิงก์ดาวน์โหลด การกลายพันธุ์พื้นที่เก็บข้อมูลเฉพาะข้อความ เช่น การติดดาวและการลบ ยังส่งคืน message ที่มีโครงสร้าง การตอบสนองของ fork แยกความแตกต่างระหว่างการอ้างอิงพื้นที่เก็บข้อมูลจากข้อความที่กำลังดำเนินการ การลบพื้นที่เก็บข้อมูลยังคงต้องมีขั้นตอนการยืนยันที่มีอยู่ก่อนที่จะส่งคืนผลลัพธ์ที่สมบูรณ์
ผลลัพธ์ของ repository ที่มีโครงสร้างใช้ DTO ขนาดกะทัดรัดแทนออบเจกต์ REST ดิบ การค้นหา release ใช้รูปทรง release ขนาดกะทัดรัดร่วมกับรายการ release; การอ้างอิง Git เก็บ ref, ชนิดของออบเจกต์ และ SHA; แท็กแบบ annotated เก็บข้อมูล tag/message/tagger/target; คอมมิตแบบลบเก็บ SHA, message, ผู้เขียน, tree SHA, parent SHA และข้อความที่แสดงต่อผู้ใช้ html_url เมื่อมีข้อมูลดังกล่าว รายการไดเรกทอรีเก็บ metadata ของไฟล์และลิงก์ HTML/ดาวน์โหลดที่มีประโยชน์ แต่ไม่รวม URL การกำหนดเส้นทาง API และ hypermedia แม้ว่าฟิลด์เหล่านั้นจะถูกขอใน projection ก็ตาม เวอร์ชันโปรโตคอลแบบเดิมและที่ไม่รู้จักยังคงเก็บข้อความต้นฉบับแบบ byte-for-byte; การตอบสนอง JSON แบบข้อความเท่านั้นสมัยใหม่จะ serialize DTO ขนาดกะทัดรัดเดียวกันกับ structuredContent บล็อกทรัพยากรที่ไม่ใช่ข้อความและข้อผิดพลาดของเครื่องมือยังคงพฤติกรรมเนื้อหาเดิม โปรเจกชันที่มีโครงสร้างใช้แหล่งข้อมูลที่ผ่านการทำความสะอาดและกรองแล้วเช่นเดียวกับตัวจัดรูปแบบแบบเดิม
สำหรับ get_repository_tree, list_gists, get_gist, create_gist และ update_gist ผลลัพธ์ gist เก็บชื่อไฟล์ เนื้อหา ขนาด ข้อมูลภาษา/ชนิด ไทม์สแตมป์ การมองเห็น และโปรไฟล์เจ้าของแบบกะทัดรัด ขณะที่ละเว้น API/node และ URL การขนส่ง Git รายการ tree ละเว้น URL API ที่สามารถหาได้ ผลลัพธ์การสร้าง/อัปเดต gist ประกอบด้วย gist ID และ URL HTML ข้อความ JSON สมัยใหม่และเนื้อหาที่มีโครงสร้าง serialize ผลลัพธ์ขนาดกะทัดรัดเดียวกัน เวอร์ชันโปรโตคอลแบบเก่าหรือที่ไม่รู้จักยังคงเก็บข้อความแบบเดิมแบบ byte-for-byte โดยไม่มี schema ผลลัพธ์หรือเนื้อหาที่มีโครงสร้าง
เครื่องมือ metadata ของ issue (list_issue_types, list_issue_fields), ความคิดเห็น (add_issue_comment, update_issue_comment), การพึ่งพา (issue_dependency_read, issue_dependency_write) และการตรวจจับรายการซ้ำ (find_duplicate) ให้ outputSchema และ structuredContent ที่มีชนิดข้อมูลสำหรับเวอร์ชันโปรโตคอลที่รองรับที่เจรจาไว้ 2026-07-28 หรือใหม่กว่า เวอร์ชันโปรโตคอลแบบเก่าหรือที่ไม่รู้จักยังคงการตอบสนองข้อความเดียวกันโดยไม่มีฟิลด์เหล่านี้ ข้อผิดพลาดของเครื่องมือไม่ส่งคืนเนื้อหาที่มีโครงสร้าง เครื่องมือการพึ่งพาและการตรวจจับรายการซ้ำยังคงการควบคุมคุณสมบัติเดิม
สำหรับเวอร์ชันโปรโตคอลที่รองรับที่เจรจาไว้ 2026-07-28 หรือใหม่กว่า เครื่องมือ Actions แบบรวม (actions_list, actions_get, actions_run_trigger) ส่งคืนออบเจกต์ที่มีโครงสร้างพร้อมตัวจำแนก method และฟิลด์ที่มีชนิดข้อมูลเฉพาะเมธอด; ข้อความ JSON มี projection ขนาดกะทัดรัดเดียวกัน โปรเจกชัน workflow, job และ artifact ละเว้น URL API/hypermedia ขณะที่เก็บลิงก์เบราว์เซอร์และตัวระบุที่มีประโยชน์ สถานะ ไทม์สแตมป์ และระยะเวลาการใช้งาน รายการการใช้งาน run แสดงสภาพแวดล้อม runner ที่เรียกเก็บเงินตามลำดับชื่อที่กำหนด การตอบสนองข้อความแบบเก่าและโปรโตคอลที่ไม่รู้จักยังคงไม่เปลี่ยนแปลง; get_job_logs ยังคงรูปแบบเนื้อหาที่มีชนิดข้อมูล URL หรือคอลเลกชันงานที่ล้มเหลว

Actions
-
actions_get - รับรายละเอียดของทรัพยากร GitHub Actions (workflows, workflow runs, jobs และ artifacts)
- OAuth Challenge Scopes:
repo method: เมธอดที่จะดำเนินการ (string, required)owner: เจ้าของ repository (string, required)repo: ชื่อ repository (string, required)resource_id: ตัวระบุเฉพาะของทรัพยากร ค่านี้จะแตกต่างกันไปตาม "method" ที่ให้ไว้ ดังนั้นโปรดตรวจสอบให้แน่ใจว่าคุณให้ ID ที่ถูกต้อง:- ให้ workflow ID หรือชื่อไฟล์ workflow (เช่น ci.yaml) สำหรับเมธอด 'get_workflow'
- ให้ workflow run ID สำหรับเมธอด 'get_workflow_run', 'get_workflow_run_usage' และ 'get_workflow_run_logs_url'
- ให้ artifact ID สำหรับเมธอด 'download_workflow_run_artifact'
- ให้ job ID สำหรับเมธอด 'get_workflow_job' (string, required)
- OAuth Challenge Scopes:
-
actions_list - รายการ GitHub Actions workflows ใน repository
- OAuth Challenge Scopes:
repo method: การดำเนินการที่จะดำเนินการ (string, required)owner: เจ้าของ repository (string, required)page: หมายเลขหน้าสำหรับการแบ่งหน้า (ค่าเริ่มต้น: 1) (number, optional)perPage: ผลลัพธ์ต่อหน้าสำหรับการแบ่งหน้า (ค่าเริ่มต้น: 30, สูงสุด: 100) (number, optional)repo: ชื่อ repository (string, required)resource_id: ตัวระบุเฉพาะของทรัพยากร ค่านี้จะแตกต่างกันไปตาม "method" ที่ให้ไว้ ดังนั้นโปรดตรวจสอบให้แน่ใจว่าคุณให้ ID ที่ถูกต้อง:- อย่าให้ resource ID ใด ๆ สำหรับเมธอด 'list_workflows'
- ให้ workflow ID หรือชื่อไฟล์ workflow (เช่น ci.yaml) สำหรับเมธอด 'list_workflow_runs' หรือละเว้นเพื่อแสดงรายการ workflow runs ทั้งหมดใน repository
- ให้ workflow run ID สำหรับเมธอด 'list_workflow_jobs' และ 'list_workflow_run_artifacts' (string, optional)
workflow_jobs_filter: ตัวกรองสำหรับ workflow jobs ใช้เท่านั้น เมื่อเมธอดเป็น 'list_workflow_jobs' (object, optional)workflow_runs_filter: ตัวกรองสำหรับ workflow runs ใช้เท่านั้น เมื่อเมธอดเป็น 'list_workflow_runs' (object, optional)
- OAuth Challenge Scopes:
-
actions_run_trigger - ทริกเกอร์การดำเนินการ GitHub Actions workflow
- OAuth Challenge Scopes:
repo inputs: อินพุตที่ workflow ยอมรับ ใช้สำหรับเมธอด 'run_workflow' เท่านั้น (object, optional)method: เมธอดที่จะดำเนินการ (string, required)owner: เจ้าของ repository (string, required)ref: การอ้างอิง git สำหรับ workflow การอ้างอิงสามารถเป็นชื่อ branch หรือ tag ได้ จำเป็นสำหรับเมธอด 'run_workflow' (string, optional)repo: ชื่อ repository (string, required)run_id: ID ของ workflow run จำเป็นสำหรับทุกเมธอดยกเว้น 'run_workflow' (number, optional)workflow_id: workflow ID (ตัวเลข) หรือชื่อไฟล์ workflow (เช่น main.yml, ci.yaml) จำเป็นสำหรับเมธอด 'run_workflow' (string, optional)
- OAuth Challenge Scopes:
-
get_job_logs - รับบันทึกงาน GitHub Actions workflow
- OAuth Challenge Scopes:
repo failed_only: เมื่อเป็น true จะได้รับบันทึกสำหรับงานที่ล้มเหลวทั้งหมดใน workflow run ที่ระบุโดย run_id ต้องระบุ run_id (boolean, optional)job_id: ตัวระบุเฉพาะของ workflow job จำเป็นเมื่อรับบันทึกสำหรับงานเดียว (number, optional)owner: เจ้าของ repository (string, required)repo: ชื่อ repository (string, required)return_content: ส่งคืนเนื้อหาบันทึกจริงแทน URL (boolean, optional)run_id: ตัวระบุเฉพาะของ workflow run จำเป็นเมื่อ failed_only เป็น true เพื่อรับบันทึกสำหรับงานที่ล้มเหลวทั้งหมดใน run (number, optional)tail_lines: จำนวนบรรทัดที่จะส่งคืนจากท้ายบันทึก (number, optional)
- OAuth Challenge Scopes:

คุณภาพโค้ด
- get_code_quality_finding - รับการค้นพบคุณภาพโค้ด
- OAuth Challenge Scopes:
repo findingNumber: หมายเลขของการค้นพบ (number, required)owner: เจ้าของ repository (string, required)repo: ชื่อของ repository (string, required)
- OAuth Challenge Scopes:

ความปลอดภัยของโค้ด
-
get_code_scanning_alert - รับการแจ้งเตือนการสแกนโค้ด
- OAuth Challenge Scopes:
security_events alertNumber: หมายเลขของการแจ้งเตือน (number, required)owner: เจ้าของ repository (string, required)repo: ชื่อของ repository (string, required)
- OAuth Challenge Scopes:
-
list_code_scanning_alerts - รายการการแจ้งเตือนการสแกนโค้ด
- OAuth Challenge Scopes:
security_events owner: เจ้าของ repository (string, required)page: หมายเลขหน้าสำหรับการแบ่งหน้า (ขั้นต่ำ 1) (number, optional)perPage: ผลลัพธ์ต่อหน้าสำหรับการแบ่งหน้า (ขั้นต่ำ 1, สูงสุด 100) (number, optional)ref: การอ้างอิง Git สำหรับผลลัพธ์ที่คุณต้องการแสดงรายการ (string, optional)repo: ชื่อของ repository (string, required)severity: กรองการแจ้งเตือนการสแกนโค้ดตามความรุนแรง (string, optional)state: กรองการแจ้งเตือนการสแกนโค้ดตามสถานะ ค่าเริ่มต้นคือ open (string, optional)tool_name: ชื่อของเครื่องมือที่ใช้สำหรับการสแกนโค้ด (string, optional)
- OAuth Challenge Scopes:

บริบท
-
get_me - รับโปรไฟล์ผู้ใช้ของฉัน
- MCP App UI:
ui://github-mcp-server/get-me - ไม่มีพารามิเตอร์ที่จำเป็น
- MCP App UI:
-
get_team_members - รับสมาชิกทีม
- OAuth Challenge Scopes:
read:org org: การเข้าสู่ระบบองค์กร (เจ้าของ) ที่มีทีม (string, required)team_slug: team slug (string, required)
- OAuth Challenge Scopes:
-
get_teams - รับทีม
- OAuth Challenge Scopes:
read:org user: ชื่อผู้ใช้เพื่อรับทีม หากไม่ระบุ จะใช้ผู้ใช้ที่รับรองความถูกต้อง (string, optional)
- OAuth Challenge Scopes:
-
ui_get - รับข้อมูล UI
- OAuth Challenge Scopes:
repo,read:org method: ชนิดของข้อมูลที่จะดึงข้อมูล (string, required)owner: เจ้าของ repository (จำเป็นสำหรับทุกเมธอด) (string, required)repo: ชื่อ repository (จำเป็นสำหรับ labels, assignees, milestones, branches, issue fields, reviewers) (string, optional)
- OAuth Challenge Scopes:

Copilot
-
assign_copilot_to_issue - มอบหมาย Copilot ให้กับ issue
- OAuth Challenge Scopes:
repo base_ref: การอ้างอิง Git (เช่น branch) ที่ตัวแทนจะเริ่มทำงาน หากไม่ระบุ จะใช้ค่าเริ่มต้นเป็น branch เริ่มต้นของ repository (string, optional)custom_instructions: คำแนะนำที่กำหนดเองเพิ่มเติมเพื่อแนะนำตัวแทนนอกเหนือจากเนื้อหา issue ใช้เพื่อให้บริบท ข้อจำกัด หรือคำแนะนำเพิ่มเติมที่ไม่ได้อยู่ในคำอธิบาย issue (string, optional)issue_number: หมายเลข issue (number, required)owner: เจ้าของ repository (string, required)repo: ชื่อ repository (string, required)
- OAuth Challenge Scopes:
-
request_copilot_review - ขอการตรวจสอบ Copilot
- OAuth Challenge Scopes:
repo owner: เจ้าของ repository (string, required)pullNumber: หมายเลข pull request (number, required)repo: ชื่อ repository (string, required)
- OAuth Challenge Scopes:

Copilot Issue Intents
- **assign_copilot_to_issue_with_intent** - มอบหมาย Copilot ให้กับ issue พร้อมเจตนา
- **OAuth Challenge Scopes**: `repo`
- `base_ref`: Git reference (เช่น branch) ที่ agent จะเริ่มทำงานจากจุดนั้น หากไม่ระบุ จะใช้ค่าเริ่มต้นเป็น branch หลักของ repository ละเว้นเมื่อ is_suggestion เป็น true (string, ไม่บังคับ)
- `confidence`: ความมั่นใจของคุณในการเลือกนี้ 'HIGH' สำหรับสัญญาณที่ชัดเจนหรือคำขอจากผู้ใช้โดยตรง 'MEDIUM' สำหรับการอนุมานที่สมเหตุสมผลแต่มีความคลุมเครือบ้าง 'LOW' สำหรับการเดาที่ดีที่สุดเมื่อมีสัญญาณจำกัด (string, บังคับ)
- `custom_instructions`: คำแนะนำที่กำหนดเองเพิ่มเติมเพื่อแนะนำ agent นอกเหนือจากเนื้อหา issue ละเว้นเมื่อ is_suggestion เป็น true (string, ไม่บังคับ)
- `is_suggestion`: หากเป็น true จะบันทึกเจตนาการมอบหมาย Copilot ที่รอดำเนินการแทนการเปิดใช้ agent การอนุมัติในภายหลังจะให้บริบทการเปิดใช้ base_ref และ custom_instructions จะถูกละเว้นในกรณีนี้ (boolean, บังคับ)
- `issue_number`: หมายเลข issue (number, บังคับ)
- `owner`: เจ้าของ repository (string, บังคับ)
- `rationale`: ประโยคสั้น ๆ หนึ่งประโยคที่อธิบายว่าสิ่งใดใน issue ที่นำไปสู่การเลือก Copilot ระบุสัญญาณที่เป็นรูปธรรม (เช่น 'งานที่มีขอบเขตชัดเจนและมีเกณฑ์การยอมรับที่ชัดเจน') (string, บังคับ)
- `repo`: ชื่อ repository (string, บังคับ)

Dependabot
-
get_dependabot_alert - รับการแจ้งเตือน Dependabot
- OAuth Challenge Scopes:
security_events alertNumber: หมายเลขของการแจ้งเตือน (number, บังคับ)owner: เจ้าของ repository (string, บังคับ)repo: ชื่อของ repository (string, บังคับ)
- OAuth Challenge Scopes:
-
list_dependabot_alerts - รายการการแจ้งเตือน Dependabot
- OAuth Challenge Scopes:
security_events after: Cursor สำหรับการแบ่งหน้า ใช้ cursor จากการตอบกลับก่อนหน้า (string, ไม่บังคับ)owner: เจ้าของ repository (string, บังคับ)perPage: ผลลัพธ์ต่อหน้าสำหรับการแบ่งหน้า (ขั้นต่ำ 1, สูงสุด 100) (number, ไม่บังคับ)repo: ชื่อของ repository (string, บังคับ)severity: กรองการแจ้งเตือน Dependabot ตามความรุนแรง (string, ไม่บังคับ)state: กรองการแจ้งเตือน Dependabot ตามสถานะ ค่าเริ่มต้นคือ open (string, ไม่บังคับ)
- OAuth Challenge Scopes:

Discussions
-
discussion_comment_write - จัดการความคิดเห็นใน discussions
- OAuth Challenge Scopes:
repo body: เนื้อหาความคิดเห็น (จำเป็นสำหรับวิธี 'add', 'reply' และ 'update') (string, ไม่บังคับ)commentNodeID: Node ID ของความคิดเห็นใน discussion (จำเป็นสำหรับวิธี 'reply', 'update', 'delete', 'mark_answer' และ 'unmark_answer') สำหรับ 'reply' นี่คือความคิดเห็นระดับบนสุดที่จะตอบกลับ GitHub Discussions รองรับการซ้อนกันเพียงระดับเดียวเท่านั้น (string, ไม่บังคับ)discussionNumber: หมายเลข discussion (จำเป็นสำหรับวิธี 'add' และ 'reply') (number, ไม่บังคับ)method: การดำเนินการเขียนที่จะดำเนินการกับความคิดเห็นใน discussion ตัวเลือกมีดังนี้:- 'add' - เพิ่มความคิดเห็นระดับบนสุดใหม่ให้กับ discussion
- 'reply' - ตอบกลับความคิดเห็นระดับบนสุดใน discussion (GitHub Discussions รองรับการซ้อนกันเพียงระดับเดียวเท่านั้น)
- 'update' - อัปเดตความคิดเห็นใน discussion ที่มีอยู่
- 'delete' - ลบความคิดเห็นใน discussion
- 'mark_answer' - ทำเครื่องหมายความคิดเห็นใน discussion เป็นคำตอบ (เฉพาะ Q&A)
- 'unmark_answer' - ยกเลิกการทำเครื่องหมายความคิดเห็นใน discussion เป็นคำตอบ (เฉพาะ Q&A) (string, บังคับ)
owner: เจ้าของ repository (จำเป็นสำหรับวิธี 'add' และ 'reply') (string, ไม่บังคับ)repo: ชื่อ repository (จำเป็นสำหรับวิธี 'add' และ 'reply') (string, ไม่บังคับ)
- OAuth Challenge Scopes:
-
get_discussion - รับ discussion
- OAuth Challenge Scopes:
repo discussionNumber: หมายเลข discussion (number, บังคับ)owner: เจ้าของ repository (string, บังคับ)repo: ชื่อ repository (string, บังคับ)
- OAuth Challenge Scopes:
-
get_discussion_comments - รับความคิดเห็นใน discussion
- OAuth Challenge Scopes:
repo after: Cursor สำหรับการแบ่งหน้า ใช้ cursor จากการตอบกลับก่อนหน้า (string, ไม่บังคับ)discussionNumber: หมายเลข discussion (number, บังคับ)includeReplies: เมื่อเป็น true ความคิดเห็นระดับบนสุดแต่ละรายการจะรวมคำตอบที่ซ้อนอยู่ภายใน (สูงสุด 100 คำตอบต่อความคิดเห็น ซึ่งเป็นค่าสูงสุดของ GitHub API) ค่าเริ่มต้นคือ false (boolean, ไม่บังคับ)owner: เจ้าของ repository (string, บังคับ)perPage: ผลลัพธ์ต่อหน้าสำหรับการแบ่งหน้า (ขั้นต่ำ 1, สูงสุด 100) (number, ไม่บังคับ)repo: ชื่อ repository (string, บังคับ)
- OAuth Challenge Scopes:
-
list_discussion_categories - รายการหมวดหมู่ discussion
- OAuth Challenge Scopes:
repo owner: เจ้าของ repository (string, บังคับ)repo: ชื่อ repository หากไม่ระบุ หมวดหมู่ discussion จะถูกสอบถามในระดับองค์กร (string, ไม่บังคับ)
- OAuth Challenge Scopes:
-
list_discussions - รายการ discussions
- OAuth Challenge Scopes:
repo after: Cursor สำหรับการแบ่งหน้า ใช้ cursor จากการตอบกลับก่อนหน้า (string, ไม่บังคับ)category: ตัวกรองเพิ่มเติมตาม ID หมวดหมู่ discussion หากระบุ จะแสดงเฉพาะ discussions ที่มีหมวดหมู่นี้ (string, ไม่บังคับ)direction: ทิศทางการเรียงลำดับ (string, ไม่บังคับ)orderBy: เรียงลำดับ discussions ตามฟิลด์ หากระบุ ต้องระบุ 'direction' ด้วย (string, ไม่บังคับ)owner: เจ้าของ repository (string, บังคับ)perPage: ผลลัพธ์ต่อหน้าสำหรับการแบ่งหน้า (ขั้นต่ำ 1, สูงสุด 100) (number, ไม่บังคับ)repo: ชื่อ repository หากไม่ระบุ discussions จะถูกสอบถามในระดับองค์กร (string, ไม่บังคับ)
- OAuth Challenge Scopes:

Gists
-
create_gist - สร้าง Gist
- OAuth Challenge Scopes:
gist content: เนื้อหาสำหรับการสร้าง gist ไฟล์เดียวแบบง่าย (string, บังคับ)description: คำอธิบายของ gist (string, ไม่บังคับ)filename: ชื่อไฟล์สำหรับการสร้าง gist ไฟล์เดียวแบบง่าย (string, บังคับ)public: ว่า gist เป็นสาธารณะหรือไม่ (boolean, ไม่บังคับ)
- OAuth Challenge Scopes:
-
get_gist - รับเนื้อหา Gist
gist_id: ID ของ gist (string, บังคับ)
-
list_gists - รายการ Gists
page: หมายเลขหน้าสำหรับการแบ่งหน้า (ขั้นต่ำ 1) (number, ไม่บังคับ)perPage: ผลลัพธ์ต่อหน้าสำหรับการแบ่งหน้า (ขั้นต่ำ 1, สูงสุด 100) (number, ไม่บังคับ)since: เฉพาะ gists ที่อัปเดตหลังเวลานี้ (timestamp ISO 8601) (string, ไม่บังคับ)username: ชื่อผู้ใช้ GitHub (ละเว้นสำหรับ gists ของผู้ใช้ที่ตรวจสอบสิทธิ์) (string, ไม่บังคับ)
-
update_gist - อัปเดต Gist
- OAuth Challenge Scopes:
gist content: เนื้อหาสำหรับไฟล์ (string, บังคับ)description: คำอธิบายที่อัปเดตของ gist (string, ไม่บังคับ)filename: ชื่อไฟล์ที่จะอัปเดตหรือสร้าง (string, บังคับ)gist_id: ID ของ gist ที่จะอัปเดต (string, บังคับ)
- OAuth Challenge Scopes:

Git
- get_repository_tree - รับโครงสร้าง tree ของ repository
- OAuth Challenge Scopes:
repo owner: เจ้าของ repository (ชื่อผู้ใช้หรือองค์กร) (string, บังคับ)path_filter: คำนำหน้าเส้นทางเพิ่มเติมเพื่อกรองผลลัพธ์ tree (เช่น 'src/' เพื่อแสดงเฉพาะไฟล์ในไดเรกทอรี src) (string, ไม่บังคับ)recursive: การตั้งค่าพารามิเตอร์นี้เป็น true จะส่งคืนออบเจกต์หรือซับทรีที่อ้างอิงโดย tree ค่าเริ่มต้นคือ false (boolean, ไม่บังคับ)repo: ชื่อ repository (string, บังคับ)tree_sha: ค่า SHA1 หรือชื่อ ref (branch หรือ tag) ของ tree ค่าเริ่มต้นคือ branch หลักของ repository (string, ไม่บังคับ)
- OAuth Challenge Scopes:

Governance
-
create_repository_ruleset - สร้าง ruleset ของ repository
- OAuth Challenge Scopes:
repo,admin:org,admin:enterprise bypass_actors: นักแสดงที่สามารถข้ามกฎใน ruleset นี้ได้ (object[], ไม่บังคับ)conditions: เงื่อนไขว่า ruleset นี้ใช้เมื่อใด เช่น {"ref_name": {"include": ["refs/heads/main"], "exclude": []}} (object, ไม่บังคับ)enforcement: ระดับการบังคับใช้ของ ruleset 'evaluate' อนุญาตให้ผู้ดูแลระบบทดสอบกฎก่อนบังคับใช้ (string, บังคับ)enterprise: Enterprise slug จำเป็นเมื่อระดับเป็น 'enterprise' (string, ไม่บังคับ)level: ระดับที่กำหนดค่า ruleset:- 'repository': ruleset บน repository เดียว (ต้องระบุ 'owner' และ 'repo')
- 'organization': ruleset ที่ครอบคลุม repositories ในองค์กร (ต้องระบุ 'org')
- 'enterprise': ruleset ที่ครอบคลุม repositories ทั่วทั้ง enterprise (ต้องระบุ 'enterprise') (string, บังคับ)
name: ชื่อของ ruleset (string, บังคับ)org: ชื่อองค์กร จำเป็นเมื่อระดับเป็น 'organization' (string, ไม่บังคับ)owner: เจ้าของ repository จำเป็นเมื่อระดับเป็น 'repository' (string, ไม่บังคับ)repo: ชื่อ repository จำเป็นเมื่อระดับเป็น 'repository' (string, ไม่บังคับ)rules: อาร์เรย์ของกฎภายใน ruleset แต่ละกฎเป็นออบเจกต์ที่มี 'type' (เช่น 'creation', 'deletion', 'non_fast_forward', 'required_signatures', 'pull_request', 'required_status_checks') และสำหรับกฎที่ต้องการการกำหนดค่า จะมีออบเจกต์ 'parameters' (object[], บังคับ)target: เป้าหมายของ ruleset ค่าเริ่มต้นคือ 'branch' 'repository' ใช้ได้เฉพาะกับ ruleset ระดับ 'organization' และ 'enterprise' เท่านั้น (string, ไม่บังคับ)
- OAuth Challenge Scopes:
-
custom_properties_read - อ่านคุณสมบัติที่กำหนดเอง
- OAuth Challenge Scopes:
repo,read:org,read:enterprise enterprise: Enterprise slug จำเป็นเมื่อระดับเป็น 'enterprise' (string, ไม่บังคับ)level: ระดับที่จัดการคุณสมบัติที่กำหนดเอง:- 'repository': ค่า VALUE ของคุณสมบัติที่กำหนดเองที่กำหนดให้กับ repository (ต้องระบุ 'owner' และ 'repo')
- 'organization': คำจำกัดความ DEFINITIONS (schema) ของคุณสมบัติที่กำหนดเองสำหรับองค์กร (ต้องระบุ 'org')
- 'enterprise': คำจำกัดความ DEFINITIONS (schema) ของคุณสมบัติที่กำหนดเองสำหรับ enterprise (ต้องระบุ 'enterprise') (string, บังคับ)
org: ชื่อองค์กร จำเป็นเมื่อระดับเป็น 'organization' (string, ไม่บังคับ)owner: เจ้าของ repository จำเป็นเมื่อระดับเป็น 'repository' (string, ไม่บังคับ)repo: ชื่อ repository จำเป็นเมื่อระดับเป็น 'repository' (string, ไม่บังคับ)
- OAuth Challenge Scopes:
-
custom_properties_write - ตั้งค่าคุณสมบัติที่กำหนดเอง
- OAuth Challenge Scopes:
repo,admin:org,admin:enterprise enterprise: ชื่อองค์กรระดับ Enterprise จำเป็นเมื่อระดับเป็น 'enterprise' (string, ไม่บังคับ)level: ระดับที่จัดการคุณสมบัติที่กำหนดเอง:- 'repository': ค่า VALUE ของคุณสมบัติที่กำหนดเองที่กำหนดให้กับ repository (ต้องระบุ 'owner' และ 'repo')
- 'organization': นิยาม DEFINITIONS (schema) ของคุณสมบัติที่กำหนดเองสำหรับองค์กร (ต้องระบุ 'org')
- 'enterprise': นิยาม DEFINITIONS (schema) ของคุณสมบัติที่กำหนดเองสำหรับองค์กรระดับ Enterprise (ต้องระบุ 'enterprise') (string, จำเป็น)
org: ชื่อองค์กร จำเป็นเมื่อระดับเป็น 'organization' (string, ไม่บังคับ)owner: เจ้าของ repository จำเป็นเมื่อระดับเป็น 'repository' (string, ไม่บังคับ)properties: คุณสมบัติที่กำหนดเองที่จะสร้างหรืออัปเดต ที่ระดับ repository แต่ละรายการกำหนดค่า ('property_name' และ 'value'); ที่ระดับองค์กรและระดับ Enterprise แต่ละรายการกำหนด schema ('property_name' และ 'value_type' พร้อมฟิลด์นิยามเพิ่มเติม) (object[], จำเป็น)repo: ชื่อ repository จำเป็นเมื่อระดับเป็น 'repository' (string, ไม่บังคับ)
- OAuth Challenge Scopes:
-
repository_ruleset_read - อ่าน ruleset ของ repository
- OAuth Challenge Scopes:
repo,read:org,read:enterprise actor_name: ตัวระบุบัญชีผู้ใช้ GitHub เพื่อกรองชุดกฎ ใช้โดยเมธอด 'list_rule_suites' (string, ไม่บังคับ)branch: ชื่อสาขา จำเป็นสำหรับเมธอด 'get_rules_for_branch' (string, ไม่บังคับ)enterprise: ชื่อองค์กรระดับ Enterprise จำเป็นเมื่อระดับเป็น 'enterprise' (string, ไม่บังคับ)evaluate_status: กรองชุดกฎตามโหมดการประเมิน ruleset ใช้โดยเมธอด 'list_rule_suites' (string, ไม่บังคับ)includes_parents: รวม ruleset ที่กำหนดค่าในระดับที่สูงกว่าที่มีผลบังคับใช้ด้วย ค่าเริ่มต้นเป็น true ใช้โดยเมธอด 'get' และ 'list' ที่ระดับ repository (boolean, ไม่บังคับ)level: ระดับที่กำหนดค่า ruleset:- 'repository': ruleset บน repository เดียว (ต้องระบุ 'owner' และ 'repo')
- 'organization': ruleset ครอบคลุม repositories ในองค์กร (ต้องระบุ 'org')
- 'enterprise': ruleset ครอบคลุม repositories ทั่วทั้งองค์กรระดับ Enterprise (ต้องระบุ 'enterprise') (string, จำเป็น)
method: การดำเนินการที่จะดำเนินการ:- 'get': รับ ruleset เฉพาะตาม ID (ต้องระบุ 'ruleset_id') รองรับทุกระดับ
- 'list': แสดงรายการ ruleset ทั้งหมด รองรับทุกระดับ
- 'get_rules_for_branch': รับกฎทั้งหมดที่ใช้กับสาขา (ต้องระบุ 'branch') เฉพาะระดับ repository
- 'list_rule_suites': แสดงรายการชุดกฎ การประเมินกฎต่อการ push เฉพาะระดับ repository และองค์กร
- 'get_rule_suite': รับชุดกฎเฉพาะตาม ID (ต้องระบุ 'rule_suite_id') เฉพาะระดับ repository และองค์กร (string, จำเป็น)
org: ชื่อองค์กร จำเป็นเมื่อระดับเป็น 'organization' (string, ไม่บังคับ)owner: เจ้าของ repository จำเป็นเมื่อระดับเป็น 'repository' (string, ไม่บังคับ)page: หมายเลขหน้าสำหรับการแบ่งหน้า (ขั้นต่ำ 1) (number, ไม่บังคับ)perPage: ผลลัพธ์ต่อหน้าสำหรับการแบ่งหน้า (ขั้นต่ำ 1, สูงสุด 100) (number, ไม่บังคับ)ref: ชื่อของ ref (สาขา, แท็ก ฯลฯ) เพื่อกรองชุดกฎ ใช้โดยเมธอด 'list_rule_suites' (string, ไม่บังคับ)repo: ชื่อ repository จำเป็นเมื่อระดับเป็น 'repository' (string, ไม่บังคับ)repository_name: ชื่อ repository เพื่อกรองชุดกฎ ใช้โดยเมธอด 'list_rule_suites' ที่ระดับองค์กร (string, ไม่บังคับ)rule_suite_id: ID ชุดกฎ จำเป็นสำหรับเมธอด 'get_rule_suite' (number, ไม่บังคับ)rule_suite_result: ผลลัพธ์ชุดกฎเพื่อกรอง ใช้โดยเมธอด 'list_rule_suites' (string, ไม่บังคับ)ruleset_id: ID ruleset จำเป็นสำหรับเมธอด 'get' (number, ไม่บังคับ)time_period: ช่วงเวลาเพื่อกรองชุดกฎ ใช้โดยเมธอด 'list_rule_suites' (string, ไม่บังคับ)
- OAuth Challenge Scopes:

ปัญหา
-
add_issue_comment - เพิ่มความคิดเห็นในปัญหาหรือ pull request
- OAuth Challenge Scopes:
repo body: เนื้อหาความคิดเห็น จำเป็นเว้นแต่มีการระบุ reaction (string, ไม่บังคับ)comment_id: ID ตัวเลขของความคิดเห็นปัญหาหรือ pull request เพื่อทำ reaction ใช้สำหรับ reaction ต่อความคิดเห็น; ละเว้นเพื่อทำ reaction ต่อปัญหาหรือ pull request เอง ไม่สามารถใช้ร่วมกับ body ได้ (integer, ไม่บังคับ)issue_number: หมายเลขปัญหาหรือ pull request เพื่อแสดงความคิดเห็นหรือทำ reaction (number, จำเป็น)owner: เจ้าของ repository (string, จำเป็น)reaction: reaction อีโมจิที่จะเพิ่ม จำเป็นเว้นแต่มีการระบุ body (string, ไม่บังคับ)repo: ชื่อ repository (string, จำเป็น)
- OAuth Challenge Scopes:
-
get_label - รับป้ายกำกับเฉพาะจาก repository
- OAuth Challenge Scopes:
repo name: ชื่อป้ายกำกับ (string, จำเป็น)owner: เจ้าของ repository (ชื่อผู้ใช้หรือชื่อองค์กร) (string, จำเป็น)repo: ชื่อ repository (string, จำเป็น)
- OAuth Challenge Scopes:
-
issue_read - รับรายละเอียดปัญหา
- OAuth Challenge Scopes:
repo issue_number: หมายเลขของปัญหา (number, จำเป็น)method: การดำเนินการอ่านที่จะดำเนินการกับปัญหาเดียว ตัวเลือกคือ:- get - รับรายละเอียดปัญหา พร้อมส่งคืนแฟลกลำดับชั้นแบบ best-effort (
has_parent,has_children);parentและsub_issues_summaryเป็นสรุปความสัมพันธ์แบบไม่บังคับ และclosed_by_pull_requestsสรุป pull requests ที่กำหนดค่าให้ปิดปัญหาเป็นtotal_countบวกสูงสุด 5references - get_comments - รับความคิดเห็นของปัญหา
- get_sub_issues - รับปัญหาย่อย (ลูก) ของปัญหา
- get_parent - รับปัญหาหลัก หากปัญหานี้เป็นปัญหาย่อยของปัญหาอื่น
- get_labels - รับป้ายกำกับที่กำหนดให้กับปัญหา (string, จำเป็น)
- get - รับรายละเอียดปัญหา พร้อมส่งคืนแฟลกลำดับชั้นแบบ best-effort (
owner: เจ้าของ repository (string, จำเป็น)page: หมายเลขหน้าสำหรับการแบ่งหน้า (ขั้นต่ำ 1) (number, ไม่บังคับ)perPage: ผลลัพธ์ต่อหน้าสำหรับการแบ่งหน้า (ขั้นต่ำ 1, สูงสุด 100) (number, ไม่บังคับ)repo: ชื่อของ repository (string, จำเป็น)
- OAuth Challenge Scopes:
-
issue_write - สร้างหรืออัปเดตปัญหา/pull request
- OAuth Challenge Scopes:
repo - MCP App UI:
ui://github-mcp-server/issue-write assignees: ชื่อผู้ใช้ที่จะกำหนดให้กับปัญหานี้ (string[], ไม่บังคับ)body: เนื้อหาของปัญหา (string, ไม่บังคับ)duplicate_of: หมายเลขปัญหาที่ปัญหานี้เป็นสำเนาของ จำเป็นเมื่อ state_reason เป็น 'duplicate' (number, ไม่บังคับ)issue_fields: ค่าฟิลด์ของปัญหาที่จะตั้งหรือล้าง แต่ละรายการต้องระบุ 'field_name' และหนึ่งใน 'value', 'field_option_name' หรือ 'delete: true' (object[], ไม่บังคับ)issue_number: หมายเลขปัญหาที่จะอัปเดต (number, ไม่บังคับ)labels: ป้ายกำกับที่จะใช้กับปัญหานี้ (string[], ไม่บังคับ)method: การดำเนินการเขียนที่จะดำเนินการกับปัญหาเดียว ตัวเลือกคือ:- 'create' - สร้างปัญหาใหม่
- 'update' - อัปเดตปัญหาที่มีอยู่ (string, จำเป็น)
milestone: หมายเลข milestone (number, ไม่บังคับ)owner: เจ้าของ repository (string, จำเป็น)parent_issue_number: หมายเลขปัญหาของปัญหาหลัก ใช้เฉพาะเมื่อ method เป็น 'create' และไม่สามารถใช้ร่วมกับ issue_fields ได้ ปัญหาใหม่จะถูกสร้างและแนบกับปัญหาหลักนี้ในการดำเนินการเดียวกัน (number, ไม่บังคับ)parent_owner: เจ้าของ repository ของปัญหาหลัก ต้องระบุพร้อมกับ parent_repo ละเว้นทั้งคู่เพื่อใช้ owner และ repo ใช้เฉพาะเมื่อ method เป็น 'create' และมีการระบุ parent_issue_number (string, ไม่บังคับ)parent_repo: ชื่อ repository ของปัญหาหลัก ต้องระบุพร้อมกับ parent_owner ละเว้นทั้งคู่เพื่อใช้ owner และ repo ใช้เฉพาะเมื่อ method เป็น 'create' และมีการระบุ parent_issue_number (string, ไม่บังคับ)repo: ชื่อ repository (string, จำเป็น)state: สถานะใหม่ (string, ไม่บังคับ)state_reason: เหตุผลสำหรับการเปลี่ยนสถานะ จะถูกละเว้นเว้นแต่มีการเปลี่ยนสถานะ (string, ไม่บังคับ)title: ชื่อเรื่องของปัญหา (string, ไม่บังคับ)type: ประเภทของปัญหานี้ สำหรับการอัปเดต ส่ง null เพื่อลบประเภทปัจจุบัน ใช้เฉพาะเมื่อเปิดใช้งานประเภทปัญหาสำหรับ repository นี้ ใช้ list_issue_types เพื่อรับค่าประเภทที่ถูกต้องสำหรับ repository หรือองค์กรเจ้าของ หาก repository ไม่รองรับประเภทปัญหา ให้ละเว้นพารามิเตอร์นี้ (string | null, ไม่บังคับ)
- OAuth Challenge Scopes:
-
list_issue_fields - แสดงรายการฟิลด์ปัญหา
- OAuth Challenge Scopes:
repo,read:org owner: เจ้าของบัญชีของ repository หรือองค์กร ชื่อไม่คำนึงถึงตัวพิมพ์เล็กใหญ่ (string, จำเป็น)repo: ชื่อของ repository เมื่อระบุ จะส่งคืนฟิลด์สำหรับ repository เฉพาะนี้ (สืบทอดจากองค์กร) เมื่อละเว้น จะส่งคืนฟิลด์ระดับองค์กรโดยตรง (string, ไม่บังคับ)
- OAuth Challenge Scopes:
-
list_issue_types - แสดงรายการประเภทปัญหาที่มี
- OAuth Challenge Scopes:
repo,read:org owner: เจ้าของบัญชีของ repository หรือองค์กร (string, จำเป็น)repo: ชื่อของ repository เมื่อระบุ จะส่งคืนประเภทปัญหาสำหรับ repository เฉพาะนี้ เมื่อละเว้น จะส่งคืนประเภทปัญหาระดับองค์กรโดยตรง (string, ไม่บังคับ)
- OAuth Challenge Scopes:
-
list_issues - แสดงรายการปัญหา
- OAuth Challenge Scopes:
repo after: เคอร์เซอร์สำหรับการแบ่งหน้า ใช้เคอร์เซอร์จากการตอบกลับก่อนหน้า (string, ไม่บังคับ)direction: ทิศทางการเรียงลำดับ หากระบุ ต้องระบุ 'orderBy' ด้วย (string, ไม่บังคับ)field_filters: กรองตามค่าฟิลด์ปัญหาที่กำหนดเอง แต่ละรายการรับ field_name และค่า; เซิร์ฟเวอร์ค้นหาฟิลด์และแปลงค่าเป็นประเภทของฟิลด์ (ชื่อตัวเลือก single-select, ข้อความ, ตัวเลข หรือวันที่ YYYY-MM-DD) (object[], ไม่บังคับ)fields: ชุดย่อยของฟิลด์ที่จะส่งคืนสำหรับแต่ละปัญหา หากละเว้น จะส่งคืนฟิลด์ทั้งหมด ใช้เพื่อลดขนาดการตอบกลับเมื่อต้องการเฉพาะฟิลด์บางอย่าง; การละเว้น 'body' และ 'field_values' โดยเฉพาะจะลดข้อมูลที่ใหญ่ที่สุดต่อผลลัพธ์ (string[], ไม่บังคับ)labels: กรองตามป้ายกำกับ (string[], ไม่บังคับ)orderBy: เรียงลำดับปัญหาตามฟิลด์ หากระบุ ต้องระบุ 'direction' ด้วย (string, ไม่บังคับ)owner: เจ้าของ repository (string, จำเป็น)perPage: ผลลัพธ์ต่อหน้าสำหรับการแบ่งหน้า (ขั้นต่ำ 1, สูงสุด 100) (number, ไม่บังคับ)repo: ชื่อ repository (string, จำเป็น)since: กรองตามวันที่ (timestamp ISO 8601) (string, ไม่บังคับ)state: กรองตามสถานะ โดยค่าเริ่มต้นจะส่งคืนทั้งปัญหาที่เปิดและปิดเมื่อไม่ระบุ (string, ไม่บังคับ)
- OAuth Challenge Scopes:
-
search_issues - ค้นหา issues
- OAuth Challenge Scopes:
repo fields: ชุดย่อยของฟิลด์ที่จะส่งคืนสำหรับผลลัพธ์ issue แต่ละรายการ หากไม่ระบุ จะส่งคืนฟิลด์ทั้งหมด ใช้เพื่อลดขนาดการตอบสนองเมื่อคุณต้องการเฉพาะฟิลด์บางฟิลด์ การละเว้น 'body', 'reactions' และ 'labels' โดยเฉพาะจะลดข้อมูลที่มีขนาดใหญ่ที่สุดต่อผลลัพธ์ (string[], ไม่บังคับ)order: ลำดับการจัดเรียง (string, ไม่บังคับ)owner: เจ้าของ repository ที่ไม่บังคับ หากระบุพร้อมกับ repo จะแสดงเฉพาะ issues ของ repository นี้เท่านั้น (string, ไม่บังคับ)page: หมายเลขหน้าสำหรับการแบ่งหน้า (ขั้นต่ำ 1) (number, ไม่บังคับ)perPage: ผลลัพธ์ต่อหน้าสำหรับการแบ่งหน้า (ขั้นต่ำ 1, สูงสุด 100) (number, ไม่บังคับ)query: คำค้นหาในรูปแบบภาษาธรรมชาติ เมื่อผู้ใช้ให้คำที่ใช้แทนกันได้ ให้รวมเป็นคำธรรมดาแทนที่จะเชื่อมด้วย OR (string, จำเป็น)repo: ชื่อ repository ที่ไม่บังคับ หากระบุพร้อมกับ owner จะแสดงเฉพาะ issues ของ repository นี้เท่านั้น (string, ไม่บังคับ)sort: ฟิลด์การจัดเรียงตามจำนวนการตรงกันของหมวดหมู่ ค่าเริ่มต้นคือการตรงกันที่ดีที่สุด (string, ไม่บังคับ)
- OAuth Challenge Scopes:
-
sub_issue_write - เปลี่ยน sub-issue
- OAuth Challenge Scopes:
repo after_id: ID ของ sub-issue ที่จะจัดลำดับความสำคัญรองลงมา (ควรระบุ after_id หรือ before_id อย่างใดอย่างหนึ่ง) (number, ไม่บังคับ)before_id: ID ของ sub-issue ที่จะจัดลำดับความสำคัญก่อนหน้า (ควรระบุ after_id หรือ before_id อย่างใดอย่างหนึ่ง) (number, ไม่บังคับ)issue_number: หมายเลขของ issue หลัก (number, จำเป็น)method: การดำเนินการที่จะทำกับ sub-issue เดี่ยว ตัวเลือกมีดังนี้:- 'add' - เพิ่ม sub-issue ให้กับ issue หลักใน GitHub repository
- 'remove' - ลบ sub-issue ออกจาก issue หลักใน GitHub repository
- 'reprioritize' - เปลี่ยนลำดับของ sub-issues ภายใน issue หลักใน GitHub repository ใช้ 'after_id' หรือ 'before_id' เพื่อระบุตำแหน่งใหม่
เขียนลำดับชั้นของ issue หากต้องการย้าย sub-issue ไปยัง issue หลักใหม่ ให้ใช้
addร่วมกับreplace_parent=true; ไม่มีฟิลด์หลักที่เขียนได้ (string, จำเป็น)
owner: เจ้าของ repository (string, จำเป็น)replace_parent: เมื่อเป็น true จะแทนที่ issue หลักปัจจุบันของ sub-issue ใช้กับวิธี 'add' เท่านั้น (boolean, ไม่บังคับ)repo: ชื่อ repository (string, จำเป็น)sub_issue_id: ID ของ sub-issue ที่จะเพิ่ม ID ไม่เหมือนกับหมายเลข issue (number, จำเป็น)
- OAuth Challenge Scopes:
-
update_issue_comment - อัปเดตความคิดเห็นใน issue
- OAuth Challenge Scopes:
repo body: เนื้อหาความคิดเห็นใหม่ (string, จำเป็น)comment_id: ID ตัวเลขของความคิดเห็นในการสนทนาของ issue หรือ pull request ที่จะอัปเดต อย่าใช้ ID ของความคิดเห็นรีวิว pull request (integer, จำเป็น)owner: เจ้าของ repository (string, จำเป็น)repo: ชื่อ repository (string, จำเป็น)
- OAuth Challenge Scopes:

ป้ายกำกับ
-
get_label - รับป้ายกำกับเฉพาะจาก repository
- OAuth Challenge Scopes:
repo name: ชื่อป้ายกำกับ (string, จำเป็น)owner: เจ้าของ repository (ชื่อผู้ใช้หรือชื่อองค์กร) (string, จำเป็น)repo: ชื่อ repository (string, จำเป็น)
- OAuth Challenge Scopes:
-
label_write - การดำเนินการเขียนบนป้ายกำกับของ repository
- OAuth Challenge Scopes:
repo color: สีของป้ายกำกับเป็นรหัส hex 6 ตัวอักษรโดยไม่มีคำนำหน้า '#' (เช่น 'f29513') จำเป็นสำหรับ 'create' ไม่บังคับสำหรับ 'update' (string, ไม่บังคับ)description: ข้อความคำอธิบายป้ายกำกับ ไม่บังคับสำหรับ 'create' และ 'update' (string, ไม่บังคับ)method: การดำเนินการที่จะทำ: 'create', 'update' หรือ 'delete' (string, จำเป็น)name: ชื่อป้ายกำกับ - จำเป็นสำหรับทุกการดำเนินการ (string, จำเป็น)new_name: ชื่อใหม่สำหรับป้ายกำกับ (ใช้กับวิธี 'update' เท่านั้นเพื่อเปลี่ยนชื่อ) (string, ไม่บังคับ)owner: เจ้าของ repository (ชื่อผู้ใช้หรือชื่อองค์กร) (string, จำเป็น)repo: ชื่อ repository (string, จำเป็น)
- OAuth Challenge Scopes:
-
list_label - แสดงรายการป้ายกำกับจาก repository
- OAuth Challenge Scopes:
repo after: ตัวชี้ตำแหน่งสำหรับการแบ่งหน้า ใช้ตัวชี้ตำแหน่งจากการตอบสนองก่อนหน้า (string, ไม่บังคับ)owner: เจ้าของ repository (ชื่อผู้ใช้หรือชื่อองค์กร) - จำเป็นสำหรับทุกการดำเนินการ (string, จำเป็น)perPage: ผลลัพธ์ต่อหน้าสำหรับการแบ่งหน้า (ขั้นต่ำ 1, สูงสุด 100) (number, ไม่บังคับ)repo: ชื่อ repository - จำเป็นสำหรับทุกการดำเนินการ (string, จำเป็น)
- OAuth Challenge Scopes:

การแจ้งเตือน
-
dismiss_notification - ปิดการแจ้งเตือน
- OAuth Challenge Scopes:
notifications state: สถานะใหม่ของการแจ้งเตือน (read/done) (string, จำเป็น)threadID: ID ของเธรดการแจ้งเตือน (string, จำเป็น)
- OAuth Challenge Scopes:
-
get_notification_details - รับรายละเอียดการแจ้งเตือน
- OAuth Challenge Scopes:
notifications notificationID: ID ของการแจ้งเตือน (string, จำเป็น)
- OAuth Challenge Scopes:
-
list_notifications - แสดงรายการการแจ้งเตือน
- OAuth Challenge Scopes:
notifications before: แสดงเฉพาะการแจ้งเตือนที่อัปเดตก่อนเวลาที่กำหนด (รูปแบบ ISO 8601) (string, ไม่บังคับ)filter: กรองการแจ้งเตือน ใช้ค่าเริ่มต้นเว้นแต่ระบุ การแจ้งเตือนที่อ่านแล้วคือการแจ้งเตือนที่ผู้ใช้รับทราบแล้ว การแจ้งเตือนแบบมีส่วนร่วมคือการแจ้งเตือนที่ผู้ใช้เกี่ยวข้องโดยตรง เช่น issues หรือ pull requests ที่ผู้ใช้แสดงความคิดเห็นหรือสร้าง (string, ไม่บังคับ)owner: เจ้าของ repository ที่ไม่บังคับ หากระบุพร้อมกับ repo จะแสดงเฉพาะการแจ้งเตือนของ repository นี้เท่านั้น (string, ไม่บังคับ)page: หมายเลขหน้าสำหรับการแบ่งหน้า (ขั้นต่ำ 1) (number, ไม่บังคับ)perPage: ผลลัพธ์ต่อหน้าสำหรับการแบ่งหน้า (ขั้นต่ำ 1, สูงสุด 100) (number, ไม่บังคับ)repo: ชื่อ repository ที่ไม่บังคับ หากระบุพร้อมกับ owner จะแสดงเฉพาะการแจ้งเตือนของ repository นี้เท่านั้น (string, ไม่บังคับ)since: แสดงเฉพาะการแจ้งเตือนที่อัปเดตหลังเวลาที่กำหนด (รูปแบบ ISO 8601) (string, ไม่บังคับ)
- OAuth Challenge Scopes:
-
manage_notification_subscription - จัดการการสมัครรับการแจ้งเตือน
- OAuth Challenge Scopes:
notifications action: การดำเนินการที่จะทำ: ignore, watch หรือ delete การสมัครรับการแจ้งเตือน (string, จำเป็น)notificationID: ID ของเธรดการแจ้งเตือน (string, จำเป็น)
- OAuth Challenge Scopes:
-
manage_repository_notification_subscription - จัดการการสมัครรับการแจ้งเตือนของ repository
- OAuth Challenge Scopes:
notifications action: การดำเนินการที่จะทำ: ignore, watch หรือ delete การสมัครรับการแจ้งเตือนของ repository (string, จำเป็น)owner: เจ้าของบัญชีของ repository (string, จำเป็น)repo: ชื่อของ repository (string, จำเป็น)
- OAuth Challenge Scopes:
-
mark_all_notifications_read - ทำเครื่องหมายการแจ้งเตือนทั้งหมดว่าอ่านแล้ว
- OAuth Challenge Scopes:
notifications lastReadAt: อธิบายจุดสุดท้ายที่ตรวจสอบการแจ้งเตือน (ไม่บังคับ) ค่าเริ่มต้น: ตอนนี้ (string, ไม่บังคับ)owner: เจ้าของ repository ที่ไม่บังคับ หากระบุพร้อมกับ repo จะทำเครื่องหมายเฉพาะการแจ้งเตือนของ repository นี้ว่าอ่านแล้ว (string, ไม่บังคับ)repo: ชื่อ repository ที่ไม่บังคับ หากระบุพร้อมกับ owner จะทำเครื่องหมายเฉพาะการแจ้งเตือนของ repository นี้ว่าอ่านแล้ว (string, ไม่บังคับ)
- OAuth Challenge Scopes:

องค์กร
- search_orgs - ค้นหาองค์กร
- OAuth Challenge Scopes:
read:org order: ลำดับการจัดเรียง (string, ไม่บังคับ)page: หมายเลขหน้าสำหรับการแบ่งหน้า (ขั้นต่ำ 1) (number, ไม่บังคับ)perPage: ผลลัพธ์ต่อหน้าสำหรับการแบ่งหน้า (ขั้นต่ำ 1, สูงสุด 100) (number, ไม่บังคับ)query: คำค้นหาองค์กร ตัวอย่าง: 'microsoft', 'location:california', 'created:>=2025-01-01' การค้นหาจะจำกัดขอบเขตเป็น type:org โดยอัตโนมัติ (string, จำเป็น)sort: ฟิลด์การจัดเรียงตามหมวดหมู่ (string, ไม่บังคับ)
- OAuth Challenge Scopes:

โปรเจกต์
-
projects_get - รับรายละเอียดของทรัพยากร GitHub Projects
- OAuth Challenge Scopes:
read:project field_id: ID ของฟิลด์ จำเป็นสำหรับวิธี 'get_project_field' (number, ไม่บังคับ)field_names: รายการเฉพาะของชื่อฟิลด์ที่จะรวมในการตอบสนองเมื่อรับรายการโปรเจกต์ (เช่น ["Status", "Priority"]) แปลงเป็น ID ฟิลด์ฝั่งเซิร์ฟเวอร์ — ส่งค่านี้แทน 'fields' เมื่อคุณรู้เฉพาะชื่อที่มนุษย์อ่านได้ ไม่สามารถใช้ร่วมกับ 'fields' — ให้ระบุอย่างใดอย่างหนึ่งเท่านั้น ใช้กับวิธี 'get_project_item' เท่านั้น (string[], ไม่บังคับ)fields: รายการเฉพาะของ ID ฟิลด์ที่จะรวมในการตอบสนองเมื่อรับรายการโปรเจกต์ (เช่น ["102589", "985201", "169875"]) หากไม่ระบุทั้ง 'fields' และ 'field_names' จะรวมเฉพาะฟิลด์ชื่อเรื่องเท่านั้น ไม่สามารถใช้ร่วมกับ 'field_names' — ให้ระบุอย่างใดอย่างหนึ่งเท่านั้น ใช้กับวิธี 'get_project_item' เท่านั้น (string[], ไม่บังคับ)item_id: ID ของรายการ จำเป็นสำหรับวิธี 'get_project_item' (number, ไม่บังคับ)method: วิธีที่จะดำเนินการ (string, จำเป็น)owner: เจ้าของ (ชื่อผู้ใช้หรือองค์กร) ชื่อไม่คำนึงถึงตัวพิมพ์ใหญ่เล็ก (string, ไม่บังคับ)owner_type: ประเภทเจ้าของ (user หรือ org) หากไม่ระบุ จะตรวจจับโดยอัตโนมัติ (string, ไม่บังคับ)project_number: หมายเลขของโปรเจกต์ (number, ไม่บังคับ)status_update_id: ID โหนดของการอัปเดตสถานะโปรเจกต์ จำเป็นสำหรับวิธี 'get_project_status_update' (string, ไม่บังคับ)view_id: ID โหนดของมุมมองโปรเจกต์ จำเป็นสำหรับวิธี 'get_project_view' (string, ไม่บังคับ)
- OAuth Challenge Scopes:
-
projects_list - แสดงรายการทรัพยากร GitHub Projects
- OAuth Challenge Scopes:
read:project after: เคอร์เซอร์แบ่งหน้าขาเข้าจาก pageInfo.nextCursor ของหน้าก่อนหน้า (string, ไม่บังคับ)before: เคอร์เซอร์แบ่งหน้าขาออกจาก pageInfo.prevCursor ของหน้าก่อนหน้า (พบได้ยาก) (string, ไม่บังคับ)field_names: ชื่อฟิลด์ที่จะรวมเมื่อแสดงรายการไอเทมโปรเจกต์ (เช่น ["Status", "Priority"]) ระบบจะแปลงเป็น ID ฟิลด์ฝั่งเซิร์ฟเวอร์ — ใช้ค่านี้แทน 'fields' เมื่อคุณรู้เฉพาะชื่อที่มนุษย์อ่านได้ ชื่อที่ไม่สามารถแปลงได้จะส่งคืนข้อผิดพลาดแบบมีโครงสร้าง ใช้ร่วมกับ 'fields' ไม่ได้ — ระบุอย่างใดอย่างหนึ่งเท่านั้น ใช้เฉพาะกับเมธอด 'list_project_items' เท่านั้น (string[], ไม่บังคับ)fields: ID ฟิลด์ที่จะรวมเมื่อแสดงรายการไอเทมโปรเจกต์ (เช่น ["102589", "985201"]) สำคัญมาก: ควรระบุเสมอเพื่อให้ได้ค่าฟิลด์ หากไม่ระบุ (และไม่ระบุ 'field_names') จะได้เฉพาะชื่อเรื่องเท่านั้น ใช้ร่วมกับ 'field_names' ไม่ได้ — ระบุอย่างใดอย่างหนึ่งเท่านั้น ใช้เฉพาะกับเมธอด 'list_project_items' เท่านั้น (string[], ไม่บังคับ)method: การดำเนินการที่จะดำเนินการ (string, จำเป็น)owner: เจ้าของ (ล็อกอินผู้ใช้หรือองค์กร) ชื่อไม่คำนึงถึงตัวพิมพ์ใหญ่เล็ก (string, จำเป็น)owner_type: ประเภทเจ้าของ (ผู้ใช้หรือองค์กร) หากไม่ระบุ ระบบจะลองทั้งสองแบบโดยอัตโนมัติ (string, ไม่บังคับ)perPage: ผลลัพธ์ต่อหน้า (สูงสุด 50) (number, ไม่บังคับ)project_number: หมายเลขของโปรเจกต์ จำเป็นสำหรับเมธอด 'list_project_fields', 'list_project_items', 'list_project_views' และ 'list_project_status_updates' (number, ไม่บังคับ)query: สตริงตัวกรอง/คำค้นหา สำหรับ list_projects: กรองตามข้อความชื่อเรื่องและสถานะ (เช่น "roadmap is:open") สำหรับ list_project_items: การกรองขั้นสูงโดยใช้ไวยากรณ์การกรองโปรเจกต์ของ GitHub (string, ไม่บังคับ)
- OAuth Challenge Scopes:
-
projects_write - จัดการ GitHub Projects
- OAuth Challenge Scopes:
project body: เนื้อหาของการอัปเดตสถานะ (markdown) ใช้สำหรับเมธอด 'create_project_status_update' (string, ไม่บังคับ)field_name: ชื่อของฟิลด์ iteration (เช่น 'Sprint') จำเป็นสำหรับเมธอด 'create_iteration_field' (string, ไม่บังคับ)filter: ตัวกรองมุมมองที่บันทึกไว้ ละเว้นเมื่ออัปเดตเพื่อคงไว้ หรือส่ง null เพื่อล้างค่า (string | null, ไม่บังคับ)issue_number: หมายเลข issue จำเป็นสำหรับ 'add_project_item' เมื่อ item_type เป็น 'issue' และยังใช้กับ 'update_project_item' เพื่อค้นหาไอเทมตามหมายเลข issue (ใช้ร่วมกับ item_owner และ item_repo) (number, ไม่บังคับ)item_id: ID ของไอเทมโปรเจกต์ จำเป็นสำหรับ 'delete_project_item' สำหรับ 'update_project_item' ให้ระบุ item_id หรือ (item_owner + item_repo + issue_number) เพื่อค้นหาไอเทมตาม issue (number, ไม่บังคับ)item_owner: เจ้าของ (ผู้ใช้หรือองค์กร) ของ repository ที่มี issue หรือ pull request จำเป็นสำหรับเมธอด 'add_project_item' และใช้กับ 'update_project_item' เมื่อค้นหาไอเทมตามหมายเลข issue (string, ไม่บังคับ)item_repo: ชื่อของ repository ที่มี issue หรือ pull request จำเป็นสำหรับเมธอด 'add_project_item' และใช้กับ 'update_project_item' เมื่อค้นหาไอเทมตามหมายเลข issue (string, ไม่บังคับ)item_type: ประเภทของไอเทม คือ issue หรือ pull_request จำเป็นสำหรับเมธอด 'add_project_item' (string, ไม่บังคับ)items: ไอเทมที่จะอัปเดตด้วย 'updated_field' ระดับบน จำเป็นสำหรับ 'update_project_items' ควรใช้เมธอดนี้แทนการเรียก 'update_project_item' ในลูป แต่ละรายการต้องตรงกับรูปแบบอ้างอิงเดียวเท่านั้น: 'node_id', 'item_id' เชิงตัวเลข หรือ 'item_owner' + 'item_repo' + 'issue_number' จำกัด 50 ไอเทมต่อการเรียก (object[], ไม่บังคับ)iteration_duration: ระยะเวลาเป็นวันสำหรับ iteration ของฟิลด์ (เช่น 7 สำหรับรายสัปดาห์, 14 สำหรับรายปักษ์) จำเป็นสำหรับเมธอด 'create_iteration_field' (number, ไม่บังคับ)iterations: iteration ที่กำหนดเองสำหรับเมธอด 'create_iteration_field' ตั้งค่านี้เฉพาะเมื่อคุณต้องการ iteration ที่มีระยะเวลาแตกต่างกัน มีช่วงพักระหว่าง หรือมีชื่อเฉพาะ มิฉะนั้นละเว้น: GitHub จะสร้างสาม iteration อัตโนมัติโดยใช้ระยะเวลา 'iteration_duration' วัน เริ่มจาก 'start_date' ซึ่งเป็นตัวเลือกที่เหมาะสมในกรณีส่วนใหญ่ (object[], ไม่บังคับ)layout: เค้าโครงมุมมอง จำเป็นเมื่อสร้างมุมมอง (string, ไม่บังคับ)method: เมธอดที่จะดำเนินการ (string, จำเป็น)name: ชื่อมุมมอง จำเป็นเมื่อสร้างมุมมอง (string, ไม่บังคับ)owner: เจ้าของโปรเจกต์ (ล็อกอินผู้ใช้หรือองค์กร) ชื่อไม่คำนึงถึงตัวพิมพ์ใหญ่เล็ก (string, จำเป็น)owner_type: ประเภทเจ้าของ (ผู้ใช้หรือองค์กร) จำเป็นสำหรับเมธอด 'create_project' หากไม่ระบุสำหรับเมธอดอื่น ระบบจะตรวจจับโดยอัตโนมัติ (string, ไม่บังคับ)project_number: หมายเลขของโปรเจกต์ จำเป็นสำหรับทุกเมธอดยกเว้น 'create_project' (number, ไม่บังคับ)pull_request_number: หมายเลข pull request (ใช้เมื่อ item_type เป็น 'pull_request' สำหรับเมธอด 'add_project_item') ระบุ issue_number หรือ pull_request_number อย่างใดอย่างหนึ่ง (number, ไม่บังคับ)start_date: วันที่เริ่มต้นในรูปแบบ YYYY-MM-DD ใช้สำหรับเมธอด 'create_project_status_update' และ 'create_iteration_field' (string, ไม่บังคับ)status: สถานะของโปรเจกต์ ใช้สำหรับเมธอด 'create_project_status_update' (string, ไม่บังคับ)target_date: วันที่เป้าหมายของการอัปเดตสถานะในรูปแบบ YYYY-MM-DD ใช้สำหรับเมธอด 'create_project_status_update' (string, ไม่บังคับ)title: ชื่อเรื่องของโปรเจกต์ จำเป็นสำหรับเมธอด 'create_project' (string, ไม่บังคับ)updated_field: ฟิลด์/ค่าที่จะใช้ ในรูปแบบ {"id": 123, "value": ...} หรือ {"name": "Status", "value": ...}; null จะล้างค่าฟิลด์ จำเป็นสำหรับ 'update_project_item' และ 'update_project_items' โดยฟิลด์/ค่าหนึ่งชุดระดับบนใช้กับทุกไอเทมในชุด สำหรับฟิลด์ SINGLE_SELECT ของ 'update_project_item' รูปแบบชื่อจะรับชื่อตัวเลือก ส่วนรูปแบบ ID จะคาดหวัง ID ของตัวเลือก (object, ไม่บังคับ)view_id: ID โหนดมุมมองโปรเจกต์สำหรับอัปเดตหรือลบ ต้องเป็นของ owner/project_number (string, ไม่บังคับ)visible_field_names: ชื่อฟิลด์โปรเจกต์แบบเรียงลำดับที่จะแสดงเมื่อสร้างหรือแทนที่เมื่ออัปเดต ละเว้นเมื่ออัปเดตเพื่อคงไว้ หรือส่ง [] เพื่อรีเซ็ต ใช้ร่วมกับ visible_fields ไม่ได้ Roadmap รับเฉพาะ [] เท่านั้น (string[], ไม่บังคับ)visible_fields: ID ฐานข้อมูลฟิลด์โปรเจกต์แบบเรียงลำดับที่จะแสดงเมื่อสร้างหรือแทนที่เมื่ออัปเดต ละเว้นเมื่ออัปเดตเพื่อคงไว้ หรือส่ง [] เพื่อรีเซ็ต ใช้ร่วมกับ visible_field_names ไม่ได้ Roadmap รับเฉพาะ [] เท่านั้น (string[], ไม่บังคับ)
- OAuth Challenge Scopes:

Pull Requests
-
add_comment_to_pending_review - เพิ่มความคิดเห็นรีวิวไปยังรีวิว pull request ที่รอดำเนินการล่าสุดของผู้ขอ
- OAuth Challenge Scopes:
repo body: ข้อความของความคิดเห็นรีวิว (string, จำเป็น)line: บรรทัดของ blob ใน diff ของ pull request ที่ความคิดเห็นใช้กับ สำหรับความคิดเห็นหลายบรรทัด คือบรรทัดสุดท้ายของช่วง (number, ไม่บังคับ)owner: เจ้าของ repository (string, จำเป็น)path: เส้นทางสัมพัทธ์ไปยังไฟล์ที่ต้องมีความคิดเห็น (string, จำเป็น)pullNumber: หมายเลข pull request (number, จำเป็น)repo: ชื่อ repository (string, จำเป็น)side: ด้านของ diff ที่จะแสดงความคิดเห็น LEFT หมายถึงสถานะก่อนหน้า RIGHT หมายถึงสถานะใหม่ (string, ไม่บังคับ)startLine: สำหรับความคิดเห็นหลายบรรทัด คือบรรทัดแรกของช่วงที่ความคิดเห็นใช้กับ (number, ไม่บังคับ)startSide: สำหรับความคิดเห็นหลายบรรทัด คือด้านเริ่มต้นของ diff ที่ความคิดเห็นใช้กับ LEFT หมายถึงสถานะก่อนหน้า RIGHT หมายถึงสถานะใหม่ (string, ไม่บังคับ)subjectType: ระดับที่ความคิดเห็นถูกกำหนดเป้าหมาย (string, จำเป็น)
- OAuth Challenge Scopes:
-
add_reply_to_pull_request_comment - เพิ่มการตอบกลับไปยังความคิดเห็น pull request
- OAuth Challenge Scopes:
repo body: ข้อความของการตอบกลับ จำเป็นเว้นแต่จะระบุ reaction (string, ไม่บังคับ)commentId: ID เชิงตัวเลขของความคิดเห็นรีวิว pull request ที่จะตอบกลับหรือแสดง reaction ใช้ตัวเลขจาก anchor #discussion_r... ไม่ใช่ ID โหนดเธรด GraphQL (PRRT_...) (number, จำเป็น)owner: เจ้าของ repository (string, จำเป็น)pullNumber: หมายเลข pull request จำเป็นเมื่อระบุ body (number, ไม่บังคับ)reaction: reaction อีโมจิที่จะเพิ่ม จำเป็นเว้นแต่จะระบุ body (string, ไม่บังคับ)repo: ชื่อ repository (string, จำเป็น)
- OAuth Challenge Scopes:
-
create_pull_request - เปิด pull request ใหม่
- OAuth Challenge Scopes:
repo - MCP App UI:
ui://github-mcp-server/pr-write base: สาขาที่จะ merge เข้า (string, จำเป็น)body: คำอธิบาย PR (string, ไม่บังคับ)draft: สร้างเป็น PR แบบร่าง (boolean, ไม่บังคับ)head: สาขาที่มีการเปลี่ยนแปลง (string, จำเป็น)maintainer_can_modify: อนุญาตให้ผู้ดูแลแก้ไข (boolean, ไม่บังคับ)owner: เจ้าของ repository (string, จำเป็น)repo: ชื่อ repository (string, จำเป็น)reviewers: ชื่อผู้ใช้ GitHub หรือผู้รีวิวทีม ORG/team-slug เพื่อขอรีวิว (string[], ไม่บังคับ)title: ชื่อเรื่อง PR (string, จำเป็น)
- OAuth Challenge Scopes:
-
list_pull_requests - แสดงรายการ pull requests
- OAuth Challenge Scopes:
repo base: กรองตามสาขาฐาน (string, ไม่บังคับ)direction: ทิศทางการเรียงลำดับ (string, ไม่บังคับ)fields: ชุดย่อยของฟิลด์ที่จะส่งคืนสำหรับแต่ละ pull request หากละเว้น จะส่งคืนทุกฟิลด์ ใช้เพื่อลดขนาดการตอบสนองเมื่อคุณต้องการเฉพาะฟิลด์บางอย่าง การละเว้น 'body' โดยเฉพาะจะลดข้อมูลที่ใหญ่ที่สุดต่อผลลัพธ์ (string[], ไม่บังคับ)head: กรองตามผู้ใช้/องค์กรและสาขาของ head (string, ไม่บังคับ)owner: เจ้าของ repository (string, จำเป็น)page: หมายเลขหน้าสำหรับแบ่งหน้า (ขั้นต่ำ 1) (number, ไม่บังคับ)perPage: ผลลัพธ์ต่อหน้าสำหรับแบ่งหน้า (ขั้นต่ำ 1, สูงสุด 100) (number, ไม่บังคับ)repo: ชื่อ repository (string, จำเป็น)sort: เรียงตาม (string, ไม่บังคับ)state: กรองตามสถานะ (string, ไม่บังคับ)
- OAuth Challenge Scopes:
-
merge_pull_request - Merge pull request
- OAuth Challenge Scopes:
repo commit_message: รายละเอียดเพิ่มเติมสำหรับ merge commit (string, ไม่บังคับ)commit_title: ชื่อเรื่องสำหรับ merge commit (string, ไม่บังคับ)expectedHeadSha: SHA ที่คาดหวังของ HEAD ref ของ pull request (string, ไม่บังคับ)merge_method: วิธีการ merge (string, ไม่บังคับ)owner: เจ้าของ repository (string, จำเป็น)pullNumber: หมายเลข pull request (number, จำเป็น)repo: ชื่อ repository (string, จำเป็น)
- OAuth Challenge Scopes:
-
pull_request_read - รับรายละเอียดของ pull request เดี่ยว
- OAuth Challenge Scopes:
repo after: Cursor สำหรับการแบ่งหน้า ใช้เฉพาะกับเมธอด get_review_comments ส่ง endCursor จาก PageInfo ของหน้าก่อนหน้าเพื่อดึงหน้าถัดไป (string, ไม่บังคับ)method: การดำเนินการเพื่อระบุว่าต้องการดึงข้อมูล pull request ใดจาก GitHub ตัวเลือกที่เป็นไปได้:- get - รับรายละเอียดของ pull request ที่ระบุ
- get_diff - รับ diff ของ pull request
- get_status - รับสถานะ commit รวมของ head commit ใน pull request
- get_files - รับรายการไฟล์ที่เปลี่ยนแปลงใน pull request ใช้กับพารามิเตอร์การแบ่งหน้าเพื่อควบคุมจำนวนผลลัพธ์ที่ส่งกลับ
- get_commits - รับรายการ commits บน pull request ใช้กับพารามิเตอร์การแบ่งหน้าเพื่อควบคุมจำนวนผลลัพธ์ที่ส่งกลับ
- get_review_comments - รับเธรดรีวิวบน pull request แต่ละเธรดประกอบด้วยความคิดเห็นรีวิวที่จัดกลุ่มตามตรรกะซึ่งสร้างขึ้นในตำแหน่งโค้ดเดียวกันระหว่างการรีวิว pull request ส่งกลับข้อมูลเมตาเธรดและความคิดเห็นพร้อมพิกัดช่วงบรรทัดปัจจุบันและต้นฉบับที่可为 null (line, start_line, original_line, original_start_line) พิกัดปัจจุบันจะถูกละเว้นเมื่อไม่พร้อมใช้งาน เช่น สำหรับความคิดเห็นที่ล้าสมัย ใช้การแบ่งหน้าแบบ cursor (perPage, after) เพื่อควบคุมผลลัพธ์
- get_reviews - รับรีวิวบน pull request เมื่อถูกขอความคิดเห็นรีวิว ให้ใช้เมธอด get_review_comments ใช้กับพารามิเตอร์การแบ่งหน้าเพื่อควบคุมจำนวนผลลัพธ์ที่ส่งกลับ
- get_comments - รับความคิดเห็นบน pull request ใช้หากผู้ใช้ไม่ได้ต้องการความคิดเห็นรีวิวโดยเฉพาะ ใช้กับพารามิเตอร์การแบ่งหน้าเพื่อควบคุมจำนวนผลลัพธ์ที่ส่งกลับ
- get_check_runs - รับ check runs สำหรับ head commit ของ pull request Check runs คืองานและตรวจสอบ CI/CD แต่ละรายการที่ทำงานบน PR (string, จำเป็น)
owner: เจ้าของ repository (string, จำเป็น)page: หมายเลขหน้าสำหรับการแบ่งหน้า (ขั้นต่ำ 1) (number, ไม่บังคับ)perPage: ผลลัพธ์ต่อหน้าสำหรับการแบ่งหน้า (ขั้นต่ำ 1, สูงสุด 100) (number, ไม่บังคับ)pullNumber: หมายเลข pull request (number, จำเป็น)repo: ชื่อ repository (string, จำเป็น)
- OAuth Challenge Scopes:
-
pull_request_review_write - การดำเนินการเขียน (สร้าง, ส่ง, ลบ) บนรีวิว pull request
- OAuth Challenge Scopes:
repo body: ข้อความความคิดเห็นรีวิว (string, ไม่บังคับ)commitID: SHA ของ commit ที่จะรีวิว (string, ไม่บังคับ)event: การดำเนินการรีวิวที่ต้องดำเนินการ (string, ไม่บังคับ)method: การดำเนินการเขียนที่ต้องดำเนินการบนรีวิว pull request (string, จำเป็น)owner: เจ้าของ repository (string, จำเป็น)pullNumber: หมายเลข pull request (number, จำเป็น)repo: ชื่อ repository (string, จำเป็น)threadId: ID โหนดของเธรดรีวิว (เช่น PRRT_kwDOxxx) จำเป็นสำหรับเมธอด resolve_thread และ unresolve_thread รับ ID เธรดจาก pull_request_read ด้วยเมธอด get_review_comments (string, ไม่บังคับ)
- OAuth Challenge Scopes:
-
search_pull_requests - ค้นหา pull requests
- OAuth Challenge Scopes:
repo fields: ชุดย่อยของฟิลด์ที่จะส่งกลับสำหรับแต่ละผลลัพธ์ pull request หากละเว้น ฟิลด์ทั้งหมดจะถูกส่งกลับ ใช้เพื่อลดขนาดการตอบสนองเมื่อคุณต้องการเฉพาะฟิลด์บางอย่าง การละเว้น 'body', 'reactions' และ 'labels' โดยเฉพาะจะลดข้อมูลต่อผลลัพธ์ที่ใหญ่ที่สุด (string[], ไม่บังคับ)order: ลำดับการเรียง (string, ไม่บังคับ)owner: เจ้าของ repository ที่ไม่บังคับ หากระบุพร้อมกับ repo จะแสดงเฉพาะ pull requests สำหรับ repository นี้ (string, ไม่บังคับ)page: หมายเลขหน้าสำหรับการแบ่งหน้า (ขั้นต่ำ 1) (number, ไม่บังคับ)perPage: ผลลัพธ์ต่อหน้าสำหรับการแบ่งหน้า (ขั้นต่ำ 1, สูงสุด 100) (number, ไม่บังคับ)query: คำค้นหาโดยใช้ไวยากรณ์การค้นหา pull request ของ GitHub (string, จำเป็น)repo: ชื่อ repository ที่ไม่บังคับ หากระบุพร้อมกับ owner จะแสดงเฉพาะ pull requests สำหรับ repository นี้ (string, ไม่บังคับ)sort: ฟิลด์การเรียงตามจำนวนการจับคู่ของหมวดหมู่ ค่าเริ่มต้นคือการจับคู่ที่ดีที่สุด (string, ไม่บังคับ)
- OAuth Challenge Scopes:
-
update_pull_request - แก้ไข pull request
- OAuth Challenge Scopes:
repo - MCP App UI:
ui://github-mcp-server/pr-edit base: ชื่อสาขาฐานใหม่ (string, ไม่บังคับ)body: คำอธิบายใหม่ (string, ไม่บังคับ)draft: ทำเครื่องหมาย pull request เป็นร่าง (true) หรือพร้อมสำหรับรีวิว (false) (boolean, ไม่บังคับ)maintainer_can_modify: อนุญาตให้ผู้ดูแลแก้ไข (boolean, ไม่บังคับ)owner: เจ้าของ repository (string, จำเป็น)pullNumber: หมายเลข pull request ที่จะอัปเดต (number, จำเป็น)repo: ชื่อ repository (string, จำเป็น)reviewers: ชื่อผู้ใช้ GitHub หรือผู้รีวิวทีม ORG/team-slug เพื่อขอรีวิว (string[], ไม่บังคับ)state: สถานะใหม่ (string, ไม่บังคับ)title: ชื่อเรื่องใหม่ (string, ไม่บังคับ)
- OAuth Challenge Scopes:
-
update_pull_request_branch - อัปเดตสาขา pull request
- OAuth Challenge Scopes:
repo expectedHeadSha: SHA ที่คาดหวังของ HEAD ref ของ pull request (string, ไม่บังคับ)owner: เจ้าของ repository (string, จำเป็น)pullNumber: หมายเลข pull request (number, จำเป็น)repo: ชื่อ repository (string, จำเป็น)
- OAuth Challenge Scopes:

Repositories
-
create_branch - สร้างสาขา
- OAuth Challenge Scopes:
repo branch: ชื่อสำหรับสาขาใหม่ (string, จำเป็น)from_branch: สาขาต้นทาง (ค่าเริ่มต้นคือสาขาเริ่มต้นของ repo) (string, ไม่บังคับ)owner: เจ้าของ repository (string, จำเป็น)repo: ชื่อ repository (string, จำเป็น)
- OAuth Challenge Scopes:
-
create_or_update_file - สร้างหรืออัปเดตไฟล์
- OAuth Challenge Scopes:
repo,workflow allow_symlink_write: ตั้งค่าเป็น true เพื่ออัปเดตลิงก์สัญลักษณ์เอง เนื้อหาต้องเป็นเส้นทางเป้าหมายใหม่ (boolean, ไม่บังคับ)branch: สาขาที่จะสร้าง/อัปเดตไฟล์ (string, จำเป็น)content: เนื้อหาของไฟล์ ตามที่ควรปรากฏเมื่อเขียนแล้ว อย่าเข้ารหัส base64 เซิร์ฟเวอร์นี้จะทำก่อนเรียก REST API (string, จำเป็น)message: ข้อความ commit (string, จำเป็น)owner: เจ้าของ repository (ชื่อผู้ใช้หรือองค์กร) (string, จำเป็น)path: เส้นทางที่จะสร้าง/อัปเดตไฟล์ (string, จำเป็น)repo: ชื่อ repository (string, จำเป็น)sha: blob SHA ของไฟล์ที่ถูกแทนที่ จำเป็นหากไฟล์มีอยู่แล้ว ดึงด้วย get_file_contents โดยใช้ owner, repo และ path เดียวกัน โดยตั้งค่า ref เป็นค่าสาขาของเครื่องมือนี้ (string, ไม่บังคับ)
- OAuth Challenge Scopes:
-
create_repository - สร้าง repository
- OAuth Challenge Scopes:
repo autoInit: เริ่มต้นด้วย README (boolean, ไม่บังคับ)description: คำอธิบาย repository (string, ไม่บังคับ)name: ชื่อ repository (string, จำเป็น)organization: องค์กรที่จะสร้าง repository (ละเว้นเพื่อสร้างในบัญชีส่วนตัวของคุณ) (string, ไม่บังคับ)private: ว่า repository ควรเป็นส่วนตัวหรือไม่ ค่าเริ่มต้นคือ true (ส่วนตัว) เมื่อละเว้น (boolean, ไม่บังคับ)
- OAuth Challenge Scopes:
-
delete_file - ลบไฟล์
- OAuth Challenge Scopes:
repo,workflow branch: สาขาที่จะลบไฟล์ (string, จำเป็น)message: ข้อความ commit (string, จำเป็น)owner: เจ้าของ repository (ชื่อผู้ใช้หรือองค์กร) (string, จำเป็น)path: เส้นทางไปยังไฟล์ที่จะลบ (string, จำเป็น)repo: ชื่อ repository (string, จำเป็น)
- OAuth Challenge Scopes:
-
delete_repository - ลบ repository
- OAuth Challenge Scopes:
delete_repo,repo owner: เจ้าของ repository (ชื่อผู้ใช้หรือองค์กร) (string, จำเป็น)repo: ชื่อ repository (string, จำเป็น)
- OAuth Challenge Scopes:
-
fork_repository - Fork repository
- OAuth Challenge Scopes:
repo organization: องค์กรที่จะ fork ไป (string, ไม่บังคับ)owner: เจ้าของ repository (string, จำเป็น)repo: ชื่อ repository (string, จำเป็น)
- OAuth Challenge Scopes:
-
get_commit - รับรายละเอียด commit
- OAuth Challenge Scopes:
repo detail: ระดับรายละเอียดที่จะรวมสำหรับไฟล์ที่เปลี่ยนแปลง "none" ละเว้น stats และไฟล์ทั้งหมด "stats" (ค่าเริ่มต้น) รวมข้อมูลเมตาต่อไฟล์: ชื่อไฟล์ สถานะ และจำนวนบรรทัดโค้ด (additions, deletions, changes) โดยไม่มีเนื้อหา patch "full_patch" เพิ่มเนื้อหา unified diff สำหรับแต่ละไฟล์และอาจมีขนาดใหญ่มาก (string, ไม่บังคับ)owner: เจ้าของ repository (string, จำเป็น)page: หมายเลขหน้าสำหรับการแบ่งหน้า (ขั้นต่ำ 1) (number, ไม่บังคับ)perPage: ผลลัพธ์ต่อหน้าสำหรับการแบ่งหน้า (ขั้นต่ำ 1, สูงสุด 100) (number, ไม่บังคับ)repo: ชื่อ repository (string, จำเป็น)sha: commit SHA, ชื่อสาขา หรือชื่อแท็ก (string, จำเป็น)
- OAuth Challenge Scopes:
-
get_file_contents - รับเนื้อหาไฟล์หรือไดเรกทอรี
- OAuth Challenge Scopes:
repo fields: ชุดย่อยของฟิลด์ที่จะส่งกลับสำหรับแต่ละรายการเมื่อเส้นทางเป็นไดเรกทอรี หากละเว้น ฟิลด์ทั้งหมดจะถูกส่งกลับ ละเว้นเมื่อเส้นทางเป็นไฟล์เดียว ใช้เพื่อลดขนาดการตอบสนองเมื่อแสดงรายการไดเรกทอรีและคุณต้องการเฉพาะฟิลด์บางอย่าง เช่น เฉพาะ 'name' และ 'type' (string[], ไม่บังคับ)owner: เจ้าของ repository (ชื่อผู้ใช้หรือองค์กร) (string, จำเป็น)path: เส้นทางไปยังไฟล์/ไดเรกทอรี (string, ไม่บังคับ)ref: ยอมรับ git refs ที่ไม่บังคับ เช่นrefs/tags/{tag},refs/heads/{branch}หรือrefs/pull/{pr_number}/head(string, ไม่บังคับ)repo: ชื่อ repository (string, จำเป็น)sha: ยอมรับ commit SHA ที่ไม่บังคับ หากระบุ จะใช้แทน ref (string, ไม่บังคับ)
- OAuth Challenge Scopes:
-
get_latest_release - รับ release ล่าสุด
- OAuth Challenge Scopes:
repo owner: เจ้าของ repository (string, จำเป็น)repo: ชื่อ repository (string, จำเป็น)
- OAuth Challenge Scopes:
-
get_release_by_tag - รับ release ตามชื่อแท็ก
- OAuth Challenge Scopes:
repo owner: เจ้าของ repository (string, จำเป็น)repo: ชื่อ repository (string, จำเป็น)tag: ชื่อแท็ก (เช่น 'v1.0.0') (string, จำเป็น)
- OAuth Challenge Scopes:
-
get_tag - รับรายละเอียดแท็ก
- OAuth Challenge Scopes:
repo owner: เจ้าของ repository (string, จำเป็น)repo: ชื่อ repository (string, จำเป็น)tag: ชื่อแท็ก (string, จำเป็น)
- OAuth Challenge Scopes:
-
list_branches - แสดงรายการสาขา
- OAuth Challenge Scopes:
repo owner: เจ้าของ repository (string, จำเป็น)page: หมายเลขหน้าสำหรับการแบ่งหน้า (ขั้นต่ำ 1) (number, ไม่บังคับ)perPage: ผลลัพธ์ต่อหน้าสำหรับการแบ่งหน้า (ขั้นต่ำ 1, สูงสุด 100) (number, ไม่บังคับ)repo: ชื่อ repository (string, จำเป็น)
- OAuth Challenge Scopes:
-
list_commits - แสดงรายการคอมมิต
- OAuth Challenge Scopes:
repo author: ชื่อผู้เขียนหรือที่อยู่อีเมลเพื่อกรองคอมมิต (string, ไม่บังคับ)fields: ชุดย่อยของฟิลด์ที่จะส่งคืนสำหรับแต่ละคอมมิต หากละเว้น จะส่งคืนทุกฟิลด์ ใช้เพื่อลดขนาดการตอบสนองเมื่อคุณต้องการเฉพาะฟิลด์บางอย่าง เช่น 'sha' และ 'html_url' (string[], ไม่บังคับ)owner: เจ้าของที่เก็บ (string, จำเป็น)page: หมายเลขหน้าสำหรับการแบ่งหน้า (ขั้นต่ำ 1) (number, ไม่บังคับ)path: เฉพาะคอมมิตที่มีเส้นทางไฟล์นี้จะถูกส่งคืน (string, ไม่บังคับ)perPage: ผลลัพธ์ต่อหน้าสำหรับการแบ่งหน้า (ขั้นต่ำ 1, สูงสุด 100) (number, ไม่บังคับ)repo: ชื่อที่เก็บ (string, จำเป็น)sha: SHA ของคอมมิต ชื่อสาขา หรือแท็กเพื่อแสดงรายการคอมมิต หากไม่ระบุ จะใช้สาขาเริ่มต้นของที่เก็บ หากระบุ SHA ของคอมมิต จะแสดงรายการคอมมิตจนถึง SHA นั้น (string, ไม่บังคับ)since: เฉพาะคอมมิตหลังวันที่นี้จะถูกส่งคืน (รูปแบบ ISO 8601: YYYY-MM-DDTHH:MM:SSZ หรือ YYYY-MM-DD) (string, ไม่บังคับ)until: เฉพาะคอมมิตก่อนวันที่นี้จะถูกส่งคืน (รูปแบบ ISO 8601: YYYY-MM-DDTHH:MM:SSZ หรือ YYYY-MM-DD) (string, ไม่บังคับ)
- OAuth Challenge Scopes:
-
list_releases - แสดงรายการรีลีส
- OAuth Challenge Scopes:
repo fields: ชุดย่อยของฟิลด์ที่จะส่งคืนสำหรับแต่ละรีลีส หากละเว้น จะส่งคืนทุกฟิลด์ ใช้เพื่อลดขนาดการตอบสนองเมื่อคุณต้องการเฉพาะฟิลด์บางอย่าง การละเว้น 'body' โดยเฉพาะจะลดข้อมูลที่ใหญ่ที่สุดต่อรีลีส (string[], ไม่บังคับ)owner: เจ้าของที่เก็บ (string, จำเป็น)page: หมายเลขหน้าสำหรับการแบ่งหน้า (ขั้นต่ำ 1) (number, ไม่บังคับ)perPage: ผลลัพธ์ต่อหน้าสำหรับการแบ่งหน้า (ขั้นต่ำ 1, สูงสุด 100) (number, ไม่บังคับ)repo: ชื่อที่เก็บ (string, จำเป็น)
- OAuth Challenge Scopes:
-
list_repository_collaborators - แสดงรายการผู้ร่วมงานในที่เก็บ
- OAuth Challenge Scopes:
repo affiliation: กรองตามสังกัด สามารถเป็นหนึ่งใน: 'outside' (ผู้ร่วมงานภายนอก), 'direct' (ทั้งหมดที่มีสิทธิ์โดยไม่คำนึงถึงสมาชิกองค์กร), 'all' (ผู้ร่วมงานทั้งหมด) ค่าเริ่มต้น: 'all' (string, ไม่บังคับ)owner: เจ้าของที่เก็บ (string, จำเป็น)page: หมายเลขหน้าสำหรับการแบ่งหน้า (ค่าเริ่มต้น 1, ขั้นต่ำ 1) (number, ไม่บังคับ)perPage: ผลลัพธ์ต่อหน้าสำหรับการแบ่งหน้า (ค่าเริ่มต้น 30, ขั้นต่ำ 1, สูงสุด 100) (number, ไม่บังคับ)repo: ชื่อที่เก็บ (string, จำเป็น)
- OAuth Challenge Scopes:
-
list_tags - แสดงรายการแท็ก
- OAuth Challenge Scopes:
repo owner: เจ้าของที่เก็บ (string, จำเป็น)page: หมายเลขหน้าสำหรับการแบ่งหน้า (ขั้นต่ำ 1) (number, ไม่บังคับ)perPage: ผลลัพธ์ต่อหน้าสำหรับการแบ่งหน้า (ขั้นต่ำ 1, สูงสุด 100) (number, ไม่บังคับ)repo: ชื่อที่เก็บ (string, จำเป็น)
- OAuth Challenge Scopes:
-
push_files - ผลักไฟล์ไปยังที่เก็บ
- OAuth Challenge Scopes:
repo,workflow branch: สาขาที่จะผลักไป (string, จำเป็น)files: อาร์เรย์ของออบเจกต์ไฟล์ที่จะผลัก แต่ละออบเจกต์มี path (string) และ content (string) (object[], จำเป็น)message: ข้อความคอมมิต (string, จำเป็น)owner: เจ้าของที่เก็บ (string, จำเป็น)repo: ชื่อที่เก็บ (string, จำเป็น)
- OAuth Challenge Scopes:
-
search_code - ค้นหาโค้ด
- OAuth Challenge Scopes:
repo fields: ชุดย่อยของฟิลด์ที่จะส่งคืนสำหรับแต่ละผลการค้นหาโค้ด หากละเว้น จะส่งคืนทุกฟิลด์ ใช้เพื่อลดขนาดการตอบสนองเมื่อคุณต้องการเฉพาะฟิลด์บางอย่าง การละเว้น 'repository' และ 'text_matches' โดยเฉพาะจะลดข้อมูลที่ใหญ่ที่สุดต่อผลลัพธ์ (string[], ไม่บังคับ)order: ลำดับการเรียงผลลัพธ์ (string, ไม่บังคับ)page: หมายเลขหน้าสำหรับการแบ่งหน้า (ขั้นต่ำ 1) (number, ไม่บังคับ)perPage: ผลลัพธ์ต่อหน้าสำหรับการแบ่งหน้า (ขั้นต่ำ 1, สูงสุด 100) (number, ไม่บังคับ)query: คำค้นหา (GitHub code search REST) มี AND โดยนัยระหว่างคำ รองรับOR,NOT, และ"quoted phrase"สำหรับการจับคู่แบบตรงทั้งหมด ตัวระบุ:repo:owner/repo,org:,user:,language:,path:dir(การจับคู่คำนำหน้า),filename:exact.ext,extension:,in:file,in:path,size:,is:archived,is:fork. สูงสุด 256 ตัวอักษร ตัวอย่าง:WithContext language:go org:github;"package main" repo:o/r;func extension:go path:cmd repo:o/r;NOT TODO language:go repo:o/r. (string, จำเป็น)sort: ฟิลด์การเรียง ('indexed' เท่านั้น) (string, ไม่บังคับ)
- OAuth Challenge Scopes:
-
search_commits - ค้นหาคอมมิต
- OAuth Challenge Scopes:
repo order: ลำดับการเรียง (string, ไม่บังคับ)page: หมายเลขหน้าสำหรับการแบ่งหน้า (ขั้นต่ำ 1) (number, ไม่บังคับ)perPage: ผลลัพธ์ต่อหน้าสำหรับการแบ่งหน้า (ขั้นต่ำ 1, สูงสุด 100) (number, ไม่บังคับ)query: คำค้นหาคอมมิต (GitHub commit search REST) ค้นหาข้อความคอมมิตบนสาขาเริ่มต้นเท่านั้น จำกัดการค้นหาด้วยrepo:owner/repo,org:, หรือuser:(คำค้นที่ไม่มีตัวระบุขอบเขตจะจับคู่ทั่วทั้ง GitHub และมักไม่ใช่สิ่งที่คุณต้องการ) ตัวระบุอื่นๆ:author:,committer:,author-name:,committer-name:,author-email:,committer-email:,author-date:,committer-date:(รองรับช่วง>,<,>=,<=, และYYYY-MM-DD..YYYY-MM-DD),merge:true|false,hash:,tree:,parent:,is:public. ตัวอย่าง:repo:owner/repo fix panic;org:github author:defunkt committer-date:>=2024-01-01;"refactor cache" repo:o/r;hash:abc1234 repo:o/r. (string, จำเป็น)sort: เรียงตามวันที่ผู้เขียนหรือผู้คอมมิต (ค่าเริ่มต้นคือการจับคู่ที่ดีที่สุด) (string, ไม่บังคับ)
- OAuth Challenge Scopes:
-
search_repositories - ค้นหาที่เก็บ
- OAuth Challenge Scopes:
repo minimal_output: ส่งคืนข้อมูลที่เก็บแบบย่อ (ค่าเริ่มต้น: true) เมื่อเป็น false ไคลเอนต์สมัยใหม่จะได้รับรายละเอียดที่เก็บเพิ่มเติมที่คัดสรร ไม่ใช่ออบเจกต์ GitHub API ที่สมบูรณ์ ไคลเอนต์รุ่นเก่ายังคงได้รับออบเจกต์ที่เก็บ GitHub API ที่สมบูรณ์ (boolean, ไม่บังคับ)order: ลำดับการเรียง (string, ไม่บังคับ)page: หมายเลขหน้าสำหรับการแบ่งหน้า (ขั้นต่ำ 1) (number, ไม่บังคับ)perPage: ผลลัพธ์ต่อหน้าสำหรับการแบ่งหน้า (ขั้นต่ำ 1, สูงสุด 100) (number, ไม่บังคับ)query: คำค้นหาที่เก็บ ตัวอย่าง: 'machine learning in:name stars:>1000 language:python', 'topic:react', 'user:facebook' รองรับไวยากรณ์การค้นหาขั้นสูงสำหรับการกรองที่แม่นยำ (string, จำเป็น)sort: เรียงที่เก็บตามฟิลด์ ค่าเริ่มต้นคือการจับคู่ที่ดีที่สุด (string, ไม่บังคับ)
- OAuth Challenge Scopes:

การป้องกันความลับ
-
get_secret_scanning_alert - รับการแจ้งเตือนการสแกนความลับ
- OAuth Challenge Scopes:
security_events alertNumber: หมายเลขของการแจ้งเตือน (number, จำเป็น)owner: เจ้าของที่เก็บ (string, จำเป็น)repo: ชื่อที่เก็บ (string, จำเป็น)
- OAuth Challenge Scopes:
-
list_secret_scanning_alerts - แสดงรายการการแจ้งเตือนการสแกนความลับ
- OAuth Challenge Scopes:
security_events owner: เจ้าของที่เก็บ (string, จำเป็น)page: หมายเลขหน้าสำหรับการแบ่งหน้า (ขั้นต่ำ 1) (number, ไม่บังคับ)perPage: ผลลัพธ์ต่อหน้าสำหรับการแบ่งหน้า (ขั้นต่ำ 1, สูงสุด 100) (number, ไม่บังคับ)repo: ชื่อที่เก็บ (string, จำเป็น)resolution: กรองตามการแก้ไข (string, ไม่บังคับ)secret_type: รายการประเภทความลับที่คั่นด้วยเครื่องหมายจุลภาคที่จะส่งคืน รูปแบบความลับเริ่มต้นทั้งหมดจะถูกส่งคืน หากต้องการส่งคืนรูปแบบทั่วไป ให้ส่งชื่อโทเค็นในพารามิเตอร์ (string, ไม่บังคับ)state: กรองตามสถานะ (string, ไม่บังคับ)
- OAuth Challenge Scopes:

คำแนะนำด้านความปลอดภัย
-
get_global_security_advisory - รับคำแนะนำด้านความปลอดภัยระดับโลก
- OAuth Challenge Scopes:
security_events ghsaId: ID คำแนะนำด้านความปลอดภัยของ GitHub (รูปแบบ: GHSA-xxxx-xxxx-xxxx) (string, จำเป็น)
- OAuth Challenge Scopes:
-
list_global_security_advisories - แสดงรายการคำแนะนำด้านความปลอดภัยระดับโลก
- OAuth Challenge Scopes:
security_events affects: กรองคำแนะนำตามแพ็กเกจหรือเวอร์ชันที่ได้รับผลกระทบ (เช่น "package1,package2@1.0.0") (string, ไม่บังคับ)cveId: กรองตาม ID CVE (string, ไม่บังคับ)cwes: กรองตาม ID การแจงนับจุดอ่อนทั่วไป (เช่น ["79", "284", "22"]) (string[], ไม่บังคับ)ecosystem: กรองตามระบบนิเวศของแพ็กเกจ (string, ไม่บังคับ)ghsaId: กรองตาม ID คำแนะนำด้านความปลอดภัยของ GitHub (รูปแบบ: GHSA-xxxx-xxxx-xxxx) (string, ไม่บังคับ)isWithdrawn: ว่าจะส่งคืนเฉพาะคำแนะนำที่ถูกถอนหรือไม่ (boolean, ไม่บังคับ)modified: กรองตามวันที่เผยแพร่หรืออัปเดต หรือช่วงวันที่ (วันที่ ISO 8601 หรือช่วง) (string, ไม่บังคับ)published: กรองตามวันที่เผยแพร่หรือช่วงวันที่ (วันที่ ISO 8601 หรือช่วง) (string, ไม่บังคับ)severity: กรองตามความรุนแรง (string, ไม่บังคับ)type: ประเภทคำแนะนำ (string, ไม่บังคับ)updated: กรองตามวันที่อัปเดตหรือช่วงวันที่ (วันที่ ISO 8601 หรือช่วง) (string, ไม่บังคับ)
- OAuth Challenge Scopes:
-
list_org_repository_security_advisories - แสดงรายการคำแนะนำด้านความปลอดภัยของที่เก็บองค์กร
- OAuth Challenge Scopes:
security_events direction: ทิศทางการเรียง (string, ไม่บังคับ)org: ชื่อเข้าสู่ระบบขององค์กร (string, จำเป็น)sort: ฟิลด์การเรียง (string, ไม่บังคับ)state: กรองตามสถานะคำแนะนำ (string, ไม่บังคับ)
- OAuth Challenge Scopes:
-
list_repository_security_advisories - แสดงรายการคำแนะนำด้านความปลอดภัยของที่เก็บ
- OAuth Challenge Scopes:
security_events direction: ทิศทางการเรียง (string, ไม่บังคับ)owner: เจ้าของที่เก็บ (string, จำเป็น)repo: ชื่อที่เก็บ (string, จำเป็น)sort: ฟิลด์การเรียง (string, ไม่บังคับ)state: กรองตามสถานะคำแนะนำ (string, ไม่บังคับ)
- OAuth Challenge Scopes:

สตาร์เกเซอร์
-
list_starred_repositories - แสดงรายการที่เก็บที่ติดดาว
- OAuth Challenge Scopes:
repo direction: ทิศทางที่จะเรียงผลลัพธ์ (string, ไม่บังคับ)page: หมายเลขหน้าสำหรับการแบ่งหน้า (ขั้นต่ำ 1) (number, ไม่บังคับ)perPage: ผลลัพธ์ต่อหน้าสำหรับการแบ่งหน้า (ขั้นต่ำ 1, สูงสุด 100) (number, ไม่บังคับ)sort: วิธีเรียงผลลัพธ์ สามารถเป็น 'created' (เมื่อที่เก็บถูกติดดาว) หรือ 'updated' (เมื่อที่เก็บถูกผลักครั้งล่าสุด) (string, ไม่บังคับ)username: ชื่อผู้ใช้เพื่อแสดงรายการที่เก็บที่ติดดาว ค่าเริ่มต้นคือผู้ใช้ที่รับรองความถูกต้อง (string, ไม่บังคับ)
- OAuth Challenge Scopes:
-
star_repository - ติดดาวที่เก็บ
- OAuth Challenge Scopes:
repo owner: เจ้าของที่เก็บ (string, จำเป็น)repo: ชื่อที่เก็บ (string, จำเป็น)
- OAuth Challenge Scopes:
-
unstar_repository - เลิกติดดาวที่เก็บ
- OAuth Challenge Scopes:
repo owner: เจ้าของที่เก็บ (string, จำเป็น)repo: ชื่อที่เก็บ (string, จำเป็น)
- OAuth Challenge Scopes:

ผู้ใช้
- **search_users** - ค้นหาผู้ใช้
- **OAuth Challenge Scopes**: `repo`
- `order`: ลำดับการเรียงลำดับ (สตริง, ไม่บังคับ)
- `page`: หมายเลขหน้าสำหรับการแบ่งหน้า (ขั้นต่ำ 1) (ตัวเลข, ไม่บังคับ)
- `perPage`: ผลลัพธ์ต่อหน้าสำหรับการแบ่งหน้า (ขั้นต่ำ 1, สูงสุด 100) (ตัวเลข, ไม่บังคับ)
- `query`: คำค้นหาผู้ใช้ ตัวอย่าง: 'john smith', 'location:seattle', 'followers:>100'. การค้นหาจะถูกจำกัดขอบเขตเป็น type:user โดยอัตโนมัติ (สตริง, จำเป็น)
- `sort`: เรียงลำดับผู้ใช้ตามจำนวนผู้ติดตามหรือที่เก็บ หรือเวลาที่บุคคลเข้าร่วม GitHub (สตริง, ไม่บังคับ)
เครื่องมือเพิ่มเติมในเซิร์ฟเวอร์ GitHub MCP ระยะไกล
Copilot
- create_pull_request_with_copilot - ปฏิบัติงานกับเอเจนต์การเขียนโค้ด GitHub Copilot
owner: เจ้าของที่เก็บ คุณสามารถเดาเจ้าของได้ แต่ควรยืนยันกับผู้ใช้ก่อนดำเนินการ (สตริง, จำเป็น)repo: ชื่อที่เก็บ คุณสามารถเดาชื่อที่เก็บได้ แต่ควรยืนยันกับผู้ใช้ก่อนดำเนินการ (สตริง, จำเป็น)problem_statement: คำอธิบายโดยละเอียดของงานที่จะดำเนินการ (เช่น 'Implement a feature that does X', 'Fix bug Y', ฯลฯ) (สตริง, จำเป็น)title: ชื่อเรื่องสำหรับ pull request ที่จะสร้าง (สตริง, จำเป็น)base_ref: Git reference (เช่น branch) ที่เอเจนต์จะเริ่มทำงาน หากไม่ระบุ จะใช้ branch เริ่มต้นของที่เก็บโดยอัตโนมัติ (สตริง, ไม่บังคับ)
Copilot Spaces
-
หมายเหตุการรับรองความถูกต้อง
- Fine-grained PATs จะไม่ถูกซ่อนโดยการกรองขอบเขต classic PAT ดังนั้นเครื่องมือเหล่านี้อาจยังปรากฏแม้ว่าโทเค็นจะไม่สามารถใช้งานได้
- สำหรับ spaces ที่เป็นขององค์กร fine-grained PATs ต้องถูกติดตั้งบนองค์กรที่เป็นเจ้าของและรวมถึง
organization_copilot_spaces: read - หาก space ที่เป็นขององค์กรมีทรัพยากรที่ backed by repository โทเค็นต้องสามารถเข้าถึงทุก repository ที่อ้างอิง มิฉะนั้น space อาจถูกถือว่าไม่พบ
-
get_copilot_space - รับ Copilot Space
owner: เจ้าของ space (สตริง, จำเป็น)name: ชื่อของ space (สตริง, จำเป็น)
-
list_copilot_spaces - รายการ Copilot Spaces
การค้นหาเอกสารสนับสนุน GitHub
- github_support_docs_search - ดึงเอกสารที่เกี่ยวข้องเพื่อตอบคำถามเกี่ยวกับผลิตภัณฑ์และการสนับสนุนของ GitHub หัวข้อสนับสนุนรวมถึง: GitHub Actions Workflows, Authentication, GitHub Support Inquiries, Pull Request Practices, Repository Maintenance, GitHub Pages, GitHub Packages, GitHub Discussions, Copilot Spaces
query: ข้อมูลจากผู้ใช้เกี่ยวกับคำถามที่ต้องการคำตอบ นี่คือข้อความผู้ใช้ดิบล่าสุดที่ไม่มีการแก้ไข คุณควรปล่อยข้อความผู้ใช้ไว้ตามเดิมเสมอ และไม่ควรแก้ไข (สตริง, จำเป็น)
โหมดอ่านอย่างเดียว
ในการรันเซิร์ฟเวอร์ในโหมดอ่านอย่างเดียว คุณสามารถใช้แฟล็ก --read-only ได้ ซึ่งจะเสนอเฉพาะเครื่องมือที่อ่านอย่างเดียว ป้องกันการแก้ไข repository, issues, pull requests ฯลฯ
./github-mcp-server --read-only
เมื่อใช้ Docker คุณสามารถส่งโหมดอ่านอย่างเดียวเป็นตัวแปรสภาพแวดล้อม:
docker run -i --rm \
-e GITHUB_PERSONAL_ACCESS_TOKEN=<your-token> \
-e GITHUB_READ_ONLY=1 \
ghcr.io/github/github-mcp-server
โหมดล็อกดาวน์
โหมดล็อกดาวน์จำกัดเนื้อหาที่เซิร์ฟเวอร์จะแสดงจาก repository สาธารณะ เมื่อเปิดใช้งาน เซิร์ฟเวอร์จะตรวจสอบว่าผู้เขียนแต่ละรายการมีสิทธิ์ push ไปยัง repository หรือไม่ repository ส่วนตัวไม่ได้รับผลกระทบ และผู้ร่วมงานยังคงเข้าถึงเนื้อหาของตนเองได้เต็มที่
โหมดล็อกดาวน์เป็นตัวกรองเนื้อหาแบบ best-effort ที่มีจุดประสงค์เพื่อลดความเสี่ยงของการฉีด prompt จากเนื้อหา repository ที่ไม่น่าเชื่อถือ (issues, pull requests, ความคิดเห็น, commits ฯลฯ) ไม่ใช่ขอบเขตการอนุญาต: ไม่ได้เปลี่ยนสิ่งที่ข้อมูลรับรอง GitHub พื้นฐานสามารถอ่านหรือเขียนได้ และเนื้อหาที่ถูกระงับจากการตอบสนองของเครื่องมือที่กรองแล้วอาจยังเข้าถึงได้ผ่านเครื่องมืออื่นหรือการเข้าถึง GitHub API โดยตรงด้วยข้อมูลรับรองเดียวกัน
เป็นข้อยกเว้นโดยเจตนา เนื้อหาที่เขียนโดยชุดบัญชีบอทที่เชื่อถือได้จำนวนเล็กน้อย (ปัจจุบันคือ github-actions[bot] และ copilot) จะถือว่าปลอดภัยเสมอ โดยไม่คำนึงถึงสิทธิ์ push ซึ่งหลีกเลี่ยงการกรองผลลัพธ์อัตโนมัติตามปกติ (เช่น commits หรือความคิดเห็นที่สร้างโดย CI) ที่อาจถูกระงับภายใต้โหมดล็อกดาวน์
./github-mcp-server --lockdown-mode
เมื่อรันด้วย Docker ให้ตั้งค่าตัวแปรสภาพแวดล้อมที่เกี่ยวข้อง:
docker run -i --rm \
-e GITHUB_PERSONAL_ACCESS_TOKEN=<your-token> \
-e GITHUB_LOCKDOWN_MODE=1 \
ghcr.io/github/github-mcp-server
ในโหมด HTTP แฟล็กนี้ (หรือ GITHUB_LOCKDOWN_MODE) เป็นขอบเขตบน: ส่วนหัวคำขอ X-MCP-Lockdown สามารถเปิดใช้งานโหมดล็อกดาวน์เมื่อผู้ปฏิบัติงานไม่ได้เปิด แต่ไม่สามารถปิดใช้งานโหมดล็อกดาวน์ที่ผู้ปฏิบัติงานเปิดไว้แล้วได้ ดู คู่มือการกำหนดค่าเซิร์ฟเวอร์ สำหรับรายละเอียด
พฤติกรรมของโหมดล็อกดาวน์ขึ้นอยู่กับเครื่องมือที่เรียกใช้
เครื่องมือต่อไปนี้จะส่งคืนข้อผิดพลาดเมื่อผู้เขียนไม่มีสิทธิ์ push:
issue_read:getpull_request_read:getpull_request_read:get_diffpull_request_read:get_filespull_request_read:get_commits
เครื่องมือต่อไปนี้จะกรองเนื้อหาจากผู้ใช้ที่ไม่มีสิทธิ์ push:
issue_read:get_commentsissue_read:get_sub_issuespull_request_read:get_commentspull_request_read:get_review_commentspull_request_read:get_reviews
i18n / การแทนที่คำอธิบาย
คำอธิบายของเครื่องมือสามารถแทนที่ได้โดยการสร้างไฟล์
github-mcp-server-config.json ในไดเรกทอรีเดียวกับไบนารี
ไฟล์ควรมีออบเจกต์ JSON ที่มีชื่อเครื่องมือเป็นคีย์และคำอธิบายใหม่เป็นค่า ตัวอย่างเช่น:
{
"TOOL_ADD_ISSUE_COMMENT_DESCRIPTION": "an alternative description",
"TOOL_CREATE_BRANCH_DESCRIPTION": "Create a new branch in a GitHub repository"
}
คุณสามารถสร้างการส่งออกของการแปลปัจจุบันได้โดยการรันไบนารีด้วย
แฟล็ก --export-translations
แฟล็กนี้จะรักษาการแปล/การแทนที่ที่คุณทำไว้ ขณะที่เพิ่ม การแปลใหม่ที่ถูกเพิ่มเข้าไปในไบนารีตั้งแต่ครั้งสุดท้ายที่คุณ ส่งออก
./github-mcp-server --export-translations
cat github-mcp-server-config.json
คุณยังสามารถใช้ตัวแปรสภาพแวดล้อมเพื่อแทนที่คำอธิบาย ชื่อ
ตัวแปรสภาพแวดล้อมเหมือนกับคีย์ในไฟล์ JSON โดยมีคำนำหน้า
GITHUB_MCP_ และเป็นตัวพิมพ์ใหญ่ทั้งหมด
ตัวอย่างเช่น เพื่อแทนที่เครื่องมือ TOOL_ADD_ISSUE_COMMENT_DESCRIPTION คุณสามารถ
ตั้งค่าตัวแปรสภาพแวดล้อมต่อไปนี้:
export GITHUB_MCP_TOOL_ADD_ISSUE_COMMENT_DESCRIPTION="an alternative description"
การแทนที่ชื่อเซิร์ฟเวอร์และชื่อเรื่อง
กลไกการแทนที่เดียวกันนี้สามารถใช้เพื่อปรับแต่งฟิลด์ name และ
title ของเซิร์ฟเวอร์ MCP ในการตอบสนองการเริ่มต้น ซึ่งมีประโยชน์เมื่อรัน
อินสแตนซ์ GitHub MCP Server หลายตัว (เช่น หนึ่งสำหรับ github.com และหนึ่งสำหรับ
GitHub Enterprise Server) เพื่อให้เอเจนต์สามารถแยกแยะระหว่างกันได้
| คีย์ | ตัวแปรสภาพแวดล้อม | ค่าเริ่มต้น |
|---|---|---|
SERVER_NAME | GITHUB_MCP_SERVER_NAME | github-mcp-server |
SERVER_TITLE | GITHUB_MCP_SERVER_TITLE | GitHub MCP Server |
ตัวอย่างเช่น เพื่อกำหนดค่าอินสแตนซ์เซิร์ฟเวอร์สำหรับ GitHub Enterprise Server:
{
"SERVER_NAME": "ghes-mcp-server",
"SERVER_TITLE": "GHES MCP Server"
}
หรือใช้ตัวแปรสภาพแวดล้อม:
export GITHUB_MCP_SERVER_NAME="ghes-mcp-server"
export GITHUB_MCP_SERVER_TITLE="GHES MCP Server"
การใช้งานไลบรารี
Go API ที่ส่งออกของโมดูลนี้ควรถือว่าไม่เสถียรในขณะนี้ และอาจมีการเปลี่ยนแปลงที่ทำลายความเข้ากันได้ ในอนาคต เราอาจเสนอความเสถียร โปรดแจ้ง issue หากมีกรณีการใช้งานที่สิ่งนี้จะมีคุณค่า
การมีส่วนร่วม
ยินดีต้อนรับการมีส่วนร่วม ก่อนเปิด pull request โปรดอ่าน คู่มือการมีส่วนร่วม สำหรับคำแนะนำการตั้งค่า การทดสอบ การตรวจสอบโค้ด และการสร้างเอกสาร
การสนับสนุน
สำหรับความช่วยเหลือในการใช้ GitHub MCP Server โปรดดู คู่มือการสนับสนุน หากคุณพบข้อบกพร่องหรือต้องการขอฟีเจอร์ โปรดค้นหา issues ที่มีอยู่ก่อนเปิด issue ใหม่
ความปลอดภัย
โปรดอย่ารายงานช่องโหว่ด้านความปลอดภัยผ่าน issues สาธารณะ ปฏิบัติตามคำแนะนำใน นโยบายความปลอดภัย เพื่อรายงานช่องโหว่อย่างมีความรับผิดชอบ
สัญญาอนุญาต
โครงการนี้ได้รับอนุญาตภายใต้ข้อกำหนดของสัญญาอนุญาตโอเพนซอร์ส MIT โปรดอ้างอิง MIT สำหรับข้อกำหนดฉบับเต็ม