Gitee

официальный

Интеграция с API Gitee, управление репозиториями, задачами и запросами на слияние и другое.

Что можно делать с Gitee MCP?

  • Управление проблемами репозитория — Попросите вашего ассистента перечислить, создать или обновить проблемы в репозитории с помощью list_repo_issues, create_issue и update_issue.
  • Обработка запросов на включение — Попросите вашего ассистента перечислить, создать, объединить или просмотреть запросы на включение с помощью таких инструментов, как list_repo_pulls, create_pull, merge_pull и manage_pull_review.
  • Изучение содержимого репозитория — Получите содержимое файлов, сравните ветки или теги и выполняйте поиск файлов по содержимому с помощью get_file_content, compare_branches_tags и search_files_by_content.
  • Управление релизами и форками — Создавайте релизы, просматривайте существующие или форкайте репозиторий через create_release, list_releases и fork_repository.
  • Поиск и обнаружение — Находите репозитории с открытым исходным кодом или пользователей на Gitee с помощью search_open_source_repositories и search_users.
  • Отслеживание уведомлений — Проверяйте свои последние уведомления с помощью list_user_notifications.

Документация

Gitee MCP-сервер

Gitee MCP-сервер — это реализация сервера Model Context Protocol (MCP) для Gitee. Он предоставляет набор инструментов для взаимодействия с API Gitee, позволяя AI-ассистентам управлять репозиториями, задачами, pull request'ами и многоим другим.

Install MCP Server

Возможности

  • Взаимодействие с репозиториями, задачами, pull request'ами и уведомлениями Gitee
  • Настраиваемый базовый URL API для поддержки различных экземпляров Gitee
  • Флаги командной строки для простой настройки
  • Поддержка операций для личных, организационных и корпоративных аккаунтов
  • Динамическое включение/отключение наборов инструментов
Практический сценарий: получить задачу из репозитория, реализовать и создать pull request
  1. Получить задачи репозитория get_repo_issues
  2. Реализовать код и создать pull request на основе деталей задачи implement_issue
  3. Оставить комментарий и закрыть задачу comment_and_close_issue

Установка

Удалённый MCP-сервер не требует установки и работает сразу. Чтобы запустить mcp-gitee локально (stdio), выберите один из вариантов ниже.

Удалённый MCP-сервер (рекомендуется)

Добавьте следующее в секцию mcpServers конфигурации вашего хоста, заменив <your personal access token> на токен из этого источника:

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

Для путей и форматов конфигурационных файлов конкретных клиентов (Claude Code, Codex, Cursor, Trae, Cline, Continue, opencode) следуйте руководствам, указанным в разделе «Конфигурация MCP-хостов» ниже.

Локально (stdio)

Загрузка готовых бинарных файлов

Загрузите архив для вашей платформы (linux-amd64 / linux-arm / darwin-amd64 / darwin-arm64 / windows-amd64) из Releases, распакуйте его и поместите mcp-gitee в PATH (в Windows исполняемый файл называется mcp-gitee.exe).

Использование npx

Установка не требуется; готовый бинарный файл для вашей платформы загружается автоматически при запуске:

{
  "mcpServers": {
    "gitee": {
      "command": "npx",
      "args": [
        "-y",
        "@gitee/mcp-gitee@latest"
      ],
      "env": {
        "GITEE_API_BASE": "https://gitee.com/api/v5",
        "GITEE_ACCESS_TOKEN": "<your personal access token>"
      }
    }
  }
}

Сборка из исходного кода

Требуется Go 1.23.0 или выше.

  1. Клонируйте репозиторий:

    git clone https://gitee.com/oschina/mcp-gitee.git
    cd mcp-gitee
    
  2. Соберите проект:

    make build
    

    Переместите ./bin/mcp-gitee в переменную окружения PATH

Использование go install

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

Использование установленного исполняемого файла

Когда mcp-gitee доступен в PATH (через Releases, сборку из исходного кода или go install):

{
  "mcpServers": {
    "gitee": {
      "command": "mcp-gitee",
      "env": {
        "GITEE_API_BASE": "https://gitee.com/api/v5",
        "GITEE_ACCESS_TOKEN": "<your personal access token>"
      }
    }
  }
}

Windows: исполняемый файл должен содержать суффикс .exe, а путь в command должен использовать прямые слэши / (Windows их принимает, и это позволяет избежать ошибок экранирования обратной косой черты в JSON):

{
  "mcpServers": {
    "gitee": {
      "command": "C:/Users/<you>/bin/mcp-gitee.exe",
      "env": {
        "GITEE_ACCESS_TOKEN": "<your personal access token>"
      }
    }
  }
}

Конфигурация MCP-хостов

Примеры конфигурации: Нажмите, чтобы просмотреть больше конфигураций приложений

Параметры командной строки

  • --token: токен доступа Gitee
  • --api-base: базовый URL API Gitee (по умолчанию: https://gitee.com/api/v5)
  • --version: показать информацию о версии
  • --transport: тип транспорта (stdio, sse или http, по умолчанию: stdio)
  • --address: хост и порт для запуска сервера (по умолчанию: localhost:8000)
  • --enabled-toolsets: список инструментов для включения через запятую (если указано, будут включены только эти инструменты)
  • --disabled-toolsets: список инструментов для отключения через запятую

Переменные окружения

Вы также можете настроить сервер с помощью переменных окружения:

  • GITEE_ACCESS_TOKEN: токен доступа Gitee
  • GITEE_API_BASE: базовый URL API Gitee
  • ENABLED_TOOLSETS: список инструментов для включения через запятую
  • DISABLED_TOOLSETS: список инструментов для отключения через запятую

Управление наборами инструментов

Управление наборами инструментов поддерживает два режима:

  1. Включение указанных инструментов (режим белого списка):

    • Используйте параметр --enabled-toolsets или переменную окружения ENABLED_TOOLSETS
    • После указания будут включены только перечисленные инструменты, остальные будут отключены
    • Пример: --enabled-toolsets="list_user_repos,get_file_content"
  2. Отключение указанных инструментов (режим чёрного списка):

    • Используйте параметр --disabled-toolsets или переменную окружения DISABLED_TOOLSETS
    • После указания перечисленные инструменты будут отключены, остальные будут включены
    • Пример: --disabled-toolsets="list_user_repos,get_file_content"

Примечание:

  • Если указаны и enabled-toolsets, и disabled-toolsets, приоритет имеет enabled-toolsets
  • Имена инструментов чувствительны к регистру

Фильтрация инструментов для каждого запроса (HTTP-заголовки)

При использовании удалённого MCP-сервера (транспорт HTTP/SSE) вы можете динамически фильтровать доступные инструменты для каждого запроса через HTTP-заголовки. Это полезно для клиентов, которым нужен точный контроль над доступом к инструментам без перезапуска сервера.

  1. Включение указанных инструментов через заголовок (белый список):

    • Используйте заголовок X-MCP-Enabled-Tools
    • Для этого запроса будут включены только перечисленные инструменты
    • Пример: X-MCP-Enabled-Tools: list_user_repos,get_file_content
  2. Отключение указанных инструментов через заголовок (чёрный список):

    • Используйте заголовок X-MCP-Disabled-Tools
    • Перечисленные инструменты будут отключены для этого запроса
    • Пример: X-MCP-Disabled-Tools: create_repo,delete_repo

Правила приоритета:

  • Если в одном запросе присутствуют и X-MCP-Enabled-Tools, и X-MCP-Disabled-Tools, приоритет имеет белый список (X-MCP-Enabled-Tools)
  • Имена инструментов чувствительны к регистру

Пример конфигурации для 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"
      }
    }
  }
}

Лицензия

Этот проект лицензирован по лицензии MIT. Подробнее см. в файле LICENSE.

Доступные инструменты

Сервер предоставляет различные инструменты для взаимодействия с Gitee:

ИнструментКатегорияОписание
list_user_reposРепозиторийСписок авторизованных репозиториев пользователя
get_file_contentРепозиторийПолучить содержимое файла в репозитории
create_repoРепозиторийСоздать репозиторий (пользовательский, организационный или корпоративный)
fork_repositoryРепозиторийСоздать форк репозитория
create_releaseРепозиторийСоздать релиз для репозитория
list_releasesРепозиторийСписок релизов репозитория
search_open_source_repositoriesРепозиторийПоиск открытых исходных репозиториев на Gitee
search_files_by_contentРепозиторийПоиск файлов по содержимому в репозитории
compare_branches_tagsРепозиторийСравнение двух веток, тегов или коммитов в репозитории
list_repo_pullsPull RequestСписок pull request'ов в репозитории
merge_pullPull RequestСлияние pull request'а
create_pullPull RequestСоздание pull request'а
update_pullPull RequestОбновление pull request'а
get_pull_detailPull RequestПолучение деталей pull request'а
get_diff_filesPull RequestПолучение файлов изменений pull request'а
manage_pull_reviewPull RequestУправление рецензией pull request'а (одобрение или отмена)
create_commentКомментарийСоздание комментария к задаче или pull request'у
list_commentsКомментарийСписок всех комментариев для задачи или pull request'а
create_issueЗадачаСоздание задачи
update_issueЗадачаОбновление задачи
get_repo_issue_detailЗадачаПолучение деталей задачи репозитория
list_repo_issuesЗадачаСписок задач репозитория
get_user_infoПользовательПолучение информации о текущем аутентифицированном пользователе
search_usersПользовательПоиск пользователей
list_user_notificationsУведомлениеСписок уведомлений пользователя

Вклад в проект

Мы приветствуем вклад от сообщества открытого исходного кода! Если вы хотите внести свой вклад в этот проект, пожалуйста, следуйте этим рекомендациям:

  1. Создайте форк репозитория.
  2. Создайте новую ветку для вашей функции или исправления ошибки.
  3. Внесите изменения и убедитесь, что код хорошо документирован.
  4. Отправьте pull request с понятным описанием ваших изменений.

Для получения дополнительной информации обратитесь к файлу CONTRIBUTING.