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.
Navegar e pesquisar repositórios — Peça ao seu assistente para encontrar arquivos, ler código ou analisar o histórico de commits usando ferramentas do conjunto repos.
Gerenciar issues e pull requests — Crie, atualize e faça triagem de issues ou PRs com ferramentas dos conjuntos issues e pull_requests.
Monitorar fluxos de trabalho CI/CD — Verifique o status de execução do GitHub Actions, investigue falhas de build e gerencie versões por meio do conjunto actions.
Revisar alertas de segurança de código — Examine descobertas de varredura de código, alertas do Dependabot e resultados de varredura de segredos usando os conjuntos code_security, dependabot e secret_protection.
Colaborar em discussões e projetos — Acesse discussões da equipe, gerencie quadros de projetos e lide com notificações por meio dos conjuntos discussions, projects e notifications.
Documentação
GitHub MCP Server
O GitHub MCP Server conecta ferramentas de IA diretamente à plataforma do 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 na triagem de bugs, revisão de alterações de código e manutenção de quadros de projeto.
Inteligência de CI/CD e Workflow: Monitore execuções de workflow 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 simplifique processos para seu time.
Criado 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 em várias etapas.
GitHub MCP Server Remoto
O GitHub MCP Server remoto é hospedado pelo GitHub e fornece o método mais fácil para começar a usar. Se o seu host MCP não oferecer suporte a servidores MCP remotos, não se preocupe! Você pode usar a versão local do GitHub MCP Server.
Pré-requisitos
Um host MCP compatível com suporte a servidor remoto (VS Code 1.101+, Claude Desktop, Cursor, Windsurf, etc.)
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 próximo à entrada de texto do Copilot Chat) e o servidor será iniciado. Certifique-se de estar usando o VS Code 1.101 ou posterior para suporte a MCP remoto e OAuth.
Como alternativa, para configurar o VS Code manualmente, escolha o bloco JSON apropriado nos exemplos abaixo e adicione-o à configuração do seu host:
Rovo Dev CLI - Guia de instalação para o Rovo Dev CLI
Nota: Cada aplicativo host MCP precisa configurar um GitHub App ou OAuth App para oferecer suporte ao acesso remoto via OAuth. Qualquer aplicativo host que ofereça suporte a servidores MCP remotos deve ser compatível com o servidor GitHub remoto com autenticação PAT. Os detalhes de configuração e os níveis de suporte variam de acordo com o host. Consulte a documentação do aplicativo host para obter mais informações.
Configuração
Configuração de conjunto de ferramentas
Consulte a Documentação do Servidor Remoto para obter 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 GitHub MCP Server remoto no VS Code e em outros hosts MCP.
Experimente novos recursos antecipadamente! O servidor remoto oferece uma versão insiders com acesso antecipado a novos recursos e ferramentas experimentais.
Nota: Ao usar OAuth com GitHub Enterprise com VS Code e GitHub Copilot, você também precisa configurar suas definições do VS Code para apontar para sua instância do GitHub Enterprise - consulte Autenticar a partir do VS Code
Para executar o servidor em um contêiner, você precisará ter o Docker instalado.
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.
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 do Docker publicam uma porta de retorno de chamada fixa (127.0.0.1:8085) para que o retorno de chamada de login do contêiner seja acessível. Consulte Login OAuth do Servidor Local para saber como funciona, o fallback headless/device-code e como trazer seu próprio OAuth ou GitHub App (necessá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 (que tem precedência sobre o OAuth). O servidor MCP pode usar muitas das APIs do GitHub, então habilite as permissões que você se sente 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:
Armazene seu PAT em variáveis de ambiente
export GITHUB_PAT=your_token_here
Ou crie um arquivo .env:
GITHUB_PAT=your_token_here
Proteja seu arquivo .env
# Add to .gitignore to prevent accidental commits
echo ".env" >> .gitignore
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 de acordo com o aplicativo host e IDE. Alguns aplicativos (como Windsurf) exigem tokens codificados diretamente nos arquivos de configuração.
Práticas Recomendadas 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 à equipe da organização
Tokens separados: Use PATs diferentes para diferentes projetos/ambientes
Rotação regular: Atualize os tokens periodicamente
Nunca commitar: 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 nome do host para o GitHub Enterprise Server ou GitHub Enterprise Cloud com residência de dados.
Para o GitHub Enterprise Server, prefixe o nome do host com o esquema de URI https://, pois, caso contrário, o padrão é http://, que o GitHub Enterprise Server não oferece suporte.
Para o GitHub Enterprise Cloud com residência de dados, use https://YOURSUBDOMAIN.ghe.com como o nome do host.
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 próximo à entrada de texto do Copilot Chat) e o servidor será iniciado.
Instalar 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 (sem token para criar ou armazenar). No github.com, a imagem oficial já inclui as credenciais do aplicativo, portanto, 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 precisa de uma porta de retorno de chamada fixa publicada para loopback para que o retorno de chamada de login do contêiner seja acessível:
Consulte Login OAuth do Servidor Local para o fluxo binário nativo (sem necessidade de porta fixa), o fallback headless/device-code, GitHub Enterprise Server / ghe.com e como trazer seu próprio OAuth ou GitHub App.
Ou autentique com um Token de Acesso Pessoal. Defina GITHUB_PERSONAL_ACCESS_TOKEN (que tem precedência sobre o OAuth):
Opcionalmente, você pode adicionar um exemplo semelhante (ou seja, sem a chave mcp) a um arquivo chamado .vscode/mcp.json em seu espaço de trabalho. Isso permitirá que você compartilhe a configuração com outros aplicativos host que aceitem o mesmo formato.
Nota: Qualquer aplicativo host que ofereça suporte a servidores MCP locais deve ser capaz de acessar o GitHub MCP Server local. No entanto, o processo de configuração específico, a sintaxe e a estabilidade da integração variam de acordo com 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 com 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:
O binário github-mcp-server inclui alguns subcomandos de CLI que são úteis para depuração e exploração do servidor.
github-mcp-server tool-search "<query>" pesquisa ferramentas por nome, descrição e nomes de parâmetros de entrada. Use --max-results para retornar mais correspondências.
Exemplo (saída colorida requer um TTY; use docker run -t (ou -it) ao executar no Docker):
O GitHub MCP Server suporta habilitar ou desabilitar grupos específicos de funcionalidades através 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 necessários pode ajudar o LLM na escolha de ferramentas e reduzir o tamanho do contexto.
Conjuntos de ferramentas não se limitam a Ferramentas. Recursos e Prompts MCP relevantes também são incluídos quando aplicável.
Procurando exemplos? Veja 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 para o LLM, você pode passar uma lista de permissões de duas maneiras:
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 independentemente ou combinadas com conjuntos de ferramentas para controle refinado.
Isso registra todas as ferramentas dos conjuntos repos e issues, mais 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 com que o servidor falhe 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. Veja 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:
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 para o 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:
Os seguintes conjuntos de ferramentas estão disponíveis:
Conjunto de Ferramentas
Descrição
context
Fortemente recomendado: Ferramentas que fornecem contexto sobre o usuário atual e o contexto do GitHub em que você está operando
actions
Fluxos de trabalho do GitHub Actions e operações de CI/CD
code_quality
Ferramentas relacionadas à Qualidade de Código do GitHub
code_security
Ferramentas relacionadas à segurança de código, como GitHub Code Scanning
copilot
Ferramentas relacionadas ao Copilot
dependabot
Ferramentas do Dependabot
discussions
Ferramentas relacionadas a Discussões do GitHub
gists
Ferramentas relacionadas a Gist do GitHub
git
Ferramentas relacionadas à API Git do GitHub para operações Git de baixo nível
issues
Ferramentas relacionadas a Issues do GitHub
labels
Ferramentas relacionadas a Labels do GitHub
notifications
Ferramentas relacionadas a Notificações do GitHub
orgs
Ferramentas relacionadas a Organizações do GitHub
projects
Ferramentas relacionadas a Projetos do GitHub
pull_requests
Ferramentas relacionadas a Pull Requests do GitHub
repos
Ferramentas relacionadas a Repositórios do GitHub
secret_protection
Ferramentas relacionadas à proteção de segredos, como GitHub Secret Scanning
security_advisories
Ferramentas relacionadas a avisos de segurança
stargazers
Ferramentas relacionadas a Stargazers do GitHub
users
Ferramentas relacionadas a Usuários do GitHub
Conjuntos de Ferramentas Adicionais no GitHub MCP Server Remoto
Conjunto de Ferramentas
Descrição
copilot
Ferramentas relacionadas ao Copilot (ex: Agente de Codificação Copilot)
copilot_spaces
Ferramentas relacionadas a Copilot Spaces
github_support_docs_search
Pesquisar documentos para responder perguntas sobre produtos e suporte do GitHub
Ferramentas
Actions
actions_get - Obter detalhes de recursos do GitHub Actions (fluxos de trabalho, execuções de fluxo de trabalho, jobs e artefatos)
Escopos OAuth Necessários: 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 varia de acordo com o "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 (ex: 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 job para o método 'get_workflow_job'.
(string, obrigatório)
actions_list - Listar fluxos de trabalho do GitHub Actions em um repositório
Escopos OAuth Necessários: 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) (number, opcional)
per_page: Resultados por página para paginação (padrão: 30, máx: 100) (number, opcional)
repo: Nome do repositório (string, obrigatório)
resource_id: O identificador único do recurso. Isso varia de acordo com o "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 (ex: 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 jobs de fluxo de trabalho. APENAS usado quando o método é 'list_workflow_jobs' (objeto, opcional)
workflow_runs_filter: Filtros para execuções de fluxo de trabalho. APENAS usado quando o método é 'list_workflow_runs' (objeto, opcional)
actions_run_trigger - Acionar ações de fluxo de trabalho do GitHub Actions
Escopos OAuth Necessários: 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 branch ou nome de 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'. (number, opcional)
workflow_id: O ID do fluxo de trabalho (numérico) ou nome do arquivo de fluxo de trabalho (ex: main.yml, ci.yaml). Obrigatório para o método 'run_workflow'. (string, opcional)
get_job_logs - Obter logs de jobs de fluxo de trabalho do GitHub Actions
Escopos OAuth Necessários: repo
failed_only: Quando verdadeiro, obtém logs para todos os jobs 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 job do fluxo de trabalho. Obrigatório ao obter logs para um único job. (number, 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 jobs com falha na execução. (number, opcional)
tail_lines: Número de linhas a retornar do final do log (number, opcional)
Qualidade de Código
- **get_code_quality_finding** - Obter achado de qualidade de código
- **Escopos OAuth obrigatórios**: `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)
Segurança de Código
get_code_scanning_alert - Obter alerta de varredura de código
Escopos OAuth obrigatórios: security_events
Escopos OAuth aceitos: repo, 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 OAuth obrigatórios: security_events
Escopos OAuth aceitos: repo, 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 severidade (string, opcional)
state: Filtrar alertas de varredura de código por estado. Padrão: abertos (string, opcional)
tool_name: O nome da ferramenta usada para varredura de código. (string, opcional)
user: Nome de usuário para obter os times. Se não fornecido, usa o usuário autenticado. (string, opcional)
Copilot
assign_copilot_to_issue - Atribuir Copilot a uma issue
Escopos OAuth obrigatórios: repo
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)
custom_instructions: Instruções personalizadas opcionais para guiar o agente além do corpo da issue. Use para fornecer contexto adicional, restrições ou orientações nã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 OAuth obrigatórios: 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)
Dependabot
get_dependabot_alert - Obter alerta do Dependabot
Escopos OAuth obrigatórios: security_events
Escopos OAuth aceitos: repo, 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 OAuth obrigatórios: security_events
Escopos OAuth aceitos: repo, 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 severidade (string, opcional)
state: Filtrar alertas do Dependabot por estado. Padrão: abertos (string, opcional)
Discussões
discussion_comment_write - Gerenciar comentários de discussão
Escopos OAuth obrigatórios: repo
body: Conteúdo do comentário (obrigatório para os métodos 'add', 'reply' e 'update') (string, opcional)
commentNodeID: O Node ID 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; Discussões do GitHub suportam 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 (Discussões do GitHub suportam 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 (apenas Q&A).
'unmark_answer' - desmarca um comentário de discussão como a resposta (apenas 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 OAuth obrigatórios: 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 OAuth obrigatórios: 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 true, cada comentário de nível superior incluirá suas respostas aninhadas (até 100 respostas por comentário, que é o máximo da API do GitHub). Padrão: false. (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 OAuth obrigatórios: repo
owner: Proprietário do repositório (string, obrigatório)
repo: Nome do repositório. Se não fornecido, as categorias de discussão serão consultadas no nível da organização. (string, opcional)
list_discussions - Listar discussões
Escopos OAuth obrigatórios: 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 sã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 fornecido, as discussões serão consultadas no nível da organização. (string, opcional)
Gists
create_gist - Criar Gist
Escopos OAuth obrigatórios: 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 OAuth obrigatórios: gist
content: Conteúdo do arquivo (string, obrigatório)
description: Descrição atualizada do gist (string, opcional)
filename: Nome do arquivo a ser atualizado ou criado (string, obrigatório)
gist_id: ID do gist a ser atualizado (string, obrigatório)
Git
get_repository_tree - Obter árvore do repositório
Escopos OAuth obrigatórios: 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. Padrão é false (booleano, opcional)
repo: Nome do repositório (string, obrigatório)
tree_sha: O valor SHA1 ou nome da ref (branch ou tag) da árvore. Padrão: branch padrão do repositório (string, opcional)
Issues
add_issue_comment - Adicionar comentário a uma issue ou pull request
Escopos OAuth obrigatórios: 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 para reações a comentários; omita para reagir à issue ou pull request em si. Não pode ser combinado com body. (número, opcional)
issue_number: Número da issue ou pull request para comentar ou reagir. (número, obrigatório)
owner: Proprietário do repositório (string, obrigatório)
reaction: Reação emoji a ser adicionada. Obrigatório 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 OAuth Necessários: repo
name: Nome do rótulo. (string, obrigatório)
owner: Proprietário do repositório (nome de usuário ou organização) (string, obrigatório)
repo: Nome do repositório (string, obrigatório)
issue_read - Obter detalhes da issue
Escopos OAuth Necessários: repo
issue_number: O número da issue (number, obrigatório)
method: A operação de leitura a ser realizada em uma única issue.
As opções são:
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.
get_comments - Obter comentários da issue.
get_sub_issues - Obter sub-issues (filhas) da issue.
get_parent - Obter a issue pai, se esta issue for uma sub-issue de outra.
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 OAuth Necessários: repo
assignees: Nomes de usuário a serem atribuídos a esta issue (string[], opcional)
body: Conteúdo do corpo da issue (string, opcional)
duplicate_of: Número da issue da qual esta issue é uma duplicata. Usado apenas quando state_reason é 'duplicate'. (number, opcional)
issue_fields: Valores de campos da issue a serem definidos ou limpos. Cada item requer 'field_name' e exatamente um de 'value', 'field_option_name' ou 'delete: true'. (object[], opcional)
issue_number: Número da issue a ser atualizada (number, opcional)
labels: Rótulos a serem aplicados a esta issue (string[], opcional)
method: Operação de escrita a ser realizada 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 (number, opcional)
owner: Proprietário do repositório (string, obrigatório)
repo: Nome do repositório (string, obrigatório)
state: Novo estado (string, opcional)
state_reason: Motivo da 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. Use apenas se os tipos de issue estiverem habilitados para este repositório. Use a ferramenta 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 oferecer suporte a tipos de issue, omita este parâmetro. (string, opcional)
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 no nível da organização diretamente. (string, opcional)
list_issue_types - Listar tipos de issue disponíveis
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 no nível da organização diretamente. (string, opcional)
list_issues - Listar issues
Escopos OAuth Necessários: repo
after: Cursor para paginação. Use o cursor da resposta anterior. (string, opcional)
direction: Direção da ordenação. Se fornecido, o 'orderBy' também precisa ser fornecido. (string, opcional)
field_filters: Filtrar por valores de campos de issue personalizados. 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)
labels: Filtrar por rótulos (string[], opcional)
orderBy: Ordenar issues por campo. Se fornecido, a 'direction' 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) (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 OAuth Necessários: repo
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: Consulta de pesquisa usando a sintaxe de pesquisa de issues do GitHub (string, obrigatório)
repo: Nome do repositório opcional. Se fornecido com owner, apenas 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 é a melhor correspondência (string, opcional)
sub_issue_write - Alterar sub-issue
Escopos OAuth Necessários: repo
after_id: O ID da sub-issue a ser priorizada depois (either after_id OR before_id deve ser especificado) (number, opcional)
before_id: O ID da sub-issue a ser priorizada antes (either after_id OR 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 do GitHub.
'remove' - remover uma sub-issue de uma issue pai em um repositório do GitHub.
'reprioritize' - alterar a ordem das sub-issues dentro de uma issue pai em um repositório do 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 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 ser adicionada. ID não é o mesmo que número da issue (number, obrigatório)
Rótulos
get_label - Obter um rótulo específico de um repositório
Escopos OAuth Necessários: repo
name: Nome do rótulo. (string, obrigatório)
owner: Proprietário do repositório (nome de usuário ou organização) (string, obrigatório)
repo: Nome do repositório (string, obrigatório)
label_write - Operações de escrita em rótulos de repositório
Escopos OAuth Necessários: repo
color: Cor do rótulo como código hexadecimal 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 ser realizada: '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 organização) (string, obrigatório)
repo: Nome do repositório (string, obrigatório)
list_label - Listar rótulos de um repositório
Escopos OAuth Necessários: repo
owner: Proprietário do repositório (nome de usuário ou 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)
Notificações
dismiss_notification - Dispensar notificação
Escopos OAuth Necessários: notifications
state: O novo estado da notificação (read/done) (string, obrigatório)
threadID: O ID do tópico de notificação (string, obrigatório)
get_notification_details - Obter detalhes da notificação
Escopos OAuth Necessários: notifications
notificationID: O ID da notificação (string, obrigatório)
list_notifications - Listar notificações
Escopos OAuth Necessários: notifications
before: Mostrar apenas notificações atualizadas antes do horário especificado (formato ISO 8601) (string, opcional)
filter: Filtrar notificações para, 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 nas quais o usuário está diretamente envolvido, como issues ou pull requests que ele comentou ou criou. (string, opcional)
owner: Proprietário do repositório opcional. Se fornecido 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 fornecido com owner, apenas notificações deste repositório são listadas. (string, opcional)
since: Mostrar apenas notificações atualizadas após o horário especificado (formato ISO 8601) (string, opcional)
manage_notification_subscription - Gerenciar assinatura de notificação
Escopos OAuth Necessários: notifications
action: Ação a ser executada: ignore, watch ou delete na assinatura de notificação. (string, obrigatório)
notificationID: O ID do tópico de notificação. (string, obrigatório)
manage_repository_notification_subscription - Gerenciar assinatura de notificação do repositório
Escopos OAuth Necessários: notifications
action: Ação a ser executada: ignore, watch ou delete na 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 OAuth Necessários: 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 fornecido com repo, apenas notificações deste repositório são marcadas como lidas. (string, opcional)
repo: Nome do repositório opcional. Se fornecido com owner, apenas notificações deste repositório são marcadas como lidas. (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)
Projetos
projects_get - Obter detalhes de recursos de Projetos do GitHub
Escopos OAuth obrigatórios: read:project
Escopos OAuth aceitos: project, 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 do projeto (ex.: ["Status", "Prioridade"]). Resolvidos no lado do servidor para IDs de campo — passe isto em vez de 'fields' quando você só conhece os nomes legíveis por humanos. 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 do 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 executar (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 fornecido, será detectado automaticamente. (string, opcional)
project_number: O número do projeto. (number, opcional)
status_update_id: O ID do nó da atualização de status do projeto. Obrigatório para o método 'get_project_status_update'. (string, opcional)
projects_list - Listar recursos de Projetos do GitHub
Escopos OAuth obrigatórios: read:project
Escopos OAuth aceitos: project, 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 do projeto (ex.: ["Status", "Prioridade"]). Resolvidos no lado do servidor para IDs de campo — passe isto em vez de 'fields' quando você só conhece os nomes legíveis por humanos. Nomes que falham na resolução 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 do projeto (ex.: ["102589", "985201"]). CRÍTICO: Sempre forneça para obter valores de campo. Sem isso (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 executar (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 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' 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 Projetos do GitHub
Escopos OAuth obrigatórios: 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)
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 (combinar 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 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 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)
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 isso apenas quando precisar de iterações com durações variadas, pausas entre elas ou títulos específicos. Caso contrário, omita: o GitHub cria automaticamente três iterações de 'iteration_duration' dias a partir de 'start_date', que é a escolha certa para a maioria dos casos. (object[], opcional)
method: O método a executar (string, obrigatório)
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 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 da 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: Objeto descrevendo o campo a atualizar e seu novo valor. Obrigatório para 'update_project_item'. Duas formas são aceitas: (1) por ID — {"id": 123456, "value": "..."}; (2) por nome — {"name": "Status", "value": "Em Andamento"}. Para campos de seleção única, a resolução do nome da opção requer a forma por nome; na forma por ID, passe o ID da opção. Defina value como null para limpar o campo. (object, opcional)
Pull Requests
add_comment_to_pending_review - Adicionar comentário de revisão à revisão pendente mais recente do solicitante na pull request
Escopos OAuth obrigatórios: repo
body: O texto do comentário de revisão (string, obrigatório)
line: A linha do blob no diff da pull request à qual o comentário se aplica. Para comentários de múltiplas linhas, a última linha do intervalo (number, opcional)
owner: Proprietário do repositório (string, obrigatório)
path: O caminho relativo para o arquivo que necessita de um comentário (string, obrigatório)
pullNumber: Número da pull request (number, obrigatório)
repo: Nome do repositório (string, obrigatório)
side: O lado do diff para comentar. LEFT indica o estado anterior, RIGHT indica o novo estado (string, opcional)
startLine: Para comentários de múltiplas linhas, a primeira linha do intervalo à qual o comentário se aplica (number, opcional)
startSide: Para comentários de múltiplas 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 no qual o comentário é direcionado (string, obrigatório)
add_reply_to_pull_request_comment - Adicionar resposta a comentário de pull request
Escopos OAuth obrigatórios: 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 da pull request para responder ou reagir. Use o número de uma âncora #discussion_r..., não o ID do nó GraphQL (PRRT_...). (number, obrigatório)
owner: Proprietário do repositório (string, obrigatório)
pullNumber: Número da pull request. Obrigatório quando o corpo é fornecido. (number, opcional)
reaction: Reação emoji a adicionar. Obrigatório a menos que o corpo seja fornecido. (string, opcional)
repo: Nome do repositório (string, obrigatório)
create_pull_request - Abrir nova pull request
Escopos OAuth obrigatórios: repo
base: Branch de destino para mesclar (string, obrigatório)
body: Descrição da PR (string, opcional)
draft: Criar como PR rascunho (boolean, opcional)
head: Branch contendo as alterações (string, obrigatório)
maintainer_can_modify: Permitir edições de mantenedores (boolean, 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 ORG/team-slug de revisores de equipe para solicitar revisões (string[], opcional)
title: Título da PR (string, obrigatório)
list_pull_requests - Listar pull requests
Escopos OAuth obrigatórios: repo
base: Filtrar por branch base (string, opcional)
direction: Direção da ordenação (string, opcional)
head: Filtrar por usuário/org de origem e branch (string, opcional)
owner: Proprietário do repositório (string, obrigatório)
page: Número da página para paginação (mín. 1) (number, opcional)
perPage: Resultados por página para paginação (mín. 1, máx. 100) (number, opcional)
repo: Nome do repositório (string, obrigatório)
sort: Ordenar por (string, opcional)
state: Filtrar por estado (string, opcional)
merge_pull_request - Mesclar pull request
Escopos OAuth obrigatórios: repo
commit_message: Detalhe extra para commit de merge (string, opcional)
commit_title: Título para commit de merge (string, opcional)
merge_method: Método de merge (string, opcional)
owner: Proprietário do repositório (string, obrigatório)
pullNumber: Número da pull request (number, obrigatório)
repo: Nome do repositório (string, obrigatório)
pull_request_read - Obter detalhes de um único pull request
Escopos OAuth necessários: repo
after: Cursor para paginação, usado apenas pelo método get_review_comments. Passe o endCursor do 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:
get - Obter detalhes de um pull request específico.
get_diff - Obter o diff de um pull request.
get_status - Obter o status combinado dos commits do commit principal em um pull request.
get_files - Obter a lista de arquivos alterados em um pull request. Use com parâmetros de paginação para controlar o número de resultados retornados.
get_commits - Obter a lista de commits em um pull request. Use com parâmetros de paginação para controlar o número de resultados retornados.
get_review_comments - Obter threads de revisão em um pull request. Cada thread contém comentários de revisão logicamente agrupados feitos no mesmo local do código durante as revisões do 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.
get_reviews - Obter 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.
get_comments - Obter comentários em um pull request. Use isto 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.
get_check_runs - Obter execuções de verificação para o commit principal de um pull request. Execuções de verificação são os jobs 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) (number, opcional)
perPage: Resultados por página para paginação (mín 1, máx 100) (number, opcional)
pullNumber: Número do pull request (number, obrigatório)
repo: Nome do repositório (string, obrigatório)
pull_request_review_write - Operações de escrita (criar, enviar, excluir) em revisões de pull request
Escopos OAuth necessários: repo
body: Texto do comentário de revisão (string, opcional)
commitID: SHA do commit a ser revisado (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 (number, obrigatório)
repo: Nome do repositório (string, obrigatório)
threadId: O ID do nó da thread de revisão (ex., PRRT_kwDOxxx). Necessário para os métodos resolve_thread e unresolve_thread. Obtenha os IDs das threads de pull_request_read com o método get_review_comments. (string, opcional)
search_pull_requests - Pesquisar pull requests
Escopos OAuth necessários: repo
order: Ordem de classificação (string, opcional)
owner: Proprietário do repositório opcional. 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) (number, opcional)
perPage: Resultados por página para paginação (mín 1, máx 100) (number, opcional)
query: Consulta de pesquisa usando a sintaxe de pesquisa de pull request do GitHub (string, obrigatório)
repo: Nome do repositório opcional. Se fornecido com owner, apenas pull requests deste repositório são listados. (string, opcional)
sort: Campo de classificação por número de correspondências de categorias, padrão para melhor correspondência (string, opcional)
update_pull_request - Editar pull request
Escopos OAuth necessários: 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) (boolean, opcional)
maintainer_can_modify: Permitir edições do mantenedor (boolean, opcional)
owner: Proprietário do repositório (string, obrigatório)
pullNumber: Número do pull request a ser atualizado (number, 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 - Atualizar branch do pull request
Escopos OAuth necessários: repo
expectedHeadSha: O SHA esperado da referência HEAD do pull request (string, opcional)
owner: Proprietário do repositório (string, obrigatório)
pullNumber: Número do pull request (number, obrigatório)
repo: Nome do repositório (string, obrigatório)
Repositórios
create_branch - Criar branch
Escopos OAuth necessários: repo
branch: Nome para o novo branch (string, obrigatório)
from_branch: Branch de origem (padrão para o branch padrão do repositório) (string, opcional)
owner: Proprietário do repositório (string, obrigatório)
repo: Nome do repositório (string, obrigatório)
create_or_update_file - Criar ou atualizar arquivo
Escopos OAuth necessários: repo
branch: Branch para criar/atualizar o arquivo (string, obrigatório)
content: Conteúdo do arquivo (string, obrigatório)
message: Mensagem de 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 sendo substituído. Necessário se o arquivo já existir. (string, opcional)
create_repository - Criar repositório
Escopos OAuth necessários: repo
autoInit: Inicializar com README (boolean, opcional)
description: Descrição do repositório (string, opcional)
name: Nome do repositório (string, obrigatório)
organization: Organização na qual criar o repositório (omitir para criar na sua conta pessoal) (string, opcional)
private: Se o repositório deve ser privado. Padrão para true (privado) quando omitido. (boolean, opcional)
delete_file - Excluir arquivo
Escopos OAuth necessários: repo
branch: Branch do qual excluir o arquivo (string, obrigatório)
message: Mensagem de 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)
fork_repository - Bifurcar repositório
Escopos OAuth necessários: repo
organization: Organização para a qual 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 OAuth necessários: repo
detail: Nível de detalhe a incluir para arquivos alterados. "none" omite estatísticas e arquivos completamente. "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 do patch. "full_patch" inclui adicionalmente o conteúdo do 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) (number, opcional)
perPage: Resultados por página para paginação (mín 1, máx 100) (number, opcional)
repo: Nome do repositório (string, obrigatório)
sha: SHA do commit, nome do branch ou nome da tag (string, obrigatório)
get_file_contents - Obter conteúdo de arquivo ou diretório
Escopos OAuth necessários: repo
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 a versão mais recente
Escopos OAuth necessários: 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 OAuth necessários: repo
owner: Proprietário do repositório (string, obrigatório)
repo: Nome do repositório (string, obrigatório)
tag: Nome da tag (ex., 'v1.0.0') (string, obrigatório)
get_tag - Obter detalhes da tag
Escopos OAuth necessários: 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 OAuth necessários: repo
owner: Proprietário do repositório (string, obrigatório)
page: Número da página para paginação (mín 1) (number, opcional)
perPage: Resultados por página para paginação (mín 1, máx 100) (number, opcional)
repo: Nome do repositório (string, obrigatório)
list_commits - Listar commits
Escopos OAuth necessários: repo
author: Nome de usuário ou endereço de e-mail do autor para filtrar commits (string, opcional)
owner: Proprietário do repositório (string, obrigatório)
page: Número da página para paginação (mín 1) (number, opcional)
path: Apenas 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) (number, 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é aquele SHA. (string, opcional)
since: Apenas commits após esta data serão retornados (formato ISO 8601: YYYY-MM-DDTHH:MM:SSZ ou YYYY-MM-DD) (string, opcional)
until: Apenas 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 OAuth necessários: repo
owner: Proprietário do repositório (string, obrigatório)
page: Número da página para paginação (mín 1) (number, opcional)
perPage: Resultados por página para paginação (mín 1, máx 100) (number, opcional)
repo: Nome do repositório (string, obrigatório)
list_repository_collaborators - Listar colaboradores do repositório
Escopos OAuth necessários: 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) (number, opcional)
perPage: Resultados por página para paginação (padrão 30, mín 1, máx 100) (number, opcional)
repo: Nome do repositório (string, obrigatório)
list_tags - Listar tags
Escopos OAuth obrigatórios: repo
owner: Proprietário do repositório (string, obrigatório)
page: Número da página para paginação (mín. 1) (number, opcional)
perPage: Resultados por página para paginação (mín. 1, máx. 100) (number, opcional)
repo: Nome do repositório (string, obrigatório)
push_files - Enviar arquivos para o repositório
Escopos OAuth obrigatórios: repo
branch: Branch para onde enviar (string, obrigatório)
files: Array de objetos de arquivo a enviar, cada objeto com path (string) e content (string) (object[], obrigatório)
message: Mensagem de 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 OAuth obrigatórios: repo
order: Ordem de classificação dos 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)
query: Consulta de pesquisa (API 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 ordenação (apenas 'indexed') (string, opcional)
search_commits - Pesquisar commits
Escopos OAuth obrigatórios: 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 commits (API 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: Ordenar por data do autor ou do committer (padrão: melhor correspondência) (string, opcional)
search_repositories - Pesquisar repositórios
Escopos OAuth obrigatórios: repo
minimal_output: Retornar informações mínimas do repositório (padrão: true). Quando false, retorna objetos completos do repositório 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) (number, opcional)
perPage: Resultados por página para paginação (mín. 1, máx. 100) (number, 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: Ordenar repositórios por campo, padrão: melhor correspondência (string, opcional)
Proteção de Segredos
get_secret_scanning_alert - Obter alerta de varredura de segredos
Escopos OAuth obrigatórios: security_events
Escopos OAuth aceitos: repo, security_events
alertNumber: O número do alerta. (number, obrigatório)
owner: O proprietário do repositório. (string, obrigatório)
repo: O nome do repositório. (string, obrigatório)
list_secret_scanning_alerts - Listar alertas de varredura de segredos
Escopos OAuth obrigatórios: security_events
Escopos OAuth aceitos: repo, security_events
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)
resolution: Filtrar por resolução (string, opcional)
secret_type: Uma lista separada por vírgulas de tipos de segredos a retornar. Todos os padrões de segredos padrão são retornados. Para retornar padrões genéricos, passe o(s) nome(s) do token no parâmetro. (string, opcional)
state: Filtrar por estado (string, opcional)
Alertas de Segurança
get_global_security_advisory - Obter um alerta de segurança global
Escopos OAuth obrigatórios: security_events
Escopos OAuth aceitos: repo, security_events
ghsaId: ID do Alerta de Segurança do GitHub (formato: GHSA-xxxx-xxxx-xxxx). (string, obrigatório)
list_global_security_advisories - Listar alertas de segurança globais
Escopos OAuth obrigatórios: security_events
Escopos OAuth aceitos: repo, security_events
affects: Filtrar alertas por pacote ou versão afetada (ex.: "package1,package2@1.0.0"). (string, opcional)
cveId: Filtrar por ID CVE. (string, opcional)
cwes: Filtrar por IDs de Enumeração de Fraquezas Comuns (ex.: ["79", "284", "22"]). (string[], opcional)
ecosystem: Filtrar por ecossistema de pacotes. (string, opcional)
ghsaId: Filtrar por ID do Alerta de Segurança do GitHub (formato: GHSA-xxxx-xxxx-xxxx). (string, opcional)
isWithdrawn: Se deve retornar apenas alertas 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 alerta. (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 alertas de segurança de repositórios da organização
Escopos OAuth obrigatórios: security_events
Escopos OAuth aceitos: repo, 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 alerta. (string, opcional)
list_repository_security_advisories - Listar alertas de segurança do repositório
Escopos OAuth obrigatórios: security_events
Escopos OAuth aceitos: repo, 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 alerta. (string, opcional)
Stargazers
list_starred_repositories - Listar repositórios com estrela
Escopos OAuth obrigatórios: 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 foi estrelado) ou 'updated' (quando o repositório recebeu o último push). (string, opcional)
username: Nome de usuário para listar repositórios estrelados. Padrão: o usuário autenticado. (string, opcional)
star_repository - Estrelar repositório
Escopos OAuth obrigatórios: repo
owner: Proprietário do repositório (string, obrigatório)
repo: Nome do repositório (string, obrigatório)
unstar_repository - Remover estrela do repositório
Escopos OAuth obrigatórios: repo
owner: Proprietário do repositório (string, obrigatório)
repo: Nome do repositório (string, obrigatório)
Usuários
search_users - Pesquisar usuários
Escopos OAuth obrigatórios: 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 MCP Remoto do GitHub
Copilot
create_pull_request_with_copilot - Realizar 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 realizada (ex.: 'Implementar uma funcionalidade que faz X', 'Corrigir 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, o padrão é o 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 ainda podem aparecer mesmo quando o token não pode usá-las.
Para espaços pertencentes a organizações, PATs de granularidade fina devem ser instalados na organização proprietária e incluir organization_copilot_spaces: read.
Se um espaço pertencente a uma organização contiver recursos apoiados por repositórios, o token também deve ter acesso a todos os repositórios referenciados 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 Documentos de Suporte do GitHub
- **github_support_docs_search** - Recupera documentação relevante para responder perguntas sobre produtos e suporte do GitHub. Os tópicos de suporte incluem: Fluxos de Trabalho do GitHub Actions, Autenticação, Consultas de Suporte do GitHub, Práticas de Pull Request, Manutenção de Repositório, 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ções. 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 de leitura, impedindo quaisquer modificações 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:
O modo de bloqueio limita o conteúdo que o servidor irá expor 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.
./github-mcp-server --lockdown-mode
Ao executar com Docker, defina a variável de ambiente correspondente:
O comportamento do modo de bloqueio 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
As seguintes ferramentas filtrarão 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 / Substituindo Descrições
As descrições das ferramentas podem ser substituídas criando um arquivo
github-mcp-server-config.json no mesmo diretório do binário.
O arquivo deve conter um objeto JSON com os nomes das ferramentas como chaves e as novas
descrições como valores. Por exemplo:
{
"TOOL_ADD_ISSUE_COMMENT_DESCRIPTION": "an alternative description",
"TOOL_CREATE_BRANCH_DESCRIPTION": "Create a new branch in a GitHub repository"
}
Você pode criar uma exportação das traduções atuais executando o binário com
a flag --export-translations.
Esta flag preservará quaisquer traduções/substituições que você tenha feito, enquanto adiciona
quaisquer novas traduções que tenham sido adicionadas ao binário desde a última vez que você
exportou.
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 tudo 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 Servidor MCP do GitHub (por exemplo, uma para github.com e outra para
GitHub Enterprise Server) para que os agentes possam distingui-las.
Chave
Variável de Ambiente
Padrão
SERVER_NAME
GITHUB_MCP_SERVER_NAME
github-mcp-server
SERVER_TITLE
GITHUB_MCP_SERVER_TITLE
GitHub MCP Server
Por exemplo, para configurar uma instância de servidor para o GitHub Enterprise Server:
A API Go exportada deste módulo deve ser considerada instável no momento e sujeita a alterações incompatíveis. No futuro, poderemos 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, por favor leia o guia de contribuição para instruções de configuração, testes, linting e geração de documentação.
Suporte
Para ajuda no uso do Servidor MCP do GitHub, veja o guia de suporte. Se você encontrou um bug ou deseja solicitar uma funcionalidade, por favor pesquise as issues existentes antes de abrir uma nova.
Segurança
Por favor, não relate vulnerabilidades de segurança através 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 está licenciado sob os termos da licença de código aberto MIT. Consulte MIT para os termos completos.