Gitee

oficial

Integración con la API de Gitee, gestión de repositorios, incidencias y solicitudes de extracción, y más.

¿Qué puedes hacer con Gitee MCP?

  • Buscar repositorios de código abierto — Encuentre proyectos públicos de Gitee por palabra clave usando search_open_source_repositories.
  • Listar e inspeccionar incidencias del repositorio — Recupere incidencias abiertas con list_repo_issues y obtenga detalles completos mediante get_repo_issue_detail.
  • Crear solicitudes de extracción a partir de incidencias — Use create_pull para abrir una PR, luego create_comment y update_issue para comentar y cerrar la incidencia relacionada.
  • Revisar y fusionar solicitudes de extracción — Apruebe o cancele revisiones con manage_pull_review y fusione usando merge_pull.
  • Gestionar archivos y versiones del repositorio — Lea el contenido de archivos mediante get_file_content, busque código con search_files_by_content y publique versiones con create_release.
  • Consultar notificaciones e información del usuario — Liste sus notificaciones de Gitee con list_user_notifications y recupere los detalles del usuario autenticado mediante get_user_info.

Documentación

Servidor MCP de Gitee

El Servidor MCP de Gitee es una implementación del Protocolo de Contexto de Modelo (MCP) para Gitee. Proporciona un conjunto de herramientas para interactuar con la API de Gitee, permitiendo a los asistentes de IA gestionar repositorios, incidencias, solicitudes de incorporación y más.

Install MCP Server

Características

  • Interactúa con repositorios, incidencias, solicitudes de incorporación y notificaciones de Gitee
  • URL base de API configurable para soportar diferentes instancias de Gitee
  • Indicadores de línea de comandos para una configuración sencilla
  • Soporta operaciones personales, de organización y empresariales
  • Activación/desactivación dinámica del conjunto de herramientas
Escenario práctico: Obtener una incidencia del repositorio, implementar y crear una solicitud de incorporación
  1. Obtener incidencias del repositorio get_repo_issues
  2. Implementar codificación y crear solicitud de incorporación basada en los detalles de la incidencia implement_issue
  3. Comentar y cerrar incidencia comment_and_close_issue

Instalación (Este paso se puede omitir directamente al iniciar con npx)

Requisitos previos

  • Go 1.23.0 o superior
  • Cuenta de Gitee con un token de acceso, Ir a obtenerlo

Compilación desde el código fuente

  1. Clonar el repositorio:

    git clone https://gitee.com/oschina/mcp-gitee.git
    cd mcp-gitee
    
  2. Compilar el proyecto:

    make build
    

    Mover ./bin/mcp-gitee a la variable de entorno PATH

Usar go install

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

Uso

Verificar la versión de mcp-gitee:

mcp-gitee --version

Configuración de hosts MCP

Ejemplos de configuración: Haz clic para ver más configuraciones de aplicaciones

Servidor MCP remoto

Conectarse al servidor remoto oficial mcp-gitee (no requiere instalación):

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

Opciones de línea de comandos

  • --token: Token de acceso de Gitee
  • --api-base: URL base de la API de Gitee (predeterminada: https://gitee.com/api/v5)
  • --version: Mostrar información de la versión
  • --transport: Tipo de transporte (stdio, sse o http, predeterminado: stdio)
  • --address: El host y puerto para iniciar el servidor (predeterminado: localhost:8000)
  • --enabled-toolsets: Lista separada por comas de herramientas a habilitar (si se especifica, solo estas herramientas se habilitarán)
  • --disabled-toolsets: Lista separada por comas de herramientas a deshabilitar

Variables de entorno

También puedes configurar el servidor usando variables de entorno:

  • GITEE_ACCESS_TOKEN: Token de acceso de Gitee
  • GITEE_API_BASE: URL base de la API de Gitee
  • ENABLED_TOOLSETS: Lista separada por comas de herramientas a habilitar
  • DISABLED_TOOLSETS: Lista separada por comas de herramientas a deshabilitar

Gestión del conjunto de herramientas

La gestión del conjunto de herramientas admite dos modos:

  1. Habilitar herramientas especificadas (modo lista blanca):

    • Usar el parámetro --enabled-toolsets o la variable de entorno ENABLED_TOOLSETS
    • Al especificar, solo las herramientas listadas se habilitarán, las demás se deshabilitarán
    • Ejemplo: --enabled-toolsets="list_user_repos,get_file_content"
  2. Deshabilitar herramientas especificadas (modo lista negra):

    • Usar el parámetro --disabled-toolsets o la variable de entorno DISABLED_TOOLSETS
    • Al especificar, las herramientas listadas se deshabilitarán, las demás se habilitarán
    • Ejemplo: --disabled-toolsets="list_user_repos,get_file_content"

Nota:

  • Si se especifican tanto enabled-toolsets como disabled-toolsets, enabled-toolsets tiene prioridad
  • Los nombres de las herramientas distinguen mayúsculas de minúsculas

Filtrado de herramientas por solicitud (Cabeceras HTTP)

Al usar el servidor MCP remoto (transporte HTTP/SSE), puedes filtrar dinámicamente las herramientas disponibles por solicitud mediante cabeceras HTTP. Esto es útil para clientes que necesitan un control detallado sobre la exposición de herramientas sin reiniciar el servidor.

  1. Habilitar herramientas especificadas mediante cabecera (lista blanca):

    • Usar la cabecera X-MCP-Enabled-Tools
    • Solo las herramientas listadas se habilitarán para esa solicitud
    • Ejemplo: X-MCP-Enabled-Tools: list_user_repos,get_file_content
  2. Deshabilitar herramientas especificadas mediante cabecera (lista negra):

    • Usar la cabecera X-MCP-Disabled-Tools
    • Las herramientas listadas se deshabilitarán para esa solicitud
    • Ejemplo: X-MCP-Disabled-Tools: create_repo,delete_repo

Reglas de prioridad:

  • Si tanto X-MCP-Enabled-Tools como X-MCP-Disabled-Tools están presentes en la misma solicitud, la lista blanca (X-MCP-Enabled-Tools) tiene prioridad
  • Los nombres de las herramientas distinguen mayúsculas de minúsculas

Ejemplo de configuración 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"
      }
    }
  }
}

Licencia

Este proyecto está licenciado bajo la Licencia MIT. Consulta el archivo LICENSE para más detalles.

Herramientas disponibles

El servidor proporciona varias herramientas para interactuar con Gitee:

HerramientaCategoríaDescripción
list_user_reposRepositorioListar repositorios autorizados del usuario
get_file_contentRepositorioObtener el contenido de un archivo en un repositorio
create_repoRepositorioCrear un repositorio (usuario, organización o empresa)
fork_repositoryRepositorioBifurcar un repositorio
create_releaseRepositorioCrear una versión para un repositorio
list_releasesRepositorioListar versiones del repositorio
search_open_source_repositoriesRepositorioBuscar repositorios de código abierto en Gitee
search_files_by_contentRepositorioBuscar archivos por contenido en un repositorio
compare_branches_tagsRepositorioComparar dos ramas, etiquetas o commits en un repositorio
list_repo_pullsSolicitud de incorporaciónListar solicitudes de incorporación en un repositorio
merge_pullSolicitud de incorporaciónFusionar una solicitud de incorporación
create_pullSolicitud de incorporaciónCrear una solicitud de incorporación
update_pullSolicitud de incorporaciónActualizar una solicitud de incorporación
get_pull_detailSolicitud de incorporaciónObtener detalles de una solicitud de incorporación
get_diff_filesSolicitud de incorporaciónObtener archivos diff de una solicitud de incorporación
manage_pull_reviewSolicitud de incorporaciónGestionar una revisión de solicitud de incorporación (aprobar o cancelar)
create_commentComentarioCrear un comentario en una incidencia o solicitud de incorporación
list_commentsComentarioListar todos los comentarios de una incidencia o solicitud de incorporación
create_issueIncidenciaCrear una incidencia
update_issueIncidenciaActualizar una incidencia
get_repo_issue_detailIncidenciaObtener detalles de una incidencia del repositorio
list_repo_issuesIncidenciaListar incidencias del repositorio
get_user_infoUsuarioObtener información del usuario autenticado actual
search_usersUsuarioBuscar usuarios
list_user_notificationsNotificaciónListar notificaciones del usuario

Contribución

¡Agradecemos las contribuciones de la comunidad de código abierto! Si deseas contribuir a este proyecto, sigue estas pautas:

  1. Bifurca el repositorio.
  2. Crea una nueva rama para tu funcionalidad o corrección de errores.
  3. Realiza tus cambios y asegúrate de que el código esté bien documentado.
  4. Envía una solicitud de incorporación con una descripción clara de tus cambios.

Para más información, consulta el archivo CONTRIBUTING.