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ório — Peça ao seu assistente para navegar pelo código, pesquisar arquivos e analisar commits em qualquer repositório ao qual você tenha acesso.
Gerenciamento de issues e PRs — Tenha a IA criando, atualizando e triando issues e pull requests, incluindo a revisão de alterações de código.
Monitoramento de CI/CD — Obtenha insights sobre execuções de workflows do GitHub Actions, analise falhas de build e gerencie releases.
Análise de segurança — Examine descobertas de varredura de código e revise alertas do Dependabot para vulnerabilidades.
Colaboração em equipe — Acesse discussões, gerencie notificações e analise a atividade da equipe em seus projetos.
Servidor MCP hospedado
npx add-mcp 'https://api.githubcopilot.com/mcp/'
Instala no Claude Code, Codex, Cursor e outros
Documentação
Servidor GitHub MCP
O Servidor GitHub MCP 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 a triar bugs, revisar mudanças 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.
Usando o módulo Go
O caminho do módulo Go é github.com/github/github-mcp-server/v2. Consumidores de bibliotecas
devem usar este prefixo em imports, por exemplo
github.com/github/github-mcp-server/v2/pkg/github, e em comandos go get.
Nenhum subdiretório /v2 é necessário ao compilar a partir de um checkout do repositório.
A tag existente v2.0.0 é anterior a esta correção do caminho do módulo e não pode ser usada
como um módulo Go. Após esta alteração ser mesclada, um novo release como v2.0.1 deve
ser marcado a partir de um commit contendo o caminho do módulo corrigido. Até lá,
os consumidores podem usar uma pseudo-versão de um commit contendo esta alteração.
Servidor GitHub MCP Remoto
O Servidor GitHub MCP remoto é hospedado pelo GitHub e fornece o método mais fácil para começar. Se o seu host MCP não suporta servidores MCP remotos, não se preocupe! Você pode usar a versão local do 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. Após 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 o 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.
Após instalar o Docker, 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 com as quais você se sente confortável em conceder às suas ferramentas de IA (para saber mais sobre tokens de acesso, consulte a documentação).
Lidando com 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 Tokens
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. Após 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 (sem 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 no loopback para que o callback de login do contêiner seja acessível:
Consulte Login OAuth do Servidor Local para o fluxo com binário nativo (sem necessidade de porta fixa), o fallback headless/código de dispositivo, GitHub Enterprise Server / ghe.com, e 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 workspace. 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 variam 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 correta de configuração do MCP 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 o sinalizador -o. Você deve configurar seu servidor para usar o executável compilado como seu command.
As solicitações da API STDIO identificam o servidor como github-mcp-server/<version> e mantêm o nome/versão do cliente MCP upstream entre parênteses quando disponível. Caracteres de controle, aspas, barras invertidas e parênteses nos metadados do cliente são escapados para que o cabeçalho HTTP permaneça válido; nomes comuns, versões, espaços e Unicode imprimível são preservados. As versões de lançamento mantêm sua versão de lançamento. Compilações de origem e do Docker padrão com metadados de revisão usam vcs-<full-commit-sha>. O fluxo de trabalho de publicação do Docker preserva as versões de tag, incluindo pré-lançamentos, e permite que compilações de branch, pull-request e noturnas usem a revisão de origem vinculada. O marcador -dirty se aplica somente quando tanto a revisão quanto o estado modificado vêm de metadados VCS incorporados, nunca a um main.commit válido e explicitamente fornecido. Este é um identificador de compilação VCS, não um número de versão.
Compile o pacote completo com go build -o github-mcp-server ./cmd/github-mcp-server a partir de um checkout Git para incorporar sua revisão VCS. Para compilações sem metadados VCS, forneça a versão real com -ldflags '-X main.version=<release>' ou a revisão completa da origem com -ldflags '-X main.commit=<sha>'. Os metadados válidos são selecionados nesta ordem: versão explícita, revisão de origem explícita, revisão VCS incorporada e, em seguida, a versão do módulo principal instalado. Revisões explícitas válidas permanecem autoritativas mesmo se a filtragem do contexto de compilação alterar os metadados VCS incorporados. Candidatos ausentes ou malformados passam para a próxima fonte utilizável. Se nenhum estiver disponível, o STDIO ainda inicia com o rótulo de desenvolvimento dev e emite um aviso no stderr, deixando o stdout disponível para o protocolo MCP. Forneça metadados reais de versão ou revisão quando a atribuição específica de versão for necessária.
O GitHub MCP Server suporta habilitar ou desabilitar grupos específicos de funcionalidades por meio do sinalizador --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 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 o sinalizador --tools. As ferramentas podem ser usadas independentemente 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 o Docker, você pode passar os conjuntos de ferramentas como variáveis de ambiente:
Ao usar o 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 o GitHub Code Scanning
copilot
Ferramentas relacionadas ao Copilot
copilot_issue_intents
Ferramentas opcionais de atribuição de problemas do Copilot 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
governance
Ferramentas de governança de repositório para gerenciar regras e propriedades personalizadas nos níveis de repositório, organização e empresa
issues
Ferramentas relacionadas ao GitHub Issues
labels
Ferramentas relacionadas ao GitHub Labels
notifications
Ferramentas relacionadas ao GitHub Notifications
orgs
Ferramentas relacionadas à Organização do GitHub
projects
Ferramentas relacionadas ao GitHub Projects
pull_requests
Ferramentas relacionadas ao GitHub Pull Request
repos
Ferramentas relacionadas ao Repositório do GitHub
secret_protection
Ferramentas relacionadas à proteção de segredos, como o GitHub Secret Scanning
security_advisories
Ferramentas relacionadas a avisos de segurança
stargazers
Ferramentas relacionadas ao GitHub Stargazers
users
Ferramentas relacionadas ao Usuário do GitHub
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 documentos para responder perguntas sobre produtos e suporte do GitHub
Ferramentas
As ferramentas de repositório expõem esquemas de saída e structuredContent tipados quando a versão do protocolo MCP negociada é uma versão suportada 2026-07-28 ou mais recente. Clientes mais antigos, clientes com versão de protocolo desconhecida e clientes que omitem a versão recebem o conteúdo existente sem esquema de saída ou saída estruturada. Versões desconhecidas não são tratadas como suportadas apenas porque são classificadas após 2026-07-28.
Para get_file_contents, os resultados de diretório (incluindo projeções de campos) são matrizes estruturadas. Downloads de arquivos e respostas somente de metadados usam uma matriz content de blocos de texto tipado, recurso incorporado ou link de recurso, preservando mensagens de status, texto, blobs base64, arquivos vazios e links de download. Mutações de repositório somente de texto, como marcar com estrela e exclusão, também retornam um message estruturado; respostas de fork distinguem uma referência de repositório de uma mensagem em andamento. A exclusão de repositório ainda requer seu fluxo de confirmação existente antes de retornar um resultado concluído.
Resultados estruturados de repositórios usam DTOs compactos em vez de objetos REST brutos. Consultas de releases compartilham a forma compacta de release com listagens de releases; referências Git retêm a ref, o tipo de objeto e o SHA; tags anotadas retêm informações de tag/mensagem/tagger/alvo; commits de exclusão retêm SHA, mensagem, autores, SHA da árvore, SHAs pais e um html_url voltado para humanos quando disponível. Entradas de diretório retêm metadados de arquivo e links úteis de HTML/download, mas omitem URLs de roteamento de API e hipermidia, mesmo quando esses campos foram solicitados em uma projeção. Versões de protocolo legadas e desconhecidas retêm o texto original byte a byte; respostas JSON modernas somente texto serializam o mesmo DTO compacto que structuredContent. Blocos de recursos não textuais e erros de ferramentas retêm seu comportamento de conteúdo existente. Projeções estruturadas usam a mesma fonte sanitizada e filtrada que o formatador legado.
Para get_repository_tree, list_gists, get_gist, create_gist e update_gist, resultados de gist retêm nomes de arquivos, conteúdos, tamanhos, informações de linguagem/tipo, timestamps, visibilidade e perfis compactos de proprietário, enquanto omitem URLs de API/node e transporte Git. Entradas de árvore omitem suas URLs de API deriváveis. Resultados de criação/atualização de gist contêm o ID do gist e a URL HTML. Texto JSON moderno e conteúdo estruturado serializam o mesmo resultado compacto. Versões de protocolo mais antigas ou desconhecidas retêm texto legado byte a byte sem esquema de saída ou conteúdo estruturado.
Os metadados de issue (list_issue_types, list_issue_fields), comentário (add_issue_comment, update_issue_comment), dependência (issue_dependency_read, issue_dependency_write) e ferramentas de detecção de duplicatas (find_duplicate) fornecem outputSchema e structuredContent tipados para versões de protocolo suportadas negociadas 2026-07-28 ou mais recentes. Versões de protocolo mais antigas ou desconhecidas retêm as mesmas respostas de texto sem esses campos. Erros de ferramentas não retornam conteúdo estruturado. Ferramentas de dependência e detecção de duplicatas retêm seus portões de recurso existentes.
Para versões de protocolo suportadas negociadas 2026-07-28 ou mais recentes, as ferramentas consolidadas de Actions (actions_list, actions_get, actions_run_trigger) retornam objetos estruturados com um discriminante method e um campo tipado específico do método; texto JSON contém a mesma projeção compacta. Projeções de workflow, job e artefato omitem URLs de API/hipermidia enquanto retêm links de navegador e identificadores úteis, estados, timestamps e durações de uso. Listas de uso de execução cobram ambientes de runner faturáveis em ordem determinística de nome. Respostas de texto de protocolo mais antigo e desconhecido permanecem inalteradas; get_job_logs retém seu conteúdo tipado, URL ou variantes de coleção de jobs com falha.
Actions
actions_get - Obter detalhes de recursos do GitHub Actions (workflows, execuções de workflow, jobs e artefatos)
Escopos de Desafio OAuth: repo
method: O método a executar (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, então certifique-se de fornecer o ID correto:
Forneça um ID de workflow ou nome de arquivo de workflow (ex.: ci.yaml) para o método 'get_workflow'.
Forneça um ID de execução de workflow 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 workflows do GitHub Actions em um repositório
Escopos de Desafio OAuth: repo
method: A ação a executar (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)
perPage: 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, então 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 workflow ou nome de arquivo de workflow (ex.: ci.yaml) para o método 'list_workflow_runs', ou omita para listar todas as execuções de workflow no repositório.
Forneça um ID de execução de workflow para os métodos 'list_workflow_jobs' e 'list_workflow_run_artifacts'.
(string, opcional)
workflow_jobs_filter: Filtros para jobs de workflow. SOMENTE usado quando o método é 'list_workflow_jobs' (objeto, opcional)
workflow_runs_filter: Filtros para execuções de workflow. SOMENTE usado quando o método é 'list_workflow_runs' (objeto, opcional)
actions_run_trigger - Acionar ações de workflow do GitHub Actions
Escopos de Desafio OAuth: repo
inputs: Entradas que o workflow aceita. Somente usado para o método 'run_workflow'. (objeto, opcional)
method: O método a executar (string, obrigatório)
owner: Proprietário do repositório (string, obrigatório)
ref: A referência git para o workflow. A referência pode ser um nome de branch ou tag. 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 workflow. Obrigatório para todos os métodos exceto 'run_workflow'. (número, opcional)
workflow_id: O ID do workflow (numérico) ou nome do arquivo de workflow (ex.: main.yml, ci.yaml). Obrigatório para o método 'run_workflow'. (string, opcional)
get_job_logs - Obter logs de jobs de workflow do GitHub Actions
Escopos de Desafio OAuth: repo
failed_only: Quando verdadeiro, obtém logs para todos os jobs com falha na execução do workflow especificada por run_id. Requer que run_id seja fornecido. (booleano, opcional)
job_id: O identificador único do job de workflow. Obrigatório ao obter logs para um único job. (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 workflow. Obrigatório quando failed_only é verdadeiro para obter logs de todos os jobs com falha na execução. (número, opcional)
tail_lines: Número de linhas a retornar do final do log (número, opcional)
Code Quality
get_code_quality_finding - Obter descoberta de qualidade de código
Escopos de Desafio OAuth: repo
findingNumber: O número da descoberta. (número, obrigatório)
owner: O proprietário do repositório. (string, obrigatório)
repo: O nome do repositório. (string, obrigatório)
Code Security
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. Padrão é aberto (string, opcional)
tool_name: O nome da ferramenta usada para varredura de código. (string, opcional)
Context
get_me - Obter meu perfil de usuário
UI do App MCP: ui://github-mcp-server/get-me
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 fornecido, usa o usuário autenticado. (string, opcional)
ui_get - Obter dados de UI
Escopos de Desafio OAuth: repo, read:org
method: O tipo de dados a buscar (string, obrigatório)
owner: Proprietário do repositório (obrigatório para todos os métodos) (string, obrigatório)
repo: Nome do repositório (obrigatório para labels, assignees, milestones, branches, campos de issue, revisores) (string, opcional)
Copilot
assign_copilot_to_issue - Atribuir Copilot a uma issue
Escopos de Desafio OAuth: repo
base_ref: Referência Git (ex.: branch) da qual o agente começará seu trabalho. Se não especificado, usa o 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 isso para fornecer contexto adicional, restrições ou orientação que não estão capturados na descrição da issue (string, opcional)
issue_number: Número da issue (número, obrigatório)
owner: Proprietário do repositório (string, obrigatório)
repo: Nome do repositório (string, obrigatório)
request_copilot_review - Solicitar revisão do Copilot
Escopos de Desafio OAuth: repo
owner: Proprietário do repositório (string, obrigatório)
pullNumber: Número do pull request (número, obrigatório)
repo: Nome do repositório (string, obrigatório)
Copilot Issue Intents
- **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 é a branch padrão do repositório. Ignorada quando is_suggestion é true (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 suposição com sinal limitado. (string, obrigatório)
- `custom_instructions`: Instruções personalizadas opcionais para orientar o agente além do corpo da issue. Ignoradas quando is_suggestion é true (string, opcional)
- `is_suggestion`: Se true, 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. (boolean, obrigatório)
- `issue_number`: Número da issue (number, 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 aceite 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. (number, 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) (number, 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 é open (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 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; 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') (number, opcional)
method: Operação de escrita a ser executada 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 (number, 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 (number, obrigatório)
includeReplies: Quando true, 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 é false. (boolean, 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)
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 '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. 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 (boolean, 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) (number, opcional)
perPage: Resultados por página para paginação (mín. 1, máx. 100) (number, 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 o nome da ref (branch ou tag) da árvore. O padrão é a branch padrão do repositório (string, opcional)
Governança
create_repository_ruleset - Criar conjunto de regras do repositório
Escopos de Desafio OAuth: repo, admin:org, admin:enterprise
bypass_actors: Os atores que podem ignorar as regras neste conjunto de regras (object[], opcional)
conditions: Condições para quando este conjunto de regras se aplica, ex.: {"ref_name": {"include": ["refs/heads/main"], "exclude": []}} (object, opcional)
enforcement: O nível de aplicação do conjunto de regras. 'evaluate' permite que administradores testem regras antes de aplicá-las (string, obrigatório)
enterprise: Slug da empresa. Obrigatório quando o nível é 'enterprise'. (string, opcional)
level: O nível no qual o conjunto de regras é configurado:
'repository': Um conjunto de regras em um único repositório (requer 'owner' e 'repo').
'organization': Um conjunto de regras que cobre repositórios em uma organização (requer 'org').
'enterprise': Um conjunto de regras que cobre repositórios em uma empresa (requer 'enterprise'). (string, obrigatório)
name: O nome do conjunto de regras (string, obrigatório)
org: Nome da organização. Obrigatório quando o nível é 'organization'. (string, opcional)
owner: Proprietário do repositório. Obrigatório quando o nível é 'repository'. (string, opcional)
repo: Nome do repositório. Obrigatório quando o nível é 'repository'. (string, opcional)
rules: Uma matriz de regras dentro do conjunto de regras. Cada regra é um objeto com um 'type' (ex.: 'creation', 'deletion', 'non_fast_forward', 'required_signatures', 'pull_request', 'required_status_checks') e, para regras que precisam de configuração, um objeto 'parameters' (object[], obrigatório)
target: O alvo do conjunto de regras. O padrão é 'branch'. 'repository' só é válido para conjuntos de regras de nível 'organization' e 'enterprise'. (string, opcional)
Escopos do Desafio OAuth: repo, admin:org, admin:enterprise
enterprise: Slug da empresa. Obrigatório quando o nível é 'enterprise'. (string, opcional)
level: O nível em que as propriedades personalizadas são gerenciadas:
'repository': Os VALORES das propriedades personalizadas atribuídos a um repositório (requer 'owner' e 'repo').
'organization': As DEFINIÇÕES das propriedades personalizadas (esquema) para uma organização (requer 'org').
'enterprise': As DEFINIÇÕES das propriedades personalizadas (esquema) para uma empresa (requer 'enterprise'). (string, obrigatório)
org: Nome da organização. Obrigatório quando o nível é 'organization'. (string, opcional)
owner: Proprietário do repositório. Obrigatório quando o nível é 'repository'. (string, opcional)
properties: As propriedades personalizadas a criar ou atualizar. No nível do repositório, cada item atribui um valor ('property_name' e 'value'); nos níveis de organização e empresa, cada item define o esquema ('property_name' e 'value_type', além de campos de definição opcionais). (object[], obrigatório)
repo: Nome do repositório. Obrigatório quando o nível é 'repository'. (string, opcional)
repository_ruleset_read - Ler rulesets de repositório
Escopos do Desafio OAuth: repo, read:org, read:enterprise
actor_name: O identificador da conta de usuário do GitHub para filtrar suítes de regras. Usado pelo método 'list_rule_suites'. (string, opcional)
branch: Nome do branch. Obrigatório para o método 'get_rules_for_branch'. (string, opcional)
enterprise: Slug da empresa. Obrigatório quando o nível é 'enterprise'. (string, opcional)
evaluate_status: Filtrar suítes de regras pelo modo de avaliação do ruleset. Usado pelo método 'list_rule_suites'. (string, opcional)
includes_parents: Incluir rulesets configurados em níveis superiores que também se aplicam. O padrão é true. Usado pelos métodos 'get' e 'list' no nível do repositório. (boolean, opcional)
level: O nível em que o ruleset é configurado:
'repository': Um ruleset em um único repositório (requer 'owner' e 'repo').
'organization': Um ruleset que cobre repositórios em uma organização (requer 'org').
'enterprise': Um ruleset que cobre repositórios em uma empresa (requer 'enterprise'). (string, obrigatório)
method: Operação a ser executada:
'get': Obter um ruleset específico por ID (requer 'ruleset_id'). Suportado em todos os níveis.
'list': Listar todos os rulesets. Suportado em todos os níveis.
'get_rules_for_branch': Obter todas as regras que se aplicam a um branch (requer 'branch'). Somente no nível do repositório.
'list_rule_suites': Listar suítes de regras, as avaliações de regras contra pushes. Somente nos níveis de repositório e organização.
'get_rule_suite': Obter uma suíte de regras específica por ID (requer 'rule_suite_id'). Somente nos níveis de repositório e organização. (string, obrigatório)
org: Nome da organização. Obrigatório quando o nível é 'organization'. (string, opcional)
owner: Proprietário do repositório. Obrigatório quando o nível é 'repository'. (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)
ref: O nome da ref (branch, tag, etc.) para filtrar suítes de regras. Usado pelo método 'list_rule_suites'. (string, opcional)
repo: Nome do repositório. Obrigatório quando o nível é 'repository'. (string, opcional)
repository_name: Nome do repositório para filtrar suítes de regras. Usado pelo método 'list_rule_suites' no nível da organização. (string, opcional)
rule_suite_id: ID da suíte de regras. Obrigatório para o método 'get_rule_suite'. (number, opcional)
rule_suite_result: O resultado da suíte de regras para filtrar. Usado pelo método 'list_rule_suites'. (string, opcional)
ruleset_id: ID do ruleset. Obrigatório para o método 'get'. (number, opcional)
time_period: O período de tempo para filtrar suítes de regras. Usado pelo método 'list_rule_suites'. (string, opcional)
Issues
add_issue_comment - Adicionar comentário a issue ou pull request
Escopos do 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 do 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 do 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 do 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 do 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 do Desafio OAuth: repo
Interface do Aplicativo MCP: ui://github-mcp-server/issue-write
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 é uma duplicata. 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 somente 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 somente 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 somente 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 somente 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 do 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 de organização diretamente. (string, opcional)
list_issue_types - Listar tipos de issue disponíveis
Escopos do 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 de organização diretamente. (string, opcional)
list_issues - Listar issues
Escopos do Desafio OAuth: 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 personalizados da 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 para retornar para cada issue. Se omitido, todos os campos são retornados. Use isto para reduzir o tamanho da resposta quando você precisa apenas 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, 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 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ê 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 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, em linguagem natural. Quando o usuário fornecer 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 (deve ser especificado after_id OU before_id) (number, opcional)
before_id: O ID da sub-issue a ser priorizada antes (deve ser especificado after_id OU before_id) (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 pai gravável.
(string, obrigatório)
owner: Proprietário do repositório (string, obrigatório)
replace_parent: Quando verdadeiro, 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. O ID não é o mesmo que o número da issue (number, obrigatório)
update_issue_comment - Atualizar comentário de issue
Escopos de Desafio OAuth: repo
body: Novo conteúdo do comentário (string, obrigatório)
comment_id: O ID numérico da conversa da issue ou pull request cujo comentário será atualizado. Não use um ID de comentário de revisão de pull request. (integer, obrigatório)
owner: Proprietário do repositório (string, obrigatório)
repo: Nome do repositório (string, obrigatório)
Labels
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 gravação em rótulos de 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 ser executada: '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
after: Cursor para paginação. Use o cursor da resposta anterior. (string, opcional)
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)
perPage: Resultados por página para paginação (mín. 1, máx. 100) (number, opcional)
repo: Nome do repositório - obrigatório para todas as operações (string, obrigatório)
Notificações
dismiss_notification - Dispensar notificação
Escopos de Desafio OAuth: notifications
state: O novo estado da notificação (read/done) (string, obrigatório)
threadID: O ID do thread da notificação (string, obrigatório)
get_notification_details - Obter detalhes da notificação
Escopos de Desafio OAuth: notifications
notificationID: O ID da notificação (string, obrigatório)
list_notifications - Listar notificações
Escopos de 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 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 informado (formato ISO 8601) (string, opcional)
manage_notification_subscription - Gerenciar assinatura de notificação
Escopos de Desafio OAuth: notifications
action: Ação a ser executada: ignore, watch ou delete da assinatura de notificação. (string, obrigatório)
notificationID: O ID do thread da notificação. (string, obrigatório)
manage_repository_notification_subscription - Gerenciar assinatura de notificação do repositório
Escopos de Desafio OAuth: notifications
action: Ação a ser executada: ignore, watch ou delete da 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 de 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 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)
Organizações
search_orgs - Pesquisar organizações
Escopos de 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 de 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"]). Resolvido no servidor para IDs de campo — passe isto em vez de 'fields' quando você souber apenas 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 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 visualização do projeto. Obrigatório para o método 'get_project_view'. (string, opcional)
projects_list - Listar recursos de GitHub Projects
Escopos de Desafio OAuth: read:project
after: Cursor de paginação para frente da página anterior pageInfo.nextCursor. (string, opcional)
before: Cursor de paginação para trás da página anterior pageInfo.prevCursor (raro). (string, opcional)
field_names: Nomes de campos a incluir ao listar itens do projeto (ex.: ["Status", "Priority"]). Resolvidos no servidor para IDs de campo — passe isso 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 campos. 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 (usuário ou organização). Se não fornecido, tentará automaticamente ambos. (string, opcional)
perPage: Resultados por página (máx. 50) (número, 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'. (número, 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 de 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 visualização salva; 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). (número, 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. (número, 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)
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'. (número, 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 começando em 'start_date', que é a escolha certa para a maioria dos casos. (object[], opcional)
layout: Layout da visualização; obrigatório ao criar uma visualização. (string, opcional)
method: O método a executar (string, obrigatório)
name: Nome da visualização; obrigatório ao criar uma visualizaçã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 (usuário ou organização). 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'. (número, opcional)
pull_request_number: O número da pull request (use quando item_type é 'pull_request' para o método 'add_project_item'). Forneça issue_number ou pull_request_number. (número, 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. (objeto, opcional)
view_id: ID do nó da visualização do projeto para atualizar ou excluir; deve pertencer ao proprietário/número_do_projeto. (string, opcional)
visible_field_names: Nomes de campos do projeto ordenados 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 ordenados 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 - Adicionar comentário de revisão à revisão de pull request pendente mais recente do solicitante
Escopos de Desafio OAuth: 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 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 exige um comentário (string, obrigatório)
pullNumber: Número da 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 no qual o comentário é direcionado (string, obrigatório)
add_reply_to_pull_request_comment - Adicionar resposta ao comentário de pull request
Escopos de 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 da 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 da 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 - Abrir nova pull request
Escopos de Desafio OAuth: repo
Interface de Aplicativo MCP: ui://github-mcp-server/pr-write
base: Ramo para mesclar (string, obrigatório)
body: Descrição da PR (string, opcional)
draft: Criar como PR de rascunho (booleano, opcional)
maintainer_can_modify: Permitir edições do mantenedor (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 da PR (string, obrigatório)
list_pull_requests - Listar pull requests
Escopos de Desafio OAuth: repo
base: Filtrar por ramo base (string, opcional)
direction: Direção da classificaçã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ê só precisa de campos específicos; omitir 'body' em particular elimina os maiores dados por resultado. (string[], opcional)
head: Filtrar por usuário/org principal e ramo (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: Classificar por (string, opcional)
state: Filtrar por estado (string, opcional)
merge_pull_request - Mesclar pull request
Escopos de 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)
expectedHeadSha: O SHA esperado da ref HEAD da pull request (string, opcional)
merge_method: Método de mesclagem (string, opcional)
owner: Proprietário do repositório (string, obrigatório)
pullNumber: Número da 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 de Desafio OAuth: 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 - 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 de commit combinado de um 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 agrupados logicamente feitos no mesmo local de código durante as revisões do pull request. Retorna metadados da thread e comentários com coordenadas de intervalo de linha atuais e originais anuláveis (line, start_line, original_line, original_start_line). As coordenadas atuais são omitidas quando indisponíveis, como para comentários desatualizados. 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 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 - 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) (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 de Desafio OAuth: 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). Obrigató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 de Desafio OAuth: repo
fields: Subconjunto de campos a retornar para cada resultado de pull request. 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 elimina 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 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 requests 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 é melhor correspondência (string, opcional)
update_pull_request - Editar pull request
Escopos de Desafio OAuth: repo
Interface de Usuário do App MCP: ui://github-mcp-server/pr-edit
base: Novo nome da 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 atualizar (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 de 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 (number, obrigatório)
repo: Nome do repositório (string, obrigatório)
Repositórios
create_branch - Criar branch
Escopos de Desafio OAuth: repo
branch: Nome para a nova branch (string, obrigatório)
from_branch: Branch de origem (padrão é o 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 de 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. (boolean, 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 codifique em 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 blob SHA do arquivo que está sendo substituído. Obrigatório se o arquivo já existir. Recupere-o com get_file_contents usando o mesmo owner, repo e path, com ref definido para o valor da branch desta ferramenta. (string, opcional)
create_repository - Criar repositório
Escopos de Desafio OAuth: 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 para criar o repositório (omitir para criar em sua conta pessoal) (string, opcional)
private: Se o repositório deve ser privado. Padrão é true (privado) quando omitido. (boolean, opcional)
delete_file - Excluir arquivo
Escopos de Desafio OAuth: repo, workflow
branch: Branch da 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 excluir (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 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 de patch. "full_patch" adicionalmente inclui 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 da 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 isto para reduzir o tamanho da resposta ao listar diretórios e você só precisar de campos específicos, ex.: 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 (ex.: '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) (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 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 isto para reduzir o tamanho da resposta quando você precisar apenas 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) (number, opcional)
path: Apenas commits que contenham 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 de 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: 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 releases
Escopos de Desafio OAuth: repo
fields: Subconjunto de campos a retornar para cada release. Se omitido, todos os campos são retornados. Use isto para reduzir o tamanho da resposta quando você precisar apenas de campos específicos; omitir 'body' em particular remove os maiores dados por release. (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)
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) (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 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) (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 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 isto para reduzir o tamanho da resposta quando você precisar apenas de campos específicos; omitir 'repository' e 'text_matches' em particular remove os maiores dados por resultado. (string[], opcional)
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 (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) (number, opcional)
perPage: Resultados por página para paginação (mín. 1, máx. 100) (number, 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 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: 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, clientes modernos recebem detalhes adicionais selecionados do repositório, não o objeto completo da API do GitHub. Clientes legados mantêm 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) (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: Classificar 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 de Desafio OAuth: 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 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) (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 segredo 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 CVE. (string, opcional)
cwes: Filtrar por IDs de Enumeração de Fraquezas Comuns (ex.: ["79", "284", "22"]). (string[], opcional)
ecosystem: Filtrar por ecossistema de pacote. (string, opcional)
ghsaId: Filtrar por ID do 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ório da organização
Escopos de Desafio OAuth: security_events
direction: Direção da classificação. (string, opcional)
org: O login da organização. (string, obrigatório)
sort: Campo de classificação. (string, opcional)
state: Filtrar por estado do aviso. (string, opcional)
list_repository_security_advisories - Listar avisos de segurança do repositório
Escopos de Desafio OAuth: security_events
direction: Direção da classificaçã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 classificaçã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 classificar 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 classificar 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 ao 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 do 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** - Buscar 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) (número, opcional)
- `perPage`: Resultados por página para paginação (mín. 1, máx. 100) (número, opcional)
- `query`: Consulta de busca de usuários. Exemplos: 'joão silva', 'local:seattle', 'seguidores:>100'. A busca é automaticamente limitada a tipo:usuário. (string, obrigatório)
- `sort`: Classificar usuários por número de seguidores ou repositórios, ou quando a pessoa entrou no GitHub. (string, opcional)
Ferramentas Adicionais no Servidor Remoto GitHub MCP
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 (por exemplo, 'Implementar um recurso que faz X', 'Corrigir o bug Y', etc.) (string, obrigatório)
title: Título para a solicitação de pull que será criada (string, obrigatório)
base_ref: Referência Git (por exemplo, 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)
Copilot Spaces
Nota de autenticação
PATs de granularidade fina não são ocultados pela filtragem de escopo de PAT clássico, então 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ório, 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 Espaço Copilot
owner: O proprietário do espaço. (string, obrigatório)
name: O nome do espaço. (string, obrigatório)
list_copilot_spaces - Listar Espaços Copilot
Pesquisa de Documentação de Suporte do GitHub
github_support_docs_search - Recuperar 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 Solicitação de Pull, 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 bruta mais recente do usuário. 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 o sinalizador --read-only. Isso oferecerá apenas ferramentas somente leitura, impedindo quaisquer modificações em repositórios, issues, solicitações de pull, 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 exibirá de repositórios públicos. Quando habilitado, 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 de bloqueio é 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 do repositório (issues, solicitações de pull, comentários, commits, etc.). Não é um limite de autorização: não altera o que a credencial GitHub subjacente pode ler ou escrever, e o conteúdo retido de uma resposta de ferramenta filtrada ainda pode ser acessível por meio de outras ferramentas ou acesso direto à API do GitHub com a mesma credencial.
Como uma exceção intencional, o 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 (por exemplo, commits ou comentários gerados por CI) que de outra forma seria retida sob o modo de bloqueio.
./github-mcp-server --lockdown-mode
Ao executar com Docker, defina a variável de ambiente correspondente:
No modo HTTP, este sinalizador (ou GITHUB_LOCKDOWN_MODE) é um limite superior: o cabeçalho de solicitação X-MCP-Lockdown pode habilitar o modo de bloqueio quando o operador não o fez, mas não pode desabilitar o modo de bloqueio que o operador já habilitou. Consulte o Guia de Configuração do Servidor para detalhes.
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
pull_request_read:get_diff
pull_request_read:get_files
pull_request_read:get_commits
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
o sinalizador --export-translations.
Este sinalizador 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 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
várias instâncias do GitHub MCP Server (por exemplo, uma para github.com e uma 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 a 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 uma solicitação de pull, leia o guia de contribuição para instruções de configuração, testes, linting e geração de documentação.
Suporte
Para obter ajuda no uso do GitHub MCP Server, consulte o guia de suporte. Se você encontrou um bug ou deseja solicitar um recurso, pesquise as 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.