Gitee

oficial

Integração com a API do Gitee, gerenciamento de repositórios, issues e pull requests, e muito mais.

O que você pode fazer com Gitee MCP?

  • Pesquisar repositórios de código aberto — Encontre projetos públicos do Gitee por palavra-chave usando search_open_source_repositories.
  • Listar e inspecionar issues do repositório — Recupere issues abertas com list_repo_issues e obtenha detalhes completos via get_repo_issue_detail.
  • Criar pull requests a partir de issues — Use create_pull para abrir um PR, depois create_comment e update_issue para comentar e fechar a issue relacionada.
  • Revisar e mesclar pull requests — Aprove ou cancele revisões com manage_pull_review e mescle usando merge_pull.
  • Gerenciar arquivos e releases do repositório — Leia o conteúdo de arquivos via get_file_content, pesquise código com search_files_by_content e publique releases com create_release.
  • Verificar notificações e informações do usuário — Liste suas notificações do Gitee com list_user_notifications e recupere detalhes do usuário autenticado via get_user_info.

Documentação

Servidor MCP do Gitee

O Servidor MCP do Gitee é uma implementação de servidor do Protocolo de Contexto de Modelo (MCP) para o Gitee. Ele fornece um conjunto de ferramentas para interagir com a API do Gitee, permitindo que assistentes de IA gerenciem repositórios, issues, pull requests e muito mais.

Install MCP Server

Funcionalidades

  • Interaja com repositórios, issues, pull requests e notificações do Gitee
  • URL base da API configurável para suportar diferentes instâncias do Gitee
  • Flags de linha de comando para fácil configuração
  • Suporta operações pessoais, de organização e empresariais
  • Ativar/desativar conjunto de ferramentas dinamicamente
Cenário prático: Obter uma Issue do repositório, implementar e criar um Pull Request
  1. Obter Issues do repositório get_repo_issues
  2. Implementar codificação e criar Pull Request com base nos detalhes da Issue implement_issue
  3. Comentar e Fechar a Issue comment_and_close_issue

Instalação (Esta etapa pode ser ignorada diretamente ao iniciar com npx)

Pré-requisitos

  • Go 1.23.0 ou superior
  • Conta no Gitee com um token de acesso, Obter aqui

Compilando a partir do Código Fonte

  1. Clone o repositório:

    git clone https://gitee.com/oschina/mcp-gitee.git
    cd mcp-gitee
    
  2. Compile o projeto:

    make build
    

    Mova ./bin/mcp-gitee para o PATH

Usar go install

go install gitee.com/oschina/mcp-gitee@latest

Uso

Verificar versão do mcp-gitee:

mcp-gitee --version

Configuração de Hosts MCP

Exemplos de configuração: Clique para ver mais configurações de aplicação

Servidor MCP Remoto

Conecte-se ao servidor remoto oficial mcp-gitee (sem necessidade de instalação):

{
  "mcpServers": {
    "gitee": {
      "url": "https://api.gitee.com/mcp",
      "headers": {
        "Authorization": "Bearer <your personal access token>"
      }
    }
  }
}

Codex usa ~/.codex/config.toml:

[mcp_servers.gitee]
url = "https://api.gitee.com/mcp"
bearer_token_env_var = "GITEE_ACCESS_TOKEN"

opencode usa ~/.config/opencode/opencode.json:

{
  "mcp": {
    "gitee": {
      "type": "remote",
      "url": "https://api.gitee.com/mcp",
      "headers": {
        "Authorization": "Bearer <your personal access token>"
      },
      "enabled": true
    }
  }
}

Opções de Linha de Comando

  • --token: Token de acesso do Gitee
  • --api-base: URL base da API do Gitee (padrão: https://gitee.com/api/v5)
  • --version: Mostrar informações da versão
  • --transport: Tipo de transporte (stdio, sse ou http, padrão: stdio)
  • --address: Host e porta para iniciar o servidor (padrão: localhost:8000)
  • --enabled-toolsets: Lista separada por vírgulas de ferramentas a habilitar (se especificado, apenas essas ferramentas serão habilitadas)
  • --disabled-toolsets: Lista separada por vírgulas de ferramentas a desabilitar

Variáveis de Ambiente

Você também pode configurar o servidor usando variáveis de ambiente:

  • GITEE_ACCESS_TOKEN: Token de acesso do Gitee
  • GITEE_API_BASE: URL base da API do Gitee
  • ENABLED_TOOLSETS: Lista separada por vírgulas de ferramentas a habilitar
  • DISABLED_TOOLSETS: Lista separada por vírgulas de ferramentas a desabilitar

Gerenciamento de Conjunto de Ferramentas

O gerenciamento de conjunto de ferramentas suporta dois modos:

  1. Habilitar ferramentas especificadas (modo lista de permissões):

    • Use o parâmetro --enabled-toolsets ou a variável de ambiente ENABLED_TOOLSETS
    • Após especificar, apenas as ferramentas listadas serão habilitadas, outras serão desabilitadas
    • Exemplo: --enabled-toolsets="list_user_repos,get_file_content"
  2. Desabilitar ferramentas especificadas (modo lista de bloqueio):

    • Use o parâmetro --disabled-toolsets ou a variável de ambiente DISABLED_TOOLSETS
    • Após especificar, as ferramentas listadas serão desabilitadas, outras serão habilitadas
    • Exemplo: --disabled-toolsets="list_user_repos,get_file_content"

Nota:

  • Se ambos enabled-toolsets e disabled-toolsets forem especificados, enabled-toolsets tem precedência
  • Nomes de ferramentas diferenciam maiúsculas de minúsculas

Filtragem de Ferramentas por Requisição (Cabeçalhos HTTP)

Ao usar o servidor MCP remoto (transporte HTTP/SSE), você pode filtrar dinamicamente as ferramentas disponíveis por requisição através de cabeçalhos HTTP. Isso é útil para clientes que precisam de controle refinado sobre a exposição de ferramentas sem reiniciar o servidor.

  1. Habilitar ferramentas especificadas via cabeçalho (lista de permissões):

    • Use o cabeçalho X-MCP-Enabled-Tools
    • Apenas as ferramentas listadas serão habilitadas para essa requisição
    • Exemplo: X-MCP-Enabled-Tools: list_user_repos,get_file_content
  2. Desabilitar ferramentas especificadas via cabeçalho (lista de bloqueio):

    • Use o cabeçalho X-MCP-Disabled-Tools
    • As ferramentas listadas serão desabilitadas para essa requisição
    • Exemplo: X-MCP-Disabled-Tools: create_repo,delete_repo

Regras de prioridade:

  • Se ambos X-MCP-Enabled-Tools e X-MCP-Disabled-Tools estiverem presentes na mesma requisição, a lista de permissões (X-MCP-Enabled-Tools) tem precedência
  • Nomes de ferramentas diferenciam maiúsculas de minúsculas

Exemplo de configuração para Cursor/Claude:

{
  "mcpServers": {
    "gitee": {
      "url": "https://api.gitee.com/mcp",
      "headers": {
        "Authorization": "Bearer <your personal access token>",
        "X-MCP-Enabled-Tools": "list_user_repos,get_file_content,list_repo_issues"
      }
    }
  }
}

Licença

Este projeto está licenciado sob a Licença MIT. Consulte o arquivo LICENSE para mais detalhes.

Ferramentas Disponíveis

O servidor fornece várias ferramentas para interagir com o Gitee:

FerramentaCategoriaDescrição
list_user_reposRepositórioListar repositórios autorizados do usuário
get_file_contentRepositórioObter o conteúdo de um arquivo em um repositório
create_repoRepositórioCriar um repositório (usuário, org ou empresarial)
fork_repositoryRepositórioBifurcar um repositório
create_releaseRepositórioCriar uma release para um repositório
list_releasesRepositórioListar releases do repositório
search_open_source_repositoriesRepositórioPesquisar repositórios de código aberto no Gitee
search_files_by_contentRepositórioPesquisar arquivos por conteúdo em um repositório
compare_branches_tagsRepositórioComparar dois branches, tags ou commits em um repositório
list_repo_pullsPull RequestListar pull requests em um repositório
merge_pullPull RequestMesclar um pull request
create_pullPull RequestCriar um pull request
update_pullPull RequestAtualizar um pull request
get_pull_detailPull RequestObter detalhes de um pull request
get_diff_filesPull RequestObter arquivos de diff de um pull request
manage_pull_reviewPull RequestGerenciar uma revisão de pull request (aprovar ou cancelar)
create_commentComentárioCriar um comentário em uma issue ou pull request
list_commentsComentárioListar todos os comentários de uma issue ou pull request
create_issueIssueCriar uma issue
update_issueIssueAtualizar uma issue
get_repo_issue_detailIssueObter detalhes de uma issue do repositório
list_repo_issuesIssueListar issues do repositório
get_user_infoUsuárioObter informações do usuário autenticado atual
search_usersUsuárioPesquisar usuários
list_user_notificationsNotificaçãoListar notificações do usuário

Contribuição

Aceitamos contribuições da comunidade de código aberto! Se você deseja contribuir com este projeto, siga estas diretrizes:

  1. Faça um fork do repositório.
  2. Crie um novo branch para sua funcionalidade ou correção de bug.
  3. Faça suas alterações e garanta que o código esteja bem documentado.
  4. Envie um pull request com uma descrição clara das suas alterações.

Para mais informações, consulte o arquivo CONTRIBUTING.