GitHub MCP

oficial

Servidor oficial do GitHub MCP para busca de repositórios, issues, pull requests, contexto de código e workflows do GitHub em clientes de IA compatíveis com MCP.

O que você pode fazer com GitHub MCP?

  • Exploração de repositórios — Peça ao seu assistente para navegar em repositórios, pesquisar arquivos e entender a estrutura do projeto usando ferramentas como get_file_contents.
  • Gerenciamento de issues e PRs — Faça sua IA criar, atualizar e triar issues e pull requests, incluindo revisão de alterações de código e manutenção de quadros de projeto.
  • Monitoramento de CI/CD — Obtenha insights sobre execuções de workflows do GitHub Actions, analise falhas de build e gerencie releases por meio de consultas em linguagem natural.
  • Análise de segurança de código — Examine descobertas de segurança, revise alertas do Dependabot e entenda padrões de código em todo o seu codebase.
  • Colaboração em equipe — Acesse discussões, gerencie notificações e analise a atividade da equipe para otimizar os processos de desenvolvimento.

Documentação

Go Report Card

Servidor GitHub MCP

O Servidor GitHub MCP conecta ferramentas de IA diretamente à plataforma GitHub. Isso dá a agentes de IA, assistentes e chatbots a capacidade de ler repositórios e arquivos de código, gerenciar issues e PRs, analisar código e automatizar fluxos de trabalho. Tudo por meio de interações em linguagem natural.

Casos de Uso

  • Gerenciamento de Repositórios: Navegue e consulte código, pesquise arquivos, analise commits e entenda a estrutura do projeto em qualquer repositório ao qual você tenha acesso.
  • Automação de Issues e PRs: Crie, atualize e gerencie issues e pull requests. Deixe a IA ajudar a triar bugs, revisar alterações de código e manter quadros de projeto.
  • Inteligência de CI/CD e Fluxos de Trabalho: Monitore execuções de fluxos de trabalho do GitHub Actions, analise falhas de build, gerencie releases e obtenha insights sobre seu pipeline de desenvolvimento.
  • Análise de Código: Examine descobertas de segurança, revise alertas do Dependabot, entenda padrões de código e obtenha insights abrangentes sobre sua base de código.
  • Colaboração em Equipe: Acesse discussões, gerencie notificações, analise a atividade da equipe e otimize processos para seu time.

Construído para desenvolvedores que desejam conectar suas ferramentas de IA ao contexto e às capacidades do GitHub, desde consultas simples em linguagem natural até fluxos de trabalho complexos de agentes com múltiplas etapas.


Servidor GitHub MCP Remoto

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

O Servidor GitHub MCP remoto é hospedado pelo GitHub e oferece 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 Servidor GitHub MCP em vez disso.

Pré-requisitos

  1. Um host MCP compatível com suporte a servidores remotos (VS Code 1.101+, Claude Desktop, Cursor, Windsurf, etc.)
  2. Quaisquer políticas aplicáveis habilitadas

Instalação no 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 junto ao campo 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
    }
  ]
}

Instalação em outros hosts MCP

  • Copilot CLI - Guia de instalação para GitHub Copilot CLI
  • GitHub Copilot em outros IDEs - Instalação para JetBrains, Visual Studio, Eclipse e Xcode com GitHub Copilot
  • Aplicativos Claude - Guia de instalação para Claude Desktop e Claude Code CLI
  • Codex - Guia de instalação para OpenAI Codex
  • Cursor - Guia de instalação para IDE Cursor
  • OpenCode - Guia de instalação para o agente de terminal OpenCode
  • Windsurf - Guia de instalação para IDE Windsurf
  • Zed - Guia de instalação para o editor Zed
  • Rovo Dev CLI - Guia de instalação para Rovo Dev CLI

Nota: Cada aplicativo host MCP precisa configurar um GitHub App ou OAuth App para suportar acesso remoto via OAuth. Qualquer aplicativo host que suporte servidores MCP remotos deve suportar o servidor GitHub remoto com autenticação PAT. Os detalhes de configuração e os níveis de suporte variam por host. Certifique-se de consultar a documentação do aplicativo host para mais informações.

Configuração

Configuração de conjuntos de ferramentas

Consulte a Documentação do Servidor Remoto para detalhes completos sobre configuração do servidor remoto, conjuntos de ferramentas, cabeçalhos e uso avançado. Este arquivo fornece instruções abrangentes e exemplos para conectar, personalizar e instalar o Servidor GitHub MCP remoto no VS Code e em outros hosts MCP.

Quando nenhum conjunto de ferramentas é especificado, os conjuntos de ferramentas padrão são usados.

Modo Insiders

Experimente novos recursos antecipadamente! O servidor remoto oferece uma versão insiders com acesso antecipado a novos recursos e ferramentas experimentais.

Usando Caminho de URLUsando Cabeçalho
{
  "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"
      }
    }
  }
}

Consulte a Documentação do Servidor Remoto para mais detalhes e exemplos, e Recursos Insiders para uma lista completa do que está disponível.

GitHub Enterprise

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

O GitHub Enterprise Cloud também pode usar o servidor remoto.

Exemplo para https://octocorp.ghe.com com token PAT do GitHub:

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

Nota: Ao usar OAuth com GitHub Enterprise no VS Code e GitHub Copilot, você também precisa configurar as configurações do seu VS Code para apontar para sua instância do GitHub Enterprise - consulte Autenticar a partir do VS Code

GitHub Enterprise Server

O GitHub Enterprise Server não suporta hospedagem de servidor remoto. Consulte GitHub Enterprise Server e Enterprise Cloud com residência de dados (ghe.com) na configuração do servidor local.


Servidor GitHub MCP Local

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

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 Docker está disponível em ghcr.io/github/github-mcp-server. A imagem é pública; se você receber erros ao fazer pull, pode ter um token expirado e precisará docker logout ghcr.io.

  3. Autenticação. No github.com, você não precisa criar nada antecipadamente — os botões de um clique acima fazem login com OAuth no primeiro uso (um fluxo baseado em navegador; o token é mantido apenas em memória). Os botões Docker publicam uma porta de callback fixa (127.0.0.1:8085) para que o callback de login do contêiner seja acessível. Consulte Login OAuth do Servidor Local para saber como funciona, o fallback headless/código de dispositivo e como trazer seu próprio OAuth ou GitHub App (obrigatório para GitHub Enterprise Server e ghe.com).

    Prefere um token? Você ainda pode autenticar com um Token de Acesso Pessoal do GitHub definindo GITHUB_PERSONAL_ACCESS_TOKEN em vez disso (ele tem precedência sobre OAuth). 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).

Manuseando PATs com Segurança

Variáveis de Ambiente (Recomendado)

Para manter seu PAT do GitHub seguro e reutilizável em diferentes hosts MCP:

  1. Armazene seu PAT em variáveis de ambiente

    export GITHUB_PAT=your_token_here
    

    Ou crie um arquivo .env:

    GITHUB_PAT=your_token_here
    
  2. Proteja seu arquivo .env

    # Add to .gitignore to prevent accidental commits
    echo ".env" >> .gitignore
    
  3. Referencie o token nas configurações

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

Nota: O suporte a variáveis de ambiente varia por aplicativo host e IDE. Alguns aplicativos (como Windsurf) exigem tokens codificados em arquivos de configuração.

Melhores Práticas de Segurança de Token

  • Escopos mínimos: Conceda apenas as permissões necessárias

    • repo - Operações de repositório
    • read:packages - Acesso à imagem Docker
    • read:org - Acesso a equipes da organização
  • Tokens separados: Use PATs diferentes para diferentes projetos/ambientes

  • Rotação regular: Atualize os tokens periodicamente

  • Nunca faça commit: Mantenha os tokens fora do controle de versão

  • Permissões de arquivo: Restrinja o acesso a arquivos de configuração que contenham tokens

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

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 hostname para GitHub Enterprise Server ou GitHub Enterprise Cloud com residência de dados.

  • Para GitHub Enterprise Server, prefixe o hostname com o esquema de URI https://. HTTPS é obrigatório e imposto: hosts não-HTTPS são recusados para que as credenciais nunca sejam enviadas em texto claro (a única exceção é um host de loopback como http://localhost para desenvolvimento local).
  • Para GitHub Enterprise Cloud com residência de dados, use https://YOURSUBDOMAIN.ghe.com como hostname.
"github": {
    "command": "docker",
    "args": [
    "run",
    "-i",
    "--rm",
    "-e",
    "GITHUB_PERSONAL_ACCESS_TOKEN",
    "-e",
    "GITHUB_HOST",
    "ghcr.io/github/github-mcp-server"
    ],
    "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "${input:github_token}",
        "GITHUB_HOST": "https://<your GHES or ghe.com domain name>"
    }
}

Instalação

Instalação no GitHub Copilot no 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 junto ao campo de texto do Copilot Chat) e o servidor será iniciado.

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

Instalação no GitHub Copilot em outros IDEs (JetBrains, Visual Studio, Eclipse, etc.)

Adicione um dos seguintes blocos JSON às configurações MCP do seu IDE.

Faça login com OAuth (nenhum token para criar ou armazenar). No github.com, a imagem oficial já inclui as credenciais do aplicativo, então você não fornece nenhuma: ela executa um login baseado em navegador no primeiro uso e mantém o token resultante apenas em memória. No Docker, isso requer uma porta de callback fixa publicada em loopback para que o callback de login do contêiner seja acessível:

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

Consulte Login OAuth do Servidor Local para o fluxo de binário nativo (sem necessidade de porta fixa), o fallback headless/código de dispositivo, GitHub Enterprise Server / ghe.com e como trazer seu próprio OAuth ou GitHub App.

Para implantações stdio não interativas, consulte Autenticação do GitHub App.

Ou autentique com um Token de Acesso Pessoal. Defina GITHUB_PERSONAL_ACCESS_TOKEN em vez disso (ele tem precedência sobre 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}"
        }
      }
    }
  }
}

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 outros aplicativos host que aceitem o mesmo formato.

Exemplo de bloco JSON sem a chave MCP incluída
{
  "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}"
      }
    }
  }
}

Instalação em Outros Hosts MCP

Para outros aplicativos host MCP, consulte nossos guias de instalação:

Para uma visão geral completa de todas as opções de instalação, consulte nosso Índice de Guias de Instalação.

Nota: Qualquer aplicativo host que suporte servidores MCP locais deve ser capaz de acessar o servidor GitHub MCP local. No entanto, o processo de configuração específico, a sintaxe e a estabilidade da integração variarão conforme o aplicativo host. Embora muitos possam seguir um formato semelhante aos exemplos acima, isso não é garantido. Consulte a documentação do seu aplicativo host para obter a sintaxe de configuração MCP correta e o processo de configuração.

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

Quando nenhum conjunto de ferramentas é especificado, os conjuntos de ferramentas padrão são usados.

Procurando por exemplos? Consulte o Guia de Configuração do Servidor para receitas comuns como configurações mínimas, modo somente leitura e combinação de ferramentas com conjuntos de ferramentas.

Especificando Conjuntos de Ferramentas

Para especificar os conjuntos de ferramentas que você deseja disponibilizar ao 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.

Especificando Ferramentas Individuais

Você também pode configurar ferramentas específicas usando a flag --tools. As ferramentas podem ser usadas de forma independente ou combinadas com conjuntos de ferramentas para controle refinado.

  1. Usando Argumento de Linha de Comando:

    github-mcp-server --tools get_file_contents,issue_read,create_pull_request
    
  2. Usando Variável de Ambiente:

    GITHUB_TOOLS="get_file_contents,issue_read,create_pull_request" ./github-mcp-server
    
  3. Combinando com Conjuntos de Ferramentas (aditivo):

    github-mcp-server --toolsets repos,issues --tools get_gist
    

    Isso registra todas as ferramentas dos conjuntos de ferramentas repos e issues, além de get_gist.

Notas Importantes:

  • Ferramentas e conjuntos de ferramentas podem ser usados juntos
  • O modo somente leitura tem prioridade: ferramentas de escrita são ignoradas se --read-only estiver definido, mesmo que explicitamente solicitadas via --tools
  • Os nomes das ferramentas devem corresponder exatamente (por exemplo, get_file_contents, não getFileContents). Nomes de ferramentas inválidos farão o servidor falhar na inicialização com uma mensagem de erro
  • Quando as ferramentas são renomeadas, os nomes antigos são preservados como aliases para compatibilidade retroativa. Consulte Renomeação de Ferramentas para detalhes.

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" \
  ghcr.io/github/github-mcp-server

Usando Ferramentas com Docker

Ao usar Docker, você pode passar ferramentas específicas como variáveis de ambiente. Você também pode combinar ferramentas com conjuntos de ferramentas:

# 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

Conjuntos de Ferramentas Especiais

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

Conjunto de ferramentas "default"

O conjunto de ferramentas padrão default é a configuração que é passada ao servidor se nenhum conjunto de ferramentas for especificado.

A configuração padrão é:

  • context
  • repos
  • issues
  • pull_requests
  • users

Para manter a configuração padrão e adicionar conjuntos de ferramentas adicionais:

GITHUB_TOOLSETS="default,stargazers" ./github-mcp-server

Modo Insiders

O GitHub MCP Server local oferece uma versão insiders com acesso antecipado a novos recursos e ferramentas experimentais.

  1. Usando Argumento de Linha de Comando:

    ./github-mcp-server --insiders
    
  2. Usando Variável de Ambiente:

    GITHUB_INSIDERS=true ./github-mcp-server
    

Ao usar Docker:

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

Conjuntos de Ferramentas Disponíveis

Os seguintes conjuntos de ferramentas estão disponíveis:

Conjunto de FerramentasDescrição
personcontextAltamente recomendado: Ferramentas que fornecem contexto sobre o usuário atual e o contexto do GitHub em que você está operando
workflowactionsFluxos de trabalho do GitHub Actions e operações de CI/CD
code-squarecode_qualityFerramentas relacionadas à Qualidade de Código do GitHub
codescancode_securityFerramentas relacionadas à segurança de código, como GitHub Code Scanning
copilotcopilotFerramentas relacionadas ao Copilot
copilotcopilot_issue_intentsFerramentas de atribuição de problemas do Copilot opt-in que carregam metadados de intenção (justificativa, confiança, sugestão)
dependabotdependabotFerramentas do Dependabot
comment-discussiondiscussionsFerramentas relacionadas ao GitHub Discussions
logo-gistgistsFerramentas relacionadas ao GitHub Gist
git-branchgitFerramentas relacionadas à API Git do GitHub para operações Git de baixo nível
issue-openedissuesFerramentas relacionadas ao GitHub Issues
taglabelsFerramentas relacionadas ao GitHub Labels
bellnotificationsFerramentas relacionadas ao GitHub Notifications
organizationorgsFerramentas relacionadas ao GitHub Organization
projectprojectsFerramentas relacionadas ao GitHub Projects
git-pull-requestpull_requestsFerramentas relacionadas ao GitHub Pull Request
reporeposFerramentas relacionadas ao GitHub Repository
shield-locksecret_protectionFerramentas relacionadas à proteção de segredos, como GitHub Secret Scanning
shieldsecurity_advisoriesFerramentas relacionadas a avisos de segurança
starstargazersFerramentas relacionadas ao GitHub Stargazers
peopleusersFerramentas relacionadas ao GitHub User

Conjuntos de Ferramentas Adicionais no GitHub MCP Server Remoto

Conjunto de FerramentasDescrição
copilotFerramentas relacionadas ao Copilot (por exemplo, Copilot Coding Agent)
copilot_spacesFerramentas relacionadas ao Copilot Spaces
github_support_docs_searchPesquisar documentação para responder perguntas sobre produtos e suporte do GitHub

Ferramentas

workflow Actions
  • actions_get - Obter detalhes dos recursos do GitHub Actions (fluxos de trabalho, execuções de fluxos de trabalho, trabalhos e artefatos)

    • Escopos de Desafio OAuth: repo
    • method: O método a ser executado (string, obrigatório)
    • owner: Proprietário do repositório (string, obrigatório)
    • repo: Nome do repositório (string, obrigatório)
    • resource_id: O identificador único do recurso. Isso variará com base no "método" fornecido, portanto, certifique-se de fornecer o ID correto:
      • Forneça um ID de fluxo de trabalho ou nome de arquivo de fluxo de trabalho (por exemplo, ci.yaml) para o método 'get_workflow'.
      • Forneça um ID de execução de fluxo de trabalho para os métodos 'get_workflow_run', 'get_workflow_run_usage' e 'get_workflow_run_logs_url'.
      • Forneça um ID de artefato para o método 'download_workflow_run_artifact'.
      • Forneça um ID de trabalho para o método 'get_workflow_job'. (string, obrigatório)
  • actions_list - Listar fluxos de trabalho do GitHub Actions em um repositório

    • Escopos de Desafio OAuth: repo
    • method: A ação a ser executada (string, obrigatório)
    • owner: Proprietário do repositório (string, obrigatório)
    • page: Número da página para paginação (padrão: 1) (número, opcional)
    • per_page: Resultados por página para paginação (padrão: 30, máximo: 100) (número, opcional)
    • repo: Nome do repositório (string, obrigatório)
    • resource_id: O identificador único do recurso. Isso variará com base no "método" fornecido, portanto, certifique-se de fornecer o ID correto:
      • Não forneça nenhum ID de recurso para o método 'list_workflows'.
      • Forneça um ID de fluxo de trabalho ou nome de arquivo de fluxo de trabalho (por exemplo, ci.yaml) para o método 'list_workflow_runs', ou omita para listar todas as execuções de fluxo de trabalho no repositório.
      • Forneça um ID de execução de fluxo de trabalho para os métodos 'list_workflow_jobs' e 'list_workflow_run_artifacts'. (string, opcional)
    • workflow_jobs_filter: Filtros para trabalhos de fluxo de trabalho. SOMENTE usado quando o método é 'list_workflow_jobs' (objeto, opcional)
    • workflow_runs_filter: Filtros para execuções de fluxo de trabalho. SOMENTE usado quando o método é 'list_workflow_runs' (objeto, opcional)
  • actions_run_trigger - Acionar ações de fluxo de trabalho do GitHub Actions

    • Escopos de Desafio OAuth: repo
    • inputs: Entradas que o fluxo de trabalho aceita. Usado apenas para o método 'run_workflow'. (objeto, opcional)
    • method: O método a ser executado (string, obrigatório)
    • owner: Proprietário do repositório (string, obrigatório)
    • ref: A referência git para o fluxo de trabalho. A referência pode ser um nome de branch ou tag. Obrigatório para o método 'run_workflow'. (string, opcional)
    • repo: Nome do repositório (string, obrigatório)
    • run_id: O ID da execução do fluxo de trabalho. Obrigatório para todos os métodos, exceto 'run_workflow'. (número, opcional)
    • workflow_id: O ID do fluxo de trabalho (numérico) ou nome do arquivo de fluxo de trabalho (por exemplo, main.yml, ci.yaml). Obrigatório para o método 'run_workflow'. (string, opcional)
  • get_job_logs - Obter logs de trabalhos de fluxo de trabalho do GitHub Actions

    • Escopos de Desafio OAuth: repo
    • failed_only: Quando verdadeiro, obtém logs para todos os trabalhos com falha na execução do fluxo de trabalho especificada por run_id. Requer que run_id seja fornecido. (booleano, opcional)
    • job_id: O identificador único do trabalho do fluxo de trabalho. Obrigatório ao obter logs para um único trabalho. (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: O identificador único da execução do fluxo de trabalho. Obrigatório quando failed_only é verdadeiro para obter logs de todos os trabalhos com falha na execução. (número, opcional)
    • tail_lines: Número de linhas a retornar do final do log (número, opcional)
code-square Qualidade de Código
  • get_code_quality_finding - Obter achado de qualidade de código
    • Escopos de Desafio OAuth: repo
    • findingNumber: O número do achado. (número, obrigatório)
    • owner: O proprietário do repositório. (string, obrigatório)
    • repo: O nome do repositório. (string, obrigatório)
codescan Segurança de Código
  • get_code_scanning_alert - Obter alerta de varredura de código

    • Escopos de Desafio OAuth: security_events
    • 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_code_scanning_alerts - Listar alertas de varredura de código

    • Escopos de Desafio OAuth: security_events
    • owner: O proprietário do repositório. (string, obrigatório)
    • 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)
    • 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)
person Contexto
  • get_me - Obter meu perfil de usuário

    • Nenhum parâmetro necessário
  • get_team_members - Obter membros da equipe

    • Escopos de Desafio OAuth: read:org
    • org: Login da organização (proprietário) que contém a equipe. (string, obrigatório)
    • team_slug: Slug da equipe (string, obrigatório)
  • get_teams - Obter equipes

    • Escopos de Desafio OAuth: read:org
    • user: Nome de usuário para obter equipes. Se não for fornecido, usa o usuário autenticado. (string, opcional)
copilot Copilot
  • assign_copilot_to_issue - Atribuir Copilot à issue

    • Escopos de Desafio OAuth: repo
    • base_ref: Referência Git (ex.: branch) a partir da qual o agente iniciará seu trabalho. Se não for especificada, o padrão é o branch padrão do repositório (string, opcional)
    • custom_instructions: Instruções personalizadas opcionais para orientar o agente além do corpo da issue. Use isso para fornecer contexto adicional, restrições ou orientações que não estão capturadas na descrição da issue (string, opcional)
    • issue_number: Número da issue (número, obrigatório)
    • owner: Proprietário do repositório (string, obrigatório)
    • repo: Nome do repositório (string, obrigatório)
  • request_copilot_review - Solicitar revisão do Copilot

    • Escopos de Desafio OAuth: repo
    • owner: Proprietário do repositório (string, obrigatório)
    • pullNumber: Número do pull request (número, obrigatório)
    • repo: Nome do repositório (string, obrigatório)
copilot Intenções de Issue do Copilot
  • assign_copilot_to_issue_with_intent - Atribuir Copilot à issue com intenção
    • Escopos de Desafio OAuth: repo
    • base_ref: Referência Git (ex.: branch) a partir da qual o agente iniciará seu trabalho. Se não for especificada, o padrão é o branch padrão do repositório. Ignorado quando is_suggestion é verdadeiro (string, opcional)
    • confidence: O quão confiante você está nesta escolha. 'HIGH' para sinal claro ou solicitação explícita do usuário, 'MEDIUM' para inferência razoável com alguma ambiguidade, 'LOW' para melhor palpite com sinal limitado. (string, obrigatório)
    • custom_instructions: Instruções personalizadas opcionais para orientar o agente além do corpo da issue. Ignorado quando is_suggestion é verdadeiro (string, opcional)
    • is_suggestion: Se verdadeiro, registra uma intenção pendente de atribuição do Copilot em vez de iniciar o agente. A aprovação posterior fornece o contexto de lançamento; base_ref e custom_instructions são ignorados neste caso. (booleano, obrigatório)
    • issue_number: Número da issue (número, obrigatório)
    • owner: Proprietário do repositório (string, obrigatório)
    • rationale: Uma frase concisa explicando o que especificamente na issue levou à escolha do Copilot. Declare o sinal concreto (ex.: 'Tarefa bem definida com critérios de aceitação claros'). (string, obrigatório)
    • repo: Nome do repositório (string, obrigatório)
dependabot Dependabot
  • get_dependabot_alert - Obter alerta do Dependabot

    • Escopos de Desafio OAuth: security_events
    • 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_dependabot_alerts - Listar alertas do Dependabot

    • Escopos de Desafio OAuth: security_events
    • after: Cursor para paginação. Use o cursor da resposta anterior. (string, opcional)
    • owner: O proprietário do repositório. (string, obrigatório)
    • perPage: Resultados por página para paginação (mín. 1, máx. 100) (número, opcional)
    • repo: O nome do repositório. (string, obrigatório)
    • severity: Filtrar alertas do Dependabot por gravidade (string, opcional)
    • state: Filtrar alertas do Dependabot por estado. O padrão é aberto (string, opcional)
comment-discussion Discussões
  • discussion_comment_write - Gerenciar comentários de discussão

    • Escopos de Desafio OAuth: repo
    • body: Conteúdo do comentário (obrigatório para os métodos 'add', 'reply' e 'update') (string, opcional)
    • commentNodeID: O ID do nó do comentário da discussão (obrigatório para os métodos 'reply', 'update', 'delete', 'mark_answer' e 'unmark_answer'). Para 'reply', este é o comentário de nível superior ao qual responder; o GitHub Discussions suporta apenas um nível de aninhamento. (string, opcional)
    • discussionNumber: Número da discussão (obrigatório para os métodos 'add' e 'reply') (número, opcional)
    • method: Operação de escrita a ser realizada em um comentário de discussão. As opções são:
      • 'add' - adiciona um novo comentário de nível superior a uma discussão.
      • 'reply' - responde a um comentário de discussão de nível superior (o GitHub Discussions suporta apenas um nível de aninhamento).
      • 'update' - atualiza um comentário de discussão existente.
      • 'delete' - exclui um comentário de discussão.
      • 'mark_answer' - marca um comentário de discussão como a resposta (somente Q&A).
      • 'unmark_answer' - desmarca um comentário de discussão como a resposta (somente Q&A). (string, obrigatório)
    • owner: Proprietário do repositório (obrigatório para os métodos 'add' e 'reply') (string, opcional)
    • repo: Nome do repositório (obrigatório para os métodos 'add' e 'reply') (string, opcional)
  • get_discussion - Obter discussão

    • Escopos de Desafio OAuth: repo
    • discussionNumber: Número da discussão (número, obrigatório)
    • owner: Proprietário do repositório (string, obrigatório)
    • repo: Nome do repositório (string, obrigatório)
  • get_discussion_comments - Obter comentários da discussão

    • Escopos de Desafio OAuth: repo
    • after: Cursor para paginação. Use o cursor da resposta anterior. (string, opcional)
    • discussionNumber: Número da discussão (número, obrigatório)
    • includeReplies: Quando verdadeiro, cada comentário de nível superior incluirá suas respostas aninhadas dentro dele (até 100 respostas por comentário, que é o máximo da API do GitHub). O padrão é falso. (booleano, opcional)
    • owner: Proprietário do repositório (string, obrigatório)
    • perPage: Resultados por página para paginação (mín. 1, máx. 100) (número, opcional)
    • repo: Nome do repositório (string, obrigatório)
  • list_discussion_categories - Listar categorias de discussão

    • Escopos de Desafio OAuth: repo
    • owner: Proprietário do repositório (string, obrigatório)
    • repo: Nome do repositório. Se não for fornecido, as categorias de discussão serão consultadas no nível da organização. (string, opcional)
  • list_discussions - Listar discussões

    • Escopos de Desafio OAuth: repo
    • after: Cursor para paginação. Use o cursor da resposta anterior. (string, opcional)
    • category: Filtro opcional por ID da categoria de discussão. Se fornecido, apenas discussões com esta categoria serão listadas. (string, opcional)
    • direction: Direção da ordenação. (string, opcional)
    • orderBy: Ordenar discussões por campo. Se fornecido, a 'direção' também precisa ser fornecida. (string, opcional)
    • owner: Proprietário do repositório (string, obrigatório)
    • perPage: Resultados por página para paginação (mín. 1, máx. 100) (número, opcional)
    • repo: Nome do repositório. Se não for fornecido, as discussões serão consultadas no nível da organização. (string, opcional)
logo-gist Gists
  • create_gist - Criar Gist

    • Escopos de Desafio OAuth: gist
    • content: Conteúdo para criação simples de gist de arquivo único (string, obrigatório)
    • description: Descrição do gist (string, opcional)
    • filename: Nome do arquivo para criação simples de gist de arquivo único (string, obrigatório)
    • public: Se o gist é público (booleano, opcional)
  • get_gist - Obter conteúdo do Gist

    • gist_id: O ID do gist (string, obrigatório)
  • list_gists - Listar Gists

    • 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)
    • since: Apenas gists atualizados após este horário (timestamp ISO 8601) (string, opcional)
    • username: Nome de usuário do GitHub (omitir para gists do usuário autenticado) (string, opcional)
  • update_gist - Atualizar Gist

    • Escopos de Desafio OAuth: gist
    • content: Conteúdo do arquivo (string, obrigatório)
    • description: Descrição atualizada do gist (string, opcional)
    • filename: Nome do arquivo a atualizar ou criar (string, obrigatório)
    • gist_id: ID do gist a atualizar (string, obrigatório)
git-branch Git - **get_repository_tree** - Obter árvore do repositório - **Escopos de Desafio OAuth**: `repo` - `owner`: Proprietário do repositório (nome de usuário ou organização) (string, obrigatório) - `path_filter`: Prefixo de caminho opcional para filtrar os resultados da árvore (ex.: 'src/' para mostrar apenas arquivos no diretório src) (string, opcional) - `recursive`: Definir este parâmetro como true retorna os objetos ou subárvores referenciados pela árvore. O padrão é false (boolean, opcional) - `repo`: Nome do repositório (string, obrigatório) - `tree_sha`: O valor SHA1 ou nome da ref (branch ou tag) da árvore. O padrão é o branch padrão do repositório (string, opcional)
issue-opened Issues
  • add_issue_comment - Adicionar comentário a issue ou pull request

    • Escopos de Desafio OAuth: repo
    • body: Conteúdo do comentário. Obrigatório a menos que uma reação seja fornecida. (string, opcional)
    • comment_id: O ID numérico do comentário da issue ou pull request para reagir. Use isto para reações a comentários; omita para reagir à própria issue ou pull request. Não pode ser combinado com body. (integer, opcional)
    • issue_number: Número da issue ou pull request para comentar ou reagir. (number, obrigatório)
    • owner: Proprietário do repositório (string, obrigatório)
    • reaction: Reação de emoji para adicionar. Obrigatória a menos que body seja fornecido. (string, opcional)
    • repo: Nome do repositório (string, obrigatório)
  • get_label - Obter um rótulo específico de um repositório

    • Escopos de Desafio OAuth: repo
    • name: Nome do rótulo. (string, obrigatório)
    • owner: Proprietário do repositório (nome de usuário ou nome da organização) (string, obrigatório)
    • repo: Nome do repositório (string, obrigatório)
  • issue_read - Obter detalhes da issue

    • Escopos de Desafio OAuth: repo
    • issue_number: O número da issue (number, obrigatório)
    • method: A operação de leitura a ser executada em uma única issue. As opções são:
      1. get - Obter detalhes da issue. Também retorna flags de hierarquia de melhor esforço (has_parent, has_children); parent e sub_issues_summary são resumos de relacionamento opcionais, e closed_by_pull_requests resume os pull requests configurados para fechar a issue como total_count mais até 5 references.
      2. get_comments - Obter comentários da issue.
      3. get_sub_issues - Obter sub-issues (filhas) da issue.
      4. get_parent - Obter a issue pai, se esta issue for uma sub-issue de outra.
      5. get_labels - Obter rótulos atribuídos à issue. (string, obrigatório)
    • owner: O 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: O nome do repositório (string, obrigatório)
  • issue_write - Criar ou atualizar issue/pull request

    • Escopos de Desafio OAuth: repo
    • assignees: Nomes de usuário para atribuir a esta issue (string[], opcional)
    • body: Conteúdo do corpo da issue (string, opcional)
    • duplicate_of: Número da issue da qual esta issue é duplicada. Obrigatório quando state_reason é 'duplicate'. (number, opcional)
    • issue_fields: Valores de campos da issue para definir ou limpar. Cada item requer 'field_name' e exatamente um de 'value', 'field_option_name' ou 'delete: true'. (object[], opcional)
    • issue_number: Número da issue para atualizar (number, opcional)
    • labels: Rótulos para aplicar a esta issue (string[], opcional)
    • method: Operação de escrita a ser executada em uma única issue. As opções são:
      • 'create' - cria uma nova issue.
      • 'update' - atualiza uma issue existente. (string, obrigatório)
    • milestone: Número do marco (milestone) (number, opcional)
    • owner: Proprietário do repositório (string, obrigatório)
    • parent_issue_number: Número da issue da issue pai. Usado apenas quando o método é 'create' e não pode ser combinado com issue_fields. A nova issue é criada e anexada a este pai na mesma operação. (number, opcional)
    • parent_owner: Proprietário do repositório da issue pai. Deve ser fornecido com parent_repo. Omita ambos para usar owner e repo. Usado apenas quando o método é 'create' e parent_issue_number é fornecido. (string, opcional)
    • parent_repo: Nome do repositório da issue pai. Deve ser fornecido com parent_owner. Omita ambos para usar owner e repo. Usado apenas quando o método é 'create' e parent_issue_number é fornecido. (string, opcional)
    • repo: Nome do repositório (string, obrigatório)
    • state: Novo estado (string, opcional)
    • state_reason: Motivo para a mudança de estado. Ignorado a menos que o estado seja alterado. (string, opcional)
    • title: Título da issue (string, opcional)
    • type: Tipo desta issue. Para atualizações, passe null para remover o tipo atual. Use apenas se os tipos de issue estiverem habilitados para este repositório. Use list_issue_types para obter valores de tipo válidos para este repositório ou sua organização proprietária. Se o repositório não suportar tipos de issue, omita este parâmetro. (string | null, opcional)
  • list_issue_fields - Listar campos de issue

    • Escopos de Desafio OAuth: repo, read:org
    • owner: O proprietário da conta do repositório ou organização. O nome não diferencia maiúsculas de minúsculas. (string, obrigatório)
    • repo: O nome do repositório. Quando fornecido, retorna campos para este repositório específico (herdados de sua organização). Quando omitido, retorna campos de nível da organização diretamente. (string, opcional)
  • list_issue_types - Listar tipos de issue disponíveis

    • Escopos de Desafio OAuth: repo, read:org
    • owner: O proprietário da conta do repositório ou organização. (string, obrigatório)
    • repo: O nome do repositório. Quando fornecido, retorna tipos de issue para este repositório específico. Quando omitido, retorna tipos de issue de nível da organização diretamente. (string, opcional)
  • list_issues - Listar issues

    • Escopos de Desafio OAuth: repo
    • after: Cursor para paginação. Use o cursor da resposta anterior. (string, opcional)
    • direction: Direção da ordenação. Se fornecida, o 'orderBy' também precisa ser fornecido. (string, opcional)
    • field_filters: Filtrar por valores de campos personalizados de issue. Cada entrada recebe um field_name e um value; o servidor procura o campo e converte o valor para seu tipo (nome de opção de seleção única, texto, número ou data AAAA-MM-DD). (object[], opcional)
    • fields: Subconjunto de campos a retornar para cada issue. Se omitido, todos os campos são retornados. Use isto para reduzir o tamanho da resposta quando você só precisa de campos específicos; omitir 'body' e 'field_values' em particular remove os maiores dados por resultado. (string[], opcional)
    • labels: Filtrar por rótulos (string[], opcional)
    • orderBy: Ordenar issues por campo. Se fornecido, o 'direction' também precisa ser fornecido. (string, opcional)
    • owner: Proprietário do repositório (string, obrigatório)
    • 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)
    • state: Filtrar por estado; por padrão, tanto issues abertas quanto fechadas são retornadas quando não fornecido (string, opcional)
  • search_issues - Pesquisar issues

    • Escopos de Desafio OAuth: repo
    • fields: Subconjunto de campos a retornar para cada resultado de issue. Se omitido, todos os campos são retornados. Use isto para reduzir o tamanho da resposta quando você só precisa de campos específicos; omitir 'body', 'reactions' e 'labels' em particular remove os maiores dados por resultado. (string[], opcional)
    • order: Ordem de classificação (string, opcional)
    • owner: Proprietário do repositório opcional. Se fornecido com repo, apenas issues deste 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: A consulta de pesquisa, como linguagem natural. Quando o usuário fornece formulações alternativas, inclua-as como palavras simples em vez de juntá-las com OR. (string, obrigatório)
    • repo: Nome do repositório opcional. Se fornecido com owner, apenas issues deste 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)
  • sub_issue_write - Alterar sub-issue

    • Escopos de Desafio OAuth: repo
    • after_id: O ID da sub-issue a ser priorizada depois (ou after_id OU before_id deve ser especificado) (number, opcional)
    • before_id: O ID da sub-issue a ser priorizada antes (ou after_id OU before_id deve ser especificado) (number, opcional)
    • issue_number: O número da issue pai (number, obrigatório)
    • method: A ação a ser executada em uma única sub-issue As opções são:
      • 'add' - adicionar uma sub-issue a uma issue pai em um repositório GitHub.
      • 'remove' - remover uma sub-issue de uma issue pai em um repositório GitHub.
      • 'reprioritize' - alterar a ordem das sub-issues dentro de uma issue pai em um repositório GitHub. Use 'after_id' ou 'before_id' para especificar a nova posição. Grava a hierarquia de issues. Para mover uma sub-issue para um novo pai, use add com replace_parent=true; não há campo de pai gravável. (string, obrigatório)
    • owner: Proprietário do repositório (string, obrigatório)
    • replace_parent: Quando true, substitui a issue pai atual da sub-issue. Use apenas com o método 'add'. (boolean, opcional)
    • repo: Nome do repositório (string, obrigatório)
    • sub_issue_id: O ID da sub-issue a adicionar. O ID não é o mesmo que o número da issue (number, obrigatório)
tag Rótulos
  • get_label - Obter um rótulo específico de um repositório

    • Escopos de Desafio OAuth: repo
    • name: Nome do rótulo. (string, obrigatório)
    • owner: Proprietário do repositório (nome de usuário ou nome da organização) (string, obrigatório)
    • repo: Nome do repositório (string, obrigatório)
  • label_write - Operações de escrita em rótulos do repositório

    • Escopos de Desafio OAuth: repo
    • color: Cor do rótulo como código hex de 6 caracteres sem o prefixo '#' (ex.: 'f29513'). Obrigatório para 'create', opcional para 'update'. (string, opcional)
    • description: Texto de descrição do rótulo. Opcional para 'create' e 'update'. (string, opcional)
    • method: Operação a executar: 'create', 'update' ou 'delete' (string, obrigatório)
    • name: Nome do rótulo - obrigatório para todas as operações (string, obrigatório)
    • new_name: Novo nome para o rótulo (usado apenas com o método 'update' para renomear) (string, opcional)
    • owner: Proprietário do repositório (nome de usuário ou nome da organização) (string, obrigatório)
    • repo: Nome do repositório (string, obrigatório)
  • list_label - Listar rótulos de um repositório

    • Escopos de Desafio OAuth: repo
    • owner: Proprietário do repositório (nome de usuário ou nome da organização) - obrigatório para todas as operações (string, obrigatório)
    • repo: Nome do repositório - obrigatório para todas as operações (string, obrigatório)
bell Notificações - **dismiss_notification** - Dispensar notificação - **Escopos do Desafio OAuth**: `notifications` - `state`: O novo estado da notificação (lida/concluída) (string, obrigatório) - `threadID`: O ID da thread de notificação (string, obrigatório)
  • get_notification_details - Obter detalhes da notificação

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

    • Escopos do Desafio OAuth: notifications
    • 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 informado com repo, apenas notificações deste 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 informado com owner, apenas notificações deste 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

    • Escopos do Desafio OAuth: notifications
    • action: Ação a ser executada: ignorar, acompanhar ou excluir a assinatura de notificação. (string, obrigatório)
    • notificationID: O ID da thread de notificação. (string, obrigatório)
  • manage_repository_notification_subscription - Gerenciar assinatura de notificação do repositório

    • Escopos do Desafio OAuth: notifications
    • action: Ação a ser executada: ignorar, acompanhar 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

    • Escopos do Desafio OAuth: notifications
    • 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 informado com repo, apenas notificações deste repositório são marcadas como lidas. (string, opcional)
    • repo: Nome do repositório, opcional. Se informado com owner, apenas notificações deste repositório são marcadas como lidas. (string, opcional)
organization Organizações
  • search_orgs - Pesquisar organizações
    • Escopos do Desafio OAuth: read:org
    • 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 de organização. Exemplos: 'microsoft', 'location:california', 'created:>=2025-01-01'. A pesquisa é automaticamente limitada a type:org. (string, obrigatório)
    • sort: Campo de classificação por categoria (string, opcional)
project Projetos
  • projects_get - Obter detalhes dos recursos do GitHub Projects

    • Escopos do Desafio OAuth: read:project
    • field_id: O ID do campo. Obrigatório para o método 'get_project_field'. (number, opcional)
    • field_names: Lista específica de nomes de campos a incluir na resposta ao obter um item de projeto (ex.: ["Status", "Priority"]). Resolvida no servidor para IDs de campo — passe isto em vez de 'fields' quando você souber apenas os nomes legíveis. Mutuamente exclusivo com 'fields' — forneça um, não ambos. Usado apenas para o método 'get_project_item'. (string[], opcional)
    • fields: Lista específica de IDs de campos a incluir na resposta ao obter um item de projeto (ex.: ["102589", "985201", "169875"]). Se nem 'fields' nem 'field_names' forem fornecidos, apenas o campo de título é incluído. Mutuamente exclusivo com 'field_names' — forneça um, não ambos. Usado apenas para o método 'get_project_item'. (string[], opcional)
    • item_id: O ID do item. Obrigatório para o método 'get_project_item'. (number, opcional)
    • method: O método a ser executado (string, obrigatório)
    • owner: O proprietário (login de usuário ou organização). O nome não diferencia maiúsculas de minúsculas. (string, opcional)
    • owner_type: Tipo de proprietário (user ou org). Se não for fornecido, será detectado automaticamente. (string, opcional)
    • project_number: O número do projeto. (number, opcional)
    • status_update_id: O node ID da atualização de status do projeto. Obrigatório para o método 'get_project_status_update'. (string, opcional)
    • view_id: O node ID da visão do projeto. Obrigatório para o método 'get_project_view'. (string, opcional)
  • projects_list - Listar recursos do GitHub Projects

    • Escopos do Desafio OAuth: read:project
    • after: Cursor de paginação para frente, do pageInfo.nextCursor anterior. (string, opcional)
    • before: Cursor de paginação para trás, do pageInfo.prevCursor anterior (raro). (string, opcional)
    • field_names: Nomes de campos a incluir ao listar itens de projeto (ex.: ["Status", "Priority"]). Resolvidos no servidor para IDs de campo — passe isto em vez de 'fields' quando você souber apenas os nomes legíveis. Nomes que não forem resolvidos retornam um erro estruturado. Mutuamente exclusivo com 'fields' — forneça um, não ambos. Usado apenas para o método 'list_project_items'. (string[], opcional)
    • fields: IDs de campos a incluir ao listar itens de projeto (ex.: ["102589", "985201"]). CRÍTICO: Sempre forneça para obter valores de campo. Sem isto (e sem 'field_names'), apenas títulos são retornados. Mutuamente exclusivo com 'field_names' — forneça um, não ambos. Usado apenas para o método 'list_project_items'. (string[], opcional)
    • method: A ação a ser executada (string, obrigatório)
    • owner: O proprietário (login de usuário ou organização). O nome não diferencia maiúsculas de minúsculas. (string, obrigatório)
    • owner_type: Tipo de proprietário (user ou org). Se não for fornecido, tentará automaticamente ambos. (string, opcional)
    • per_page: Resultados por página (máx. 50) (number, opcional)
    • project_number: O número do projeto. Obrigatório para os métodos 'list_project_fields', 'list_project_items', 'list_project_views' e 'list_project_status_updates'. (number, opcional)
    • query: String de filtro/consulta. Para list_projects: filtrar por texto do título e estado (ex.: "roadmap is:open"). Para list_project_items: filtragem avançada usando a sintaxe de filtragem de projetos do GitHub. (string, opcional)
  • projects_write - Gerenciar GitHub Projects

    • Escopos do Desafio OAuth: project
    • body: O corpo da atualização de status (markdown). Usado para o método 'create_project_status_update'. (string, opcional)
    • field_name: O nome do campo de iteração (ex.: 'Sprint'). Obrigatório para o método 'create_iteration_field'. (string, opcional)
    • filter: Filtro de visão salvo; omita na atualização para preservá-lo, ou passe null para limpá-lo. (string | null, opcional)
    • issue_number: O número da issue. Obrigatório para 'add_project_item' quando item_type é 'issue'. Também aceito por 'update_project_item' para resolver o item pelo número da issue (combine com item_owner e item_repo). (number, opcional)
    • item_id: O ID do item do projeto. Obrigatório para 'delete_project_item'. Para 'update_project_item', forneça item_id, ou (item_owner + item_repo + issue_number) para resolver o item pela issue. (number, opcional)
    • item_owner: O proprietário (usuário ou organização) do repositório que contém a issue ou o pull request. Obrigatório para o método 'add_project_item'. Também aceito por 'update_project_item' ao resolver o item pelo número da issue. (string, opcional)
    • item_repo: O nome do repositório que contém a issue ou o pull request. Obrigatório para o método 'add_project_item'. Também aceito por 'update_project_item' ao resolver o item pelo número da issue. (string, opcional)
    • item_type: O tipo do item, seja issue ou pull_request. Obrigatório para o método 'add_project_item'. (string, opcional)
    • items: Os itens a atualizar com o 'updated_field' de nível superior. Obrigatório para 'update_project_items'; prefira-o em vez de chamar 'update_project_item' em um loop. Cada entrada deve corresponder exatamente a uma variante de referência: 'node_id', 'item_id' numérico, ou 'item_owner' + 'item_repo' + 'issue_number'. Limite: 50 itens por chamada. (object[], opcional)
    • iteration_duration: Duração em dias para iterações do campo (ex.: 7 para semanal, 14 para quinzenal). Obrigatório para o método 'create_iteration_field'. (number, opcional)
    • iterations: Iterações personalizadas para o método 'create_iteration_field'. Defina isto apenas quando precisar de iterações com durações variadas, intervalos entre elas ou títulos específicos. Caso contrário, omita: o GitHub cria automaticamente três iterações de 'iteration_duration' dias começando em 'start_date', que é a escolha certa para a maioria dos casos. (object[], opcional)
    • layout: Layout da visão; obrigatório ao criar uma visão. (string, opcional)
    • method: O método a ser executado (string, obrigatório)
    • name: Nome da visão; obrigatório ao criar uma visão. (string, opcional)
    • owner: O proprietário do projeto (login de usuário ou organização). O nome não diferencia maiúsculas de minúsculas. (string, obrigatório)
    • owner_type: Tipo de proprietário (user ou org). Obrigatório para o método 'create_project'. Se não for fornecido para outros métodos, será detectado automaticamente. (string, opcional)
    • project_number: O número do projeto. Obrigatório para todos os métodos, exceto 'create_project'. (number, opcional)
    • pull_request_number: O número do pull request (use quando item_type for 'pull_request' para o método 'add_project_item'). Forneça issue_number ou pull_request_number. (number, opcional)
    • start_date: Data de início no formato AAAA-MM-DD. Usado para os métodos 'create_project_status_update' e 'create_iteration_field'. (string, opcional)
    • status: O status do projeto. Usado para o método 'create_project_status_update'. (string, opcional)
    • target_date: A data alvo da atualização de status no formato AAAA-MM-DD. Usado para o método 'create_project_status_update'. (string, opcional)
    • title: O título do projeto. Obrigatório para o método 'create_project'. (string, opcional)
    • updated_field: O campo/valor a aplicar, usando {"id": 123, "value": ...} ou {"name": "Status", "value": ...}; null limpa o campo. Obrigatório para 'update_project_item' e 'update_project_items', onde um campo/valor de nível superior se aplica a cada item em um lote. Para campos SINGLE_SELECT de 'update_project_item', a forma de nome aceita nomes de opções; a forma de ID espera um ID de opção. (object, opcional)
    • view_id: Node ID da visão do projeto para atualizar ou excluir; deve pertencer ao owner/project_number. (string, opcional)
    • visible_field_names: Nomes de campos do projeto, em ordem, para mostrar ao criar ou substituir na atualização; omita na atualização para preservar, ou passe [] para redefinir. Mutuamente exclusivo com visible_fields. Roadmap aceita apenas []. (string[], opcional)
    • visible_fields: IDs de banco de dados de campos do projeto, em ordem, para mostrar ao criar ou substituir na atualização; omita na atualização para preservar, ou passe [] para redefinir. Mutuamente exclusivo com visible_field_names. Roadmap aceita apenas []. (string[], opcional)
git-pull-request Pull Requests
  • add_comment_to_pending_review - Adiciona comentário de revisão à revisão de pull request pendente mais recente do solicitante

    • Escopos do Desafio OAuth: repo
    • 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 (número, opcional)
    • owner: Proprietário do repositório (string, obrigatório)
    • path: O caminho relativo ao arquivo que necessita de um comentário (string, obrigatório)
    • pullNumber: Número do pull request (número, 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 (número, 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 ao qual o comentário é direcionado (string, obrigatório)
  • add_reply_to_pull_request_comment - Adiciona resposta ao comentário de pull request

    • Escopos do Desafio OAuth: repo
    • body: O texto da resposta. Obrigatório, a menos que uma reação seja fornecida. (string, opcional)
    • commentId: O ID numérico do comentário de revisão do pull request para responder ou reagir. Use o número de uma âncora #discussion_r..., não o ID do nó do thread GraphQL (PRRT_...). (número, obrigatório)
    • owner: Proprietário do repositório (string, obrigatório)
    • pullNumber: Número do pull request. Obrigatório quando o corpo é fornecido. (número, opcional)
    • reaction: Reação de emoji para adicionar. Obrigatória, a menos que o corpo seja fornecido. (string, opcional)
    • repo: Nome do repositório (string, obrigatório)
  • create_pull_request - Abre novo pull request

    • Escopos do Desafio OAuth: repo
    • base: Branch para mesclar (string, obrigatório)
    • body: Descrição do PR (string, opcional)
    • draft: Criar como PR de rascunho (booleano, opcional)
    • head: Branch contendo as alterações (string, obrigatório)
    • maintainer_can_modify: Permitir edições de mantenedores (booleano, opcional)
    • owner: Proprietário do repositório (string, obrigatório)
    • repo: Nome do repositório (string, obrigatório)
    • reviewers: Nomes de usuário do GitHub ou revisores de equipe ORG/team-slug para solicitar revisões (string[], opcional)
    • title: Título do PR (string, obrigatório)
  • list_pull_requests - Lista pull requests

    • Escopos do Desafio OAuth: repo
    • base: Filtrar por branch base (string, opcional)
    • direction: Direção da ordenação (string, opcional)
    • fields: Subconjunto de campos para retornar para cada pull request. Se omitido, todos os campos são retornados. Use isso para reduzir o tamanho da resposta quando você precisar apenas de campos específicos; omitir 'body' em particular remove os maiores dados por resultado. (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) (número, opcional)
    • perPage: Resultados por página para paginação (mín. 1, máx. 100) (número, opcional)
    • repo: Nome do repositório (string, obrigatório)
    • sort: Ordenar por (string, opcional)
    • state: Filtrar por estado (string, opcional)
  • merge_pull_request - Mescla pull request

    • Escopos do Desafio OAuth: repo
    • 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 (número, obrigatório)
    • repo: Nome do repositório (string, obrigatório)
  • pull_request_read - Obtém detalhes de um único pull request

    • Escopos do Desafio OAuth: repo
    • after: Cursor para paginação, usado apenas pelo método get_review_comments. Passe o endCursor da PageInfo da página anterior para buscar a próxima página. (string, opcional)
    • method: Ação para especificar quais dados do pull request precisam ser recuperados do GitHub. Opções possíveis:
      1. get - Obtém detalhes de um pull request específico.
      2. get_diff - Obtém o diff de um pull request.
      3. get_status - Obtém o status combinado de commits do commit head em um pull request.
      4. get_files - Obtém a lista de arquivos alterados em um pull request. Use com parâmetros de paginação para controlar o número de resultados retornados.
      5. get_commits - Obtém a lista de commits em um pull request. Use com parâmetros de paginação para controlar o número de resultados retornados.
      6. get_review_comments - Obtém threads de revisão em um pull request. Cada thread contém comentários de revisão logicamente agrupados feitos no mesmo local de código durante revisões de pull request. Retorna threads com metadados (isResolved, isOutdated, isCollapsed) e seus comentários associados. Use paginação baseada em cursor (perPage, after) para controlar os resultados.
      7. get_reviews - Obtém as revisões em um pull request. Quando solicitado comentários de revisão, use o método get_review_comments. Use com parâmetros de paginação para controlar o número de resultados retornados.
      8. get_comments - Obtém comentários em um pull request. Use isso se o usuário não quiser especificamente comentários de revisão. Use com parâmetros de paginação para controlar o número de resultados retornados.
      9. get_check_runs - Obtém execuções de verificação para o commit head de um pull request. Execuções de verificação são os trabalhos e verificações individuais de CI/CD que rodam no PR. (string, obrigatório)
    • owner: Proprietário do repositório (string, obrigatório)
    • 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)
    • pullNumber: Número do pull request (número, obrigatório)
    • repo: Nome do repositório (string, obrigatório)
  • pull_request_review_write - Operações de escrita (criar, enviar, excluir) em revisões de pull request

    • Escopos do Desafio OAuth: repo
    • body: Texto do comentário de revisão (string, opcional)
    • commitID: SHA do commit para revisar (string, opcional)
    • event: Ação de revisão a ser executada. (string, opcional)
    • method: A operação de escrita a ser executada na revisão do pull request. (string, obrigatório)
    • owner: Proprietário do repositório (string, obrigatório)
    • pullNumber: Número do pull request (número, obrigatório)
    • repo: Nome do repositório (string, obrigatório)
    • threadId: O ID do nó do thread de revisão (ex.: PRRT_kwDOxxx). Obrigatório para os métodos resolve_thread e unresolve_thread. Obtenha IDs de thread de pull_request_read com o método get_review_comments. (string, opcional)
  • search_pull_requests - Pesquisa pull requests

    • Escopos do Desafio OAuth: repo
    • fields: Subconjunto de campos para retornar para cada resultado de pull request. Se omitido, todos os campos são retornados. Use isso para reduzir o tamanho da resposta quando você precisar apenas de campos específicos; omitir 'body', 'reactions' e 'labels' em particular remove os maiores dados por resultado. (string[], opcional)
    • order: Ordem de classificação (string, opcional)
    • owner: Proprietário opcional do repositório. Se fornecido com repo, apenas pull requests deste repositório são listados. (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 pull requests do GitHub (string, obrigatório)
    • repo: Nome opcional do repositório. Se fornecido com owner, apenas pull requests deste repositório são listados. (string, opcional)
    • sort: Campo de classificação pelo número de correspondências das categorias, padrão é melhor correspondência (string, opcional)
  • update_pull_request - Edita pull request

    • Escopos do Desafio OAuth: repo
    • base: Novo nome do branch base (string, opcional)
    • body: Nova descrição (string, opcional)
    • draft: Marcar pull request como rascunho (true) ou pronto para revisão (false) (booleano, opcional)
    • maintainer_can_modify: Permitir edições de mantenedores (booleano, opcional)
    • owner: Proprietário do repositório (string, obrigatório)
    • pullNumber: Número do pull request para atualizar (número, obrigatório)
    • repo: Nome do repositório (string, obrigatório)
    • reviewers: Nomes de usuário do GitHub ou revisores de equipe ORG/team-slug para solicitar revisões (string[], opcional)
    • state: Novo estado (string, opcional)
    • title: Novo título (string, opcional)
  • update_pull_request_branch - Atualiza branch do pull request

    • Escopos do Desafio OAuth: repo
    • 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 (número, obrigatório)
    • repo: Nome do repositório (string, obrigatório)
repo Repositories
  • create_branch - Cria branch

    • Escopos do Desafio OAuth: repo
    • branch: Nome para o 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 - Cria ou atualiza arquivo

    • Escopos do Desafio OAuth: repo, workflow
    • allow_symlink_write: Defina como true para atualizar um link simbólico em si; o conteúdo deve ser seu novo caminho de destino. (booleano, opcional)
    • branch: Branch para criar/atualizar o arquivo (string, obrigatório)
    • content: Conteúdo do arquivo, exatamente como deve aparecer após a escrita. Não faça codificação base64; este servidor faz isso antes de chamar a API REST. (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: O SHA do blob do arquivo que está sendo substituído. Obrigatório se o arquivo já existir. (string, opcional)
  • create_repository - Cria repositório

    • Escopos do Desafio OAuth: repo
    • autoInit: Inicializar com README (booleano, opcional)
    • description: Descrição do repositório (string, opcional)
    • name: Nome do repositório (string, obrigatório)
    • organization: Organização para criar o repositório (omitir para criar na sua conta pessoal) (string, opcional)
    • private: Se o repositório deve ser privado. Padrão é true (privado) quando omitido. (booleano, opcional)
  • delete_file - Exclui arquivo

    • Escopos do Desafio OAuth: repo, workflow
    • 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 para o arquivo a ser excluído (string, obrigatório)
    • repo: Nome do repositório (string, obrigatório)
  • delete_repository - Excluir repositório

    • Escopos de Desafio OAuth: delete_repo, repo
    • owner: Proprietário do repositório (nome de usuário ou organização) (string, obrigatório)
    • repo: Nome do repositório (string, obrigatório)
  • fork_repository - Bifurcar repositório

    • Escopos de Desafio OAuth: repo
    • 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

    • Escopos de Desafio OAuth: repo
    • detail: Nível de detalhe a incluir para arquivos alterados. "none" omite estatísticas e arquivos inteiramente. "stats" (padrão) inclui metadados por arquivo: nome do arquivo, status e contagens de linhas de código (adições, exclusões, alterações), sem conteúdo de patch. "full_patch" inclui adicionalmente o conteúdo de diff unificado para cada arquivo e pode ser muito grande. (string, opcional)
    • owner: Proprietário do repositório (string, obrigatório)
    • 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)
    • 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

    • Escopos de Desafio OAuth: repo
    • fields: Subconjunto de campos a retornar para cada entrada quando o caminho é um diretório. Se omitido, todos os campos são retornados. Ignorado quando o caminho é um único arquivo. Use para reduzir o tamanho da resposta ao listar diretórios quando você só precisa de campos específicos, por exemplo, apenas 'name' e 'type'. (string[], opcional)
    • owner: Proprietário do repositório (nome de usuário ou organização) (string, obrigatório)
    • path: Caminho para arquivo/diretório (string, opcional)
    • 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 de commit opcional. Se especificado, será usado em vez de ref (string, opcional)
  • get_latest_release - Obter versão mais recente

    • Escopos de Desafio OAuth: repo
    • owner: Proprietário do repositório (string, obrigatório)
    • repo: Nome do repositório (string, obrigatório)
  • get_release_by_tag - Obter uma versão pelo nome da tag

    • Escopos de Desafio OAuth: repo
    • owner: Proprietário do repositório (string, obrigatório)
    • repo: Nome do repositório (string, obrigatório)
    • tag: Nome da tag (por exemplo, 'v1.0.0') (string, obrigatório)
  • get_tag - Obter detalhes da tag

    • Escopos de Desafio OAuth: repo
    • 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

    • Escopos de Desafio OAuth: repo
    • owner: Proprietário do repositório (string, obrigatório)
    • 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)
    • repo: Nome do repositório (string, obrigatório)
  • list_commits - Listar commits

    • Escopos de Desafio OAuth: repo
    • author: Nome de usuário ou endereço de e-mail do autor para filtrar commits (string, opcional)
    • fields: Subconjunto de campos a retornar para cada commit. Se omitido, todos os campos são retornados. Use para reduzir o tamanho da resposta quando você só precisa de campos específicos, por exemplo, apenas 'sha' e 'html_url'. (string[], opcional)
    • owner: Proprietário do repositório (string, obrigatório)
    • page: Número da página para paginação (mín. 1) (número, opcional)
    • path: Somente commits contendo este caminho de arquivo serão retornados (string, opcional)
    • perPage: Resultados por página para paginação (mín. 1, máx. 100) (número, opcional)
    • repo: Nome do repositório (string, obrigatório)
    • sha: SHA do commit, branch ou nome da tag para listar commits. Se não fornecido, usa o branch padrão do repositório. Se um SHA de commit for fornecido, listará commits até esse SHA. (string, opcional)
    • since: Somente commits após esta data serão retornados (formato ISO 8601: YYYY-MM-DDTHH:MM:SSZ ou YYYY-MM-DD) (string, opcional)
    • until: Somente commits antes desta data serão retornados (formato ISO 8601: YYYY-MM-DDTHH:MM:SSZ ou YYYY-MM-DD) (string, opcional)
  • list_releases - Listar versões

    • Escopos de Desafio OAuth: repo
    • fields: Subconjunto de campos a retornar para cada versão. Se omitido, todos os campos são retornados. Use para reduzir o tamanho da resposta quando você só precisa de campos específicos; omitir 'body' em particular remove os maiores dados por versão. (string[], opcional)
    • owner: Proprietário do repositório (string, obrigatório)
    • 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)
    • repo: Nome do repositório (string, obrigatório)
  • list_repository_collaborators - Listar colaboradores do repositório

    • Escopos de Desafio OAuth: repo
    • affiliation: Filtrar por afiliação. Pode ser um de: 'outside' (colaboradores externos), 'direct' (todos com permissões independentemente da associação à organização), 'all' (todos os colaboradores). Padrão: 'all' (string, opcional)
    • owner: Proprietário do repositório (string, obrigatório)
    • page: Número da página para paginação (padrão 1, mín. 1) (número, opcional)
    • perPage: Resultados por página para paginação (padrão 30, mín. 1, máx. 100) (número, opcional)
    • repo: Nome do repositório (string, obrigatório)
  • list_tags - Listar tags

    • Escopos de Desafio OAuth: repo
    • owner: Proprietário do repositório (string, obrigatório)
    • 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)
    • repo: Nome do repositório (string, obrigatório)
  • push_files - Enviar arquivos para o repositório

    • Escopos de Desafio OAuth: repo, workflow
    • 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

    • Escopos de Desafio OAuth: repo
    • fields: Subconjunto de campos a retornar para cada resultado de pesquisa de código. Se omitido, todos os campos são retornados. Use para reduzir o tamanho da resposta quando você só precisa de campos específicos; omitir 'repository' e 'text_matches' em particular remove os maiores dados por resultado. (string[], opcional)
    • order: Ordem de classificação para resultados (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 (REST de pesquisa de código do GitHub). AND implícito entre termos; suporta OR, NOT e "quoted phrase" para correspondência exata. Qualificadores: repo:owner/repo, org:, user:, language:, path:dir (correspondência de prefixo), filename:exact.ext, extension:, in:file, in:path, size:, is:archived, is:fork. Máx. 256 caracteres. Exemplos: WithContext language:go org:github; "package main" repo:o/r; func extension:go path:cmd repo:o/r; NOT TODO language:go repo:o/r. (string, obrigatório)
    • sort: Campo de classificação (apenas 'indexed') (string, opcional)
  • search_commits - Pesquisar commits

    • Escopos de Desafio OAuth: repo
    • 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 de commits (REST de pesquisa de commits do GitHub). Pesquisa mensagens de commit apenas no branch padrão. Escopo da pesquisa com repo:owner/repo, org: ou user: (consultas sem um qualificador de escopo correspondem em todo o GitHub e geralmente não são o que você deseja). Outros qualificadores: author:, committer:, author-name:, committer-name:, author-email:, committer-email:, author-date:, committer-date: (suporta intervalos >, <, >=, <= e YYYY-MM-DD..YYYY-MM-DD), merge:true|false, hash:, tree:, parent:, is:public. Exemplos: repo:owner/repo fix panic; org:github author:defunkt committer-date:>=2024-01-01; "refactor cache" repo:o/r; hash:abc1234 repo:o/r. (string, obrigatório)
    • sort: Classificar por data do autor ou do committer (padrão para melhor correspondência) (string, opcional)
  • search_repositories - Pesquisar repositórios

    • Escopos de Desafio OAuth: repo
    • minimal_output: Retornar informações mínimas do repositório (padrão: true). Quando false, retorna objetos completos da API do GitHub. (boolean, opcional)
    • 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 de repositórios. Exemplos: 'machine learning in:name stars:>1000 language:python', 'topic:react', 'user:facebook'. Suporta sintaxe de pesquisa avançada para filtragem precisa. (string, obrigatório)
    • sort: Classificar repositórios por campo, padrão para melhor correspondência (string, opcional)
shield-lock Proteção de Segredos
  • get_secret_scanning_alert - Obter alerta de varredura de segredos

    • Escopos de Desafio OAuth: security_events
    • 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

    • Escopos de Desafio OAuth: security_events
    • owner: O proprietário do repositório. (string, obrigatório)
    • 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)
    • 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 segredo 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)
shield Avisos de Segurança
  • get_global_security_advisory - Obter um aviso de segurança global

    • Escopos de Desafio OAuth: security_events
    • ghsaId: ID do Aviso de Segurança do GitHub (formato: GHSA-xxxx-xxxx-xxxx). (string, obrigatório)
  • list_global_security_advisories - Listar avisos de segurança globais

    • Escopos de Desafio OAuth: security_events
    • affects: Filtrar avisos por pacote ou versão afetada (ex.: "package1,package2@1.0.0"). (string, opcional)
    • cveId: Filtrar por ID de CVE. (string, opcional)
    • cwes: Filtrar por IDs de Common Weakness Enumeration (ex.: ["79", "284", "22"]). (string[], opcional)
    • ecosystem: Filtrar por ecossistema do pacote. (string, opcional)
    • ghsaId: Filtrar por ID de Aviso de Segurança do GitHub (formato: GHSA-xxxx-xxxx-xxxx). (string, opcional)
    • isWithdrawn: Se deve retornar apenas avisos retirados. (boolean, opcional)
    • modified: Filtrar por data de publicação ou atualização ou intervalo de datas (data ISO 8601 ou intervalo). (string, opcional)
    • published: Filtrar por data de publicação ou intervalo de datas (data ISO 8601 ou intervalo). (string, opcional)
    • severity: Filtrar por gravidade. (string, opcional)
    • type: Tipo de aviso. (string, opcional)
    • updated: Filtrar por data de atualização ou intervalo de datas (data ISO 8601 ou intervalo). (string, opcional)
  • list_org_repository_security_advisories - Listar avisos de segurança de repositórios da organização

    • Escopos de Desafio OAuth: security_events
    • direction: Direção da ordenação. (string, opcional)
    • org: O login da organização. (string, obrigatório)
    • sort: Campo de ordenação. (string, opcional)
    • state: Filtrar por estado do aviso. (string, opcional)
  • list_repository_security_advisories - Listar avisos de segurança de repositórios

    • Escopos de Desafio OAuth: security_events
    • direction: Direção da ordenação. (string, opcional)
    • owner: O proprietário do repositório. (string, obrigatório)
    • repo: O nome do repositório. (string, obrigatório)
    • sort: Campo de ordenação. (string, opcional)
    • state: Filtrar por estado do aviso. (string, opcional)
star Stargazers
  • list_starred_repositories - Listar repositórios com estrela

    • Escopos de Desafio OAuth: repo
    • direction: A direção para ordenar os resultados. (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)
    • sort: Como ordenar os resultados. Pode ser 'created' (quando o repositório recebeu estrela) ou 'updated' (quando o repositório recebeu o último push). (string, opcional)
    • username: Nome de usuário para listar repositórios com estrela. Padrão: usuário autenticado. (string, opcional)
  • star_repository - Dar estrela a repositório

    • Escopos de Desafio OAuth: repo
    • owner: Proprietário do repositório (string, obrigatório)
    • repo: Nome do repositório (string, obrigatório)
  • unstar_repository - Remover estrela de repositório

    • Escopos de Desafio OAuth: repo
    • owner: Proprietário do repositório (string, obrigatório)
    • repo: Nome do repositório (string, obrigatório)
people Usuários
  • search_users - Pesquisar usuários
    • Escopos de Desafio OAuth: repo
    • 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 de usuários. Exemplos: 'john smith', 'location:seattle', 'followers:>100'. A pesquisa é automaticamente limitada a type:user. (string, obrigatório)
    • sort: Ordenar usuários por número de seguidores ou repositórios, ou quando a pessoa entrou no GitHub. (string, opcional)

Ferramentas Adicionais no Servidor GitHub MCP Remoto

Copilot
  • create_pull_request_with_copilot - Executar tarefa com o agente de codificação GitHub Copilot
    • owner: Proprietário do repositório. Você pode adivinhar o proprietário, mas confirme com o usuário antes de prosseguir. (string, obrigatório)
    • repo: Nome do repositório. Você pode adivinhar o nome do repositório, mas confirme com o usuário antes de prosseguir. (string, obrigatório)
    • problem_statement: Descrição detalhada da tarefa a ser executada (ex.: 'Implementar um recurso que faz X', 'Corrigir o bug Y', etc.) (string, obrigatório)
    • title: Título para o pull request que será criado (string, obrigatório)
    • base_ref: Referência Git (ex.: branch) a partir da qual o agente iniciará seu trabalho. Se não especificado, usa a branch padrão do repositório (string, opcional)
Copilot Spaces
  • Nota de autenticação

    • PATs de granularidade fina não são ocultados pela filtragem de escopo de PAT clássico, portanto essas ferramentas podem aparecer mesmo quando o token não pode usá-las.
    • Para espaços de propriedade da organização, PATs de granularidade fina devem ser instalados na organização proprietária e incluir organization_copilot_spaces: read.
    • Se um espaço de propriedade da organização contiver recursos apoiados por repositórios, o token também deve ter acesso a cada repositório referenciado ou o espaço pode ser tratado como não encontrado.
  • get_copilot_space - Obter Copilot Space

    • owner: O proprietário do espaço. (string, obrigatório)
    • name: O nome do espaço. (string, obrigatório)
  • list_copilot_spaces - Listar Copilot Spaces

Pesquisa de Documentação de Suporte do GitHub
  • github_support_docs_search - Recuperar documentação relevante para responder perguntas de produtos e suporte do GitHub. Os tópicos de suporte incluem: GitHub Actions Workflows, Autenticação, Consultas de Suporte do GitHub, Práticas de Pull Request, Manutenção de Repositórios, GitHub Pages, GitHub Packages, GitHub Discussions, Copilot Spaces
    • query: Entrada do usuário sobre a pergunta que precisa ser respondida. Esta é a mensagem mais recente do usuário, sem edição. Você deve SEMPRE deixar a mensagem do usuário como está, nunca deve modificá-la. (string, obrigatório)

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

Modo Lockdown

O modo lockdown limita o conteúdo que o servidor exibirá de repositórios públicos. Quando ativado, o servidor verifica se o autor de cada item tem acesso de push ao repositório. Repositórios privados não são afetados, e colaboradores mantêm acesso total ao seu próprio conteúdo.

O modo lockdown é um filtro de conteúdo de melhor esforço destinado a reduzir o risco de injeção de prompt a partir de conteúdo não confiável de repositórios (issues, pull requests, comentários, commits, etc.). Ele não é um limite de autorização: não altera o que a credencial GitHub subjacente pode ler ou escrever, e conteúdo retido de uma resposta de ferramenta filtrada ainda pode ser acessível por outras ferramentas ou acesso direto à API do GitHub com a mesma credencial.

Como exceção intencional, conteúdo criado por um pequeno conjunto de contas de bot confiáveis (atualmente github-actions[bot] e copilot) é sempre tratado como seguro, independentemente do acesso de push. Isso evita filtrar saída de automação rotineira (ex.: commits ou comentários gerados por CI) que de outra forma seria retida no modo lockdown.

./github-mcp-server --lockdown-mode

Ao executar com Docker, defina a variável de ambiente correspondente:

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

No modo HTTP, esta flag (ou GITHUB_LOCKDOWN_MODE) é um limite superior: o cabeçalho de solicitação X-MCP-Lockdown pode ativar o modo lockdown quando o operador não o fez, mas não pode desativar o modo lockdown que o operador já ativou. Consulte o Guia de Configuração do Servidor para detalhes.

O comportamento do modo lockdown depende da ferramenta invocada.

As seguintes ferramentas retornarão um erro quando o autor não tiver acesso de push:

  • issue_read:get
  • pull_request_read:get
  • pull_request_read:get_diff
  • pull_request_read:get_files
  • pull_request_read:get_commits

As seguintes ferramentas filtrarão conteúdo de usuários sem acesso de push:

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

i18n / Substituição de 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ê fez, 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 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"

Substituindo Nome e Título do Servidor

O mesmo mecanismo de substituição pode ser usado para personalizar os campos name e title do servidor MCP na resposta de inicialização. Isso é útil ao executar múltiplas instâncias do GitHub MCP Server (ex.: uma para github.com e outra para GitHub Enterprise Server) para que os agentes possam distingui-las.

ChaveVariável de AmbientePadrão
SERVER_NAMEGITHUB_MCP_SERVER_NAMEgithub-mcp-server
SERVER_TITLEGITHUB_MCP_SERVER_TITLEGitHub MCP Server

Por exemplo, para configurar uma instância do servidor para GitHub Enterprise Server:

{
  "SERVER_NAME": "ghes-mcp-server",
  "SERVER_TITLE": "GHES MCP Server"
}

Ou usando variáveis de ambiente:

export GITHUB_MCP_SERVER_NAME="ghes-mcp-server"
export GITHUB_MCP_SERVER_TITLE="GHES MCP Server"

Uso como Biblioteca

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

Contribuindo

Contribuições são bem-vindas. Antes de abrir um pull request, leia o guia de contribuição para instruções de configuração, testes, linting e geração de documentação.

Suporte

Para ajuda com o GitHub MCP Server, consulte o guia de suporte. Se você encontrou um bug ou deseja solicitar um recurso, pesquise issues existentes antes de abrir uma nova.

Segurança

Não relate vulnerabilidades de segurança por meio de issues públicas. Siga as instruções na política de segurança para relatar vulnerabilidades de forma responsável.

Licença

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