GitHub MCP Server

Integra-se com as APIs do GitHub para automação avançada e interação, suportando implantações remotas e locais.

Documentação

GitHub MCP Server

O GitHub MCP Server é um servidor Model Context Protocol (MCP) que fornece integração perfeita com as APIs do GitHub, permitindo automação avançada e capacidades de interação para desenvolvedores e ferramentas.

Casos de Uso

  • Automatizar fluxos de trabalho e processos do GitHub.
  • Extrair e analisar dados de repositórios do GitHub.
  • Construir ferramentas e aplicações com tecnologia de IA que interagem com o ecossistema do GitHub.

GitHub MCP Server Remoto

Install in VS Code Install in VS Code Insiders

O GitHub MCP Server remoto é hospedado pelo GitHub e fornece o método mais fácil para começar. Se o seu host MCP não suporta servidores MCP remotos, não se preocupe! Você pode usar a versão local do GitHub MCP Server em vez disso.

Pré-requisitos

  1. Um host MCP que suporte a especificação MCP mais recente e servidores remotos, como VS Code.

Instalação

Uso com VS Code

Para instalação rápida, use um dos botões de instalação com um clique acima. Depois de concluir esse fluxo, alterne para o modo Agente (localizado na entrada de texto do Copilot Chat) e o servidor será iniciado. Certifique-se de estar usando VS Code 1.101 ou posterior para suporte a MCP remoto e OAuth.

Alternativamente, para configurar o VS Code manualmente, escolha o bloco JSON apropriado dos exemplos abaixo e adicione-o à configuração do seu host:

Usando OAuthUsando um PAT do GitHub
VS Code (versão 1.101 ou superior)
{
  "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
    }
  ]
}

Uso em outros hosts MCP

Para hosts MCP que são compatíveis com MCP remoto, escolha o bloco JSON apropriado dos exemplos abaixo e adicione-o à configuração do seu host:

Usando OAuthUsando um PAT do GitHub
{
  "mcpServers": {
    "github": {
      "url": "https://api.githubcopilot.com/mcp/"
    }
  }
}
{
  "mcpServers": {
    "github": {
      "url": "https://api.githubcopilot.com/mcp/",
      "authorization_token": "Bearer <your GitHub PAT>"
    }
  }
}

Nota: O formato exato da configuração pode variar conforme o host. Consulte a documentação do seu host para obter a sintaxe e o local corretos para a configuração do servidor MCP remoto.

Configuração

Consulte a Documentação do Servidor Remoto sobre como passar configurações adicionais para o GitHub MCP Server remoto.


GitHub MCP Server Local

Install with Docker in VS Code Install with Docker in VS Code Insiders

Pré-requisitos

  1. Para executar o servidor em um contêiner, você precisará ter o Docker instalado.
  2. Depois que o Docker estiver instalado, você também precisará garantir que o Docker esteja em execução. A imagem é pública; se você receber erros ao fazer pull, pode ter um token expirado e precisará docker logout ghcr.io.
  3. Por último, você precisará Criar um Token de Acesso Pessoal do GitHub. O servidor MCP pode usar muitas das APIs do GitHub, então habilite as permissões que você se sentir confortável em conceder às suas ferramentas de IA (para saber mais sobre tokens de acesso, consulte a documentação).

Instalação

Uso com VS Code

Para instalação rápida, use um dos botões de instalação com um clique. Depois de concluir esse fluxo, alterne para o modo Agente (localizado na entrada de texto do Copilot Chat) e o servidor será iniciado.

Uso em outros hosts MCP

Adicione o seguinte bloco JSON às configurações MCP do seu IDE.

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

Opcionalmente, você pode adicionar um exemplo semelhante (ou seja, sem a chave mcp) a um arquivo chamado .vscode/mcp.json no seu espaço de trabalho. Isso permitirá que você compartilhe a configuração com outras pessoas.

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

Saiba mais sobre o uso das ferramentas do servidor MCP na documentação do modo agente do VS Code.

Uso com Claude Desktop

{
  "mcpServers": {
    "github": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "GITHUB_PERSONAL_ACCESS_TOKEN",
        "ghcr.io/github/github-mcp-server"
      ],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "<YOUR_TOKEN>"
      }
    }
  }
}

Compilar a partir do código-fonte

Se você não tiver o Docker, pode usar go build para compilar o binário no diretório cmd/github-mcp-server, e usar o comando github-mcp-server stdio com a variável de ambiente GITHUB_PERSONAL_ACCESS_TOKEN definida com o seu token. Para especificar o local de saída da compilação, use a flag -o. Você deve configurar seu servidor para usar o executável compilado como seu command. Por exemplo:

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

Configuração de Ferramentas

O GitHub MCP Server suporta habilitar ou desabilitar grupos específicos de funcionalidades por meio da flag --toolsets. Isso permite que você controle quais capacidades da API do GitHub estão disponíveis para suas ferramentas de IA. Habilitar apenas os conjuntos de ferramentas que você precisa pode ajudar o LLM na escolha de ferramentas e reduzir o tamanho do contexto.

Os conjuntos de ferramentas não se limitam a Ferramentas. Recursos e Prompts MCP relevantes também são incluídos quando aplicável.

Conjuntos de Ferramentas Disponíveis

Os seguintes conjuntos de ferramentas estão disponíveis (todos estão ativados por padrão):

Conjunto de FerramentasDescrição
contextAltamente recomendado: Ferramentas que fornecem contexto sobre o usuário atual e o contexto do GitHub em que você está operando
actionsFluxos de trabalho do GitHub Actions e operações de CI/CD
code_securityFerramentas relacionadas à segurança de código, como GitHub Code Scanning
experimentsRecursos experimentais que ainda não são considerados estáveis
issuesFerramentas relacionadas a Issues do GitHub
notificationsFerramentas relacionadas a Notificações do GitHub
orgsFerramentas relacionadas a Organizações do GitHub
pull_requestsFerramentas relacionadas a Pull Requests do GitHub
reposFerramentas relacionadas a Repositórios do GitHub
secret_protectionFerramentas relacionadas à proteção de segredos, como GitHub Secret Scanning
usersFerramentas relacionadas a Usuários do GitHub

Especificando Conjuntos de Ferramentas

Para especificar os conjuntos de ferramentas que você deseja disponibilizar para o LLM, você pode passar uma lista de permissões de duas maneiras:

  1. Usando Argumento de Linha de Comando:

    github-mcp-server --toolsets repos,issues,pull_requests,actions,code_security
    
  2. Usando Variável de Ambiente:

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

A variável de ambiente GITHUB_TOOLSETS tem precedência sobre o argumento de linha de comando se ambos forem fornecidos.

Usando Conjuntos de Ferramentas com Docker

Ao usar Docker, você pode passar os conjuntos de ferramentas como variáveis de ambiente:

docker run -i --rm \
  -e GITHUB_PERSONAL_ACCESS_TOKEN=<your-token> \
  -e GITHUB_TOOLSETS="repos,issues,pull_requests,actions,code_security,experiments" \
  ghcr.io/github/github-mcp-server

O Conjunto de Ferramentas "all"

O conjunto de ferramentas especial all pode ser fornecido para habilitar todos os conjuntos de ferramentas disponíveis, independentemente de qualquer outra configuração:

./github-mcp-server --toolsets all

Ou usando a variável de ambiente:

GITHUB_TOOLSETS="all" ./github-mcp-server

Descoberta Dinâmica de Ferramentas

Nota: Este recurso está atualmente em beta e pode não estar disponível em todos os ambientes. Teste e nos avise se encontrar algum problema.

Em vez de começar com todas as ferramentas habilitadas, você pode ativar a descoberta dinâmica de conjuntos de ferramentas. Os conjuntos de ferramentas dinâmicos permitem que o host MCP liste e habilite conjuntos de ferramentas em resposta a um prompt do usuário. Isso deve ajudar a evitar situações em que o modelo fica confuso com o grande número de ferramentas disponíveis.

Usando a Descoberta Dinâmica de Ferramentas

Ao usar o binário, você pode passar a flag --dynamic-toolsets.

./github-mcp-server --dynamic-toolsets

Ao usar Docker, você pode passar os conjuntos de ferramentas como variáveis de ambiente:

docker run -i --rm \
  -e GITHUB_PERSONAL_ACCESS_TOKEN=<your-token> \
  -e GITHUB_DYNAMIC_TOOLSETS=1 \
  ghcr.io/github/github-mcp-server

Modo Somente Leitura

Para executar o servidor em modo somente leitura, você pode usar a flag --read-only. Isso oferecerá apenas ferramentas somente leitura, impedindo qualquer modificação em repositórios, issues, pull requests, etc.

./github-mcp-server --read-only

Ao usar Docker, você pode passar o modo somente leitura como uma variável de ambiente:

docker run -i --rm \
  -e GITHUB_PERSONAL_ACCESS_TOKEN=<your-token> \
  -e GITHUB_READ_ONLY=1 \
  ghcr.io/github/github-mcp-server

GitHub Enterprise Server e Enterprise Cloud com residência de dados (ghe.com)

A flag --gh-host e a variável de ambiente GITHUB_HOST podem ser usadas para definir o nome do host para GitHub Enterprise Server ou GitHub Enterprise Cloud com residência de dados.

  • Para GitHub Enterprise Server, prefixe o nome do host com o esquema de URI https://, pois ele usa por padrão http://, que o GitHub Enterprise Server não suporta.
  • Para GitHub Enterprise Cloud com residência de dados, use https://YOURSUBDOMAIN.ghe.com como nome do host.
"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>"
    }
}

i18n / Substituindo Descrições

As descrições das ferramentas podem ser substituídas criando um arquivo github-mcp-server-config.json no mesmo diretório do binário.

O arquivo deve conter um objeto JSON com os nomes das ferramentas como chaves e as novas descrições como valores. Por exemplo:

{
  "TOOL_ADD_ISSUE_COMMENT_DESCRIPTION": "an alternative description",
  "TOOL_CREATE_BRANCH_DESCRIPTION": "Create a new branch in a GitHub repository"
}

Você pode criar uma exportação das traduções atuais executando o binário com a flag --export-translations.

Esta flag preservará quaisquer traduções/substituições que você tenha feito, enquanto adiciona quaisquer novas traduções que foram adicionadas ao binário desde a última vez que você exportou.

./github-mcp-server --export-translations
cat github-mcp-server-config.json

Você também pode usar variáveis de ambiente para substituir as descrições. Os nomes das variáveis de ambiente são os mesmos que as chaves no arquivo JSON, prefixados com GITHUB_MCP_ e todos em maiúsculas.

Por exemplo, para substituir a ferramenta TOOL_ADD_ISSUE_COMMENT_DESCRIPTION, você pode definir a seguinte variável de ambiente:

export GITHUB_MCP_TOOL_ADD_ISSUE_COMMENT_DESCRIPTION="an alternative description"

Ferramentas

Actions
  • cancel_workflow_run - Cancelar execução de fluxo de trabalho

    • owner: Proprietário do repositório (string, obrigatório)
    • repo: Nome do repositório (string, obrigatório)
    • run_id: O identificador único da execução do fluxo de trabalho (número, obrigatório)
  • delete_workflow_run_logs - Excluir logs do fluxo de trabalho

    • owner: Proprietário do repositório (string, obrigatório)
    • repo: Nome do repositório (string, obrigatório)
    • run_id: O identificador único da execução do fluxo de trabalho (número, obrigatório)
  • download_workflow_run_artifact - Baixar artefato do fluxo de trabalho

    • artifact_id: O identificador único do artefato (número, obrigatório)
    • owner: Proprietário do repositório (string, obrigatório)
    • repo: Nome do repositório (string, obrigatório)
  • get_job_logs - Obter logs do job

    • failed_only: Quando verdadeiro, obtém logs para todos os jobs com falha em run_id (booleano, opcional)
    • job_id: O identificador único do job do fluxo de trabalho (obrigatório para logs de job único) (número, opcional)
    • owner: Proprietário do repositório (string, obrigatório)
    • repo: Nome do repositório (string, obrigatório)
    • return_content: Retorna o conteúdo real do log em vez de URLs (booleano, opcional)
    • run_id: ID da execução do fluxo de trabalho (obrigatório ao usar failed_only) (número, opcional)
  • get_workflow_run - Obter execução do fluxo de trabalho

    • owner: Proprietário do repositório (string, obrigatório)
    • repo: Nome do repositório (string, obrigatório)
    • run_id: O identificador único da execução do fluxo de trabalho (número, obrigatório)
  • get_workflow_run_logs - Obter logs da execução do fluxo de trabalho

    • owner: Proprietário do repositório (string, obrigatório)
    • repo: Nome do repositório (string, obrigatório)
    • run_id: O identificador único da execução do fluxo de trabalho (número, obrigatório)
  • get_workflow_run_usage - Obter uso do fluxo de trabalho

    • owner: Proprietário do repositório (string, obrigatório)
    • repo: Nome do repositório (string, obrigatório)
    • run_id: O identificador único da execução do fluxo de trabalho (número, obrigatório)
  • list_workflow_jobs - Listar jobs do fluxo de trabalho

    • filter: Filtra jobs pelo timestamp completed_at (string, opcional)
    • owner: Proprietário do repositório (string, obrigatório)
    • page: O número da página dos resultados a buscar (número, opcional)
    • per_page: O número de resultados por página (máx. 100) (número, opcional)
    • repo: Nome do repositório (string, obrigatório)
    • run_id: O identificador único da execução do fluxo de trabalho (número, obrigatório)
  • list_workflow_run_artifacts - Listar artefatos de workflow

    • owner: Proprietário do repositório (string, obrigatório)
    • page: O número da página dos resultados a buscar (number, opcional)
    • per_page: O número de resultados por página (máx. 100) (number, opcional)
    • repo: Nome do repositório (string, obrigatório)
    • run_id: O identificador único da execução do workflow (number, obrigatório)
  • list_workflow_runs - Listar execuções de workflow

    • actor: Retorna as execuções de workflow de alguém. Use o login do usuário que criou a execução do workflow. (string, opcional)
    • branch: Retorna execuções de workflow associadas a um branch. Use o nome do branch. (string, opcional)
    • event: Retorna execuções de workflow para um tipo de evento específico (string, opcional)
    • owner: Proprietário do repositório (string, obrigatório)
    • page: O número da página dos resultados a buscar (number, opcional)
    • per_page: O número de resultados por página (máx. 100) (number, opcional)
    • repo: Nome do repositório (string, obrigatório)
    • status: Retorna execuções de workflow com o status do check run (string, opcional)
    • workflow_id: O ID do workflow ou o nome do arquivo do workflow (string, obrigatório)
  • list_workflows - Listar workflows

    • owner: Proprietário do repositório (string, obrigatório)
    • page: O número da página dos resultados a buscar (number, opcional)
    • per_page: O número de resultados por página (máx. 100) (number, opcional)
    • repo: Nome do repositório (string, obrigatório)
  • rerun_failed_jobs - Reexecutar trabalhos com falha

    • owner: Proprietário do repositório (string, obrigatório)
    • repo: Nome do repositório (string, obrigatório)
    • run_id: O identificador único da execução do workflow (number, obrigatório)
  • rerun_workflow_run - Reexecutar execução de workflow

    • owner: Proprietário do repositório (string, obrigatório)
    • repo: Nome do repositório (string, obrigatório)
    • run_id: O identificador único da execução do workflow (number, obrigatório)
  • run_workflow - Executar workflow

    • inputs: Entradas que o workflow aceita (object, opcional)
    • owner: Proprietário do repositório (string, obrigatório)
    • ref: A referência git para o workflow. A referência pode ser um nome de branch ou tag. (string, obrigatório)
    • repo: Nome do repositório (string, obrigatório)
    • workflow_id: O ID do workflow (numérico) ou o nome do arquivo do workflow (ex.: main.yml, ci.yaml) (string, obrigatório)
Segurança de Código
  • get_code_scanning_alert - Obter alerta de varredura de código

    • alertNumber: O número do alerta. (number, obrigatório)
    • owner: O proprietário do repositório. (string, obrigatório)
    • repo: O nome do repositório. (string, obrigatório)
  • list_code_scanning_alerts - Listar alertas de varredura de código

    • owner: O proprietário do repositório. (string, obrigatório)
    • ref: A referência Git para os resultados que você deseja listar. (string, opcional)
    • repo: O nome do repositório. (string, obrigatório)
    • severity: Filtrar alertas de varredura de código por gravidade (string, opcional)
    • state: Filtrar alertas de varredura de código por estado. O padrão é aberto (string, opcional)
    • tool_name: O nome da ferramenta usada para varredura de código. (string, opcional)
Contexto
  • get_me - Obter meu perfil de usuário
    • reason: Opcional: o motivo para solicitar as informações do usuário (string, opcional)
Issues
  • add_issue_comment - Adicionar comentário à issue

    • body: Conteúdo do comentário (string, obrigatório)
    • issue_number: Número da issue para comentar (number, obrigatório)
    • owner: Proprietário do repositório (string, obrigatório)
    • repo: Nome do repositório (string, obrigatório)
  • assign_copilot_to_issue - Atribuir Copilot à issue

    • issueNumber: Número da issue (number, obrigatório)
    • owner: Proprietário do repositório (string, obrigatório)
    • repo: Nome do repositório (string, obrigatório)
  • create_issue - Abrir nova issue

    • assignees: Nomes de usuário para atribuir a esta issue (string[], opcional)
    • body: Conteúdo do corpo da issue (string, opcional)
    • labels: Rótulos para aplicar a esta issue (string[], opcional)
    • milestone: Número do marco (number, opcional)
    • owner: Proprietário do repositório (string, obrigatório)
    • repo: Nome do repositório (string, obrigatório)
    • title: Título da issue (string, obrigatório)
  • get_issue - Obter detalhes da issue

    • issue_number: O número da issue (number, obrigatório)
    • owner: O proprietário do repositório (string, obrigatório)
    • repo: O nome do repositório (string, obrigatório)
  • get_issue_comments - Obter comentários da issue

    • issue_number: Número da issue (number, obrigatório)
    • owner: Proprietário do repositório (string, obrigatório)
    • page: Número da página (number, opcional)
    • per_page: Número de registros por página (number, opcional)
    • repo: Nome do repositório (string, obrigatório)
  • list_issues - Listar issues

    • direction: Direção da ordenação (string, opcional)
    • labels: Filtrar por rótulos (string[], opcional)
    • owner: Proprietário do repositório (string, obrigatório)
    • page: Número da página para paginação (mín. 1) (number, opcional)
    • perPage: Resultados por página para paginação (mín. 1, máx. 100) (number, opcional)
    • repo: Nome do repositório (string, obrigatório)
    • since: Filtrar por data (timestamp ISO 8601) (string, opcional)
    • sort: Ordem de classificação (string, opcional)
    • state: Filtrar por estado (string, opcional)
  • search_issues - Pesquisar issues

    • order: Ordem de classificação (string, opcional)
    • owner: Proprietário do repositório opcional. Se fornecido com repo, apenas notificações para este repositório são listadas. (string, opcional)
    • page: Número da página para paginação (mín. 1) (number, opcional)
    • perPage: Resultados por página para paginação (mín. 1, máx. 100) (number, opcional)
    • query: Consulta de pesquisa usando a sintaxe de pesquisa de issues do GitHub (string, obrigatório)
    • repo: Nome do repositório opcional. Se fornecido com owner, apenas notificações para este repositório são listadas. (string, opcional)
    • sort: Campo de classificação por número de correspondências de categorias, o padrão é melhor correspondência (string, opcional)
  • update_issue - Editar issue

    • assignees: Novos responsáveis (string[], opcional)
    • body: Nova descrição (string, opcional)
    • issue_number: Número da issue para atualizar (number, obrigatório)
    • labels: Novos rótulos (string[], opcional)
    • milestone: Novo número do marco (number, opcional)
    • owner: Proprietário do repositório (string, obrigatório)
    • repo: Nome do repositório (string, obrigatório)
    • state: Novo estado (string, opcional)
    • title: Novo título (string, opcional)
Notificações
  • dismiss_notification - Dispensar notificação

    • state: O novo estado da notificação (lida/concluída) (string, opcional)
    • threadID: O ID do tópico da notificação (string, obrigatório)
  • get_notification_details - Obter detalhes da notificação

    • notificationID: O ID da notificação (string, obrigatório)
  • list_notifications - Listar notificações

    • before: Mostrar apenas notificações atualizadas antes do horário informado (formato ISO 8601) (string, opcional)
    • filter: Filtrar notificações, use o padrão a menos que especificado. Notificações lidas são aquelas que já foram reconhecidas pelo usuário. Notificações participantes são aquelas em que o usuário está diretamente envolvido, como issues ou pull requests em que ele comentou ou criou. (string, opcional)
    • owner: Proprietário do repositório opcional. Se fornecido com repo, apenas notificações para este repositório são listadas. (string, opcional)
    • page: Número da página para paginação (mín. 1) (number, opcional)
    • perPage: Resultados por página para paginação (mín. 1, máx. 100) (number, opcional)
    • repo: Nome do repositório opcional. Se fornecido com owner, apenas notificações para este repositório são listadas. (string, opcional)
    • since: Mostrar apenas notificações atualizadas após o horário informado (formato ISO 8601) (string, opcional)
  • manage_notification_subscription - Gerenciar assinatura de notificação

    • action: Ação a executar: ignorar, observar ou excluir a assinatura de notificação. (string, obrigatório)
    • notificationID: O ID do tópico da notificação. (string, obrigatório)
  • manage_repository_notification_subscription - Gerenciar assinatura de notificação do repositório

    • action: Ação a executar: ignorar, observar ou excluir a assinatura de notificação do repositório. (string, obrigatório)
    • owner: O proprietário da conta do repositório. (string, obrigatório)
    • repo: O nome do repositório. (string, obrigatório)
  • mark_all_notifications_read - Marcar todas as notificações como lidas

    • lastReadAt: Descreve o último ponto em que as notificações foram verificadas (opcional). Padrão: Agora (string, opcional)
    • owner: Proprietário do repositório opcional. Se fornecido com repo, apenas notificações para este repositório são marcadas como lidas. (string, opcional)
    • repo: Nome do repositório opcional. Se fornecido com owner, apenas notificações para este repositório são marcadas como lidas. (string, opcional)
Organizações
  • search_orgs - Pesquisar organizações
    • order: Ordem de classificação (string, opcional)
    • page: Número da página para paginação (mín. 1) (number, opcional)
    • perPage: Resultados por página para paginação (mín. 1, máx. 100) (number, opcional)
    • query: Consulta de pesquisa usando a sintaxe de pesquisa de organizações do GitHub com escopo type:org (string, obrigatório)
    • sort: Campo de classificação por categoria (string, opcional)
Pull Requests
  • add_pull_request_review_comment_to_pending_review - Adicionar comentário à revisão de pull request pendente mais recente do solicitante

    • body: O texto do comentário de revisão (string, obrigatório)
    • line: A linha do blob no diff do pull request à qual o comentário se aplica. Para comentários de várias linhas, a última linha do intervalo (number, opcional)
    • owner: Proprietário do repositório (string, obrigatório)
    • path: O caminho relativo ao arquivo que exige um comentário (string, obrigatório)
    • pullNumber: Número do pull request (number, obrigatório)
    • repo: Nome do repositório (string, obrigatório)
    • side: O lado do diff para comentar. LEFT indica o estado anterior, RIGHT indica o novo estado (string, opcional)
    • startLine: Para comentários de várias linhas, a primeira linha do intervalo ao qual o comentário se aplica (number, opcional)
    • startSide: Para comentários de várias linhas, o lado inicial do diff ao qual o comentário se aplica. LEFT indica o estado anterior, RIGHT indica o novo estado (string, opcional)
    • subjectType: O nível em que o comentário é direcionado (string, obrigatório)
  • create_and_submit_pull_request_review - Criar e enviar uma revisão de pull request sem comentários

    • body: Texto do comentário da revisão (string, obrigatório)
    • commitID: SHA do commit a ser revisado (string, opcional)
    • event: Ação de revisão a ser executada (string, obrigatório)
    • owner: Proprietário do repositório (string, obrigatório)
    • pullNumber: Número do pull request (number, obrigatório)
    • repo: Nome do repositório (string, obrigatório)
  • create_pending_pull_request_review - Criar revisão de pull request pendente

    • commitID: SHA do commit a ser revisado (string, opcional)
    • owner: Proprietário do repositório (string, obrigatório)
    • pullNumber: Número do pull request (number, obrigatório)
    • repo: Nome do repositório (string, obrigatório)
  • create_pull_request - Abrir novo pull request

    • base: Branch para mesclar (string, obrigatório)
    • body: Descrição do PR (string, opcional)
    • draft: Criar como PR rascunho (boolean, opcional)
    • head: Branch contendo as alterações (string, obrigatório)
    • maintainer_can_modify: Permitir edições do mantenedor (boolean, opcional)
    • owner: Proprietário do repositório (string, obrigatório)
    • repo: Nome do repositório (string, obrigatório)
    • title: Título do PR (string, obrigatório)
  • delete_pending_pull_request_review - Excluir a revisão de pull request pendente mais recente do solicitante

    • owner: Proprietário do repositório (string, obrigatório)
    • pullNumber: Número do pull request (number, obrigatório)
    • repo: Nome do repositório (string, obrigatório)
  • get_pull_request - Obter detalhes do pull request

    • owner: Proprietário do repositório (string, obrigatório)
    • pullNumber: Número do pull request (number, obrigatório)
    • repo: Nome do repositório (string, obrigatório)
  • get_pull_request_comments - Obter comentários do pull request

    • owner: Proprietário do repositório (string, obrigatório)
    • pullNumber: Número do pull request (number, obrigatório)
    • repo: Nome do repositório (string, obrigatório)
  • get_pull_request_diff - Obter diff do pull request

    • owner: Proprietário do repositório (string, obrigatório)
    • pullNumber: Número do pull request (number, obrigatório)
    • repo: Nome do repositório (string, obrigatório)
  • get_pull_request_files - Obter arquivos do pull request

    • owner: Proprietário do repositório (string, obrigatório)
    • page: Número da página para paginação (mín. 1) (number, opcional)
    • perPage: Resultados por página para paginação (mín. 1, máx. 100) (number, opcional)
    • pullNumber: Número do pull request (number, obrigatório)
    • repo: Nome do repositório (string, obrigatório)
  • get_pull_request_reviews - Obter revisões do pull request

    • owner: Proprietário do repositório (string, obrigatório)
    • pullNumber: Número do pull request (number, obrigatório)
    • repo: Nome do repositório (string, obrigatório)
  • get_pull_request_status - Obter verificações de status do pull request

    • owner: Proprietário do repositório (string, obrigatório)
    • pullNumber: Número do pull request (number, obrigatório)
    • repo: Nome do repositório (string, obrigatório)
  • list_pull_requests - Listar pull requests

    • base: Filtrar por branch base (string, opcional)
    • direction: Direção da ordenação (string, opcional)
    • head: Filtrar por usuário/org e branch head (string, opcional)
    • owner: Proprietário do repositório (string, obrigatório)
    • page: Número da página para paginação (mín. 1) (number, opcional)
    • perPage: Resultados por página para paginação (mín. 1, máx. 100) (number, opcional)
    • repo: Nome do repositório (string, obrigatório)
    • sort: Ordenar por (string, opcional)
    • state: Filtrar por estado (string, opcional)
  • merge_pull_request - Mesclar pull request

    • commit_message: Detalhe extra para o commit de mesclagem (string, opcional)
    • commit_title: Título para o commit de mesclagem (string, opcional)
    • merge_method: Método de mesclagem (string, opcional)
    • owner: Proprietário do repositório (string, obrigatório)
    • pullNumber: Número do pull request (number, obrigatório)
    • repo: Nome do repositório (string, obrigatório)
  • request_copilot_review - Solicitar revisão do Copilot

    • owner: Proprietário do repositório (string, obrigatório)
    • pullNumber: Número do pull request (number, obrigatório)
    • repo: Nome do repositório (string, obrigatório)
  • search_pull_requests - Pesquisar pull requests

    • order: Ordem de classificação (string, opcional)
    • owner: Proprietário do repositório opcional. Se fornecido com repo, apenas notificações para este repositório são listadas. (string, opcional)
    • page: Número da página para paginação (mín. 1) (number, opcional)
    • perPage: Resultados por página para paginação (mín. 1, máx. 100) (number, opcional)
    • query: Consulta de pesquisa usando a sintaxe de pesquisa de pull requests do GitHub (string, obrigatório)
    • repo: Nome do repositório opcional. Se fornecido com owner, apenas notificações para este repositório são listadas. (string, opcional)
    • sort: Campo de classificação por número de correspondências de categorias, padrão é melhor correspondência (string, opcional)
  • submit_pending_pull_request_review - Enviar a revisão de pull request pendente mais recente do solicitante

    • body: O texto do comentário da revisão (string, opcional)
    • event: O evento a ser executado (string, obrigatório)
    • owner: Proprietário do repositório (string, obrigatório)
    • pullNumber: Número do pull request (number, obrigatório)
    • repo: Nome do repositório (string, obrigatório)
  • update_pull_request - Editar pull request

    • base: Novo nome do branch base (string, opcional)
    • body: Nova descrição (string, opcional)
    • maintainer_can_modify: Permitir edições do mantenedor (boolean, opcional)
    • owner: Proprietário do repositório (string, obrigatório)
    • pullNumber: Número do pull request a atualizar (number, obrigatório)
    • repo: Nome do repositório (string, obrigatório)
    • state: Novo estado (string, opcional)
    • title: Novo título (string, opcional)
  • update_pull_request_branch - Atualizar branch do pull request

    • expectedHeadSha: O SHA esperado da ref HEAD do pull request (string, opcional)
    • owner: Proprietário do repositório (string, obrigatório)
    • pullNumber: Número do pull request (number, obrigatório)
    • repo: Nome do repositório (string, obrigatório)
Repositórios
  • create_branch - Criar branch

    • branch: Nome do novo branch (string, obrigatório)
    • from_branch: Branch de origem (padrão é o branch padrão do repositório) (string, opcional)
    • owner: Proprietário do repositório (string, obrigatório)
    • repo: Nome do repositório (string, obrigatório)
  • create_or_update_file - Criar ou atualizar arquivo

    • branch: Branch para criar/atualizar o arquivo (string, obrigatório)
    • content: Conteúdo do arquivo (string, obrigatório)
    • message: Mensagem do commit (string, obrigatório)
    • owner: Proprietário do repositório (nome de usuário ou organização) (string, obrigatório)
    • path: Caminho onde criar/atualizar o arquivo (string, obrigatório)
    • repo: Nome do repositório (string, obrigatório)
    • sha: SHA do arquivo sendo substituído (para atualizações) (string, opcional)
  • create_repository - Criar repositório

    • autoInit: Inicializar com README (boolean, opcional)
    • description: Descrição do repositório (string, opcional)
    • name: Nome do repositório (string, obrigatório)
    • private: Se o repositório deve ser privado (boolean, opcional)
  • delete_file - Excluir arquivo

    • branch: Branch do qual excluir o arquivo (string, obrigatório)
    • message: Mensagem do commit (string, obrigatório)
    • owner: Proprietário do repositório (nome de usuário ou organização) (string, obrigatório)
    • path: Caminho do arquivo a ser excluído (string, obrigatório)
    • repo: Nome do repositório (string, obrigatório)
  • fork_repository - Bifurcar repositório

    • organization: Organização para bifurcar (string, opcional)
    • owner: Proprietário do repositório (string, obrigatório)
    • repo: Nome do repositório (string, obrigatório)
  • get_commit - Obter detalhes do commit

    • owner: Proprietário do repositório (string, obrigatório)
    • page: Número da página para paginação (mín. 1) (number, opcional)
    • perPage: Resultados por página para paginação (mín. 1, máx. 100) (number, opcional)
    • repo: Nome do repositório (string, obrigatório)
    • sha: SHA do commit, nome do branch ou nome da tag (string, obrigatório)
  • get_file_contents - Obter conteúdo de arquivo ou diretório

    • owner: Proprietário do repositório (nome de usuário ou organização) (string, obrigatório)
    • path: Caminho para arquivo/diretório (diretórios devem terminar com uma barra '/') (string, obrigatório)
    • ref: Aceita refs git opcionais como refs/tags/{tag}, refs/heads/{branch} ou refs/pull/{pr_number}/head (string, opcional)
    • repo: Nome do repositório (string, obrigatório)
    • sha: Aceita sha git opcional, se sha for especificado será usado em vez de ref (string, opcional)
  • get_tag - Obter detalhes da tag

    • owner: Proprietário do repositório (string, obrigatório)
    • repo: Nome do repositório (string, obrigatório)
    • tag: Nome da tag (string, obrigatório)
  • list_branches - Listar branches

    • owner: Proprietário do repositório (string, obrigatório)
    • page: Número da página para paginação (mín. 1) (number, opcional)
    • perPage: Resultados por página para paginação (mín. 1, máx. 100) (number, opcional)
    • repo: Nome do repositório (string, obrigatório)
  • list_commits - Listar commits

    • author: Nome de usuário ou endereço de e-mail do autor (string, opcional)
    • owner: Proprietário do repositório (string, obrigatório)
    • page: Número da página para paginação (mín. 1) (number, opcional)
    • perPage: Resultados por página para paginação (mín. 1, máx. 100) (number, opcional)
    • repo: Nome do repositório (string, obrigatório)
    • sha: SHA ou nome do branch (string, opcional)
  • list_tags - Listar tags

    • owner: Proprietário do repositório (string, obrigatório)
    • page: Número da página para paginação (mín. 1) (number, opcional)
    • perPage: Resultados por página para paginação (mín. 1, máx. 100) (number, opcional)
    • repo: Nome do repositório (string, obrigatório)
  • push_files - Enviar arquivos para o repositório

    • branch: Branch para enviar (string, obrigatório)
    • files: Matriz de objetos de arquivo para enviar, cada objeto com path (string) e content (string) (object[], obrigatório)
    • message: Mensagem do commit (string, obrigatório)
    • owner: Proprietário do repositório (string, obrigatório)
    • repo: Nome do repositório (string, obrigatório)
  • search_code - Pesquisar código

    • order: Ordem de classificação (string, opcional)
    • page: Número da página para paginação (mín. 1) (number, opcional)
    • perPage: Resultados por página para paginação (mín. 1, máx. 100) (number, opcional)
    • q: Consulta de pesquisa usando a sintaxe de pesquisa de código do GitHub (string, obrigatório)
    • sort: Campo de classificação ('indexed' apenas) (string, opcional)
  • search_repositories - Pesquisar repositórios

    • page: Número da página para paginação (mín. 1) (number, opcional)
    • perPage: Resultados por página para paginação (mín. 1, máx. 100) (number, opcional)
    • query: Consulta de pesquisa (string, obrigatório)
Proteção de Segredos - **get_secret_scanning_alert** - Obter alerta de varredura de segredos - `alertNumber`: O número do alerta. (número, obrigatório) - `owner`: O proprietário do repositório. (string, obrigatório) - `repo`: O nome do repositório. (string, obrigatório)
  • list_secret_scanning_alerts - Listar alertas de varredura de segredos
    • owner: O proprietário do repositório. (string, obrigatório)
    • repo: O nome do repositório. (string, obrigatório)
    • resolution: Filtrar por resolução (string, opcional)
    • secret_type: Uma lista separada por vírgulas de tipos de segredos a retornar. Todos os padrões de segredos padrão são retornados. Para retornar padrões genéricos, passe o(s) nome(s) do token no parâmetro. (string, opcional)
    • state: Filtrar por estado (string, opcional)
Usuários
  • search_users - Pesquisar usuários
    • order: Ordem de classificação (string, opcional)
    • page: Número da página para paginação (mín. 1) (número, opcional)
    • perPage: Resultados por página para paginação (mín. 1, máx. 100) (número, opcional)
    • query: Consulta de pesquisa usando a sintaxe de pesquisa de usuários do GitHub com escopo para type:user (string, obrigatório)
    • sort: Campo de classificação por categoria (string, opcional)

Uso da Biblioteca

A API Go exportada deste módulo deve atualmente ser considerada instável e sujeita a mudanças que quebram a compatibilidade. No futuro, podemos oferecer estabilidade; por favor, abra uma issue se houver um caso de uso em que isso seja valioso.

Licença

Este projeto é licenciado sob os termos da licença de código aberto MIT. Consulte MIT para os termos completos.