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.
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
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
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
Um host MCP compatível com suporte a servidores remotos (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 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:
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.
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 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
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 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:
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 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.
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.
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:
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.
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.
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:
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.
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:
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.
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:
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:
Os seguintes conjuntos de ferramentas estão disponíveis:
Conjunto de Ferramentas
Descrição
context
Altamente 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
copilot_issue_intents
Ferramentas de atribuição de problemas do Copilot opt-in que carregam metadados de intenção (justificativa, confiança, sugestão)
dependabot
Ferramentas do Dependabot
discussions
Ferramentas relacionadas ao GitHub Discussions
gists
Ferramentas relacionadas ao GitHub Gist
git
Ferramentas relacionadas à API Git do GitHub para operações Git de baixo nível
issues
Ferramentas relacionadas ao GitHub Issues
labels
Ferramentas relacionadas ao GitHub Labels
notifications
Ferramentas relacionadas ao GitHub Notifications
orgs
Ferramentas relacionadas ao GitHub Organization
projects
Ferramentas relacionadas ao GitHub Projects
pull_requests
Ferramentas relacionadas ao GitHub Pull Request
repos
Ferramentas relacionadas ao GitHub Repository
secret_protection
Ferramentas relacionadas à proteção de segredos, como GitHub Secret Scanning
security_advisories
Ferramentas relacionadas a avisos de segurança
stargazers
Ferramentas relacionadas ao GitHub Stargazers
users
Ferramentas relacionadas ao GitHub User
Conjuntos de Ferramentas Adicionais no GitHub MCP Server Remoto
Conjunto de Ferramentas
Descrição
copilot
Ferramentas relacionadas ao Copilot (por exemplo, Copilot Coding Agent)
copilot_spaces
Ferramentas relacionadas ao Copilot Spaces
github_support_docs_search
Pesquisar documentação para responder perguntas sobre produtos e suporte do GitHub
Ferramentas
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)
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)
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)
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
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)
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
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)
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)
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
- **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)
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:
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.
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 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)
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)
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)
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)
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)
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:
get - Obtém detalhes de um pull request específico.
get_diff - Obtém o diff de um pull request.
get_status - Obtém o status combinado de commits do commit head em um pull request.
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.
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.
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.
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.
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.
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)
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)
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)
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)
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)
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:
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:
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.
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.
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 do servidor para GitHub Enterprise Server:
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.