GitHub MCP

ทางการ

เซิร์ฟเวอร์ GitHub MCP อย่างเป็นทางการสำหรับการค้นหาที่เก็บข้อมูล ปัญหา คำขอดึงข้อมูล บริบทโค้ด และเวิร์กโฟลว์ของ GitHub ในไคลเอนต์ AI ที่รองรับ MCP

คุณทำอะไรได้บ้างด้วย Git Hub MCP?

  • เรียกดูและค้นหาที่เก็บ — ขอให้ผู้ช่วยของคุณค้นหาไฟล์ อ่านโค้ด หรือวิเคราะห์ประวัติการคอมมิตโดยใช้เครื่องมือจากชุดเครื่องมือ repos
  • จัดการ issues และ pull requests — สร้าง อัปเดต และจัดลำดับความสำคัญของ issues หรือ PRs โดยใช้เครื่องมือจากชุดเครื่องมือ issues และ pull_requests
  • ตรวจสอบเวิร์กโฟลว์ CI/CD — ตรวจสอบสถานะการทำงานของ GitHub Actions สืบหาสาเหตุความล้มเหลวในการ build และจัดการ releases ผ่านชุดเครื่องมือ actions
  • ตรวจสอบการแจ้งเตือนความปลอดภัยของโค้ด — ตรวจสอบผลการสแกนโค้ด การแจ้งเตือนของ Dependabot และผลการสแกนความลับโดยใช้ชุดเครื่องมือ code_security, dependabot และ secret_protection
  • ทำงานร่วมกันในการสนทนาและโปรเจกต์ — เข้าถึงการสนทนาของทีม จัดการบอร์ดโปรเจกต์ และจัดการการแจ้งเตือนผ่านชุดเครื่องมือ discussions, projects และ notifications

เอกสาร

Go Report Card

GitHub MCP Server

GitHub MCP Server เชื่อมต่อเครื่องมือ AI เข้ากับแพลตฟอร์มของ GitHub โดยตรง ซึ่งช่วยให้เอเจนต์ AI, ผู้ช่วย และแชทบอทสามารถอ่านรีพอสิทอรีและไฟล์โค้ด, จัดการ issues และ PRs, วิเคราะห์โค้ด และทำให้เวิร์กโฟลว์เป็นอัตโนมัติ ทั้งหมดนี้ผ่านการโต้ตอบด้วยภาษาธรรมชาติ

กรณีการใช้งาน

  • การจัดการรีพอสิทอรี: เรียกดูและสอบถามโค้ด, ค้นหาไฟล์, วิเคราะห์ commits และทำความเข้าใจโครงสร้างโปรเจกต์ในทุกๆ รีพอสิทอรีที่คุณมีสิทธิ์เข้าถึง
  • การทำให้ Issue & PR เป็นอัตโนมัติ: สร้าง, อัปเดต และจัดการ issues และ pull requests ให้ AI ช่วยคัดแยกบั๊ก, ตรวจสอบการเปลี่ยนแปลงโค้ด และดูแลบอร์ดโปรเจกต์
  • CI/CD & ความอัจฉริยะด้านเวิร์กโฟลว์: ตรวจสอบการรัน GitHub Actions workflow, วิเคราะห์ความล้มเหลวของบิลด์, จัดการรีลีส และรับข้อมูลเชิงลึกเกี่ยวกับไปป์ไลน์การพัฒนาของคุณ
  • การวิเคราะห์โค้ด: ตรวจสอบผลการค้นหาด้านความปลอดภัย, ตรวจทานการแจ้งเตือน Dependabot, ทำความเข้าใจรูปแบบโค้ด และรับข้อมูลเชิงลึกที่ครอบคลุมเกี่ยวกับโค้ดเบสของคุณ
  • การทำงานร่วมกันเป็นทีม: เข้าถึงการสนทนา, จัดการการแจ้งเตือน, วิเคราะห์กิจกรรมของทีม และปรับปรุงกระบวนการทำงานให้มีประสิทธิภาพสำหรับทีมของคุณ

สร้างขึ้นสำหรับนักพัฒนาที่ต้องการเชื่อมต่อเครื่องมือ AI ของตนเข้ากับบริบทและความสามารถของ GitHub ตั้งแต่การสอบถามด้วยภาษาธรรมชาติแบบง่ายๆ ไปจนถึงเวิร์กโฟลว์ของเอเจนต์หลายขั้นตอนที่ซับซ้อน


Remote GitHub MCP Server

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

Remote GitHub MCP Server โฮสต์โดย GitHub และเป็นวิธีที่ง่ายที่สุดในการเริ่มต้นใช้งาน หาก MCP host ของคุณไม่รองรับ remote MCP servers ไม่ต้องกังวล! คุณสามารถใช้ local version ของ GitHub MCP Server แทนได้

ข้อกำหนดเบื้องต้น

  1. MCP host ที่เข้ากันได้พร้อมการรองรับ remote server (VS Code 1.101+, Claude Desktop, Cursor, Windsurf ฯลฯ)
  2. นโยบายที่เกี่ยวข้อง ที่เปิดใช้งาน

ติดตั้งใน VS Code

สำหรับการติดตั้งอย่างรวดเร็ว ให้ใช้ปุ่มติดตั้งในคลิกเดียวด้านบน เมื่อคุณทำตามขั้นตอนนั้นเสร็จแล้ว ให้สลับไปที่โหมด Agent (อยู่ข้างๆ ช่องป้อนข้อความ Copilot Chat) แล้วเซิร์ฟเวอร์จะเริ่มทำงาน ตรวจสอบให้แน่ใจว่าคุณใช้ VS Code 1.101 หรือ ใหม่กว่า สำหรับการรองรับ remote MCP และ OAuth

หรืออีกวิธีหนึ่ง ในการกำหนดค่า VS Code ด้วยตนเอง ให้เลือกบล็อก JSON ที่เหมาะสมจากตัวอย่างด้านล่างและเพิ่มลงในการกำหนดค่า host ของคุณ:

การใช้ OAuthการใช้ GitHub PAT
VS Code (เวอร์ชัน 1.101 หรือสูงกว่า)
{
  "servers": {
    "github": {
      "type": "http",
      "url": "https://api.githubcopilot.com/mcp/"
    }
  }
}
{
  "servers": {
    "github": {
      "type": "http",
      "url": "https://api.githubcopilot.com/mcp/",
      "headers": {
        "Authorization": "Bearer ${input:github_mcp_pat}"
      }
    }
  },
  "inputs": [
    {
      "type": "promptString",
      "id": "github_mcp_pat",
      "description": "GitHub Personal Access Token",
      "password": true
    }
  ]
}

ติดตั้งใน MCP hosts อื่นๆ

  • Copilot CLI - คู่มือการติดตั้งสำหรับ GitHub Copilot CLI
  • GitHub Copilot ใน IDE อื่นๆ - การติดตั้งสำหรับ 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 สำหรับข้อมูลเพิ่มเติม

การกำหนดค่า

การกำหนดค่าชุดเครื่องมือ

ดู Remote Server Documentation สำหรับรายละเอียดทั้งหมดเกี่ยวกับการกำหนดค่า remote server, ชุดเครื่องมือ, headers และการใช้งานขั้นสูง ไฟล์นี้ให้คำแนะนำและตัวอย่างที่ครอบคลุมสำหรับการเชื่อมต่อ, ปรับแต่ง และติดตั้ง Remote GitHub MCP Server ใน VS Code และ MCP hosts อื่นๆ

เมื่อไม่มีการระบุชุดเครื่องมือ ชุดเครื่องมือเริ่มต้น จะถูกใช้

โหมด Insiders

ลองใช้ฟีเจอร์ใหม่ก่อนใคร! Remote server มีเวอร์ชัน insiders ที่ให้สิทธิ์เข้าถึงฟีเจอร์ใหม่และเครื่องมือทดลองก่อนใคร

การใช้ URL Pathการใช้ Header
{
  "servers": {
    "github": {
      "type": "http",
      "url": "https://api.githubcopilot.com/mcp/insiders"
    }
  }
}
{
  "servers": {
    "github": {
      "type": "http",
      "url": "https://api.githubcopilot.com/mcp/",
      "headers": {
        "X-MCP-Insiders": "true"
      }
    }
  }
}

ดู 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 ของคุณให้ชี้ไปยังอินสแตนซ์ GitHub Enterprise ของคุณ - ดู 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

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

ข้อกำหนดเบื้องต้น

  1. ในการรันเซิร์ฟเวอร์ในคอนเทนเนอร์ คุณจะต้องติดตั้ง Docker

  2. เมื่อติดตั้ง Docker แล้ว คุณจะต้องตรวจสอบให้แน่ใจว่า Docker กำลังทำงานอยู่ Docker image มีให้ที่ ghcr.io/github/github-mcp-server image นี้เป็นแบบสาธารณะ หากคุณพบข้อผิดพลาดในการ pull คุณอาจมีโทเค็นที่หมดอายุและจำเป็นต้อง docker logout ghcr.io

  3. การรับรองความถูกต้อง บน github.com คุณไม่จำเป็นต้องสร้างอะไรล่วงหน้า — ปุ่มคลิกเดียวด้านบนจะล็อกอินคุณด้วย OAuth ในการใช้งานครั้งแรก (เป็นขั้นตอนผ่านเบราว์เซอร์ โทเค็นจะถูกเก็บไว้ในหน่วยความจำเท่านั้น) ปุ่ม Docker จะเผยแพร่พอร์ต callback แบบคงที่ (127.0.0.1:8085) เพื่อให้ callback การล็อกอินของคอนเทนเนอร์สามารถเข้าถึงได้ ดู Local Server OAuth Login สำหรับวิธีการทำงาน, ทางเลือกสำรองแบบ headless/device-code และการนำ OAuth หรือ GitHub App ของคุณเองมาใช้ (จำเป็นสำหรับ GitHub Enterprise Server และ ghe.com)

    ต้องการใช้โทเค็นหรือไม่? คุณยังสามารถรับรองความถูกต้องด้วย GitHub Personal Access Token ได้โดยการตั้งค่า GITHUB_PERSONAL_ACCESS_TOKEN แทน (จะมีความสำคัญเหนือกว่า OAuth) MCP server สามารถใช้ GitHub APIs ได้หลายตัว ดังนั้นให้เปิดใช้งานสิทธิ์ที่คุณรู้สึกสบายใจที่จะมอบให้กับเครื่องมือ AI ของคุณ (หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับ access tokens โปรดดูเอกสารประกอบ)

การจัดการ PATs อย่างปลอดภัย

ตัวแปรสภาพแวดล้อม (แนะนำ)

เพื่อให้ GitHub PAT ของคุณปลอดภัยและสามารถใช้ซ้ำได้ใน MCP hosts ต่างๆ:

  1. จัดเก็บ PAT ของคุณในตัวแปรสภาพแวดล้อม

    export GITHUB_PAT=your_token_here
    

    หรือสร้างไฟล์ .env:

    GITHUB_PAT=your_token_here
    
  2. ปกป้องไฟล์ .env ของคุณ

    # Add to .gitignore to prevent accidental commits
    echo ".env" >> .gitignore
    
  3. อ้างอิงโทเค็นในการกำหนดค่า

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

หมายเหตุ: การรองรับตัวแปรสภาพแวดล้อมจะแตกต่างกันไปตามแอป host และ IDE บางแอปพลิเคชัน (เช่น Windsurf) ต้องการโทเค็นที่ฮาร์ดโค้ดในไฟล์กำหนดค่า

แนวทางปฏิบัติที่ดีที่สุดด้านความปลอดภัยของโทเค็น

  • ขอบเขตขั้นต่ำ: ให้สิทธิ์ที่จำเป็นเท่านั้น

    • repo - การดำเนินการกับรีพอสิทอรี
    • read:packages - การเข้าถึง Docker image
    • read:org - การเข้าถึงทีมขององค์กร
  • แยกโทเค็น: ใช้ PATs ที่แตกต่างกันสำหรับโปรเจกต์/สภาพแวดล้อมที่แตกต่างกัน

  • หมุนเวียนเป็นประจำ: อัปเดตโทเค็นเป็นระยะ

  • ห้าม commit: เก็บโทเค็นออกจากการควบคุมเวอร์ชัน

  • สิทธิ์ของไฟล์: จำกัดการเข้าถึงไฟล์กำหนดค่าที่มีโทเค็น

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

GitHub Enterprise Server และ Enterprise Cloud พร้อม data residency (ghe.com)

แฟล็ก --gh-host และตัวแปรสภาพแวดล้อม GITHUB_HOST สามารถใช้เพื่อตั้งค่า โฮสต์เนมสำหรับ GitHub Enterprise Server หรือ GitHub Enterprise Cloud พร้อม data residency

  • สำหรับ GitHub Enterprise Server ให้เติมคำนำหน้าโฮสต์เนมด้วยรูปแบบ URI https:// เนื่องจากค่าเริ่มต้นจะเป็น http:// ซึ่ง GitHub Enterprise Server ไม่รองรับ
  • สำหรับ GitHub Enterprise Cloud พร้อม data residency ให้ใช้ https://YOURSUBDOMAIN.ghe.com เป็นโฮสต์เนม
"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) แล้วเซิร์ฟเวอร์จะเริ่มทำงาน

ข้อมูลเพิ่มเติมเกี่ยวกับการใช้เครื่องมือ MCP server ในเอกสารประกอบโหมด agent ของ VS Code

ติดตั้งใน GitHub Copilot บน IDE อื่นๆ (JetBrains, Visual Studio, Eclipse ฯลฯ)

เพิ่มหนึ่งในบล็อก JSON ต่อไปนี้ลงในการตั้งค่า MCP ของ IDE ของคุณ

ล็อกอินด้วย OAuth (ไม่ต้องสร้างหรือจัดเก็บโทเค็น) บน github.com image อย่างเป็นทางการมีข้อมูลรับรองของแอปรวมอยู่แล้ว ดังนั้นคุณจึงไม่ต้องระบุข้อมูลใดๆ ด้วยตัวเอง: มันจะรันการล็อกอินผ่านเบราว์เซอร์ในการใช้งานครั้งแรกและเก็บโทเค็นผลลัพธ์ไว้ในหน่วยความจำเท่านั้น ใน Docker สิ่งนี้ต้องการพอร์ต callback แบบคงที่ที่เผยแพร่ไปยัง loopback เพื่อให้ callback การล็อกอินของคอนเทนเนอร์สามารถเข้าถึงได้:

{
  "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 ของคุณเองมาใช้

หรือรับรองความถูกต้องด้วย 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 ในพื้นที่ทำงานของคุณ ซึ่งจะช่วยให้คุณสามารถแชร์การกำหนดค่ากับแอปพลิเคชัน 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 terminal agent
  • Windsurf - คู่มือการติดตั้งสำหรับ Windsurf IDE
  • Zed - คู่มือการติดตั้งสำหรับ Zed editor

สำหรับภาพรวมที่สมบูรณ์ของตัวเลือกการติดตั้งทั้งหมด โปรดดู ดัชนีคู่มือการติดตั้ง ของเรา

หมายเหตุ: แอปพลิเคชัน host ใดๆ ที่รองรับ local MCP servers ควรจะสามารถเข้าถึง local GitHub MCP server ได้ อย่างไรก็ตาม กระบวนการกำหนดค่าเฉพาะ, ไวยากรณ์ และความเสถียรของการผสานรวมจะแตกต่างกันไปตามแอปพลิเคชัน host แม้ว่าหลายๆ แอปอาจมีรูปแบบคล้ายกับตัวอย่างข้างต้น แต่ก็ไม่ได้รับประกัน โปรดดูเอกสารประกอบของแอปพลิเคชัน host ของคุณสำหรับไวยากรณ์การกำหนดค่า MCP และขั้นตอนการตั้งค่าที่ถูกต้อง

บิลด์จากซอร์ส

หากคุณไม่มี Docker คุณสามารถใช้ go build เพื่อสร้างไบนารีในไดเรกทอรี cmd/github-mcp-server และใช้คำสั่ง github-mcp-server stdio พร้อมกับตั้งค่าตัวแปรสภาพแวดล้อม GITHUB_PERSONAL_ACCESS_TOKEN เป็นโทเค็นของคุณ หากต้องการระบุตำแหน่งเอาต์พุตของการสร้าง ให้ใช้แฟล็ก -o คุณควรกำหนดค่าเซิร์ฟเวอร์ของคุณให้ใช้ไฟล์ปฏิบัติการที่สร้างขึ้นเป็น command ตัวอย่างเช่น:

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

ยูทิลิตี้ CLI

ไบนารี github-mcp-server ประกอบด้วยคำสั่งย่อย CLI สองสามคำสั่งที่มีประโยชน์สำหรับการดีบักและสำรวจเซิร์ฟเวอร์

  • github-mcp-server tool-search "<query>" ค้นหาเครื่องมือตามชื่อ คำอธิบาย และชื่อพารามิเตอร์อินพุต ใช้ --max-results เพื่อส่งคืนผลลัพธ์ที่ตรงกันมากขึ้น ตัวอย่าง (เอาต์พุตสีต้องใช้ TTY; ใช้ docker run -t (หรือ -it) เมื่อรันใน Docker):
docker run -it --rm ghcr.io/github/github-mcp-server tool-search "issue" --max-results 5
github-mcp-server tool-search "issue" --max-results 5

การกำหนดค่าเครื่องมือ

GitHub MCP Server รองรับการเปิดหรือปิดใช้งานกลุ่มฟังก์ชันการทำงานเฉพาะผ่านแฟล็ก --toolsets ซึ่งช่วยให้คุณควบคุมความสามารถของ GitHub API ที่พร้อมใช้งานสำหรับเครื่องมือ AI ของคุณ การเปิดใช้งานเฉพาะชุดเครื่องมือที่คุณต้องการสามารถช่วย LLM ในการเลือกเครื่องมือและลดขนาดบริบท

ชุดเครื่องมือไม่ได้จำกัดเฉพาะเครื่องมือ ทรัพยากร MCP และพรอมต์ที่เกี่ยวข้องจะรวมอยู่ด้วยตามความเหมาะสม

เมื่อไม่ได้ระบุชุดเครื่องมือ ชุดเครื่องมือเริ่มต้น จะถูกใช้

กำลังมองหาตัวอย่าง? ดู คู่มือการกำหนดค่าเซิร์ฟเวอร์ สำหรับสูตรทั่วไป เช่น การตั้งค่าขั้นต่ำ โหมดอ่านอย่างเดียว และการรวมเครื่องมือกับชุดเครื่องมือ

การระบุชุดเครื่องมือ

ในการระบุชุดเครื่องมือที่คุณต้องการให้พร้อมใช้งานสำหรับ LLM คุณสามารถส่งรายการที่อนุญาตได้สองวิธี:

  1. การใช้อาร์กิวเมนต์บรรทัดคำสั่ง:

    github-mcp-server --toolsets repos,issues,pull_requests,actions,code_security
    
  2. การใช้ตัวแปรสภาพแวดล้อม:

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

ตัวแปรสภาพแวดล้อม GITHUB_TOOLSETS มีความสำคัญกว่าอาร์กิวเมนต์บรรทัดคำสั่งหากมีการระบุทั้งสองอย่าง

การระบุเครื่องมือแต่ละรายการ

คุณยังสามารถกำหนดค่าเครื่องมือเฉพาะโดยใช้แฟล็ก --tools เครื่องมือสามารถใช้แยกกันหรือรวมกับชุดเครื่องมือเพื่อการควบคุมที่ละเอียด

  1. การใช้อาร์กิวเมนต์บรรทัดคำสั่ง:

    github-mcp-server --tools get_file_contents,issue_read,create_pull_request
    
  2. การใช้ตัวแปรสภาพแวดล้อม:

    GITHUB_TOOLS="get_file_contents,issue_read,create_pull_request" ./github-mcp-server
    
  3. การรวมกับชุดเครื่องมือ (เพิ่มเติม):

    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 Server ในเครื่องมีเวอร์ชัน insiders ที่ให้การเข้าถึงฟีเจอร์ใหม่และเครื่องมือทดลองก่อนใคร

  1. การใช้อาร์กิวเมนต์บรรทัดคำสั่ง:

    ./github-mcp-server --insiders
    
  2. การใช้ตัวแปรสภาพแวดล้อม:

    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

ชุดเครื่องมือที่พร้อมใช้งาน

ชุดเครื่องมือต่อไปนี้พร้อมใช้งาน:

ชุดเครื่องมือคำอธิบาย
personcontextแนะนำอย่างยิ่ง: เครื่องมือที่ให้บริบทเกี่ยวกับผู้ใช้ปัจจุบันและบริบท GitHub ที่คุณกำลังดำเนินการ
workflowactionsเวิร์กโฟลว์ GitHub Actions และการดำเนินการ CI/CD
code-squarecode_qualityเครื่องมือที่เกี่ยวข้องกับคุณภาพโค้ดของ GitHub
codescancode_securityเครื่องมือที่เกี่ยวข้องกับความปลอดภัยของโค้ด เช่น GitHub Code Scanning
copilotcopilotเครื่องมือที่เกี่ยวข้องกับ Copilot
dependabotdependabotเครื่องมือ Dependabot
comment-discussiondiscussionsเครื่องมือที่เกี่ยวข้องกับ GitHub Discussions
logo-gistgistsเครื่องมือที่เกี่ยวข้องกับ GitHub Gist
git-branchgitเครื่องมือที่เกี่ยวข้องกับ GitHub Git API สำหรับการดำเนินการ Git ระดับต่ำ
issue-openedissuesเครื่องมือที่เกี่ยวข้องกับ GitHub Issues
taglabelsเครื่องมือที่เกี่ยวข้องกับ GitHub Labels
bellnotificationsเครื่องมือที่เกี่ยวข้องกับ GitHub Notifications
organizationorgsเครื่องมือที่เกี่ยวข้องกับ GitHub Organization
projectprojectsเครื่องมือที่เกี่ยวข้องกับ GitHub Projects
git-pull-requestpull_requestsเครื่องมือที่เกี่ยวข้องกับ GitHub Pull Request
reporeposเครื่องมือที่เกี่ยวข้องกับ GitHub Repository
shield-locksecret_protectionเครื่องมือที่เกี่ยวข้องกับการป้องกันความลับ เช่น GitHub Secret Scanning
shieldsecurity_advisoriesเครื่องมือที่เกี่ยวข้องกับคำแนะนำด้านความปลอดภัย
starstargazersเครื่องมือที่เกี่ยวข้องกับ GitHub Stargazers
peopleusersเครื่องมือที่เกี่ยวข้องกับ GitHub User

ชุดเครื่องมือเพิ่มเติมใน Remote GitHub MCP Server

ชุดเครื่องมือคำอธิบาย
copilotเครื่องมือที่เกี่ยวข้องกับ Copilot (เช่น Copilot Coding Agent)
copilot_spacesเครื่องมือที่เกี่ยวข้องกับ Copilot Spaces
github_support_docs_searchค้นหาเอกสารเพื่อตอบคำถามเกี่ยวกับผลิตภัณฑ์และการสนับสนุนของ GitHub

เครื่องมือ

workflow Actions
  • actions_get - รับรายละเอียดของทรัพยากร GitHub Actions (เวิร์กโฟลว์, การรันเวิร์กโฟลว์, งาน และอาร์ติแฟกต์)

    • ขอบเขต OAuth ที่จำเป็น: repo
    • method: เมธอดที่จะดำเนินการ (สตริง, จำเป็น)
    • owner: เจ้าของรีพอสิทอรี (สตริง, จำเป็น)
    • repo: ชื่อรีพอสิทอรี (สตริง, จำเป็น)
    • resource_id: ตัวระบุเฉพาะของทรัพยากร ซึ่งจะแตกต่างกันไปตาม "เมธอด" ที่ระบุ ดังนั้นโปรดตรวจสอบให้แน่ใจว่าคุณระบุ ID ที่ถูกต้อง:
      • ระบุ ID เวิร์กโฟลว์หรือชื่อไฟล์เวิร์กโฟลว์ (เช่น ci.yaml) สำหรับเมธอด 'get_workflow'
      • ระบุ ID การรันเวิร์กโฟลว์สำหรับเมธอด 'get_workflow_run', 'get_workflow_run_usage' และ 'get_workflow_run_logs_url'
      • ระบุ ID อาร์ติแฟกต์สำหรับเมธอด 'download_workflow_run_artifact'
      • ระบุ ID งานสำหรับเมธอด 'get_workflow_job' (สตริง, จำเป็น)
  • actions_list - แสดงรายการเวิร์กโฟลว์ GitHub Actions ในรีพอสิทอรี

    • ขอบเขต OAuth ที่จำเป็น: repo
    • method: การดำเนินการที่จะทำ (สตริง, จำเป็น)
    • owner: เจ้าของรีพอสิทอรี (สตริง, จำเป็น)
    • page: หมายเลขหน้าสำหรับการแบ่งหน้า (ค่าเริ่มต้น: 1) (ตัวเลข, ไม่บังคับ)
    • per_page: ผลลัพธ์ต่อหน้าสำหรับการแบ่งหน้า (ค่าเริ่มต้น: 30, สูงสุด: 100) (ตัวเลข, ไม่บังคับ)
    • repo: ชื่อรีพอสิทอรี (สตริง, จำเป็น)
    • resource_id: ตัวระบุเฉพาะของทรัพยากร ซึ่งจะแตกต่างกันไปตาม "เมธอด" ที่ระบุ ดังนั้นโปรดตรวจสอบให้แน่ใจว่าคุณระบุ ID ที่ถูกต้อง:
      • ไม่ต้องระบุ ID ทรัพยากรใดๆ สำหรับเมธอด 'list_workflows'
      • ระบุ ID เวิร์กโฟลว์หรือชื่อไฟล์เวิร์กโฟลว์ (เช่น ci.yaml) สำหรับเมธอด 'list_workflow_runs' หรือละเว้นเพื่อแสดงรายการการรันเวิร์กโฟลว์ทั้งหมดในรีพอสิทอรี
      • ระบุ ID การรันเวิร์กโฟลว์สำหรับเมธอด 'list_workflow_jobs' และ 'list_workflow_run_artifacts' (สตริง, ไม่บังคับ)
    • workflow_jobs_filter: ตัวกรองสำหรับงานเวิร์กโฟลว์ ใช้เมื่อ เมธอดเป็น 'list_workflow_jobs' เท่านั้น (อ็อบเจกต์, ไม่บังคับ)
    • workflow_runs_filter: ตัวกรองสำหรับการรันเวิร์กโฟลว์ ใช้เมื่อ เมธอดเป็น 'list_workflow_runs' เท่านั้น (อ็อบเจกต์, ไม่บังคับ)
  • actions_run_trigger - ทริกเกอร์การดำเนินการของเวิร์กโฟลว์ GitHub Actions

    • ขอบเขต OAuth ที่จำเป็น: repo
    • inputs: อินพุตที่เวิร์กโฟลว์ยอมรับ ใช้สำหรับเมธอด 'run_workflow' เท่านั้น (อ็อบเจกต์, ไม่บังคับ)
    • method: เมธอดที่จะดำเนินการ (สตริง, จำเป็น)
    • owner: เจ้าของรีพอสิทอรี (สตริง, จำเป็น)
    • ref: การอ้างอิง git สำหรับเวิร์กโฟลว์ การอ้างอิงสามารถเป็นชื่อแบรนช์หรือแท็ก จำเป็นสำหรับเมธอด 'run_workflow' (สตริง, ไม่บังคับ)
    • repo: ชื่อรีพอสิทอรี (สตริง, จำเป็น)
    • run_id: ID ของการรันเวิร์กโฟลว์ จำเป็นสำหรับทุกเมธอดยกเว้น 'run_workflow' (ตัวเลข, ไม่บังคับ)
    • workflow_id: ID เวิร์กโฟลว์ (ตัวเลข) หรือชื่อไฟล์เวิร์กโฟลว์ (เช่น main.yml, ci.yaml) จำเป็นสำหรับเมธอด 'run_workflow' (สตริง, ไม่บังคับ)
  • get_job_logs - รับบันทึกงานของเวิร์กโฟลว์ GitHub Actions

    • ขอบเขต OAuth ที่จำเป็น: repo
    • failed_only: เมื่อเป็น true จะรับบันทึกสำหรับงานที่ล้มเหลวทั้งหมดในการรันเวิร์กโฟลว์ที่ระบุโดย run_id จำเป็นต้องระบุ run_id (บูลีน, ไม่บังคับ)
    • job_id: ตัวระบุเฉพาะของงานเวิร์กโฟลว์ จำเป็นเมื่อรับบันทึกสำหรับงานเดียว (ตัวเลข, ไม่บังคับ)
    • owner: เจ้าของรีพอสิทอรี (สตริง, จำเป็น)
    • repo: ชื่อรีพอสิทอรี (สตริง, จำเป็น)
    • return_content: ส่งคืนเนื้อหาบันทึกจริงแทน URL (บูลีน, ไม่บังคับ)
    • run_id: ตัวระบุเฉพาะของการรันเวิร์กโฟลว์ จำเป็นเมื่อ failed_only เป็น true เพื่อรับบันทึกสำหรับงานที่ล้มเหลวทั้งหมดในการรัน (ตัวเลข, ไม่บังคับ)
    • tail_lines: จำนวนบรรทัดที่จะส่งคืนจากส่วนท้ายของบันทึก (ตัวเลข, ไม่บังคับ)
code-square Code Quality - **get_code_quality_finding** - รับการค้นพบคุณภาพโค้ด - **ขอบเขต OAuth ที่จำเป็น**: `repo` - `findingNumber`: หมายเลขของการค้นพบ (ตัวเลข, จำเป็น) - `owner`: เจ้าของของที่เก็บ (สตริง, จำเป็น) - `repo`: ชื่อของที่เก็บ (สตริง, จำเป็น)
codescan ความปลอดภัยของโค้ด
  • get_code_scanning_alert - รับการแจ้งเตือนการสแกนโค้ด

    • ขอบเขต OAuth ที่จำเป็น: security_events
    • ขอบเขต OAuth ที่ยอมรับ: repo, security_events
    • alertNumber: หมายเลขของการแจ้งเตือน (ตัวเลข, จำเป็น)
    • owner: เจ้าของของที่เก็บ (สตริง, จำเป็น)
    • repo: ชื่อของที่เก็บ (สตริง, จำเป็น)
  • list_code_scanning_alerts - แสดงรายการการแจ้งเตือนการสแกนโค้ด

    • ขอบเขต OAuth ที่จำเป็น: security_events
    • ขอบเขต OAuth ที่ยอมรับ: repo, security_events
    • owner: เจ้าของของที่เก็บ (สตริง, จำเป็น)
    • page: หมายเลขหน้าสำหรับการแบ่งหน้า (ขั้นต่ำ 1) (ตัวเลข, ไม่บังคับ)
    • perPage: ผลลัพธ์ต่อหน้าสำหรับการแบ่งหน้า (ขั้นต่ำ 1, สูงสุด 100) (ตัวเลข, ไม่บังคับ)
    • ref: การอ้างอิง Git สำหรับผลลัพธ์ที่คุณต้องการแสดงรายการ (สตริง, ไม่บังคับ)
    • repo: ชื่อของที่เก็บ (สตริง, จำเป็น)
    • severity: กรองการแจ้งเตือนการสแกนโค้ดตามความรุนแรง (สตริง, ไม่บังคับ)
    • state: กรองการแจ้งเตือนการสแกนโค้ดตามสถานะ ค่าเริ่มต้นคือเปิด (สตริง, ไม่บังคับ)
    • tool_name: ชื่อของเครื่องมือที่ใช้สำหรับการสแกนโค้ด (สตริง, ไม่บังคับ)
person บริบท
  • get_me - รับโปรไฟล์ผู้ใช้ของฉัน

    • ไม่จำเป็นต้องมีพารามิเตอร์
  • get_team_members - รับสมาชิกทีม

    • ขอบเขต OAuth ที่จำเป็น: read:org
    • ขอบเขต OAuth ที่ยอมรับ: admin:org, read:org, write:org
    • org: การเข้าสู่ระบบขององค์กร (เจ้าของ) ที่มีทีม (สตริง, จำเป็น)
    • team_slug: ชื่อย่อของทีม (สตริง, จำเป็น)
  • get_teams - รับทีม

    • ขอบเขต OAuth ที่จำเป็น: read:org
    • ขอบเขต OAuth ที่ยอมรับ: admin:org, read:org, write:org
    • user: ชื่อผู้ใช้ที่จะรับทีม หากไม่ระบุ จะใช้ผู้ใช้ที่ได้รับการรับรองความถูกต้อง (สตริง, ไม่บังคับ)
copilot Copilot
  • assign_copilot_to_issue - กำหนด Copilot ให้กับปัญหา

    • ขอบเขต OAuth ที่จำเป็น: repo
    • base_ref: การอ้างอิง Git (เช่น สาขา) ที่เอเจนต์จะเริ่มทำงานจาก หากไม่ระบุ จะใช้สาขาเริ่มต้นของที่เก็บ (สตริง, ไม่บังคับ)
    • custom_instructions: คำแนะนำที่กำหนดเองเพิ่มเติมเพื่อแนะนำเอเจนต์นอกเหนือจากเนื้อหาของปัญหา ใช้เพื่อให้บริบท ข้อจำกัด หรือคำแนะนำเพิ่มเติมที่ไม่ได้ระบุไว้ในคำอธิบายปัญหา (สตริง, ไม่บังคับ)
    • issue_number: หมายเลขปัญหา (ตัวเลข, จำเป็น)
    • owner: เจ้าของที่เก็บ (สตริง, จำเป็น)
    • repo: ชื่อที่เก็บ (สตริง, จำเป็น)
  • request_copilot_review - ขอการตรวจสอบจาก Copilot

    • ขอบเขต OAuth ที่จำเป็น: repo
    • owner: เจ้าของที่เก็บ (สตริง, จำเป็น)
    • pullNumber: หมายเลขคำขอดึง (ตัวเลข, จำเป็น)
    • repo: ชื่อที่เก็บ (สตริง, จำเป็น)
dependabot Dependabot
  • get_dependabot_alert - รับการแจ้งเตือน Dependabot

    • ขอบเขต OAuth ที่จำเป็น: security_events
    • ขอบเขต OAuth ที่ยอมรับ: repo, security_events
    • alertNumber: หมายเลขของการแจ้งเตือน (ตัวเลข, จำเป็น)
    • owner: เจ้าของของที่เก็บ (สตริง, จำเป็น)
    • repo: ชื่อของที่เก็บ (สตริง, จำเป็น)
  • list_dependabot_alerts - แสดงรายการการแจ้งเตือน Dependabot

    • ขอบเขต OAuth ที่จำเป็น: security_events
    • ขอบเขต OAuth ที่ยอมรับ: repo, security_events
    • after: เคอร์เซอร์สำหรับการแบ่งหน้า ใช้เคอร์เซอร์จากการตอบกลับก่อนหน้า (สตริง, ไม่บังคับ)
    • owner: เจ้าของของที่เก็บ (สตริง, จำเป็น)
    • perPage: ผลลัพธ์ต่อหน้าสำหรับการแบ่งหน้า (ขั้นต่ำ 1, สูงสุด 100) (ตัวเลข, ไม่บังคับ)
    • repo: ชื่อของที่เก็บ (สตริง, จำเป็น)
    • severity: กรองการแจ้งเตือน Dependabot ตามความรุนแรง (สตริง, ไม่บังคับ)
    • state: กรองการแจ้งเตือน Dependabot ตามสถานะ ค่าเริ่มต้นคือเปิด (สตริง, ไม่บังคับ)
comment-discussion การสนทนา
  • discussion_comment_write - จัดการความคิดเห็นในการสนทนา

    • ขอบเขต OAuth ที่จำเป็น: repo
    • body: เนื้อหาความคิดเห็น (จำเป็นสำหรับเมธอด 'add', 'reply' และ 'update') (สตริง, ไม่บังคับ)
    • commentNodeID: Node ID ของความคิดเห็นในการสนทนา (จำเป็นสำหรับเมธอด 'reply', 'update', 'delete', 'mark_answer' และ 'unmark_answer') สำหรับ 'reply' นี่คือความคิดเห็นระดับบนสุดที่จะตอบกลับ GitHub Discussions รองรับการซ้อนกันเพียงหนึ่งระดับเท่านั้น (สตริง, ไม่บังคับ)
    • discussionNumber: หมายเลขการสนทนา (จำเป็นสำหรับเมธอด 'add' และ 'reply') (ตัวเลข, ไม่บังคับ)
    • method: การดำเนินการเขียนที่จะดำเนินการกับความคิดเห็นในการสนทนา ตัวเลือกคือ:
      • 'add' - เพิ่มความคิดเห็นระดับบนสุดใหม่ในการสนทนา
      • 'reply' - ตอบกลับความคิดเห็นในการสนทนาระดับบนสุด (GitHub Discussions รองรับการซ้อนกันเพียงหนึ่งระดับเท่านั้น)
      • 'update' - อัปเดตความคิดเห็นในการสนทนาที่มีอยู่
      • 'delete' - ลบความคิดเห็นในการสนทนา
      • 'mark_answer' - ทำเครื่องหมายความคิดเห็นในการสนทนาเป็นคำตอบ (Q&A เท่านั้น)
      • 'unmark_answer' - ยกเลิกการทำเครื่องหมายความคิดเห็นในการสนทนาเป็นคำตอบ (Q&A เท่านั้น) (สตริง, จำเป็น)
    • owner: เจ้าของที่เก็บ (จำเป็นสำหรับเมธอด 'add' และ 'reply') (สตริง, ไม่บังคับ)
    • repo: ชื่อที่เก็บ (จำเป็นสำหรับเมธอด 'add' และ 'reply') (สตริง, ไม่บังคับ)
  • get_discussion - รับการสนทนา

    • ขอบเขต OAuth ที่จำเป็น: repo
    • discussionNumber: หมายเลขการสนทนา (ตัวเลข, จำเป็น)
    • owner: เจ้าของที่เก็บ (สตริง, จำเป็น)
    • repo: ชื่อที่เก็บ (สตริง, จำเป็น)
  • get_discussion_comments - รับความคิดเห็นในการสนทนา

    • ขอบเขต OAuth ที่จำเป็น: repo
    • after: เคอร์เซอร์สำหรับการแบ่งหน้า ใช้เคอร์เซอร์จากการตอบกลับก่อนหน้า (สตริง, ไม่บังคับ)
    • discussionNumber: หมายเลขการสนทนา (ตัวเลข, จำเป็น)
    • includeReplies: เมื่อเป็นจริง ความคิดเห็นระดับบนสุดแต่ละรายการจะรวมการตอบกลับที่ซ้อนอยู่ภายใน (สูงสุด 100 การตอบกลับต่อความคิดเห็น ซึ่งเป็นค่าสูงสุดของ GitHub API) ค่าเริ่มต้นคือเท็จ (บูลีน, ไม่บังคับ)
    • owner: เจ้าของที่เก็บ (สตริง, จำเป็น)
    • perPage: ผลลัพธ์ต่อหน้าสำหรับการแบ่งหน้า (ขั้นต่ำ 1, สูงสุด 100) (ตัวเลข, ไม่บังคับ)
    • repo: ชื่อที่เก็บ (สตริง, จำเป็น)
  • list_discussion_categories - แสดงรายการหมวดหมู่การสนทนา

    • ขอบเขต OAuth ที่จำเป็น: repo
    • owner: เจ้าของที่เก็บ (สตริง, จำเป็น)
    • repo: ชื่อที่เก็บ หากไม่ระบุ หมวดหมู่การสนทนาจะถูกสอบถามในระดับองค์กร (สตริง, ไม่บังคับ)
  • list_discussions - แสดงรายการการสนทนา

    • ขอบเขต OAuth ที่จำเป็น: repo
    • after: เคอร์เซอร์สำหรับการแบ่งหน้า ใช้เคอร์เซอร์จากการตอบกลับก่อนหน้า (สตริง, ไม่บังคับ)
    • category: ตัวกรองเพิ่มเติมตาม ID หมวดหมู่การสนทนา หากระบุ จะแสดงเฉพาะการสนทนาที่มีหมวดหมู่นี้ (สตริง, ไม่บังคับ)
    • direction: ทิศทางการเรียงลำดับ (สตริง, ไม่บังคับ)
    • orderBy: เรียงลำดับการสนทนาตามฟิลด์ หากระบุ จำเป็นต้องระบุ 'direction' ด้วย (สตริง, ไม่บังคับ)
    • owner: เจ้าของที่เก็บ (สตริง, จำเป็น)
    • perPage: ผลลัพธ์ต่อหน้าสำหรับการแบ่งหน้า (ขั้นต่ำ 1, สูงสุด 100) (ตัวเลข, ไม่บังคับ)
    • repo: ชื่อที่เก็บ หากไม่ระบุ การสนทนาจะถูกสอบถามในระดับองค์กร (สตริง, ไม่บังคับ)
logo-gist Gists
  • create_gist - สร้าง Gist

    • ขอบเขต OAuth ที่จำเป็น: gist
    • content: เนื้อหาสำหรับการสร้าง gist ไฟล์เดียวอย่างง่าย (สตริง, จำเป็น)
    • description: คำอธิบายของ gist (สตริง, ไม่บังคับ)
    • filename: ชื่อไฟล์สำหรับการสร้าง gist ไฟล์เดียวอย่างง่าย (สตริง, จำเป็น)
    • public: ว่า gist เป็นสาธารณะหรือไม่ (บูลีน, ไม่บังคับ)
  • get_gist - รับเนื้อหา Gist

    • gist_id: ID ของ gist (สตริง, จำเป็น)
  • list_gists - แสดงรายการ Gists

    • page: หมายเลขหน้าสำหรับการแบ่งหน้า (ขั้นต่ำ 1) (ตัวเลข, ไม่บังคับ)
    • perPage: ผลลัพธ์ต่อหน้าสำหรับการแบ่งหน้า (ขั้นต่ำ 1, สูงสุด 100) (ตัวเลข, ไม่บังคับ)
    • since: เฉพาะ gist ที่อัปเดตหลังจากเวลานี้ (การประทับเวลา ISO 8601) (สตริง, ไม่บังคับ)
    • username: ชื่อผู้ใช้ GitHub (ละเว้นสำหรับ gist ของผู้ใช้ที่ได้รับการรับรองความถูกต้อง) (สตริง, ไม่บังคับ)
  • update_gist - อัปเดต Gist

    • ขอบเขต OAuth ที่จำเป็น: gist
    • content: เนื้อหาสำหรับไฟล์ (สตริง, จำเป็น)
    • description: คำอธิบายที่อัปเดตของ gist (สตริง, ไม่บังคับ)
    • filename: ชื่อไฟล์ที่จะอัปเดตหรือสร้าง (สตริง, จำเป็น)
    • gist_id: ID ของ gist ที่จะอัปเดต (สตริง, จำเป็น)
git-branch Git
  • get_repository_tree - รับโครงสร้างที่เก็บ
    • ขอบเขต OAuth ที่จำเป็น: repo
    • owner: เจ้าของที่เก็บ (ชื่อผู้ใช้หรือองค์กร) (สตริง, จำเป็น)
    • path_filter: คำนำหน้าเส้นทางเพิ่มเติมเพื่อกรองผลลัพธ์โครงสร้าง (เช่น 'src/' เพื่อแสดงเฉพาะไฟล์ในไดเรกทอรี src) (สตริง, ไม่บังคับ)
    • recursive: การตั้งค่าพารามิเตอร์นี้เป็นจริงจะส่งคืนอ็อบเจ็กต์หรือโครงสร้างย่อยที่อ้างอิงโดยโครงสร้าง ค่าเริ่มต้นคือเท็จ (บูลีน, ไม่บังคับ)
    • repo: ชื่อที่เก็บ (สตริง, จำเป็น)
    • tree_sha: ค่า SHA1 หรือชื่ออ้างอิง (สาขาหรือแท็ก) ของโครงสร้าง ค่าเริ่มต้นคือสาขาเริ่มต้นของที่เก็บ (สตริง, ไม่บังคับ)
issue-opened ปัญหา
  • add_issue_comment - เพิ่มความคิดเห็นในปัญหาหรือคำขอดึง

    • ขอบเขต OAuth ที่จำเป็น: repo
    • body: เนื้อหาความคิดเห็น จำเป็นเว้นแต่จะมีการระบุปฏิกิริยา (สตริง, ไม่บังคับ)
    • comment_id: ID ตัวเลขของความคิดเห็นในปัญหาหรือคำขอดึงที่จะตอบโต้ ใช้สำหรับปฏิกิริยาต่อความคิดเห็น ละเว้นเพื่อตอบโต้ต่อปัญหาหรือคำขอดึงเอง ไม่สามารถใช้ร่วมกับ body ได้ (ตัวเลข, ไม่บังคับ)
    • issue_number: หมายเลขปัญหาหรือคำขอดึงที่จะแสดงความคิดเห็นหรือตอบโต้ (ตัวเลข, จำเป็น)
    • owner: เจ้าของที่เก็บ (สตริง, จำเป็น)
    • reaction: ปฏิกิริยาอีโมจิที่จะเพิ่ม จำเป็นเว้นแต่จะมีการระบุ body (สตริง, ไม่บังคับ)
    • repo: ชื่อที่เก็บ (สตริง, จำเป็น)
  • get_label - รับป้ายกำกับเฉพาะจากที่เก็บ

    • ขอบเขต OAuth ที่จำเป็น: repo
    • name: ชื่อป้ายกำกับ (string, จำเป็น)
    • owner: เจ้าของที่เก็บ (ชื่อผู้ใช้หรือชื่อองค์กร) (string, จำเป็น)
    • repo: ชื่อที่เก็บ (string, จำเป็น)
  • issue_read - รับรายละเอียดของ issue

    • ขอบเขต OAuth ที่จำเป็น: repo
    • issue_number: หมายเลขของ issue (number, จำเป็น)
    • method: การดำเนินการอ่านที่จะทำกับ issue เดียว ตัวเลือกคือ:
      1. get - รับรายละเอียดของ issue และยังส่งคืนแฟล็กลำดับชั้นแบบ best-effort (has_parent, has_children); parent และ sub_issues_summary เป็นบทสรุปความสัมพันธ์ที่ไม่บังคับ
      2. get_comments - รับความคิดเห็นของ issue
      3. get_sub_issues - รับ sub-issue (ลูก) ของ issue
      4. get_parent - รับ issue หลัก หาก issue นี้เป็น sub-issue ของอีก issue หนึ่ง
      5. get_labels - รับป้ายกำกับที่กำหนดให้กับ issue (string, จำเป็น)
    • owner: เจ้าของที่เก็บ (string, จำเป็น)
    • page: หมายเลขหน้าสำหรับการแบ่งหน้า (ขั้นต่ำ 1) (number, ไม่บังคับ)
    • perPage: ผลลัพธ์ต่อหน้าสำหรับการแบ่งหน้า (ขั้นต่ำ 1, สูงสุด 100) (number, ไม่บังคับ)
    • repo: ชื่อของที่เก็บ (string, จำเป็น)
  • issue_write - สร้างหรืออัปเดต issue/pull request

    • ขอบเขต OAuth ที่จำเป็น: repo
    • assignees: ชื่อผู้ใช้ที่จะมอบหมายให้กับ issue นี้ (string[], ไม่บังคับ)
    • body: เนื้อหาของ issue (string, ไม่บังคับ)
    • duplicate_of: หมายเลข issue ที่ issue นี้ซ้ำกัน ใช้เฉพาะเมื่อ state_reason เป็น 'duplicate' (number, ไม่บังคับ)
    • issue_fields: ค่าฟิลด์ของ issue ที่จะตั้งค่าหรือล้าง แต่ละรายการต้องมี 'field_name' และหนึ่งใน 'value', 'field_option_name' หรือ 'delete: true' (object[], ไม่บังคับ)
    • issue_number: หมายเลข issue ที่จะอัปเดต (number, ไม่บังคับ)
    • labels: ป้ายกำกับที่จะใช้กับ issue นี้ (string[], ไม่บังคับ)
    • method: การดำเนินการเขียนที่จะทำกับ issue เดียว ตัวเลือกคือ:
      • 'create' - สร้าง issue ใหม่
      • 'update' - อัปเดต issue ที่มีอยู่ (string, จำเป็น)
    • milestone: หมายเลขไมล์สโตน (number, ไม่บังคับ)
    • owner: เจ้าของที่เก็บ (string, จำเป็น)
    • repo: ชื่อที่เก็บ (string, จำเป็น)
    • state: สถานะใหม่ (string, ไม่บังคับ)
    • state_reason: เหตุผลสำหรับการเปลี่ยนสถานะ ละเว้นหากไม่มีการเปลี่ยนสถานะ (string, ไม่บังคับ)
    • title: ชื่อ issue (string, ไม่บังคับ)
    • type: ประเภทของ issue นี้ ใช้เฉพาะเมื่อเปิดใช้งานประเภท issue สำหรับที่เก็บนี้ ใช้เครื่องมือ list_issue_types เพื่อรับค่าประเภทที่ถูกต้องสำหรับที่เก็บนี้หรือองค์กรเจ้าของ หากที่เก็บไม่รองรับประเภท issue ให้ละเว้นพารามิเตอร์นี้ (string, ไม่บังคับ)
  • list_issue_fields - แสดงรายการฟิลด์ของ issue

    • ขอบเขต OAuth ที่จำเป็น (อย่างใดอย่างหนึ่ง): repo, read:org
    • ขอบเขต OAuth ที่ยอมรับ: admin:org, read:org, repo, write:org
    • owner: เจ้าของบัญชีของที่เก็บหรือองค์กร ชื่อไม่คำนึงถึงตัวพิมพ์เล็กใหญ่ (string, จำเป็น)
    • repo: ชื่อของที่เก็บ เมื่อระบุ จะส่งคืนฟิลด์สำหรับที่เก็บเฉพาะนี้ (ที่สืบทอดมาจากองค์กร) เมื่อละเว้น จะส่งคืนฟิลด์ระดับองค์กรโดยตรง (string, ไม่บังคับ)
  • list_issue_types - แสดงรายการประเภท issue ที่มีอยู่

    • ขอบเขต OAuth ที่จำเป็น (อย่างใดอย่างหนึ่ง): repo, read:org
    • ขอบเขต OAuth ที่ยอมรับ: admin:org, read:org, repo, write:org
    • owner: เจ้าของบัญชีของที่เก็บหรือองค์กร (string, จำเป็น)
    • repo: ชื่อของที่เก็บ เมื่อระบุ จะส่งคืนประเภท issue สำหรับที่เก็บเฉพาะนี้ เมื่อละเว้น จะส่งคืนประเภท issue ระดับองค์กรโดยตรง (string, ไม่บังคับ)
  • list_issues - แสดงรายการ issue

    • ขอบเขต OAuth ที่จำเป็น: repo
    • after: เคอร์เซอร์สำหรับการแบ่งหน้า ใช้เคอร์เซอร์จากการตอบกลับก่อนหน้า (string, ไม่บังคับ)
    • direction: ทิศทางการเรียงลำดับ หากระบุ ต้องระบุ 'orderBy' ด้วย (string, ไม่บังคับ)
    • field_filters: กรองตามค่าฟิลด์ issue ที่กำหนดเอง แต่ละรายการใช้ field_name และ value; เซิร์ฟเวอร์จะค้นหาฟิลด์และแปลงค่าเป็นประเภทของมัน (ชื่อตัวเลือกเดี่ยว, ข้อความ, ตัวเลข หรือวันที่ YYYY-MM-DD) (object[], ไม่บังคับ)
    • labels: กรองตามป้ายกำกับ (string[], ไม่บังคับ)
    • orderBy: เรียงลำดับ issue ตามฟิลด์ หากระบุ ต้องระบุ 'direction' ด้วย (string, ไม่บังคับ)
    • owner: เจ้าของที่เก็บ (string, จำเป็น)
    • perPage: ผลลัพธ์ต่อหน้าสำหรับการแบ่งหน้า (ขั้นต่ำ 1, สูงสุด 100) (number, ไม่บังคับ)
    • repo: ชื่อที่เก็บ (string, จำเป็น)
    • since: กรองตามวันที่ (การประทับเวลา ISO 8601) (string, ไม่บังคับ)
    • state: กรองตามสถานะ โดยค่าเริ่มต้นจะส่งคืนทั้ง issue ที่เปิดและปิดเมื่อไม่ระบุ (string, ไม่บังคับ)
  • search_issues - ค้นหา issue

    • ขอบเขต OAuth ที่จำเป็น: repo
    • order: ลำดับการจัดเรียง (string, ไม่บังคับ)
    • owner: เจ้าของที่เก็บที่ไม่บังคับ หากระบุพร้อมกับ repo จะแสดงเฉพาะ issue สำหรับที่เก็บนี้ (string, ไม่บังคับ)
    • page: หมายเลขหน้าสำหรับการแบ่งหน้า (ขั้นต่ำ 1) (number, ไม่บังคับ)
    • perPage: ผลลัพธ์ต่อหน้าสำหรับการแบ่งหน้า (ขั้นต่ำ 1, สูงสุด 100) (number, ไม่บังคับ)
    • query: คำค้นหาโดยใช้ไวยากรณ์การค้นหา issue ของ GitHub (string, จำเป็น)
    • repo: ชื่อที่เก็บที่ไม่บังคับ หากระบุพร้อมกับ owner จะแสดงเฉพาะ issue สำหรับที่เก็บนี้ (string, ไม่บังคับ)
    • sort: ฟิลด์การจัดเรียงตามจำนวนการจับคู่ของหมวดหมู่ ค่าเริ่มต้นคือการจับคู่ที่ดีที่สุด (string, ไม่บังคับ)
  • sub_issue_write - เปลี่ยน sub-issue

    • ขอบเขต OAuth ที่จำเป็น: 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
      • 'remove' - ลบ sub-issue ออกจาก issue หลักในที่เก็บ GitHub
      • 'reprioritize' - เปลี่ยนลำดับของ sub-issue ภายใน issue หลักในที่เก็บ GitHub ใช้ 'after_id' หรือ 'before_id' เพื่อระบุตำแหน่งใหม่ เขียนลำดับชั้นของ issue หากต้องการย้าย sub-issue ไปยัง issue หลักใหม่ ให้ใช้ add กับ replace_parent=true; ไม่มีฟิลด์หลักที่เขียนได้ (string, จำเป็น)
    • owner: เจ้าของที่เก็บ (string, จำเป็น)
    • replace_parent: เมื่อเป็น true จะแทนที่ issue หลักปัจจุบันของ sub-issue ใช้กับเมธอด 'add' เท่านั้น (boolean, ไม่บังคับ)
    • repo: ชื่อที่เก็บ (string, จำเป็น)
    • sub_issue_id: ID ของ sub-issue ที่จะเพิ่ม ID ไม่เหมือนกับหมายเลข issue (number, จำเป็น)
tag ป้ายกำกับ
  • get_label - รับป้ายกำกับเฉพาะจากที่เก็บ

    • ขอบเขต OAuth ที่จำเป็น: repo
    • name: ชื่อป้ายกำกับ (string, จำเป็น)
    • owner: เจ้าของที่เก็บ (ชื่อผู้ใช้หรือชื่อองค์กร) (string, จำเป็น)
    • repo: ชื่อที่เก็บ (string, จำเป็น)
  • label_write - การดำเนินการเขียนบนป้ายกำกับของที่เก็บ

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

    • ขอบเขต OAuth ที่จำเป็น: repo
    • owner: เจ้าของที่เก็บ (ชื่อผู้ใช้หรือชื่อองค์กร) - จำเป็นสำหรับการดำเนินการทั้งหมด (string, จำเป็น)
    • repo: ชื่อที่เก็บ - จำเป็นสำหรับการดำเนินการทั้งหมด (string, จำเป็น)
bell การแจ้งเตือน
  • dismiss_notification - ปิดการแจ้งเตือน

    • ขอบเขต OAuth ที่จำเป็น: notifications
    • state: สถานะใหม่ของการแจ้งเตือน (read/done) (string, จำเป็น)
    • threadID: ID ของเธรดการแจ้งเตือน (string, จำเป็น)
  • get_notification_details - รับรายละเอียดการแจ้งเตือน

    • ขอบเขต OAuth ที่จำเป็น: notifications
    • notificationID: ID ของการแจ้งเตือน (string, จำเป็น)
  • list_notifications - แสดงรายการการแจ้งเตือน

    • ขอบเขต OAuth ที่จำเป็น: notifications
    • before: แสดงเฉพาะการแจ้งเตือนที่อัปเดตก่อนเวลาที่กำหนด (รูปแบบ ISO 8601) (string, ไม่บังคับ)
    • filter: กรองการแจ้งเตือนไปที่ ใช้ค่าเริ่มต้นเว้นแต่จะระบุ การแจ้งเตือนที่อ่านแล้วคือการแจ้งเตือนที่ผู้ใช้ได้รับทราบแล้ว การแจ้งเตือนที่มีส่วนร่วมคือการแจ้งเตือนที่ผู้ใช้มีส่วนเกี่ยวข้องโดยตรง เช่น issue หรือ pull request ที่พวกเขาแสดงความคิดเห็นหรือสร้างขึ้น (string, ไม่บังคับ)
    • owner: เจ้าของที่เก็บที่ไม่บังคับ หากระบุพร้อมกับ repo จะแสดงเฉพาะการแจ้งเตือนสำหรับที่เก็บนี้ (string, ไม่บังคับ)
    • page: หมายเลขหน้าสำหรับการแบ่งหน้า (ขั้นต่ำ 1) (number, ไม่บังคับ)
    • perPage: ผลลัพธ์ต่อหน้าสำหรับการแบ่งหน้า (ขั้นต่ำ 1, สูงสุด 100) (number, ไม่บังคับ)
    • repo: ชื่อที่เก็บที่ไม่บังคับ หากระบุพร้อมกับ owner จะแสดงเฉพาะการแจ้งเตือนสำหรับที่เก็บนี้ (string, ไม่บังคับ)
    • since: แสดงเฉพาะการแจ้งเตือนที่อัปเดตหลังเวลาที่กำหนด (รูปแบบ ISO 8601) (string, ไม่บังคับ)
  • manage_notification_subscription - จัดการการสมัครรับการแจ้งเตือน

    • ขอบเขต OAuth ที่จำเป็น: notifications
    • action: การดำเนินการที่จะทำ: ignore, watch หรือ delete การสมัครรับการแจ้งเตือน (string, จำเป็น)
    • notificationID: ID ของเธรดการแจ้งเตือน (string, จำเป็น)
  • manage_repository_notification_subscription - จัดการการสมัครรับการแจ้งเตือนของที่เก็บ

    • ขอบเขต OAuth ที่จำเป็น: notifications
    • action: การดำเนินการที่จะทำ: ignore, watch หรือ delete การสมัครรับการแจ้งเตือนของที่เก็บ (string, จำเป็น)
    • owner: เจ้าของบัญชีของที่เก็บ (string, จำเป็น)
    • repo: ชื่อของที่เก็บ (string, จำเป็น)
  • mark_all_notifications_read - ทำเครื่องหมายการแจ้งเตือนทั้งหมดว่าอ่านแล้ว

    • ขอบเขต OAuth ที่จำเป็น: notifications
    • lastReadAt: อธิบายจุดสุดท้ายที่ตรวจสอบการแจ้งเตือน (ไม่บังคับ) ค่าเริ่มต้น: ตอนนี้ (string, ไม่บังคับ)
    • owner: เจ้าของที่เก็บที่ไม่บังคับ หากระบุพร้อมกับ repo จะทำเครื่องหมายเฉพาะการแจ้งเตือนสำหรับที่เก็บนี้ว่าอ่านแล้ว (string, ไม่บังคับ)
    • repo: ชื่อที่เก็บที่ไม่บังคับ หากระบุพร้อมกับ owner จะทำเครื่องหมายเฉพาะการแจ้งเตือนสำหรับที่เก็บนี้ว่าอ่านแล้ว (string, ไม่บังคับ)
organization องค์กร
  • search_orgs - ค้นหาองค์กร
    • ขอบเขต OAuth ที่จำเป็น: read:org
    • ขอบเขต OAuth ที่ยอมรับ: admin:org, read:org, write:org
    • order: ลำดับการจัดเรียง (string, ไม่บังคับ)
    • page: หมายเลขหน้าสำหรับการแบ่งหน้า (ขั้นต่ำ 1) (number, ไม่บังคับ)
    • perPage: ผลลัพธ์ต่อหน้าสำหรับการแบ่งหน้า (ขั้นต่ำ 1, สูงสุด 100) (number, ไม่บังคับ)
    • query: คำค้นหาองค์กร ตัวอย่าง: 'microsoft', 'location:california', 'created:>=2025-01-01' การค้นหาจะถูกจำกัดขอบเขตเป็น type:org โดยอัตโนมัติ (string, จำเป็น)
    • sort: ฟิลด์การจัดเรียงตามหมวดหมู่ (string, ไม่บังคับ)
project โปรเจกต์
  • projects_get - รับรายละเอียดของทรัพยากร GitHub Projects

    • ขอบเขต OAuth ที่จำเป็น: read:project
    • ขอบเขต OAuth ที่ยอมรับ: project, 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: node ID ของการอัปเดตสถานะโปรเจกต์ จำเป็นสำหรับเมธอด 'get_project_status_update' (string, ไม่บังคับ)
  • projects_list - แสดงรายการทรัพยากร GitHub Projects

    • ขอบเขต OAuth ที่จำเป็น: read:project
    • ขอบเขต OAuth ที่ยอมรับ: project, 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: ประเภทเจ้าของ (user หรือ org) หากไม่ได้ระบุ จะลองทั้งสองแบบโดยอัตโนมัติ (string, ไม่บังคับ)
    • per_page: ผลลัพธ์ต่อหน้า (สูงสุด 50) (number, ไม่บังคับ)
    • project_number: หมายเลขของโปรเจกต์ จำเป็นสำหรับเมธอด 'list_project_fields', 'list_project_items' และ 'list_project_status_updates' (number, ไม่บังคับ)
    • query: สตริงตัวกรอง/คำค้นหา สำหรับ list_projects: กรองตามข้อความชื่อเรื่องและสถานะ (เช่น "roadmap is:open") สำหรับ list_project_items: การกรองขั้นสูงโดยใช้ไวยากรณ์การกรองโปรเจกต์ของ GitHub (string, ไม่บังคับ)
  • projects_write - จัดการ GitHub Projects

    • ขอบเขต OAuth ที่จำเป็น: project
    • body: เนื้อหาของการอัปเดตสถานะ (markdown) ใช้สำหรับเมธอด 'create_project_status_update' (string, ไม่บังคับ)
    • field_name: ชื่อของฟิลด์การวนซ้ำ (เช่น 'Sprint') จำเป็นสำหรับเมธอด 'create_iteration_field' (string, ไม่บังคับ)
    • 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: เจ้าของ (ผู้ใช้หรือองค์กร) ของที่เก็บที่มี issue หรือ pull request จำเป็นสำหรับเมธอด 'add_project_item' นอกจากนี้ยังยอมรับโดย 'update_project_item' เมื่อระบุรายการด้วยหมายเลข issue (string, ไม่บังคับ)
    • item_repo: ชื่อของที่เก็บที่มี issue หรือ pull request จำเป็นสำหรับเมธอด 'add_project_item' นอกจากนี้ยังยอมรับโดย 'update_project_item' เมื่อระบุรายการด้วยหมายเลข issue (string, ไม่บังคับ)
    • item_type: ประเภทของรายการ เป็น issue หรือ pull_request จำเป็นสำหรับเมธอด 'add_project_item' (string, ไม่บังคับ)
    • iteration_duration: ระยะเวลาเป็นวันสำหรับการวนซ้ำของฟิลด์ (เช่น 7 สำหรับรายสัปดาห์, 14 สำหรับรายปักษ์) จำเป็นสำหรับเมธอด 'create_iteration_field' (number, ไม่บังคับ)
    • iterations: การวนซ้ำแบบกำหนดเองสำหรับเมธอด 'create_iteration_field' ตั้งค่านี้เฉพาะเมื่อคุณต้องการการวนซ้ำที่มีระยะเวลาแตกต่างกัน มีการพักระหว่างกัน หรือมีชื่อเฉพาะ มิฉะนั้นให้ละเว้น: GitHub จะสร้างการวนซ้ำสามครั้งโดยอัตโนมัติตามจำนวนวัน 'iteration_duration' โดยเริ่มจาก 'start_date' ซึ่งเป็นตัวเลือกที่เหมาะสมสำหรับกรณีส่วนใหญ่ (object[], ไม่บังคับ)
    • method: เมธอดที่จะดำเนินการ (string, จำเป็น)
    • owner: เจ้าของโปรเจกต์ (ชื่อผู้ใช้หรือองค์กร) ชื่อไม่คำนึงถึงตัวพิมพ์เล็กใหญ่ (string, จำเป็น)
    • owner_type: ประเภทเจ้าของ (user หรือ org) จำเป็นสำหรับเมธอด '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: ออบเจกต์ที่อธิบายฟิลด์ที่จะอัปเดตและค่าใหม่ จำเป็นสำหรับ 'update_project_item' ยอมรับสองรูปแบบ: (1) ตาม ID — {"id": 123456, "value": "..."}; (2) ตามชื่อ — {"name": "Status", "value": "In Progress"} สำหรับฟิลด์ตัวเลือกเดียว การระบุชื่อตัวเลือกต้องใช้รูปแบบตามชื่อ; ในรูปแบบตาม ID ให้ส่ง ID ตัวเลือก ตั้งค่า value เป็น null เพื่อล้างฟิลด์ (object, ไม่บังคับ)
git-pull-request Pull Requests
  • add_comment_to_pending_review - เพิ่มความคิดเห็นรีวิวไปยังรีวิว pull request ที่รอดำเนินการล่าสุดของผู้ร้องขอ

    • ขอบเขต OAuth ที่จำเป็น: repo
    • body: ข้อความของความคิดเห็นรีวิว (string, จำเป็น)
    • line: บรรทัดของบล็อบใน diff ของ pull request ที่ความคิดเห็นมีผล สำหรับความคิดเห็นหลายบรรทัด คือบรรทัดสุดท้ายของช่วง (number, ไม่บังคับ)
    • owner: เจ้าของที่เก็บ (string, จำเป็น)
    • path: พาธสัมพัทธ์ไปยังไฟล์ที่จำเป็นต้องมีความคิดเห็น (string, จำเป็น)
    • pullNumber: หมายเลข pull request (number, จำเป็น)
    • repo: ชื่อที่เก็บ (string, จำเป็น)
    • side: ด้านของ diff ที่จะแสดงความคิดเห็น LEFT หมายถึงสถานะก่อนหน้า RIGHT หมายถึงสถานะใหม่ (string, ไม่บังคับ)
    • startLine: สำหรับความคิดเห็นหลายบรรทัด บรรทัดแรกของช่วงที่ความคิดเห็นมีผล (number, ไม่บังคับ)
    • startSide: สำหรับความคิดเห็นหลายบรรทัด ด้านเริ่มต้นของ diff ที่ความคิดเห็นมีผล LEFT หมายถึงสถานะก่อนหน้า RIGHT หมายถึงสถานะใหม่ (string, ไม่บังคับ)
    • subjectType: ระดับที่ความคิดเห็นถูกกำหนดเป้าหมาย (string, จำเป็น)
  • add_reply_to_pull_request_comment - เพิ่มการตอบกลับความคิดเห็น pull request

    • ขอบเขต OAuth ที่จำเป็น: repo
    • body: ข้อความของการตอบกลับ จำเป็นเว้นแต่จะระบุ reaction (string, ไม่บังคับ)
    • commentId: ID ตัวเลขของความคิดเห็นรีวิว pull request ที่จะตอบกลับหรือแสดง reaction ใช้หมายเลขจาก anchor #discussion_r... ไม่ใช่ GraphQL thread node ID (PRRT_...) (number, จำเป็น)
    • owner: เจ้าของที่เก็บ (string, จำเป็น)
    • pullNumber: หมายเลข pull request จำเป็นเมื่อระบุ body (number, ไม่บังคับ)
    • reaction: Emoji reaction ที่จะเพิ่ม จำเป็นเว้นแต่จะระบุ body (string, ไม่บังคับ)
    • repo: ชื่อที่เก็บ (string, จำเป็น)
  • create_pull_request - เปิด pull request ใหม่

    • ขอบเขต OAuth ที่จำเป็น: repo
    • base: บรานช์ที่จะ merge เข้าไป (string, จำเป็น)
    • body: คำอธิบาย PR (string, ไม่บังคับ)
    • draft: สร้างเป็น PR แบบร่าง (boolean, ไม่บังคับ)
    • head: บรานช์ที่มีการเปลี่ยนแปลง (string, จำเป็น)
    • maintainer_can_modify: อนุญาตให้ผู้ดูแลแก้ไขได้ (boolean, ไม่บังคับ)
    • owner: เจ้าของที่เก็บ (string, จำเป็น)
    • repo: ชื่อที่เก็บ (string, จำเป็น)
    • reviewers: ชื่อผู้ใช้ GitHub หรือ ORG/team-slug ผู้ตรวจสอบทีมที่จะขอรีวิว (string[], ไม่บังคับ)
    • title: ชื่อ PR (string, จำเป็น)
  • list_pull_requests - แสดงรายการ pull requests

    • ขอบเขต OAuth ที่จำเป็น: repo
    • base: กรองตามบรานช์ฐาน (string, ไม่บังคับ)
    • direction: ทิศทางการจัดเรียง (string, ไม่บังคับ)
    • head: กรองตามผู้ใช้/องค์กรต้นทางและบรานช์ (string, ไม่บังคับ)
    • owner: เจ้าของที่เก็บ (string, จำเป็น)
    • page: หมายเลขหน้าสำหรับการแบ่งหน้า (ขั้นต่ำ 1) (number, ไม่บังคับ)
    • perPage: ผลลัพธ์ต่อหน้าสำหรับการแบ่งหน้า (ขั้นต่ำ 1, สูงสุด 100) (number, ไม่บังคับ)
    • repo: ชื่อที่เก็บ (string, จำเป็น)
    • sort: จัดเรียงตาม (string, ไม่บังคับ)
    • state: กรองตามสถานะ (string, ไม่บังคับ)
  • merge_pull_request - รวม pull request

    • ขอบเขต OAuth ที่จำเป็น: repo
    • commit_message: รายละเอียดเพิ่มเติมสำหรับ merge commit (string, ไม่บังคับ)
    • commit_title: ชื่อสำหรับ merge commit (string, ไม่บังคับ)
    • merge_method: วิธีการ merge (string, ไม่บังคับ)
    • owner: เจ้าของที่เก็บ (string, จำเป็น)
    • pullNumber: หมายเลข pull request (number, จำเป็น)
    • repo: ชื่อที่เก็บ (string, จำเป็น)
  • pull_request_read - รับรายละเอียดของ pull request เดียว

    • ขอบเขต OAuth ที่จำเป็น: repo
    • after: เคอร์เซอร์สำหรับการแบ่งหน้า ใช้โดยเมธอด get_review_comments เท่านั้น ส่ง endCursor จาก PageInfo ของหน้าก่อนหน้าเพื่อดึงหน้าถัดไป (string, ไม่บังคับ)
    • method: การดำเนินการเพื่อระบุว่าต้องการดึงข้อมูล pull request ใดจาก GitHub ตัวเลือกที่เป็นไปได้:
      1. get - รับรายละเอียดของ pull request ที่ระบุ
      2. get_diff - รับ diff ของ pull request
      3. get_status - รับสถานะ commit รวมของ head commit ใน pull request
      4. get_files - รับรายการไฟล์ที่เปลี่ยนแปลงใน pull request ใช้กับพารามิเตอร์การแบ่งหน้าเพื่อควบคุมจำนวนผลลัพธ์ที่ส่งคืน
      5. get_commits - รับรายการ commits บน pull request ใช้กับพารามิเตอร์การแบ่งหน้าเพื่อควบคุมจำนวนผลลัพธ์ที่ส่งคืน
      6. get_review_comments - รับเธรดรีวิวบน pull request แต่ละเธรดประกอบด้วยความคิดเห็นรีวิวที่จัดกลุ่มตามตรรกะซึ่งสร้างขึ้นบนตำแหน่งโค้ดเดียวกันระหว่างการรีวิว pull request ส่งคืนเธรดพร้อมเมตาดาต้า (isResolved, isOutdated, isCollapsed) และความคิดเห็นที่เกี่ยวข้อง ใช้การแบ่งหน้าตามเคอร์เซอร์ (perPage, after) เพื่อควบคุมผลลัพธ์
      7. get_reviews - รับรีวิวบน pull request เมื่อถามถึงความคิดเห็นรีวิว ให้ใช้เมธอด get_review_comments ใช้กับพารามิเตอร์การแบ่งหน้าเพื่อควบคุมจำนวนผลลัพธ์ที่ส่งคืน
      8. get_comments - รับความคิดเห็นบน pull request ใช้สิ่งนี้หากผู้ใช้ไม่ได้ต้องการความคิดเห็นรีวิวโดยเฉพาะ ใช้กับพารามิเตอร์การแบ่งหน้าเพื่อควบคุมจำนวนผลลัพธ์ที่ส่งคืน
      9. get_check_runs - รับ check runs สำหรับ head commit ของ pull request Check runs คือ CI/CD jobs และ checks แต่ละตัวที่ทำงานบน PR (string, จำเป็น)
    • owner: เจ้าของรีพอสิทอรี (string, จำเป็น)
    • page: หมายเลขหน้าสำหรับการแบ่งหน้า (ขั้นต่ำ 1) (number, ไม่บังคับ)
    • perPage: ผลลัพธ์ต่อหน้าสำหรับการแบ่งหน้า (ขั้นต่ำ 1, สูงสุด 100) (number, ไม่บังคับ)
    • pullNumber: หมายเลข pull request (number, จำเป็น)
    • repo: ชื่อรีพอสิทอรี (string, จำเป็น)
  • pull_request_review_write - การดำเนินการเขียน (สร้าง, ส่ง, ลบ) บนรีวิว pull request

    • ขอบเขต OAuth ที่จำเป็น: repo
    • body: ข้อความความคิดเห็นรีวิว (string, ไม่บังคับ)
    • commitID: SHA ของ commit ที่จะรีวิว (string, ไม่บังคับ)
    • event: การดำเนินการรีวิวที่จะทำ (string, ไม่บังคับ)
    • method: การดำเนินการเขียนที่จะทำบนรีวิว pull request (string, จำเป็น)
    • owner: เจ้าของรีพอสิทอรี (string, จำเป็น)
    • pullNumber: หมายเลข pull request (number, จำเป็น)
    • repo: ชื่อรีพอสิทอรี (string, จำเป็น)
    • threadId: node ID ของเธรดรีวิว (เช่น PRRT_kwDOxxx) จำเป็นสำหรับเมธอด resolve_thread และ unresolve_thread รับ ID เธรดจาก pull_request_read ด้วยเมธอด get_review_comments (string, ไม่บังคับ)
  • search_pull_requests - ค้นหา pull requests

    • ขอบเขต OAuth ที่จำเป็น: repo
    • order: ลำดับการจัดเรียง (string, ไม่บังคับ)
    • owner: เจ้าของรีพอสิทอรี (ไม่บังคับ) หากระบุพร้อมกับ repo จะแสดงเฉพาะ pull requests สำหรับรีพอสิทอรีนี้ (string, ไม่บังคับ)
    • page: หมายเลขหน้าสำหรับการแบ่งหน้า (ขั้นต่ำ 1) (number, ไม่บังคับ)
    • perPage: ผลลัพธ์ต่อหน้าสำหรับการแบ่งหน้า (ขั้นต่ำ 1, สูงสุด 100) (number, ไม่บังคับ)
    • query: คำค้นหาโดยใช้ไวยากรณ์การค้นหา pull request ของ GitHub (string, จำเป็น)
    • repo: ชื่อรีพอสิทอรี (ไม่บังคับ) หากระบุพร้อมกับ owner จะแสดงเฉพาะ pull requests สำหรับรีพอสิทอรีนี้ (string, ไม่บังคับ)
    • sort: ฟิลด์จัดเรียงตามจำนวนการจับคู่ของหมวดหมู่ ค่าเริ่มต้นคือการจับคู่ที่ดีที่สุด (string, ไม่บังคับ)
  • update_pull_request - แก้ไข pull request

    • ขอบเขต OAuth ที่จำเป็น: repo
    • base: ชื่อ branch ฐานใหม่ (string, ไม่บังคับ)
    • body: คำอธิบายใหม่ (string, ไม่บังคับ)
    • draft: ทำเครื่องหมาย pull request เป็น draft (true) หรือพร้อมสำหรับการรีวิว (false) (boolean, ไม่บังคับ)
    • maintainer_can_modify: อนุญาตให้ผู้ดูแลแก้ไข (boolean, ไม่บังคับ)
    • owner: เจ้าของรีพอสิทอรี (string, จำเป็น)
    • pullNumber: หมายเลข pull request ที่จะอัปเดต (number, จำเป็น)
    • repo: ชื่อรีพอสิทอรี (string, จำเป็น)
    • reviewers: ชื่อผู้ใช้ GitHub หรือผู้ตรวจสอบทีม ORG/team-slug เพื่อขอรีวิวจาก (string[], ไม่บังคับ)
    • state: สถานะใหม่ (string, ไม่บังคับ)
    • title: ชื่อเรื่องใหม่ (string, ไม่บังคับ)
  • update_pull_request_branch - อัปเดต branch ของ pull request

    • ขอบเขต OAuth ที่จำเป็น: repo
    • expectedHeadSha: SHA ที่คาดหวังของ HEAD ref ของ pull request (string, ไม่บังคับ)
    • owner: เจ้าของรีพอสิทอรี (string, จำเป็น)
    • pullNumber: หมายเลข pull request (number, จำเป็น)
    • repo: ชื่อรีพอสิทอรี (string, จำเป็น)
repo รีพอสิทอรี
  • create_branch - สร้าง branch

    • ขอบเขต OAuth ที่จำเป็น: repo
    • branch: ชื่อสำหรับ branch ใหม่ (string, จำเป็น)
    • from_branch: branch ต้นทาง (ค่าเริ่มต้นคือค่าเริ่มต้นของ repo) (string, ไม่บังคับ)
    • owner: เจ้าของรีพอสิทอรี (string, จำเป็น)
    • repo: ชื่อรีพอสิทอรี (string, จำเป็น)
  • create_or_update_file - สร้างหรืออัปเดตไฟล์

    • ขอบเขต OAuth ที่จำเป็น: repo
    • branch: branch ที่จะสร้าง/อัปเดตไฟล์ใน (string, จำเป็น)
    • content: เนื้อหาของไฟล์ (string, จำเป็น)
    • message: ข้อความ commit (string, จำเป็น)
    • owner: เจ้าของรีพอสิทอรี (ชื่อผู้ใช้หรือองค์กร) (string, จำเป็น)
    • path: พาธที่จะสร้าง/อัปเดตไฟล์ (string, จำเป็น)
    • repo: ชื่อรีพอสิทอรี (string, จำเป็น)
    • sha: blob SHA ของไฟล์ที่ถูกแทนที่ จำเป็นหากไฟล์มีอยู่แล้ว (string, ไม่บังคับ)
  • create_repository - สร้างรีพอสิทอรี

    • ขอบเขต OAuth ที่จำเป็น: repo
    • autoInit: เริ่มต้นด้วย README (boolean, ไม่บังคับ)
    • description: คำอธิบายรีพอสิทอรี (string, ไม่บังคับ)
    • name: ชื่อรีพอสิทอรี (string, จำเป็น)
    • organization: องค์กรที่จะสร้างรีพอสิทอรีใน (ละเว้นเพื่อสร้างในบัญชีส่วนตัวของคุณ) (string, ไม่บังคับ)
    • private: รีพอสิทอรีควรเป็น private หรือไม่ ค่าเริ่มต้นเป็น true (private) เมื่อละเว้น (boolean, ไม่บังคับ)
  • delete_file - ลบไฟล์

    • ขอบเขต OAuth ที่จำเป็น: repo
    • branch: branch ที่จะลบไฟล์จาก (string, จำเป็น)
    • message: ข้อความ commit (string, จำเป็น)
    • owner: เจ้าของรีพอสิทอรี (ชื่อผู้ใช้หรือองค์กร) (string, จำเป็น)
    • path: พาธไปยังไฟล์ที่จะลบ (string, จำเป็น)
    • repo: ชื่อรีพอสิทอรี (string, จำเป็น)
  • fork_repository - Fork รีพอสิทอรี

    • ขอบเขต OAuth ที่จำเป็น: repo
    • organization: องค์กรที่จะ fork ไปยัง (string, ไม่บังคับ)
    • owner: เจ้าของรีพอสิทอรี (string, จำเป็น)
    • repo: ชื่อรีพอสิทอรี (string, จำเป็น)
  • get_commit - รับรายละเอียด commit

    • ขอบเขต OAuth ที่จำเป็น: repo
    • detail: ระดับรายละเอียดที่จะรวมสำหรับไฟล์ที่เปลี่ยนแปลง "none" ละเว้นสถิติและไฟล์ทั้งหมด "stats" (ค่าเริ่มต้น) รวมเมตาดาต้าต่อไฟล์: ชื่อไฟล์, สถานะ, และจำนวนบรรทัดโค้ด (การเพิ่ม, การลบ, การเปลี่ยนแปลง) โดยไม่มีเนื้อหา patch "full_patch" รวมเนื้อหา unified diff สำหรับแต่ละไฟล์เพิ่มเติมและอาจมีขนาดใหญ่มาก (string, ไม่บังคับ)
    • owner: เจ้าของรีพอสิทอรี (string, จำเป็น)
    • page: หมายเลขหน้าสำหรับการแบ่งหน้า (ขั้นต่ำ 1) (number, ไม่บังคับ)
    • perPage: ผลลัพธ์ต่อหน้าสำหรับการแบ่งหน้า (ขั้นต่ำ 1, สูงสุด 100) (number, ไม่บังคับ)
    • repo: ชื่อรีพอสิทอรี (string, จำเป็น)
    • sha: Commit SHA, ชื่อ branch, หรือชื่อ tag (string, จำเป็น)
  • get_file_contents - รับเนื้อหาไฟล์หรือไดเรกทอรี

    • ขอบเขต OAuth ที่จำเป็น: repo
    • owner: เจ้าของรีพอสิทอรี (ชื่อผู้ใช้หรือองค์กร) (string, จำเป็น)
    • path: พาธไปยังไฟล์/ไดเรกทอรี (string, ไม่บังคับ)
    • ref: ยอมรับ git refs เพิ่มเติม เช่น refs/tags/{tag}, refs/heads/{branch} หรือ refs/pull/{pr_number}/head (string, ไม่บังคับ)
    • repo: ชื่อรีพอสิทอรี (string, จำเป็น)
    • sha: ยอมรับ commit SHA เพิ่มเติม หากระบุ จะถูกใช้แทน ref (string, ไม่บังคับ)
  • get_latest_release - รับรีลีสล่าสุด

    • ขอบเขต OAuth ที่จำเป็น: repo
    • owner: เจ้าของรีพอสิทอรี (string, จำเป็น)
    • repo: ชื่อรีพอสิทอรี (string, จำเป็น)
  • get_release_by_tag - รับรีลีสตามชื่อ tag

    • ขอบเขต OAuth ที่จำเป็น: repo
    • owner: เจ้าของรีพอสิทอรี (string, จำเป็น)
    • repo: ชื่อรีพอสิทอรี (string, จำเป็น)
    • tag: ชื่อ tag (เช่น 'v1.0.0') (string, จำเป็น)
  • get_tag - รับรายละเอียด tag

    • ขอบเขต OAuth ที่จำเป็น: repo
    • owner: เจ้าของรีพอสิทอรี (string, จำเป็น)
    • repo: ชื่อรีพอสิทอรี (string, จำเป็น)
    • tag: ชื่อ tag (string, จำเป็น)
  • list_branches - แสดงรายการ branches

    • ขอบเขต OAuth ที่จำเป็น: repo
    • owner: เจ้าของรีพอสิทอรี (string, จำเป็น)
    • page: หมายเลขหน้าสำหรับการแบ่งหน้า (ขั้นต่ำ 1) (number, ไม่บังคับ)
    • perPage: ผลลัพธ์ต่อหน้าสำหรับการแบ่งหน้า (ขั้นต่ำ 1, สูงสุด 100) (number, ไม่บังคับ)
    • repo: ชื่อรีพอสิทอรี (string, จำเป็น)
  • list_commits - แสดงรายการ commits

    • ขอบเขต OAuth ที่จำเป็น: repo
    • author: ชื่อผู้ใช้หรือที่อยู่อีเมลของผู้เขียนเพื่อกรอง commits (string, ไม่บังคับ)
    • owner: เจ้าของรีพอสิทอรี (string, จำเป็น)
    • page: หมายเลขหน้าสำหรับการแบ่งหน้า (ขั้นต่ำ 1) (number, ไม่บังคับ)
    • path: เฉพาะ commits ที่มีพาธไฟล์นี้เท่านั้นที่จะถูกส่งคืน (string, ไม่บังคับ)
    • perPage: ผลลัพธ์ต่อหน้าสำหรับการแบ่งหน้า (ขั้นต่ำ 1, สูงสุด 100) (number, ไม่บังคับ)
    • repo: ชื่อรีพอสิทอรี (string, จำเป็น)
    • sha: Commit SHA, branch หรือชื่อ tag เพื่อแสดงรายการ commits ของ หากไม่ระบุ จะใช้ branch เริ่มต้นของรีพอสิทอรี หากระบุ commit SHA จะแสดงรายการ commits จนถึง SHA นั้น (string, ไม่บังคับ)
    • since: เฉพาะ commits หลังจากวันที่นี้เท่านั้นที่จะถูกส่งคืน (รูปแบบ ISO 8601: YYYY-MM-DDTHH:MM:SSZ หรือ YYYY-MM-DD) (string, ไม่บังคับ)
    • until: เฉพาะ commits ก่อนวันที่นี้เท่านั้นที่จะถูกส่งคืน (รูปแบบ ISO 8601: YYYY-MM-DDTHH:MM:SSZ หรือ YYYY-MM-DD) (string, ไม่บังคับ)
  • list_releases - แสดงรายการรีลีส

    • ขอบเขต OAuth ที่จำเป็น: repo
    • owner: เจ้าของรีพอสิทอรี (string, จำเป็น)
    • page: หมายเลขหน้าสำหรับการแบ่งหน้า (ขั้นต่ำ 1) (number, ไม่บังคับ)
    • perPage: ผลลัพธ์ต่อหน้าสำหรับการแบ่งหน้า (ขั้นต่ำ 1, สูงสุด 100) (number, ไม่บังคับ)
    • repo: ชื่อรีพอสิทอรี (string, จำเป็น)
  • list_repository_collaborators - แสดงรายการผู้ทำงานร่วมกันของรีพอสิทอรี

    • ขอบเขต OAuth ที่จำเป็น: repo
    • affiliation: กรองตามสังกัด สามารถเป็นหนึ่งใน: 'outside' (ผู้ทำงานร่วมกันภายนอก), 'direct' (ทั้งหมดที่มีสิทธิ์โดยไม่คำนึงถึงสมาชิกองค์กร), 'all' (ผู้ทำงานร่วมกันทั้งหมด) ค่าเริ่มต้น: 'all' (string, ไม่บังคับ)
    • owner: เจ้าของรีพอสิทอรี (string, จำเป็น)
    • page: หมายเลขหน้าสำหรับการแบ่งหน้า (ค่าเริ่มต้น 1, ขั้นต่ำ 1) (number, ไม่บังคับ)
    • perPage: ผลลัพธ์ต่อหน้าสำหรับการแบ่งหน้า (ค่าเริ่มต้น 30, ขั้นต่ำ 1, สูงสุด 100) (number, ไม่บังคับ)
    • repo: ชื่อรีพอสิทอรี (string, จำเป็น)
  • list_tags - แสดงรายการแท็ก

    • ขอบเขต OAuth ที่จำเป็น: repo
    • owner: เจ้าของที่เก็บ (สตริง, จำเป็น)
    • page: หมายเลขหน้าสำหรับการแบ่งหน้า (ขั้นต่ำ 1) (ตัวเลข, ไม่บังคับ)
    • perPage: ผลลัพธ์ต่อหน้าสำหรับการแบ่งหน้า (ขั้นต่ำ 1, สูงสุด 100) (ตัวเลข, ไม่บังคับ)
    • repo: ชื่อที่เก็บ (สตริง, จำเป็น)
  • push_files - ผลักดันไฟล์ไปยังที่เก็บ

    • ขอบเขต OAuth ที่จำเป็น: repo
    • branch: สาขาที่จะผลักดันไป (สตริง, จำเป็น)
    • files: อาร์เรย์ของออบเจกต์ไฟล์ที่จะผลักดัน แต่ละออบเจกต์มี path (สตริง) และ content (สตริง) (object[], จำเป็น)
    • message: ข้อความคอมมิต (สตริง, จำเป็น)
    • owner: เจ้าของที่เก็บ (สตริง, จำเป็น)
    • repo: ชื่อที่เก็บ (สตริง, จำเป็น)
  • search_code - ค้นหาโค้ด

    • ขอบเขต OAuth ที่จำเป็น: repo
    • order: ลำดับการจัดเรียงผลลัพธ์ (สตริง, ไม่บังคับ)
    • page: หมายเลขหน้าสำหรับการแบ่งหน้า (ขั้นต่ำ 1) (ตัวเลข, ไม่บังคับ)
    • perPage: ผลลัพธ์ต่อหน้าสำหรับการแบ่งหน้า (ขั้นต่ำ 1, สูงสุด 100) (ตัวเลข, ไม่บังคับ)
    • 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. (สตริง, จำเป็น)
    • sort: ฟิลด์การจัดเรียง ('indexed' เท่านั้น) (สตริง, ไม่บังคับ)
  • search_commits - ค้นหาคอมมิต

    • ขอบเขต OAuth ที่จำเป็น: repo
    • order: ลำดับการจัดเรียง (สตริง, ไม่บังคับ)
    • page: หมายเลขหน้าสำหรับการแบ่งหน้า (ขั้นต่ำ 1) (ตัวเลข, ไม่บังคับ)
    • perPage: ผลลัพธ์ต่อหน้าสำหรับการแบ่งหน้า (ขั้นต่ำ 1, สูงสุด 100) (ตัวเลข, ไม่บังคับ)
    • 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. (สตริง, จำเป็น)
    • sort: จัดเรียงตามวันที่ผู้เขียนหรือผู้คอมมิต (ค่าเริ่มต้นคือการจับคู่ที่ดีที่สุด) (สตริง, ไม่บังคับ)
  • search_repositories - ค้นหาที่เก็บ

    • ขอบเขต OAuth ที่จำเป็น: repo
    • minimal_output: ส่งคืนข้อมูลที่เก็บแบบย่อ (ค่าเริ่มต้น: true). เมื่อเป็น false จะส่งคืนออบเจกต์ที่เก็บแบบเต็มของ GitHub API. (บูลีน, ไม่บังคับ)
    • order: ลำดับการจัดเรียง (สตริง, ไม่บังคับ)
    • page: หมายเลขหน้าสำหรับการแบ่งหน้า (ขั้นต่ำ 1) (ตัวเลข, ไม่บังคับ)
    • perPage: ผลลัพธ์ต่อหน้าสำหรับการแบ่งหน้า (ขั้นต่ำ 1, สูงสุด 100) (ตัวเลข, ไม่บังคับ)
    • query: คำค้นหาที่เก็บ. ตัวอย่าง: 'machine learning in:name stars:>1000 language:python', 'topic:react', 'user:facebook'. รองรับไวยากรณ์การค้นหาขั้นสูงสำหรับการกรองที่แม่นยำ. (สตริง, จำเป็น)
    • sort: จัดเรียงที่เก็บตามฟิลด์ ค่าเริ่มต้นคือการจับคู่ที่ดีที่สุด (สตริง, ไม่บังคับ)
shield-lock การป้องกันความลับ
  • get_secret_scanning_alert - รับการแจ้งเตือนการสแกนความลับ

    • ขอบเขต OAuth ที่จำเป็น: security_events
    • ขอบเขต OAuth ที่ยอมรับ: repo, security_events
    • alertNumber: หมายเลขของการแจ้งเตือน. (ตัวเลข, จำเป็น)
    • owner: เจ้าของที่เก็บ. (สตริง, จำเป็น)
    • repo: ชื่อของที่เก็บ. (สตริง, จำเป็น)
  • list_secret_scanning_alerts - แสดงรายการการแจ้งเตือนการสแกนความลับ

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

    • ขอบเขต OAuth ที่จำเป็น: security_events
    • ขอบเขต OAuth ที่ยอมรับ: repo, security_events
    • ghsaId: GitHub Security Advisory ID (รูปแบบ: GHSA-xxxx-xxxx-xxxx). (สตริง, จำเป็น)
  • list_global_security_advisories - แสดงรายการคำแนะนำด้านความปลอดภัยระดับโลก

    • ขอบเขต OAuth ที่จำเป็น: security_events
    • ขอบเขต OAuth ที่ยอมรับ: repo, security_events
    • affects: กรองคำแนะนำตามแพ็คเกจหรือเวอร์ชันที่ได้รับผลกระทบ (เช่น "package1,package2@1.0.0"). (สตริง, ไม่บังคับ)
    • cveId: กรองตาม CVE ID. (สตริง, ไม่บังคับ)
    • cwes: กรองตาม Common Weakness Enumeration IDs (เช่น ["79", "284", "22"]). (string[], ไม่บังคับ)
    • ecosystem: กรองตามระบบนิเวศของแพ็คเกจ. (สตริง, ไม่บังคับ)
    • ghsaId: กรองตาม GitHub Security Advisory ID (รูปแบบ: GHSA-xxxx-xxxx-xxxx). (สตริง, ไม่บังคับ)
    • isWithdrawn: ส่งคืนเฉพาะคำแนะนำที่ถูกเพิกถอนหรือไม่. (บูลีน, ไม่บังคับ)
    • modified: กรองตามวันที่เผยแพร่หรืออัปเดต หรือช่วงวันที่ (วันที่หรือช่วง ISO 8601). (สตริง, ไม่บังคับ)
    • published: กรองตามวันที่เผยแพร่หรือช่วงวันที่ (วันที่หรือช่วง ISO 8601). (สตริง, ไม่บังคับ)
    • severity: กรองตามความรุนแรง. (สตริง, ไม่บังคับ)
    • type: ประเภทคำแนะนำ. (สตริง, ไม่บังคับ)
    • updated: กรองตามวันที่อัปเดตหรือช่วงวันที่ (วันที่หรือช่วง ISO 8601). (สตริง, ไม่บังคับ)
  • list_org_repository_security_advisories - แสดงรายการคำแนะนำด้านความปลอดภัยของที่เก็บขององค์กร

    • ขอบเขต OAuth ที่จำเป็น: security_events
    • ขอบเขต OAuth ที่ยอมรับ: repo, security_events
    • direction: ทิศทางการจัดเรียง. (สตริง, ไม่บังคับ)
    • org: ชื่อล็อกอินขององค์กร. (สตริง, จำเป็น)
    • sort: ฟิลด์การจัดเรียง. (สตริง, ไม่บังคับ)
    • state: กรองตามสถานะคำแนะนำ. (สตริง, ไม่บังคับ)
  • list_repository_security_advisories - แสดงรายการคำแนะนำด้านความปลอดภัยของที่เก็บ

    • ขอบเขต OAuth ที่จำเป็น: security_events
    • ขอบเขต OAuth ที่ยอมรับ: repo, security_events
    • direction: ทิศทางการจัดเรียง. (สตริง, ไม่บังคับ)
    • owner: เจ้าของที่เก็บ. (สตริง, จำเป็น)
    • repo: ชื่อของที่เก็บ. (สตริง, จำเป็น)
    • sort: ฟิลด์การจัดเรียง. (สตริง, ไม่บังคับ)
    • state: กรองตามสถานะคำแนะนำ. (สตริง, ไม่บังคับ)
star ผู้ให้ดาว
  • list_starred_repositories - แสดงรายการที่เก็บที่ให้ดาว

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

    • ขอบเขต OAuth ที่จำเป็น: repo
    • owner: เจ้าของที่เก็บ (สตริง, จำเป็น)
    • repo: ชื่อที่เก็บ (สตริง, จำเป็น)
  • unstar_repository - ยกเลิกการให้ดาวที่เก็บ

    • ขอบเขต OAuth ที่จำเป็น: repo
    • owner: เจ้าของที่เก็บ (สตริง, จำเป็น)
    • repo: ชื่อที่เก็บ (สตริง, จำเป็น)
people ผู้ใช้
  • search_users - ค้นหาผู้ใช้
    • ขอบเขต OAuth ที่จำเป็น: repo
    • order: ลำดับการจัดเรียง (สตริง, ไม่บังคับ)
    • page: หมายเลขหน้าสำหรับการแบ่งหน้า (ขั้นต่ำ 1) (ตัวเลข, ไม่บังคับ)
    • perPage: ผลลัพธ์ต่อหน้าสำหรับการแบ่งหน้า (ขั้นต่ำ 1, สูงสุด 100) (ตัวเลข, ไม่บังคับ)
    • query: คำค้นหาผู้ใช้. ตัวอย่าง: 'john smith', 'location:seattle', 'followers:>100'. การค้นหาจะถูกจำกัดขอบเขตเป็น type:user โดยอัตโนมัติ. (สตริง, จำเป็น)
    • sort: จัดเรียงผู้ใช้ตามจำนวนผู้ติดตามหรือที่เก็บ หรือเมื่อบุคคลนั้นเข้าร่วม GitHub. (สตริง, ไม่บังคับ)

เครื่องมือเพิ่มเติมใน Remote GitHub MCP Server

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 (เช่น สาขา) ที่เอเจนต์จะเริ่มทำงานจาก. หากไม่ระบุ จะใช้ค่าเริ่มต้นเป็นสาขาเริ่มต้นของที่เก็บ (สตริง, ไม่บังคับ)
Copilot Spaces
  • หมายเหตุการรับรองความถูกต้อง

    • Fine-grained PATs จะไม่ถูกซ่อนโดยการกรองขอบเขต classic PAT ดังนั้นเครื่องมือเหล่านี้อาจยังคงปรากฏแม้ว่าโทเค็นจะไม่สามารถใช้งานได้
    • สำหรับ spaces ที่องค์กรเป็นเจ้าของ fine-grained PATs ต้องถูกติดตั้งบนองค์กรที่เป็นเจ้าของและรวมถึง organization_copilot_spaces: read
    • หาก space ที่องค์กรเป็นเจ้าของมีทรัพยากรที่ backed by 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, การตรวจสอบสิทธิ์, การสอบถามการสนับสนุนของ GitHub, แนวปฏิบัติเกี่ยวกับ Pull Request, การบำรุงรักษา Repository, GitHub Pages, GitHub Packages, GitHub Discussions, Copilot Spaces - `query`: ข้อมูลจากผู้ใช้เกี่ยวกับคำถามที่ต้องการคำตอบ นี่คือข้อความดิบล่าสุดที่ยังไม่ได้แก้ไขจากผู้ใช้ คุณควรปล่อยข้อความของผู้ใช้ไว้ตามเดิมเสมอ ห้ามแก้ไข (string, จำเป็น)

โหมดอ่านอย่างเดียว

ในการรันเซิร์ฟเวอร์ในโหมดอ่านอย่างเดียว คุณสามารถใช้แฟล็ก --read-only ได้ ซึ่งจะเสนอเฉพาะเครื่องมือแบบอ่านอย่างเดียว ป้องกันการแก้ไขใดๆ ต่อ repositories, 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

โหมดล็อกดาวน์

โหมดล็อกดาวน์จำกัดเนื้อหาที่เซิร์ฟเวอร์จะแสดงจาก repositories สาธารณะ เมื่อเปิดใช้งาน เซิร์ฟเวอร์จะตรวจสอบว่าผู้เขียนแต่ละรายการมีสิทธิ์ push ไปยัง repository หรือไม่ repositories ส่วนตัวจะไม่ได้รับผลกระทบ และผู้ร่วมพัฒนายังคงเข้าถึงเนื้อหาของตนเองได้อย่างเต็มที่

./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

ลักษณะการทำงานของโหมดล็อกดาวน์ขึ้นอยู่กับเครื่องมือที่เรียกใช้

เครื่องมือต่อไปนี้จะส่งคืนข้อผิดพลาดเมื่อผู้เขียนไม่มีสิทธิ์ push:

  • issue_read:get
  • pull_request_read:get

เครื่องมือต่อไปนี้จะกรองเนื้อหาจากผู้ใช้ที่ไม่มีสิทธิ์ push ออก:

  • issue_read:get_comments
  • issue_read:get_sub_issues
  • pull_request_read:get_comments
  • pull_request_read:get_review_comments
  • pull_request_read:get_reviews

i18n / การแทนที่คำอธิบาย

คำอธิบายของเครื่องมือสามารถแทนที่ได้โดยการสร้างไฟล์ 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_NAMEGITHUB_MCP_SERVER_NAMEgithub-mcp-server
SERVER_TITLEGITHUB_MCP_SERVER_TITLEGitHub 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"

การใช้งานไลบรารี

API Go ที่ส่งออกของโมดูลนี้ในปัจจุบันควรถือว่าไม่เสถียร และอาจมีการเปลี่ยนแปลงที่ส่งผลกระทบต่อความเข้ากันได้ ในอนาคต เราอาจเสนอความเสถียร โปรดเปิด issue หากมีกรณีการใช้งานที่สิ่งนี้จะมีคุณค่า

การมีส่วนร่วม

ยินดีต้อนรับการมีส่วนร่วม ก่อนเปิด pull request โปรดอ่าน คู่มือการมีส่วนร่วม สำหรับคำแนะนำในการตั้งค่า การทดสอบ การตรวจสอบโค้ด และการสร้างเอกสาร

การสนับสนุน

สำหรับความช่วยเหลือในการใช้ GitHub MCP Server โปรดดู คู่มือการสนับสนุน หากคุณพบข้อบกพร่องหรือต้องการขอฟีเจอร์ โปรดค้นหา issues ที่มีอยู่ก่อนเปิด issue ใหม่

ความปลอดภัย

โปรดอย่ารายงานช่องโหว่ด้านความปลอดภัยผ่าน issues สาธารณะ ปฏิบัติตามคำแนะนำใน นโยบายความปลอดภัย เพื่อรายงานช่องโหว่อย่างมีความรับผิดชอบ

ใบอนุญาต

โครงการนี้ได้รับอนุญาตภายใต้เงื่อนไขของใบอนุญาตโอเพนซอร์ส MIT โปรดดู MIT สำหรับเงื่อนไขฉบับเต็ม