GitHub MCP

공식

공식 GitHub MCP 서버로, MCP 호환 AI 클라이언트에서 저장소 검색, 이슈, 풀 리퀘스트, 코드 컨텍스트 및 GitHub 워크플로우를 지원합니다.

Git Hub MCP(으)로 무엇을 할 수 있나요?

  • Browse and search repositories — 어시스턴트에게 repos 도구 세트의 도구를 사용하여 파일을 찾거나, 코드를 읽거나, 커밋 기록을 분석하도록 요청하세요.
  • Manage issues and pull requestsissuespull_requests 도구 세트의 도구를 사용하여 이슈나 PR을 생성, 업데이트 및 분류하세요.
  • Monitor CI/CD workflowsactions 도구 세트를 통해 GitHub Actions 실행 상태를 확인하고, 빌드 실패를 조사하며, 릴리스를 관리하세요.
  • Review code security alertscode_security, dependabot, secret_protection 도구 세트를 사용하여 코드 스캔 결과, Dependabot 알림, 시크릿 스캔 결과를 검토하세요.
  • Collaborate on discussions and projectsdiscussions, projects, notifications 도구 세트를 통해 팀 토론에 접근하고, 프로젝트 보드를 관리하며, 알림을 처리하세요.

문서

Go Report Card

GitHub MCP 서버

GitHub MCP 서버는 AI 도구를 GitHub 플랫폼에 직접 연결합니다. 이를 통해 AI 에이전트, 어시스턴트, 챗봇이 리포지토리와 코드 파일을 읽고, 이슈와 PR을 관리하며, 코드를 분석하고, 워크플로를 자동화할 수 있습니다. 모두 자연어 상호작용을 통해 이루어집니다.

사용 사례

  • 리포지토리 관리: 액세스 권한이 있는 모든 리포지토리에서 코드 탐색 및 쿼리, 파일 검색, 커밋 분석, 프로젝트 구조 이해.
  • 이슈 및 PR 자동화: 이슈와 풀 리퀘스트 생성, 업데이트, 관리. AI가 버그 분류, 코드 변경 사항 검토, 프로젝트 보드 유지 관리를 지원하도록 합니다.
  • CI/CD 및 워크플로 인텔리전스: GitHub Actions 워크플로 실행 모니터링, 빌드 실패 분석, 릴리스 관리, 개발 파이프라인에 대한 인사이트 확보.
  • 코드 분석: 보안 취약점 검토, Dependabot 알림 확인, 코드 패턴 이해, 코드베이스에 대한 포괄적인 인사이트 확보.
  • 팀 협업: 토론 참여, 알림 관리, 팀 활동 분석, 팀 프로세스 간소화.

간단한 자연어 쿼리부터 복잡한 다단계 에이전트 워크플로까지, AI 도구를 GitHub 컨텍스트 및 기능에 연결하려는 개발자를 위해 제작되었습니다.


원격 GitHub MCP 서버

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

원격 GitHub MCP 서버는 GitHub에서 호스팅하며, 가장 쉽게 시작하고 실행할 수 있는 방법을 제공합니다. MCP 호스트가 원격 MCP 서버를 지원하지 않더라도 걱정하지 마세요! 대신 로컬 버전의 GitHub MCP 서버를 사용할 수 있습니다.

사전 요구 사항

  1. 원격 서버를 지원하는 호환 가능한 MCP 호스트 (VS Code 1.101 이상, Claude Desktop, Cursor, Windsurf 등)
  2. 적용 가능한 정책 활성화

VS Code에 설치

빠른 설치를 위해 위의 원클릭 설치 버튼 중 하나를 사용하세요. 해당 과정을 완료하면 에이전트 모드(Copilot Chat 텍스트 입력 옆에 위치)를 전환하면 서버가 시작됩니다. 원격 MCP 및 OAuth 지원을 위해 VS Code 1.101 또는 이후 버전을 사용하고 있는지 확인하세요.

또는 VS Code를 수동으로 구성하려면 아래 예시에서 적절한 JSON 블록을 선택하여 호스트 구성에 추가하세요.

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 호스트에 설치

참고: 각 MCP 호스트 애플리케이션은 OAuth를 통한 원격 액세스를 지원하기 위해 GitHub 앱 또는 OAuth 앱을 구성해야 합니다. 원격 MCP 서버를 지원하는 모든 호스트 애플리케이션은 PAT 인증을 사용하는 원격 GitHub 서버를 지원해야 합니다. 구성 세부 정보 및 지원 수준은 호스트마다 다릅니다. 자세한 내용은 호스트 애플리케이션의 문서를 참조하세요.

구성

도구 세트 구성

원격 서버 구성, 도구 세트, 헤더 및 고급 사용법에 대한 자세한 내용은 원격 서버 문서를 참조하세요. 이 파일은 VS Code 및 기타 MCP 호스트에서 원격 GitHub MCP 서버를 연결, 사용자 지정 및 설치하기 위한 포괄적인 지침과 예시를 제공합니다.

도구 세트가 지정되지 않은 경우 기본 도구 세트가 사용됩니다.

인사이더 모드

새로운 기능을 미리 사용해 보세요! 원격 서버는 새로운 기능과 실험적인 도구에 조기 액세스할 수 있는 인사이더 버전을 제공합니다.

URL 경로 사용헤더 사용
{
  "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"
      }
    }
  }
}

자세한 내용과 예시는 원격 서버 문서를, 사용 가능한 전체 목록은 인사이더 기능을 참조하세요.

GitHub Enterprise

데이터 레지던시가 적용된 GitHub Enterprise Cloud (ghe.com)

GitHub Enterprise Cloud도 원격 서버를 사용할 수 있습니다.

GitHub PAT 토큰을 사용하는 https://octocorp.ghe.com의 예시:

{
    ...
    "github-octocorp": {
      "type": "http",
      "url": "https://copilot-api.octocorp.ghe.com/mcp",
      "headers": {
        "Authorization": "Bearer ${input:github_mcp_pat}"
      }
    },
    ...
}

참고: VS Code 및 GitHub Copilot과 함께 GitHub Enterprise에서 OAuth를 사용하는 경우, VS Code 설정이 GitHub Enterprise 인스턴스를 가리키도록 구성해야 합니다. VS Code에서 인증을 참조하세요.

GitHub Enterprise Server

GitHub Enterprise Server는 원격 서버 호스팅을 지원하지 않습니다. 로컬 서버 구성의 GitHub Enterprise Server 및 데이터 레지던시가 적용된 Enterprise Cloud (ghe.com)를 참조하세요.


로컬 GitHub MCP 서버

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 이미지는 ghcr.io/github/github-mcp-server에서 사용할 수 있습니다. 이미지는 공개되어 있으며, 풀(pull) 시 오류가 발생하면 토큰이 만료되었을 수 있으므로 docker logout ghcr.io해야 합니다.

  3. 인증. github.com에서는 사전에 아무것도 생성할 필요가 없습니다. 위의 원클릭 버튼을 사용하면 처음 사용 시 OAuth로 로그인됩니다(브라우저 기반 흐름; 토큰은 메모리에만 보관됨). Docker 버튼은 컨테이너의 로그인 콜백에 연결할 수 있도록 고정 콜백 포트(127.0.0.1:8085)를 게시합니다. 작동 방식, 헤드리스/장치 코드 대체 방법, 자체 OAuth 또는 GitHub 앱 가져오기(GitHub Enterprise Server 및 ghe.com에 필요)에 대한 자세한 내용은 **로컬 서버 OAuth 로그인**을 참조하세요.

    토큰을 선호하시나요? 대신 GITHUB_PERSONAL_ACCESS_TOKEN을 설정하여 GitHub 개인 액세스 토큰으로 인증할 수 있습니다(OAuth보다 우선함). MCP 서버는 많은 GitHub API를 사용할 수 있으므로, AI 도구에 부여해도 괜찮다고 생각되는 권한을 활성화하세요(액세스 토큰에 대한 자세한 내용은 문서를 확인하세요).

PAT를 안전하게 처리하기

환경 변수 (권장)

GitHub PAT를 안전하게 유지하고 여러 MCP 호스트에서 재사용하려면:

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

참고: 환경 변수 지원은 호스트 앱 및 IDE에 따라 다릅니다. 일부 애플리케이션(예: Windsurf)은 구성 파일에 하드코딩된 토큰이 필요합니다.

토큰 보안 모범 사례

  • 최소 범위: 필요한 권한만 부여

    • repo - 리포지토리 작업
    • read:packages - Docker 이미지 액세스
    • read:org - 조직 팀 액세스
  • 토큰 분리: 프로젝트/환경별로 다른 PAT 사용

  • 정기적인 교체: 주기적으로 토큰 업데이트

  • 커밋 금지: 버전 관리에서 토큰 제외

  • 파일 권한: 토큰이 포함된 구성 파일에 대한 액세스 제한

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

GitHub Enterprise Server 및 데이터 레지던시가 적용된 Enterprise Cloud (ghe.com)

--gh-host 플래그와 GITHUB_HOST 환경 변수를 사용하여 GitHub Enterprise Server 또는 데이터 레지던시가 적용된 GitHub Enterprise Cloud의 호스트 이름을 설정할 수 있습니다.

  • GitHub Enterprise Server의 경우, 호스트 이름 앞에 https:// URI 스킴을 붙이세요. 그렇지 않으면 기본값이 http://로 설정되어 GitHub Enterprise Server에서 지원되지 않습니다.
  • 데이터 레지던시가 적용된 GitHub Enterprise Cloud의 경우 호스트 이름으로 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>"
    }
}

설치

VS Code의 GitHub Copilot에 설치

빠른 설치를 위해 위의 원클릭 설치 버튼 중 하나를 사용하세요. 해당 과정을 완료하면 에이전트 모드(Copilot Chat 텍스트 입력 옆에 위치)를 전환하면 서버가 시작됩니다.

VS Code의 에이전트 모드 문서에서 MCP 서버 도구 사용에 대해 자세히 알아보세요.

다른 IDE(JetBrains, Visual Studio, Eclipse 등)의 GitHub Copilot에 설치

다음 JSON 블록 중 하나를 IDE의 MCP 설정에 추가하세요.

OAuth로 로그인 (생성하거나 저장할 토큰 없음). github.com에서 공식 이미지에는 이미 앱 자격 증명이 포함되어 있으므로 직접 제공할 필요가 없습니다. 처음 사용 시 브라우저 기반 로그인을 실행하고 결과 토큰을 메모리에만 보관합니다. Docker에서는 컨테이너의 로그인 콜백에 연결할 수 있도록 루프백에 게시된 고정 콜백 포트가 필요합니다.

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

네이티브 바이너리 흐름(고정 포트 불필요), 헤드리스/장치 코드 대체 방법, GitHub Enterprise Server / ghe.com, 자체 OAuth 또는 GitHub 앱 가져오기에 대한 자세한 내용은 **로컬 서버 OAuth 로그인**을 참조하세요.

또는 개인 액세스 토큰으로 인증하세요. 대신 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}"
        }
      }
    }
  }
}

선택적으로, 작업 공간의 .vscode/mcp.json이라는 파일에 유사한 예시(mcp 키 없이)를 추가할 수 있습니다. 이렇게 하면 동일한 형식을 허용하는 다른 호스트 애플리케이션과 구성을 공유할 수 있습니다.

MCP 키가 포함되지 않은 예시 JSON 블록
{
  "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 호스트에 설치

다른 MCP 호스트 애플리케이션의 경우 설치 가이드를 참조하세요:

모든 설치 옵션에 대한 전체 개요는 **설치 가이드 색인**을 참조하세요.

참고: 로컬 MCP 서버를 지원하는 모든 호스트 애플리케이션은 로컬 GitHub MCP 서버에 액세스할 수 있어야 합니다. 그러나 특정 구성 프로세스, 구문 및 통합의 안정성은 호스트 애플리케이션에 따라 다릅니다. 많은 경우 위의 예시와 유사한 형식을 따를 수 있지만, 이것이 보장되지는 않습니다. 올바른 MCP 구성 구문 및 설정 프로세스에 대해서는 호스트 애플리케이션의 문서를 참조하세요.

소스에서 빌드

Docker가 없는 경우, go build를 사용하여 cmd/github-mcp-server 디렉터리에 바이너리를 빌드하고, GITHUB_PERSONAL_ACCESS_TOKEN 환경 변수를 토큰으로 설정한 상태에서 github-mcp-server stdio 명령을 사용할 수 있습니다. 빌드 출력 위치를 지정하려면 -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에서 실행할 때는 docker run -t(또는 -it)를 사용하세요):
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 서버는 --toolsets 플래그를 통해 특정 기능 그룹을 활성화하거나 비활성화하는 것을 지원합니다. 이를 통해 AI 도구에서 사용할 수 있는 GitHub API 기능을 제어할 수 있습니다. 필요한 도구 세트만 활성화하면 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
    

    이는 reposissues 도구 세트의 모든 도구와 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

인사이더 모드

로컬 GitHub MCP 서버는 새로운 기능과 실험적 도구에 조기 액세스할 수 있는 인사이더 버전을 제공합니다.

  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 컨텍스트에 대한 컨텍스트를 제공하는 도구
workflowactionsGitHub Actions 워크플로 및 CI/CD 작업
code-squarecode_qualityGitHub 코드 품질 관련 도구
codescancode_securityGitHub 코드 스캐닝과 같은 코드 보안 관련 도구
copilotcopilotCopilot 관련 도구
dependabotdependabotDependabot 도구
comment-discussiondiscussionsGitHub Discussions 관련 도구
logo-gistgistsGitHub Gist 관련 도구
git-branchgit저수준 Git 작업을 위한 GitHub Git API 관련 도구
issue-openedissuesGitHub Issues 관련 도구
taglabelsGitHub Labels 관련 도구
bellnotificationsGitHub Notifications 관련 도구
organizationorgsGitHub Organization 관련 도구
projectprojectsGitHub Projects 관련 도구
git-pull-requestpull_requestsGitHub Pull Request 관련 도구
reporeposGitHub Repository 관련 도구
shield-locksecret_protectionGitHub Secret Scanning과 같은 비밀 보호 관련 도구
shieldsecurity_advisories보안 권고 관련 도구
starstargazersGitHub Stargazers 관련 도구
peopleusersGitHub User 관련 도구

원격 GitHub MCP 서버의 추가 도구 세트

도구 세트설명
copilotCopilot 관련 도구 (예: Copilot Coding Agent)
copilot_spacesCopilot Spaces 관련 도구
github_support_docs_searchGitHub 제품 및 지원 질문에 답변하기 위한 문서 검색

도구

workflow Actions
  • actions_get - GitHub Actions 리소스(워크플로, 워크플로 실행, 작업, 아티팩트)의 세부 정보 가져오기

    • 필수 OAuth 범위: repo
    • method: 실행할 메서드 (문자열, 필수)
    • owner: 리포지토리 소유자 (문자열, 필수)
    • repo: 리포지토리 이름 (문자열, 필수)
    • resource_id: 리소스의 고유 식별자. 제공된 "method"에 따라 달라지므로 올바른 ID를 제공해야 합니다.
      • 'get_workflow' 메서드의 경우 워크플로 ID 또는 워크플로 파일 이름(예: ci.yaml)을 제공하세요.
      • 'get_workflow_run', 'get_workflow_run_usage', 'get_workflow_run_logs_url' 메서드의 경우 워크플로 실행 ID를 제공하세요.
      • 'download_workflow_run_artifact' 메서드의 경우 아티팩트 ID를 제공하세요.
      • 'get_workflow_job' 메서드의 경우 작업 ID를 제공하세요. (문자열, 필수)
  • actions_list - 리포지토리의 GitHub Actions 워크플로 나열

    • 필수 OAuth 범위: repo
    • method: 수행할 작업 (문자열, 필수)
    • owner: 리포지토리 소유자 (문자열, 필수)
    • page: 페이지 매김을 위한 페이지 번호 (기본값: 1) (숫자, 선택 사항)
    • per_page: 페이지 매김을 위한 페이지당 결과 수 (기본값: 30, 최대: 100) (숫자, 선택 사항)
    • repo: 리포지토리 이름 (문자열, 필수)
    • resource_id: 리소스의 고유 식별자. 제공된 "method"에 따라 달라지므로 올바른 ID를 제공해야 합니다.
      • 'list_workflows' 메서드의 경우 리소스 ID를 제공하지 마세요.
      • 'list_workflow_runs' 메서드의 경우 워크플로 ID 또는 워크플로 파일 이름(예: ci.yaml)을 제공하거나, 리포지토리의 모든 워크플로 실행을 나열하려면 생략하세요.
      • 'list_workflow_jobs' 및 'list_workflow_run_artifacts' 메서드의 경우 워크플로 실행 ID를 제공하세요. (문자열, 선택 사항)
    • 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 코드 품질 - **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: 토론 댓글의 노드 ID ('reply', 'update', 'delete', 'mark_answer', 'unmark_answer' 메서드에 필수). 'reply'의 경우, 답글을 달 최상위 댓글입니다. GitHub 토론은 한 수준의 중첩만 지원합니다. (문자열, 선택 사항)
    • discussionNumber: 토론 번호 ('add' 및 'reply' 메서드에 필수) (숫자, 선택 사항)
    • method: 토론 댓글에 수행할 쓰기 작업. 옵션:
      • 'add' - 토론에 새로운 최상위 댓글을 추가합니다.
      • 'reply' - 최상위 토론 댓글에 답글을 답니다 (GitHub 토론은 한 수준의 중첩만 지원합니다).
      • '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: true인 경우, 각 최상위 댓글에 답글이 중첩되어 포함됩니다 (댓글당 최대 100개의 답글, GitHub API 최대값). 기본값은 false입니다. (부울, 선택 사항)
    • 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: Gist의 ID (문자열, 필수)
  • list_gists - Gist 목록

    • page: 페이지네이션을 위한 페이지 번호 (최소 1) (숫자, 선택 사항)
    • perPage: 페이지네이션을 위한 페이지당 결과 수 (최소 1, 최대 100) (숫자, 선택 사항)
    • since: 이 시간 이후에 업데이트된 Gist만 (ISO 8601 타임스탬프) (문자열, 선택 사항)
    • username: GitHub 사용자 이름 (인증된 사용자의 Gist는 생략) (문자열, 선택 사항)
  • update_gist - Gist 업데이트

    • 필수 OAuth 범위: gist
    • content: 파일 콘텐츠 (문자열, 필수)
    • description: 업데이트된 Gist 설명 (문자열, 선택 사항)
    • filename: 업데이트하거나 생성할 파일 이름 (문자열, 필수)
    • gist_id: 업데이트할 Gist의 ID (문자열, 필수)
git-branch Git
  • get_repository_tree - 리포지토리 트리 가져오기
    • 필수 OAuth 범위: repo
    • owner: 리포지토리 소유자 (사용자 이름 또는 조직) (문자열, 필수)
    • path_filter: 트리 결과를 필터링할 선택적 경로 접두사 (예: 'src/'는 src 디렉터리의 파일만 표시) (문자열, 선택 사항)
    • recursive: 이 매개변수를 true로 설정하면 트리가 참조하는 객체 또는 하위 트리를 반환합니다. 기본값은 false입니다. (부울, 선택 사항)
    • 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: 라벨 이름. (문자열, 필수)
    • owner: 저장소 소유자 (사용자 이름 또는 조직 이름) (문자열, 필수)
    • repo: 저장소 이름 (문자열, 필수)
  • issue_read - 이슈 세부 정보 가져오기

    • 필수 OAuth 범위: repo
    • issue_number: 이슈 번호 (숫자, 필수)
    • method: 단일 이슈에 대해 수행할 읽기 작업. 옵션:
      1. get - 이슈 세부 정보 가져오기. 최선의 계층 구조 플래그(has_parent, has_children)도 반환합니다. parentsub_issues_summary는 선택적 관계 요약입니다.
      2. get_comments - 이슈 댓글 가져오기.
      3. get_sub_issues - 이슈의 하위 이슈(자식) 가져오기.
      4. get_parent - 이 이슈가 다른 이슈의 하위 이슈인 경우 상위 이슈 가져오기.
      5. get_labels - 이슈에 할당된 라벨 가져오기. (문자열, 필수)
    • owner: 저장소 소유자 (문자열, 필수)
    • page: 페이지 매김을 위한 페이지 번호 (최소 1) (숫자, 선택 사항)
    • perPage: 페이지 매김을 위한 페이지당 결과 수 (최소 1, 최대 100) (숫자, 선택 사항)
    • repo: 저장소 이름 (문자열, 필수)
  • issue_write - 이슈/풀 리퀘스트 생성 또는 업데이트

    • 필수 OAuth 범위: repo
    • assignees: 이 이슈에 할당할 사용자 이름 (문자열[], 선택 사항)
    • body: 이슈 본문 내용 (문자열, 선택 사항)
    • duplicate_of: 이 이슈가 중복된 이슈 번호. state_reason이 'duplicate'인 경우에만 사용됩니다. (숫자, 선택 사항)
    • issue_fields: 설정하거나 지울 이슈 필드 값. 각 항목에는 'field_name'과 'value', 'field_option_name', 또는 'delete: true' 중 정확히 하나가 필요합니다. (객체[], 선택 사항)
    • issue_number: 업데이트할 이슈 번호 (숫자, 선택 사항)
    • labels: 이 이슈에 적용할 라벨 (문자열[], 선택 사항)
    • method: 단일 이슈에 대해 수행할 쓰기 작업. 옵션:
      • 'create' - 새 이슈를 생성합니다.
      • 'update' - 기존 이슈를 업데이트합니다. (문자열, 필수)
    • milestone: 마일스톤 번호 (숫자, 선택 사항)
    • owner: 저장소 소유자 (문자열, 필수)
    • repo: 저장소 이름 (문자열, 필수)
    • state: 새 상태 (문자열, 선택 사항)
    • state_reason: 상태 변경 이유. 상태가 변경되지 않는 한 무시됩니다. (문자열, 선택 사항)
    • title: 이슈 제목 (문자열, 선택 사항)
    • type: 이 이슈의 유형. 이 저장소에 이슈 유형이 활성화된 경우에만 사용하세요. list_issue_types 도구를 사용하여 이 저장소 또는 소유자 조직의 유효한 유형 값을 가져오세요. 저장소가 이슈 유형을 지원하지 않으면 이 매개변수를 생략하세요. (문자열, 선택 사항)
  • list_issue_fields - 이슈 필드 나열

    • 필수 OAuth 범위 (다음 중 하나): repo, read:org
    • 허용되는 OAuth 범위: admin:org, read:org, repo, write:org
    • owner: 저장소 또는 조직의 계정 소유자. 이름은 대소문자를 구분하지 않습니다. (문자열, 필수)
    • repo: 저장소 이름. 제공되면 이 특정 저장소에 대한 필드를 반환합니다(조직에서 상속됨). 생략되면 조직 수준 필드를 직접 반환합니다. (문자열, 선택 사항)
  • list_issue_types - 사용 가능한 이슈 유형 나열

    • 필수 OAuth 범위 (다음 중 하나): repo, read:org
    • 허용되는 OAuth 범위: admin:org, read:org, repo, write:org
    • owner: 저장소 또는 조직의 계정 소유자. (문자열, 필수)
    • repo: 저장소 이름. 제공되면 이 특정 저장소에 대한 이슈 유형을 반환합니다. 생략되면 조직 수준 이슈 유형을 직접 반환합니다. (문자열, 선택 사항)
  • list_issues - 이슈 나열

    • 필수 OAuth 범위: repo
    • after: 페이지 매김을 위한 커서. 이전 응답의 커서를 사용하세요. (문자열, 선택 사항)
    • direction: 정렬 방향. 제공되는 경우 'orderBy'도 제공해야 합니다. (문자열, 선택 사항)
    • field_filters: 사용자 정의 이슈 필드 값으로 필터링. 각 항목은 field_name과 value를 취합니다. 서버는 필드를 조회하고 값을 해당 유형(단일 선택 옵션 이름, 텍스트, 숫자 또는 YYYY-MM-DD 날짜)으로 강제 변환합니다. (객체[], 선택 사항)
    • labels: 라벨로 필터링 (문자열[], 선택 사항)
    • orderBy: 필드별로 이슈 정렬. 제공되는 경우 'direction'도 제공해야 합니다. (문자열, 선택 사항)
    • owner: 저장소 소유자 (문자열, 필수)
    • perPage: 페이지 매김을 위한 페이지당 결과 수 (최소 1, 최대 100) (숫자, 선택 사항)
    • repo: 저장소 이름 (문자열, 필수)
    • since: 날짜로 필터링 (ISO 8601 타임스탬프) (문자열, 선택 사항)
    • state: 상태로 필터링, 기본적으로 제공되지 않으면 열린 이슈와 닫힌 이슈가 모두 반환됩니다. (문자열, 선택 사항)
  • search_issues - 이슈 검색

    • 필수 OAuth 범위: repo
    • order: 정렬 순서 (문자열, 선택 사항)
    • owner: 선택적 저장소 소유자. repo와 함께 제공되면 이 저장소의 이슈만 나열됩니다. (문자열, 선택 사항)
    • page: 페이지 매김을 위한 페이지 번호 (최소 1) (숫자, 선택 사항)
    • perPage: 페이지 매김을 위한 페이지당 결과 수 (최소 1, 최대 100) (숫자, 선택 사항)
    • query: GitHub 이슈 검색 구문을 사용한 검색 쿼리 (문자열, 필수)
    • repo: 선택적 저장소 이름. owner와 함께 제공되면 이 저장소의 이슈만 나열됩니다. (문자열, 선택 사항)
    • sort: 카테고리 일치 수에 따른 정렬 필드, 기본값은 최적 일치 (문자열, 선택 사항)
  • sub_issue_write - 하위 이슈 변경

    • 필수 OAuth 범위: repo
    • after_id: 우선 순위를 뒤에 둘 하위 이슈의 ID (after_id 또는 before_id 중 하나를 지정해야 함) (숫자, 선택 사항)
    • before_id: 우선 순위를 앞에 둘 하위 이슈의 ID (after_id 또는 before_id 중 하나를 지정해야 함) (숫자, 선택 사항)
    • issue_number: 상위 이슈 번호 (숫자, 필수)
    • method: 단일 하위 이슈에 대해 수행할 작업 옵션:
      • 'add' - GitHub 저장소의 상위 이슈에 하위 이슈 추가.
      • 'remove' - GitHub 저장소의 상위 이슈에서 하위 이슈 제거.
      • 'reprioritize' - GitHub 저장소의 상위 이슈 내에서 하위 이슈 순서 변경. 새 위치를 지정하려면 'after_id' 또는 'before_id'를 사용하세요. 이슈 계층 구조를 씁니다. 하위 이슈를 새 상위로 이동하려면 addreplace_parent=true을 사용하세요. 쓰기 가능한 상위 필드는 없습니다. (문자열, 필수)
    • owner: 저장소 소유자 (문자열, 필수)
    • replace_parent: true이면 하위 이슈의 현재 상위 이슈를 대체합니다. 'add' 메서드에만 사용하세요. (부울, 선택 사항)
    • repo: 저장소 이름 (문자열, 필수)
    • sub_issue_id: 추가할 하위 이슈의 ID. ID는 이슈 번호와 동일하지 않습니다. (숫자, 필수)
tag 라벨
  • get_label - 저장소에서 특정 라벨 가져오기

    • 필수 OAuth 범위: repo
    • name: 라벨 이름. (문자열, 필수)
    • owner: 저장소 소유자 (사용자 이름 또는 조직 이름) (문자열, 필수)
    • repo: 저장소 이름 (문자열, 필수)
  • label_write - 저장소 라벨에 대한 쓰기 작업

    • 필수 OAuth 범위: repo
    • color: '#' 접두사가 없는 6자리 16진수 코드 형식의 라벨 색상 (예: 'f29513'). 'create'에 필수, 'update'에 선택 사항. (문자열, 선택 사항)
    • description: 라벨 설명 텍스트. 'create' 및 'update'에 선택 사항. (문자열, 선택 사항)
    • method: 수행할 작업: 'create', 'update', 또는 'delete' (문자열, 필수)
    • name: 라벨 이름 - 모든 작업에 필수 (문자열, 필수)
    • new_name: 라벨의 새 이름 ('update' 메서드에서 이름 변경 시에만 사용) (문자열, 선택 사항)
    • owner: 저장소 소유자 (사용자 이름 또는 조직 이름) (문자열, 필수)
    • repo: 저장소 이름 (문자열, 필수)
  • list_label - 저장소의 라벨 나열

    • 필수 OAuth 범위: repo
    • owner: 저장소 소유자 (사용자 이름 또는 조직 이름) - 모든 작업에 필수 (문자열, 필수)
    • repo: 저장소 이름 - 모든 작업에 필수 (문자열, 필수)
bell 알림
  • dismiss_notification - 알림 해제

    • 필수 OAuth 범위: notifications
    • state: 알림의 새 상태 (read/done) (문자열, 필수)
    • threadID: 알림 스레드의 ID (문자열, 필수)
  • get_notification_details - 알림 세부 정보 가져오기

    • 필수 OAuth 범위: notifications
    • notificationID: 알림의 ID (문자열, 필수)
  • list_notifications - 알림 나열

    • 필수 OAuth 범위: notifications
    • before: 지정된 시간(ISO 8601 형식) 이전에 업데이트된 알림만 표시 (문자열, 선택 사항)
    • filter: 알림 필터링, 지정하지 않으면 기본값 사용. 읽은 알림은 사용자가 이미 확인한 것입니다. 참여 알림은 사용자가 댓글을 달거나 생성한 이슈나 풀 리퀘스트 등 사용자가 직접 관여한 것입니다. (문자열, 선택 사항)
    • owner: 선택적 저장소 소유자. repo와 함께 제공되면 이 저장소의 알림만 나열됩니다. (문자열, 선택 사항)
    • page: 페이지 매김을 위한 페이지 번호 (최소 1) (숫자, 선택 사항)
    • perPage: 페이지 매김을 위한 페이지당 결과 수 (최소 1, 최대 100) (숫자, 선택 사항)
    • repo: 선택적 저장소 이름. owner와 함께 제공되면 이 저장소의 알림만 나열됩니다. (문자열, 선택 사항)
    • since: 지정된 시간(ISO 8601 형식) 이후에 업데이트된 알림만 표시 (문자열, 선택 사항)
  • manage_notification_subscription - 알림 구독 관리

    • 필수 OAuth 범위: notifications
    • action: 수행할 작업: 알림 구독 무시, 감시, 또는 삭제. (문자열, 필수)
    • notificationID: 알림 스레드의 ID. (문자열, 필수)
  • manage_repository_notification_subscription - 저장소 알림 구독 관리

    • 필수 OAuth 범위: notifications
    • action: 수행할 작업: 저장소 알림 구독 무시, 감시, 또는 삭제. (문자열, 필수)
    • owner: 저장소의 계정 소유자. (문자열, 필수)
    • repo: 저장소 이름. (문자열, 필수)
  • mark_all_notifications_read - 모든 알림을 읽음으로 표시

    • 필수 OAuth 범위: notifications
    • lastReadAt: 알림이 마지막으로 확인된 시점을 설명합니다(선택 사항). 기본값: 지금 (문자열, 선택 사항)
    • owner: 선택적 저장소 소유자. repo와 함께 제공되면 이 저장소의 알림만 읽음으로 표시됩니다. (문자열, 선택 사항)
    • repo: 선택적 저장소 이름. owner와 함께 제공되면 이 저장소의 알림만 읽음으로 표시됩니다. (문자열, 선택 사항)
organization 조직
  • search_orgs - 조직 검색
    • 필수 OAuth 범위: read:org
    • 허용 OAuth 범위: admin:org, read:org, write:org
    • order: 정렬 순서 (문자열, 선택 사항)
    • page: 페이지네이션을 위한 페이지 번호 (최소 1) (숫자, 선택 사항)
    • perPage: 페이지네이션을 위한 페이지당 결과 수 (최소 1, 최대 100) (숫자, 선택 사항)
    • query: 조직 검색 쿼리. 예: 'microsoft', 'location:california', 'created:>=2025-01-01'. 검색은 자동으로 type:org로 범위가 지정됩니다. (문자열, 필수)
    • sort: 카테고리별 정렬 필드 (문자열, 선택 사항)
project 프로젝트
  • projects_get - GitHub 프로젝트 리소스의 세부 정보 가져오기

    • 필수 OAuth 범위: read:project
    • 허용 OAuth 범위: project, read:project
    • field_id: 필드의 ID. 'get_project_field' 메서드에 필요합니다. (숫자, 선택 사항)
    • field_names: 프로젝트 항목을 가져올 때 응답에 포함할 특정 필드 이름 목록 (예: ["Status", "Priority"]). 사람이 읽을 수 있는 이름만 알고 있을 때 'fields' 대신 전달하세요. 서버 측에서 필드 ID로 확인됩니다. 'fields'와 상호 배타적이므로 둘 중 하나만 제공하세요. 'get_project_item' 메서드에만 사용됩니다. (문자열 배열, 선택 사항)
    • fields: 프로젝트 항목을 가져올 때 응답에 포함할 특정 필드 ID 목록 (예: ["102589", "985201", "169875"]). 'fields' 또는 'field_names'가 모두 제공되지 않으면 제목 필드만 포함됩니다. 'field_names'와 상호 배타적이므로 둘 중 하나만 제공하세요. 'get_project_item' 메서드에만 사용됩니다. (문자열 배열, 선택 사항)
    • item_id: 항목의 ID. 'get_project_item' 메서드에 필요합니다. (숫자, 선택 사항)
    • method: 실행할 메서드 (문자열, 필수)
    • owner: 소유자 (사용자 또는 조직 로그인). 이름은 대소문자를 구분하지 않습니다. (문자열, 선택 사항)
    • owner_type: 소유자 유형 (user 또는 org). 제공되지 않으면 자동으로 감지됩니다. (문자열, 선택 사항)
    • project_number: 프로젝트 번호. (숫자, 선택 사항)
    • status_update_id: 프로젝트 상태 업데이트의 노드 ID. 'get_project_status_update' 메서드에 필요합니다. (문자열, 선택 사항)
  • projects_list - GitHub 프로젝트 리소스 나열

    • 필수 OAuth 범위: read:project
    • 허용 OAuth 범위: project, read:project
    • after: 이전 pageInfo.nextCursor의 정방향 페이지네이션 커서. (문자열, 선택 사항)
    • before: 이전 pageInfo.prevCursor의 역방향 페이지네이션 커서 (드물게 사용). (문자열, 선택 사항)
    • field_names: 프로젝트 항목을 나열할 때 포함할 필드 이름 (예: ["Status", "Priority"]). 사람이 읽을 수 있는 이름만 알고 있을 때 'fields' 대신 전달하세요. 서버 측에서 필드 ID로 확인됩니다. 확인에 실패한 이름은 구조화된 오류를 반환합니다. 'fields'와 상호 배타적이므로 둘 중 하나만 제공하세요. 'list_project_items' 메서드에만 사용됩니다. (문자열 배열, 선택 사항)
    • fields: 프로젝트 항목을 나열할 때 포함할 필드 ID (예: ["102589", "985201"]). 중요: 필드 값을 가져오려면 항상 제공하세요. 이것(또는 'field_names')이 없으면 제목만 반환됩니다. 'field_names'와 상호 배타적이므로 둘 중 하나만 제공하세요. 'list_project_items' 메서드에만 사용됩니다. (문자열 배열, 선택 사항)
    • method: 수행할 작업 (문자열, 필수)
    • owner: 소유자 (사용자 또는 조직 로그인). 이름은 대소문자를 구분하지 않습니다. (문자열, 필수)
    • owner_type: 소유자 유형 (user 또는 org). 제공되지 않으면 자동으로 둘 다 시도합니다. (문자열, 선택 사항)
    • per_page: 페이지당 결과 수 (최대 50) (숫자, 선택 사항)
    • project_number: 프로젝트 번호. 'list_project_fields', 'list_project_items', 'list_project_status_updates' 메서드에 필요합니다. (숫자, 선택 사항)
    • query: 필터/쿼리 문자열. list_projects의 경우: 제목 텍스트 및 상태로 필터링 (예: "roadmap is:open"). list_project_items의 경우: GitHub의 프로젝트 필터링 구문을 사용한 고급 필터링. (문자열, 선택 사항)
  • projects_write - GitHub 프로젝트 관리

    • 필수 OAuth 범위: project
    • body: 상태 업데이트 본문 (마크다운). 'create_project_status_update' 메서드에 사용됩니다. (문자열, 선택 사항)
    • field_name: 반복 필드의 이름 (예: 'Sprint'). 'create_iteration_field' 메서드에 필요합니다. (문자열, 선택 사항)
    • issue_number: 이슈 번호. item_type이 'issue'일 때 'add_project_item'에 필요합니다. 이슈 번호로 항목을 확인하기 위해 'update_project_item'에서도 허용됩니다 (item_owner 및 item_repo와 함께 사용). (숫자, 선택 사항)
    • item_id: 프로젝트 항목 ID. 'delete_project_item'에 필요합니다. 'update_project_item'의 경우 item_id를 제공하거나, 이슈 번호로 항목을 확인하려면 (item_owner + item_repo + issue_number)를 제공하세요. (숫자, 선택 사항)
    • item_owner: 이슈 또는 풀 리퀘스트가 포함된 리포지토리의 소유자 (사용자 또는 조직). 'add_project_item' 메서드에 필요합니다. 이슈 번호로 항목을 확인할 때 'update_project_item'에서도 허용됩니다. (문자열, 선택 사항)
    • item_repo: 이슈 또는 풀 리퀘스트가 포함된 리포지토리의 이름. 'add_project_item' 메서드에 필요합니다. 이슈 번호로 항목을 확인할 때 'update_project_item'에서도 허용됩니다. (문자열, 선택 사항)
    • item_type: 항목의 유형, issue 또는 pull_request. 'add_project_item' 메서드에 필요합니다. (문자열, 선택 사항)
    • iteration_duration: 필드 반복의 기간(일) (예: 주간은 7, 격주는 14). 'create_iteration_field' 메서드에 필요합니다. (숫자, 선택 사항)
    • iterations: 'create_iteration_field' 메서드를 위한 사용자 지정 반복. 기간이 다양하거나, 사이에 공백이 있거나, 특정 제목이 필요한 반복이 필요할 때만 설정하세요. 그렇지 않으면 생략하세요. GitHub는 'start_date'부터 'iteration_duration'일 간격으로 세 번의 반복을 자동 생성하며, 이는 대부분의 경우에 적합합니다. (객체 배열, 선택 사항)
    • method: 실행할 메서드 (문자열, 필수)
    • owner: 프로젝트 소유자 (사용자 또는 조직 로그인). 이름은 대소문자를 구분하지 않습니다. (문자열, 필수)
    • owner_type: 소유자 유형 (user 또는 org). 'create_project' 메서드에 필요합니다. 다른 메서드에 제공되지 않으면 자동으로 감지됩니다. (문자열, 선택 사항)
    • project_number: 프로젝트 번호. 'create_project'를 제외한 모든 메서드에 필요합니다. (숫자, 선택 사항)
    • pull_request_number: 풀 리퀘스트 번호 ('add_project_item' 메서드에서 item_type이 'pull_request'일 때 사용). issue_number 또는 pull_request_number 중 하나를 제공하세요. (숫자, 선택 사항)
    • start_date: YYYY-MM-DD 형식의 시작 날짜. 'create_project_status_update' 및 'create_iteration_field' 메서드에 사용됩니다. (문자열, 선택 사항)
    • status: 프로젝트의 상태. 'create_project_status_update' 메서드에 사용됩니다. (문자열, 선택 사항)
    • target_date: YYYY-MM-DD 형식의 상태 업데이트 목표 날짜. 'create_project_status_update' 메서드에 사용됩니다. (문자열, 선택 사항)
    • title: 프로젝트 제목. 'create_project' 메서드에 필요합니다. (문자열, 선택 사항)
    • updated_field: 업데이트할 필드와 새 값을 설명하는 객체. 'update_project_item'에 필요합니다. 두 가지 형태가 허용됩니다: (1) ID 기준 — {"id": 123456, "value": "..."}; (2) 이름 기준 — {"name": "Status", "value": "In Progress"}. 단일 선택 필드의 경우 옵션 이름 확인에는 이름 기준 형태가 필요하며, ID 기준 형태에서는 옵션 ID를 전달하세요. 필드를 지우려면 값을 null로 설정하세요. (객체, 선택 사항)
git-pull-request 풀 리퀘스트
  • add_comment_to_pending_review - 요청자의 최신 보류 중인 풀 리퀘스트 리뷰에 리뷰 코멘트 추가

    • 필수 OAuth 범위: repo
    • body: 리뷰 코멘트 텍스트 (문자열, 필수)
    • line: 코멘트가 적용되는 풀 리퀘스트 diff 내 blob의 줄 번호. 여러 줄 코멘트의 경우 범위의 마지막 줄 (숫자, 선택 사항)
    • owner: 리포지토리 소유자 (문자열, 필수)
    • path: 코멘트가 필요한 파일의 상대 경로 (문자열, 필수)
    • pullNumber: 풀 리퀘스트 번호 (숫자, 필수)
    • repo: 리포지토리 이름 (문자열, 필수)
    • side: 코멘트를 작성할 diff의 측면. LEFT는 이전 상태, RIGHT는 새 상태를 나타냅니다 (문자열, 선택 사항)
    • startLine: 여러 줄 코멘트의 경우 코멘트가 적용되는 범위의 첫 번째 줄 (숫자, 선택 사항)
    • startSide: 여러 줄 코멘트의 경우 코멘트가 적용되는 diff의 시작 측면. LEFT는 이전 상태, RIGHT는 새 상태를 나타냅니다 (문자열, 선택 사항)
    • subjectType: 코멘트가 대상으로 하는 수준 (문자열, 필수)
  • add_reply_to_pull_request_comment - 풀 리퀘스트 코멘트에 답글 추가

    • 필수 OAuth 범위: repo
    • body: 답글 텍스트. reaction이 제공되지 않는 한 필수입니다. (문자열, 선택 사항)
    • commentId: 답글을 달거나 반응할 풀 리퀘스트 리뷰 코멘트의 숫자 ID. GraphQL 스레드 노드 ID(PRRT_...)가 아닌 #discussion_r... 앵커의 번호를 사용하세요. (숫자, 필수)
    • owner: 리포지토리 소유자 (문자열, 필수)
    • pullNumber: 풀 리퀘스트 번호. body가 제공될 때 필수입니다. (숫자, 선택 사항)
    • reaction: 추가할 이모지 반응. body가 제공되지 않는 한 필수입니다. (문자열, 선택 사항)
    • repo: 리포지토리 이름 (문자열, 필수)
  • create_pull_request - 새 풀 리퀘스트 열기

    • 필수 OAuth 범위: repo
    • base: 병합 대상 브랜치 (문자열, 필수)
    • body: PR 설명 (문자열, 선택 사항)
    • draft: 초안 PR로 생성 (부울, 선택 사항)
    • head: 변경 사항이 있는 브랜치 (문자열, 필수)
    • maintainer_can_modify: 유지 관리자 편집 허용 (부울, 선택 사항)
    • owner: 리포지토리 소유자 (문자열, 필수)
    • repo: 리포지토리 이름 (문자열, 필수)
    • reviewers: 리뷰를 요청할 GitHub 사용자 이름 또는 ORG/team-slug 팀 리뷰어 (문자열 배열, 선택 사항)
    • title: PR 제목 (문자열, 필수)
  • list_pull_requests - 풀 리퀘스트 나열

    • 필수 OAuth 범위: repo
    • base: 기본 브랜치로 필터링 (문자열, 선택 사항)
    • direction: 정렬 방향 (문자열, 선택 사항)
    • head: 헤드 사용자/조직 및 브랜치로 필터링 (문자열, 선택 사항)
    • owner: 리포지토리 소유자 (문자열, 필수)
    • page: 페이지네이션을 위한 페이지 번호 (최소 1) (숫자, 선택 사항)
    • perPage: 페이지네이션을 위한 페이지당 결과 수 (최소 1, 최대 100) (숫자, 선택 사항)
    • repo: 리포지토리 이름 (문자열, 필수)
    • sort: 정렬 기준 (문자열, 선택 사항)
    • state: 상태로 필터링 (문자열, 선택 사항)
  • merge_pull_request - 풀 리퀘스트 병합

    • 필수 OAuth 범위: repo
    • commit_message: 병합 커밋에 대한 추가 세부 정보 (문자열, 선택 사항)
    • commit_title: 병합 커밋 제목 (문자열, 선택 사항)
    • merge_method: 병합 방법 (문자열, 선택 사항)
    • owner: 리포지토리 소유자 (문자열, 필수)
    • pullNumber: 풀 리퀘스트 번호 (숫자, 필수)
    • repo: 리포지토리 이름 (문자열, 필수)
  • pull_request_read - 단일 풀 리퀘스트의 세부 정보를 가져옵니다

    • 필수 OAuth 범위: repo
    • after: 페이지네이션을 위한 커서로, get_review_comments 메서드에서만 사용됩니다. 이전 페이지의 PageInfo에서 endCursor를 전달하여 다음 페이지를 가져옵니다. (문자열, 선택 사항)
    • method: GitHub에서 가져올 풀 리퀘스트 데이터를 지정하는 작업입니다. 가능한 옵션:
      1. get - 특정 풀 리퀘스트의 세부 정보를 가져옵니다.
      2. get_diff - 풀 리퀘스트의 diff를 가져옵니다.
      3. get_status - 풀 리퀘스트의 헤드 커밋에 대한 결합된 커밋 상태를 가져옵니다.
      4. get_files - 풀 리퀘스트에서 변경된 파일 목록을 가져옵니다. 페이지네이션 매개변수와 함께 사용하여 반환되는 결과 수를 제어합니다.
      5. get_commits - 풀 리퀘스트의 커밋 목록을 가져옵니다. 페이지네이션 매개변수와 함께 사용하여 반환되는 결과 수를 제어합니다.
      6. get_review_comments - 풀 리퀘스트의 리뷰 스레드를 가져옵니다. 각 스레드에는 풀 리퀘스트 리뷰 중 동일한 코드 위치에 작성된 논리적으로 그룹화된 리뷰 코멘트가 포함됩니다. 스레드와 메타데이터(isResolved, isOutdated, isCollapsed) 및 관련 코멘트를 반환합니다. 커서 기반 페이지네이션(perPage, after)을 사용하여 결과를 제어합니다.
      7. get_reviews - 풀 리퀘스트의 리뷰를 가져옵니다. 리뷰 코멘트를 요청받은 경우 get_review_comments 메서드를 사용하세요. 페이지네이션 매개변수와 함께 사용하여 반환되는 결과 수를 제어합니다.
      8. get_comments - 풀 리퀘스트의 코멘트를 가져옵니다. 사용자가 특별히 리뷰 코멘트를 원하지 않는 경우 이 메서드를 사용하세요. 페이지네이션 매개변수와 함께 사용하여 반환되는 결과 수를 제어합니다.
      9. get_check_runs - 풀 리퀘스트의 헤드 커밋에 대한 체크 실행을 가져옵니다. 체크 실행은 PR에서 실행되는 개별 CI/CD 작업 및 검사입니다. (문자열, 필수)
    • owner: 리포지토리 소유자 (문자열, 필수)
    • page: 페이지네이션을 위한 페이지 번호 (최소 1) (숫자, 선택 사항)
    • perPage: 페이지네이션을 위한 페이지당 결과 수 (최소 1, 최대 100) (숫자, 선택 사항)
    • pullNumber: 풀 리퀘스트 번호 (숫자, 필수)
    • repo: 리포지토리 이름 (문자열, 필수)
  • pull_request_review_write - 풀 리퀘스트 리뷰에 대한 쓰기 작업 (생성, 제출, 삭제)

    • 필수 OAuth 범위: repo
    • body: 리뷰 코멘트 텍스트 (문자열, 선택 사항)
    • commitID: 리뷰할 커밋의 SHA (문자열, 선택 사항)
    • event: 수행할 리뷰 작업입니다. (문자열, 선택 사항)
    • method: 풀 리퀘스트 리뷰에서 수행할 쓰기 작업입니다. (문자열, 필수)
    • owner: 리포지토리 소유자 (문자열, 필수)
    • pullNumber: 풀 리퀘스트 번호 (숫자, 필수)
    • repo: 리포지토리 이름 (문자열, 필수)
    • threadId: 리뷰 스레드의 노드 ID입니다 (예: PRRT_kwDOxxx). resolve_thread 및 unresolve_thread 메서드에 필수입니다. pull_request_read의 get_review_comments 메서드에서 스레드 ID를 가져옵니다. (문자열, 선택 사항)
  • search_pull_requests - 풀 리퀘스트 검색

    • 필수 OAuth 범위: repo
    • order: 정렬 순서 (문자열, 선택 사항)
    • owner: 선택적 리포지토리 소유자입니다. repo와 함께 제공되면 이 리포지토리의 풀 리퀘스트만 나열됩니다. (문자열, 선택 사항)
    • page: 페이지네이션을 위한 페이지 번호 (최소 1) (숫자, 선택 사항)
    • perPage: 페이지네이션을 위한 페이지당 결과 수 (최소 1, 최대 100) (숫자, 선택 사항)
    • query: GitHub 풀 리퀘스트 검색 구문을 사용한 검색 쿼리 (문자열, 필수)
    • repo: 선택적 리포지토리 이름입니다. owner와 함께 제공되면 이 리포지토리의 풀 리퀘스트만 나열됩니다. (문자열, 선택 사항)
    • sort: 카테고리 일치 수에 따른 정렬 필드, 기본값은 최적 일치 (문자열, 선택 사항)
  • update_pull_request - 풀 리퀘스트 편집

    • 필수 OAuth 범위: repo
    • base: 새 기본 브랜치 이름 (문자열, 선택 사항)
    • body: 새 설명 (문자열, 선택 사항)
    • draft: 풀 리퀘스트를 초안으로 표시(true)하거나 리뷰 준비 완료(false)로 표시합니다 (불리언, 선택 사항)
    • maintainer_can_modify: 메인테이너 편집 허용 (불리언, 선택 사항)
    • owner: 리포지토리 소유자 (문자열, 필수)
    • pullNumber: 업데이트할 풀 리퀘스트 번호 (숫자, 필수)
    • repo: 리포지토리 이름 (문자열, 필수)
    • reviewers: 리뷰를 요청할 GitHub 사용자 이름 또는 ORG/team-slug 팀 리뷰어 (문자열 배열, 선택 사항)
    • state: 새 상태 (문자열, 선택 사항)
    • title: 새 제목 (문자열, 선택 사항)
  • update_pull_request_branch - 풀 리퀘스트 브랜치 업데이트

    • 필수 OAuth 범위: repo
    • expectedHeadSha: 풀 리퀘스트의 HEAD 참조에 대한 예상 SHA (문자열, 선택 사항)
    • owner: 리포지토리 소유자 (문자열, 필수)
    • pullNumber: 풀 리퀘스트 번호 (숫자, 필수)
    • repo: 리포지토리 이름 (문자열, 필수)
repo 리포지토리
  • create_branch - 브랜치 생성

    • 필수 OAuth 범위: repo
    • branch: 새 브랜치 이름 (문자열, 필수)
    • from_branch: 소스 브랜치 (기본값은 리포지토리 기본값) (문자열, 선택 사항)
    • owner: 리포지토리 소유자 (문자열, 필수)
    • repo: 리포지토리 이름 (문자열, 필수)
  • create_or_update_file - 파일 생성 또는 업데이트

    • 필수 OAuth 범위: repo
    • branch: 파일을 생성/업데이트할 브랜치 (문자열, 필수)
    • content: 파일 내용 (문자열, 필수)
    • message: 커밋 메시지 (문자열, 필수)
    • owner: 리포지토리 소유자 (사용자 이름 또는 조직) (문자열, 필수)
    • path: 파일을 생성/업데이트할 경로 (문자열, 필수)
    • repo: 리포지토리 이름 (문자열, 필수)
    • sha: 교체할 파일의 blob SHA입니다. 파일이 이미 존재하는 경우 필수입니다. (문자열, 선택 사항)
  • create_repository - 리포지토리 생성

    • 필수 OAuth 범위: repo
    • autoInit: README로 초기화 (불리언, 선택 사항)
    • description: 리포지토리 설명 (문자열, 선택 사항)
    • name: 리포지토리 이름 (문자열, 필수)
    • organization: 리포지토리를 생성할 조직 (생략하면 개인 계정에 생성됨) (문자열, 선택 사항)
    • private: 리포지토리를 비공개로 할지 여부입니다. 생략 시 기본값은 true(비공개)입니다. (불리언, 선택 사항)
  • delete_file - 파일 삭제

    • 필수 OAuth 범위: repo
    • branch: 파일을 삭제할 브랜치 (문자열, 필수)
    • message: 커밋 메시지 (문자열, 필수)
    • owner: 리포지토리 소유자 (사용자 이름 또는 조직) (문자열, 필수)
    • path: 삭제할 파일 경로 (문자열, 필수)
    • repo: 리포지토리 이름 (문자열, 필수)
  • fork_repository - 리포지토리 포크

    • 필수 OAuth 범위: repo
    • organization: 포크할 대상 조직 (문자열, 선택 사항)
    • owner: 리포지토리 소유자 (문자열, 필수)
    • repo: 리포지토리 이름 (문자열, 필수)
  • get_commit - 커밋 세부 정보 가져오기

    • 필수 OAuth 범위: repo
    • detail: 변경된 파일에 포함할 세부 정보 수준입니다. "none"은 통계와 파일을 완전히 생략합니다. "stats"(기본값)는 파일별 메타데이터(파일 이름, 상태, 코드 줄 수(추가, 삭제, 변경))를 포함하며 패치 내용은 없습니다. "full_patch"는 각 파일에 대한 통합 diff 내용을 추가로 포함하며 매우 클 수 있습니다. (문자열, 선택 사항)
    • owner: 리포지토리 소유자 (문자열, 필수)
    • page: 페이지네이션을 위한 페이지 번호 (최소 1) (숫자, 선택 사항)
    • perPage: 페이지네이션을 위한 페이지당 결과 수 (최소 1, 최대 100) (숫자, 선택 사항)
    • repo: 리포지토리 이름 (문자열, 필수)
    • sha: 커밋 SHA, 브랜치 이름 또는 태그 이름 (문자열, 필수)
  • get_file_contents - 파일 또는 디렉터리 내용 가져오기

    • 필수 OAuth 범위: repo
    • owner: 리포지토리 소유자 (사용자 이름 또는 조직) (문자열, 필수)
    • path: 파일/디렉터리 경로 (문자열, 선택 사항)
    • ref: refs/tags/{tag}, refs/heads/{branch} 또는 refs/pull/{pr_number}/head과 같은 선택적 git 참조를 허용합니다 (문자열, 선택 사항)
    • repo: 리포지토리 이름 (문자열, 필수)
    • sha: 선택적 커밋 SHA를 허용합니다. 지정된 경우 ref 대신 사용됩니다. (문자열, 선택 사항)
  • get_latest_release - 최신 릴리스 가져오기

    • 필수 OAuth 범위: repo
    • owner: 리포지토리 소유자 (문자열, 필수)
    • repo: 리포지토리 이름 (문자열, 필수)
  • get_release_by_tag - 태그 이름으로 릴리스 가져오기

    • 필수 OAuth 범위: repo
    • owner: 리포지토리 소유자 (문자열, 필수)
    • repo: 리포지토리 이름 (문자열, 필수)
    • tag: 태그 이름 (예: 'v1.0.0') (문자열, 필수)
  • get_tag - 태그 세부 정보 가져오기

    • 필수 OAuth 범위: repo
    • owner: 리포지토리 소유자 (문자열, 필수)
    • repo: 리포지토리 이름 (문자열, 필수)
    • tag: 태그 이름 (문자열, 필수)
  • list_branches - 브랜치 나열

    • 필수 OAuth 범위: repo
    • owner: 리포지토리 소유자 (문자열, 필수)
    • page: 페이지네이션을 위한 페이지 번호 (최소 1) (숫자, 선택 사항)
    • perPage: 페이지네이션을 위한 페이지당 결과 수 (최소 1, 최대 100) (숫자, 선택 사항)
    • repo: 리포지토리 이름 (문자열, 필수)
  • list_commits - 커밋 나열

    • 필수 OAuth 범위: repo
    • author: 커밋을 필터링할 작성자 사용자 이름 또는 이메일 주소 (문자열, 선택 사항)
    • owner: 리포지토리 소유자 (문자열, 필수)
    • page: 페이지네이션을 위한 페이지 번호 (최소 1) (숫자, 선택 사항)
    • path: 이 파일 경로를 포함하는 커밋만 반환됩니다 (문자열, 선택 사항)
    • perPage: 페이지네이션을 위한 페이지당 결과 수 (최소 1, 최대 100) (숫자, 선택 사항)
    • repo: 리포지토리 이름 (문자열, 필수)
    • sha: 커밋을 나열할 커밋 SHA, 브랜치 또는 태그 이름입니다. 제공되지 않으면 리포지토리의 기본 브랜치를 사용합니다. 커밋 SHA가 제공되면 해당 SHA까지의 커밋을 나열합니다. (문자열, 선택 사항)
    • since: 이 날짜 이후의 커밋만 반환됩니다 (ISO 8601 형식: YYYY-MM-DDTHH:MM:SSZ 또는 YYYY-MM-DD) (문자열, 선택 사항)
    • until: 이 날짜 이전의 커밋만 반환됩니다 (ISO 8601 형식: YYYY-MM-DDTHH:MM:SSZ 또는 YYYY-MM-DD) (문자열, 선택 사항)
  • list_releases - 릴리스 나열

    • 필수 OAuth 범위: repo
    • owner: 리포지토리 소유자 (문자열, 필수)
    • page: 페이지네이션을 위한 페이지 번호 (최소 1) (숫자, 선택 사항)
    • perPage: 페이지네이션을 위한 페이지당 결과 수 (최소 1, 최대 100) (숫자, 선택 사항)
    • repo: 리포지토리 이름 (문자열, 필수)
  • list_repository_collaborators - 리포지토리 협력자 나열

    • 필수 OAuth 범위: repo
    • affiliation: 소속별로 필터링합니다. 'outside'(외부 협력자), 'direct'(조직 멤버십에 관계없이 권한이 있는 모든 사용자), 'all'(모든 협력자) 중 하나일 수 있습니다. 기본값: 'all' (문자열, 선택 사항)
    • owner: 리포지토리 소유자 (문자열, 필수)
    • page: 페이지네이션을 위한 페이지 번호 (기본값 1, 최소 1) (숫자, 선택 사항)
    • perPage: 페이지네이션을 위한 페이지당 결과 수 (기본값 30, 최소 1, 최대 100) (숫자, 선택 사항)
    • repo: 리포지토리 이름 (문자열, 필수)
  • list_tags - 태그 목록 조회

    • 필수 OAuth 범위: repo
    • owner: 리포지토리 소유자 (문자열, 필수)
    • page: 페이지네이션을 위한 페이지 번호 (최소 1) (숫자, 선택 사항)
    • perPage: 페이지네이션을 위한 페이지당 결과 수 (최소 1, 최대 100) (숫자, 선택 사항)
    • repo: 리포지토리 이름 (문자열, 필수)
  • push_files - 리포지토리에 파일 푸시

    • 필수 OAuth 범위: repo
    • branch: 푸시할 브랜치 (문자열, 필수)
    • files: 푸시할 파일 객체 배열, 각 객체는 경로(문자열)와 내용(문자열)을 포함 (객체[], 필수)
    • message: 커밋 메시지 (문자열, 필수)
    • owner: 리포지토리 소유자 (문자열, 필수)
    • repo: 리포지토리 이름 (문자열, 필수)
  • search_code - 코드 검색

    • 필수 OAuth 범위: repo
    • order: 결과 정렬 순서 (문자열, 선택 사항)
    • page: 페이지네이션을 위한 페이지 번호 (최소 1) (숫자, 선택 사항)
    • perPage: 페이지네이션을 위한 페이지당 결과 수 (최소 1, 최대 100) (숫자, 선택 사항)
    • query: 검색 쿼리 (GitHub 코드 검색 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 커밋 검색 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 보안 권고 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: 공통 약점 열거 ID로 필터링 (예: ["79", "284", "22"]). (문자열[], 선택 사항)
    • ecosystem: 패키지 에코시스템으로 필터링. (문자열, 선택 사항)
    • ghsaId: GitHub 보안 권고 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 가입 시점 기준으로 사용자 정렬. (문자열, 선택 사항)

원격 GitHub MCP 서버의 추가 도구

Copilot
  • create_pull_request_with_copilot - GitHub Copilot 코딩 에이전트로 작업 수행
    • owner: 리포지토리 소유자. 소유자를 추측할 수 있지만 진행하기 전에 사용자에게 확인하세요. (문자열, 필수)
    • repo: 리포지토리 이름. 리포지토리 이름을 추측할 수 있지만 진행하기 전에 사용자에게 확인하세요. (문자열, 필수)
    • problem_statement: 수행할 작업에 대한 자세한 설명 (예: 'X 기능 구현', 'Y 버그 수정' 등) (문자열, 필수)
    • title: 생성될 풀 리퀘스트의 제목 (문자열, 필수)
    • base_ref: 에이전트가 작업을 시작할 Git 참조(예: 브랜치). 지정하지 않으면 리포지토리의 기본 브랜치로 기본 설정됩니다. (문자열, 선택 사항)
Copilot Spaces
  • 인증 참고 사항

    • 세분화된 PAT는 클래식 PAT 범위 필터링에 의해 숨겨지지 않으므로, 토큰이 사용할 수 없는 경우에도 이러한 도구가 나타날 수 있습니다.
    • 조직 소유 스페이스의 경우, 세분화된 PAT가 소유 조직에 설치되어 있고 organization_copilot_spaces: read을(를) 포함해야 합니다.
    • 조직 소유 스페이스에 리포지토리 기반 리소스가 포함된 경우, 토큰이 참조된 모든 리포지토리에 접근할 수 있어야 하며, 그렇지 않으면 스페이스를 찾을 수 없는 것으로 처리될 수 있습니다.
  • get_copilot_space - Copilot Space 가져오기

    • owner: 스페이스 소유자. (문자열, 필수)
    • name: 스페이스 이름. (문자열, 필수)
  • list_copilot_spaces - Copilot Spaces 목록 조회

GitHub 지원 문서 검색 - **github_support_docs_search** - GitHub 제품 및 지원 질문에 답변하는 데 관련된 문서를 검색합니다. 지원 주제에는 GitHub Actions 워크플로, 인증, GitHub 지원 문의, 풀 리퀘스트 관행, 리포지토리 유지 관리, GitHub Pages, GitHub Packages, GitHub Discussions, Copilot Spaces가 포함됩니다. - `query`: 사용자가 답변을 원하는 질문에 대한 입력입니다. 이는 가장 최근의 편집되지 않은 원시 사용자 메시지입니다. 사용자 메시지를 항상 그대로 두어야 하며, 절대 수정해서는 안 됩니다. (문자열, 필수)

읽기 전용 모드

서버를 읽기 전용 모드로 실행하려면 --read-only 플래그를 사용할 수 있습니다. 이렇게 하면 읽기 전용 도구만 제공되어 리포지토리, 이슈, 풀 리퀘스트 등에 대한 수정을 방지합니다.

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

잠금 모드

잠금 모드는 서버가 공개 리포지토리에서 표시하는 콘텐츠를 제한합니다. 활성화되면 서버는 각 항목의 작성자가 리포지토리에 푸시 접근 권한이 있는지 확인합니다. 비공개 리포지토리는 영향을 받지 않으며, 협력자는 자신의 콘텐츠에 대한 전체 접근 권한을 유지합니다.

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

잠금 모드의 동작은 호출된 도구에 따라 달라집니다.

다음 도구는 작성자에게 푸시 접근 권한이 없을 때 오류를 반환합니다.

  • issue_read:get
  • pull_request_read:get

다음 도구는 푸시 접근 권한이 없는 사용자의 콘텐츠를 필터링하여 제외합니다.

  • 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

국제화 / 설명 재정의

도구의 설명은 바이너리와 동일한 디렉터리에 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"

서버 이름 및 제목 재정의

동일한 재정의 메커니즘을 사용하여 초기화 응답에서 MCP 서버의 nametitle 필드를 사용자 지정할 수 있습니다. 이는 여러 GitHub MCP 서버 인스턴스를 실행할 때(예: 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"

라이브러리 사용

이 모듈의 내보낸 Go API는 현재 불안정한 것으로 간주되어야 하며, 주요 변경 사항이 발생할 수 있습니다. 향후 안정성을 제공할 수 있으며, 이것이 유용할 사용 사례가 있다면 이슈를 제출해 주세요.

기여

기여를 환영합니다. 풀 리퀘스트를 열기 전에 설정, 테스트, 린팅 및 문서 생성 지침에 대한 기여 가이드를 읽어보세요.

지원

GitHub MCP 서버 사용에 대한 도움말은 지원 가이드를 참조하세요. 버그를 발견했거나 기능을 요청하려면 새 이슈를 열기 전에 기존 이슈를 검색해 주세요.

보안

공개 이슈를 통해 보안 취약점을 보고하지 마세요. 보안 정책의 지침에 따라 책임감 있게 취약점을 보고하세요.

라이선스

이 프로젝트는 MIT 오픈 소스 라이선스 조건에 따라 라이선스가 부여됩니다. 전체 조건은 MIT를 참조하세요.