Gitee MCP Server
официальныйИнтеграция с API Gitee, управление репозиториями, задачами и запросами на слияние и другое.
Документация
Gitee MCP Server
Gitee MCP Server — это реализация сервера Model Context Protocol (MCP) для Gitee. Он предоставляет набор инструментов для взаимодействия с API Gitee, позволяя AI-ассистентам управлять репозиториями, задачами, запросами на слияние и многим другим.
Возможности
- Взаимодействие с репозиториями, задачами, запросами на слияние и уведомлениями Gitee
- Настраиваемый базовый URL API для поддержки различных экземпляров Gitee
- Флаги командной строки для удобной настройки
- Поддержка персональных, организационных и корпоративных операций
- Динамическое включение/отключение набора инструментов
Практический сценарий: получить задачу из репозитория, реализовать и создать запрос на слияние
- Получить задачи репозитория

- Реализовать код и создать запрос на слияние на основе деталей задачи

- Прокомментировать и закрыть задачу

Установка (этот шаг можно пропустить при запуске через npx)
Предварительные требования
- Go 1.23.0 или выше
- Учетная запись Gitee с токеном доступа, перейти к получению
Сборка из исходников
-
Клонируйте репозиторий:
git clone https://gitee.com/oschina/mcp-gitee.git cd mcp-gitee -
Соберите проект:
make buildПереместите ./bin/mcp-gitee в PATH
Использование go install
go install gitee.com/oschina/mcp-gitee@latest
Использование
Проверка версии mcp-gitee:
mcp-gitee --version
Конфигурация MCP-хостов
Примеры конфигурации: Нажмите, чтобы посмотреть больше конфигураций приложений
Удаленный MCP-сервер
Подключение к официальному удаленному серверу mcp-gitee (установка не требуется):
{
"mcpServers": {
"gitee": {
"url": "https://api.gitee.com/mcp",
"headers": {
"Authorization": "Bearer <your personal access token>"
}
}
}
}
Codex использует ~/.codex/config.toml:
[mcp_servers.gitee]
url = "https://api.gitee.com/mcp"
bearer_token_env_var = "GITEE_ACCESS_TOKEN"
opencode использует ~/.config/opencode/opencode.json:
{
"mcp": {
"gitee": {
"type": "remote",
"url": "https://api.gitee.com/mcp",
"headers": {
"Authorization": "Bearer <your personal access token>"
},
"enabled": true
}
}
}
Параметры командной строки
--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: Токен доступа GiteeGITEE_API_BASE: Базовый URL API GiteeENABLED_TOOLSETS: Список инструментов для включения через запятуюDISABLED_TOOLSETS: Список инструментов для отключения через запятую
Управление набором инструментов
Управление набором инструментов поддерживает два режима:
-
Включение указанных инструментов (режим белого списка):
- Используйте параметр
--enabled-toolsetsили переменную окруженияENABLED_TOOLSETS - После указания будут включены только перечисленные инструменты, остальные будут отключены
- Пример:
--enabled-toolsets="list_user_repos,get_file_content"
- Используйте параметр
-
Отключение указанных инструментов (режим черного списка):
- Используйте параметр
--disabled-toolsetsили переменную окруженияDISABLED_TOOLSETS - После указания перечисленные инструменты будут отключены, остальные останутся включенными
- Пример:
--disabled-toolsets="list_user_repos,get_file_content"
- Используйте параметр
Примечание:
- Если указаны и
enabled-toolsets, иdisabled-toolsets, приоритет имеетenabled-toolsets - Имена инструментов чувствительны к регистру
Фильтрация инструментов для каждого запроса (HTTP-заголовки)
При использовании удаленного MCP-сервера (транспорт HTTP/SSE) вы можете динамически фильтровать доступные инструменты для каждого запроса с помощью HTTP-заголовков. Это полезно для клиентов, которым требуется детальный контроль над доступом к инструментам без перезапуска сервера.
-
Включение указанных инструментов через заголовок (белый список):
- Используйте заголовок
X-MCP-Enabled-Tools - Для этого запроса будут включены только перечисленные инструменты
- Пример:
X-MCP-Enabled-Tools: list_user_repos,get_file_content
- Используйте заголовок
-
Отключение указанных инструментов через заголовок (черный список):
- Используйте заголовок
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 | Репозиторий | Поиск open-source репозиториев на Gitee |
| search_files_by_content | Репозиторий | Поиск файлов по содержимому в репозитории |
| compare_branches_tags | Репозиторий | Сравнить две ветки, тега или коммита в репозитории |
| list_repo_pulls | Запрос на слияние | Список запросов на слияние в репозитории |
| merge_pull | Запрос на слияние | Принять запрос на слияние |
| create_pull | Запрос на слияние | Создать запрос на слияние |
| update_pull | Запрос на слияние | Обновить запрос на слияние |
| get_pull_detail | Запрос на слияние | Получить детали запроса на слияние |
| get_diff_files | Запрос на слияние | Получить файлы различий запроса на слияние |
| manage_pull_review | Запрос на слияние | Управление ревью запроса на слияние (одобрить или отменить) |
| create_comment | Комментарий | Создать комментарий к задаче или запросу на слияние |
| list_comments | Комментарий | Список всех комментариев к задаче или запросу на слияние |
| create_issue | Задача | Создать задачу |
| update_issue | Задача | Обновить задачу |
| get_repo_issue_detail | Задача | Получить детали задачи репозитория |
| list_repo_issues | Задача | Список задач репозитория |
| get_user_info | Пользователь | Получить информацию о текущем аутентифицированном пользователе |
| search_users | Пользователь | Поиск пользователей |
| list_user_notifications | Уведомление | Список уведомлений пользователя |
Участие в разработке
Мы приветствуем вклад от open-source сообщества! Если вы хотите внести вклад в этот проект, пожалуйста, следуйте этим рекомендациям:
- Форкните репозиторий.
- Создайте новую ветку для вашей функции или исправления ошибки.
- Внесите изменения и убедитесь, что код хорошо документирован.
- Отправьте запрос на слияние с четким описанием ваших изменений.
Для получения дополнительной информации обратитесь к файлу CONTRIBUTING.




