Integrations
Allows interaction with the GitHub API for file operations, repository management, search functionality, issue/PR management, branch creation, and more.
GitHub MCP Сервер Плюс
Сервер MCP для API GitHub, обеспечивающий файловые операции, управление репозиториями, функции поиска и многое другое.
Функции
- Автоматическое создание веток : при создании/обновлении файлов или отправке изменений автоматически создаются ветки, если они не существуют.
- Комплексная обработка ошибок : понятные сообщения об ошибках для распространенных проблем
- Сохранение истории Git : операции поддерживают правильную историю Git без принудительной отправки
- Пакетные операции : поддержка как однофайловых, так и многофайловых операций с содержимым или путями к файлам.
- Расширенный поиск : поддержка поиска по коду, проблемам/PR и пользователям.
Инструменты
create_or_update_file
- Создать или обновить отдельный файл в репозитории
- Входные данные:
owner
(строка): Владелец репозитория (имя пользователя или организация)repo
(строка): Имя репозиторияpath
(строка): Путь, по которому необходимо создать/обновить файл.content
(строка): Содержимое файлаmessage
(строка): сообщение о фиксацииbranch
(строка): ветвь для создания/обновления файлаsha
(необязательная строка): SHA заменяемого файла (для обновлений)
- Возвращает: содержимое файла и сведения о фиксации
push_files_content
- Отправка нескольких файлов с прямым содержимым в один коммит
- Входные данные:
owner
(строка): Владелец репозиторияrepo
(строка): Имя репозиторияbranch
(строка): ветвь, в которую нужно отправитьfiles
(массив): файлы для отправки, каждый сpath
иcontent
message
(строка): сообщение о фиксации
- Возврат: обновленная ссылка на ветку
push_files_from_path
- Передача нескольких файлов из путей файловой системы за один коммит
- Входные данные:
owner
(строка): Владелец репозиторияrepo
(строка): Имя репозиторияbranch
(строка): ветвь для отправкиfiles
(массив): Файлы для отправки, каждый из которых содержит:path
(строка): Целевой путь в репозиторииfilepath
(строка): Исходный путь файловой системы для чтения
message
(строка): сообщение о фиксации
- Возврат: обновленная ссылка на ветку
search_repositories
- Поиск репозиториев GitHub
- Входные данные:
query
(строка): Поисковый запросpage
(необязательное число): Номер страницы для нумерации страницperPage
(необязательное число): Результаты на страницу (макс. 100)
- Возвращает: Результаты поиска в репозитории
create_repository
- Создать новый репозиторий GitHub
- Входные данные:
name
(строка): Имя репозиторияdescription
(необязательная строка): Описание репозиторияprivate
(необязательно логическое значение): должен ли репозиторий быть частнымautoInit
(необязательно логическое значение): инициализация с помощью README
- Возвращает: Созданные данные репозитория
get_file_contents
- Получить содержимое файла или каталога
- Входные данные:
owner
(строка): Владелец репозиторияrepo
(строка): Имя репозиторияpath
(строка): Путь к файлу/каталогуbranch
(необязательная строка): ветвь, из которой нужно получить содержимое
- Возвращает: содержимое файла/каталога
create_issue
- Создать новый выпуск
- Входные данные:
owner
(строка): Владелец репозиторияrepo
(строка): Имя репозиторияtitle
(строка): Название выпускаbody
(необязательная строка): Описание проблемыassignees
(необязательная строка[]): Имена пользователей для назначенияlabels
(необязательно string[]): Метки для добавленияmilestone
(необязательное число): Номер вехи
- Возвраты: Созданные детали проблемы
create_pull_request
- Создать новый запрос на извлечение
- Входные данные:
owner
(строка): Владелец репозиторияrepo
(строка): Имя репозиторияtitle
(строка): заголовок PRbody
(необязательная строка): описание PRhead
(строка): Ветка, содержащая измененияbase
(строка): Ветка для слиянияdraft
(необязательно логическое значение): создать как черновик PRmaintainer_can_modify
(необязательное логическое значение): Разрешить редактирование сопровождающим
- Возвращает: Созданные данные запроса на вытягивание
fork_repository
- Форк репозитория
- Входные данные:
owner
(строка): Владелец репозиторияrepo
(строка): Имя репозиторияorganization
(необязательная строка): Организация, в которую будет произведен форк
- Возвращает: сведения о разветвленном репозитории
create_branch
- Создать новую ветку
- Входные данные:
owner
(строка): Владелец репозиторияrepo
(строка): Имя репозиторияbranch
(строка): Имя новой ветвиfrom_branch
(необязательная строка): Исходная ветка (по умолчанию — репозиторий по умолчанию)
- Возвращает: Созданная ссылка на ветку
list_issues
- Список и фильтрация проблем репозитория
- Входные данные:
owner
(строка): Владелец репозиторияrepo
(строка): Имя репозиторияstate
(необязательная строка): Фильтр по состоянию («открыто», «закрыто», «все»)labels
(необязательная строка[]): Фильтр по меткамsort
(необязательная строка): Сортировать по («создано», «обновлено», «комментарии»)direction
(необязательная строка): Направление сортировки ('asc', 'desc')since
(необязательная строка): Фильтр по дате (временная метка ISO 8601)page
(необязательное число): Номер страницыper_page
(необязательное число): Результаты на страницу
- Возвраты: Массив деталей выпуска
update_issue
- Обновить существующую проблему
- Входные данные:
owner
(строка): Владелец репозиторияrepo
(строка): Имя репозиторияissue_number
(номер): Номер выпуска для обновленияtitle
(необязательная строка): Новый заголовокbody
(необязательная строка): Новое описаниеstate
(необязательная строка): Новое состояние («открыто» или «закрыто»)labels
(необязательная строка[]): Новые меткиassignees
(необязательная строка[]): Новые получателиmilestone
(необязательный номер): Новый номер вехи
- Возврат: обновленные сведения о проблеме
add_issue_comment
- Добавить комментарий к проблеме
- Входные данные:
owner
(строка): Владелец репозиторияrepo
(строка): Имя репозиторияissue_number
(число): Номер вопроса для комментарияbody
(строка): Текст комментария
- Возвращает: Созданные детали комментария
search_code
- Поиск кода в репозиториях GitHub
- Входные данные:
q
(строка): Поисковый запрос с использованием синтаксиса поиска кода GitHubsort
(необязательная строка): поле сортировки (только «индексированное»)order
(необязательная строка): порядок сортировки ('asc' или 'desc')per_page
(необязательное число): Результаты на страницу (макс. 100)page
(необязательное число): Номер страницы
- Возвращает: результаты поиска кода с контекстом репозитория.
search_issues
- Поиск проблем и запросов на извлечение
- Входные данные:
q
(строка): Поисковый запрос с использованием GitHub вызывает проблемы с синтаксисом поискаsort
(необязательная строка): поле сортировки (комментарии, реакции, создано и т. д.)order
(необязательная строка): порядок сортировки ('asc' или 'desc')per_page
(необязательное число): Результаты на страницу (макс. 100)page
(необязательное число): Номер страницы
- Возвращает: результаты поиска по проблемам и запросам на извлечение
search_users
- Поиск пользователей GitHub
- Входные данные:
q
(строка): Поисковый запрос с использованием синтаксиса поиска пользователей GitHubsort
(необязательная строка): поле сортировки (подписчики, репозитории, присоединившиеся)order
(необязательная строка): порядок сортировки ('asc' или 'desc')per_page
(необязательное число): Результаты на страницу (макс. 100)page
(необязательное число): Номер страницы
- Возвращает: Результаты поиска пользователя
list_commits
- Получает коммиты ветки в репозитории
- Входные данные:
owner
(строка): Владелец репозиторияrepo
(строка): Имя репозиторияpage
(необязательная строка): номер страницыper_page
(необязательная строка): количество записей на страницеsha
(необязательная строка): имя ветки
- Возвращает: Список коммитов
get_issue
- Получает содержимое проблемы в репозитории
- Входные данные:
owner
(строка): Владелец репозиторияrepo
(строка): Имя репозиторияissue_number
(число): Номер выпуска для извлечения
- Возвращает: объект и подробности проблемы GitHub
get_pull_request
- Получите подробную информацию о конкретном запросе на извлечение
- Входные данные:
owner
(строка): Владелец репозиторияrepo
(строка): Имя репозиторияpull_number
(число): Номер запроса на извлечение
- Возвращает: сведения о запросе на извлечение, включая различия и статус проверки.
list_pull_requests
- Список и фильтрация запросов на извлечение из репозитория
- Входные данные:
owner
(строка): Владелец репозиторияrepo
(строка): Имя репозиторияstate
(необязательная строка): Фильтр по состоянию («открыто», «закрыто», «все»)head
(необязательная строка): Фильтр по пользователю/организации head и веткеbase
(необязательная строка): Фильтр по базовой веткеsort
(необязательная строка): Сортировать по («создано», «обновлено», «популярность», «длительно работает»)direction
(необязательная строка): Направление сортировки ('asc', 'desc')per_page
(необязательное число): Результаты на страницу (макс. 100)page
(необязательное число): Номер страницы
- Возвращает: Массив данных запроса на вытягивание
create_pull_request_review
- Создайте обзор на запрос на извлечение
- Входные данные:
owner
(строка): Владелец репозиторияrepo
(строка): Имя репозиторияpull_number
(число): Номер запроса на извлечениеbody
(строка): Текст комментария к отзывуevent
(строка): Действие обзора ('APPROVE', 'REQUEST_CHANGES', 'COMMENT')commit_id
(необязательная строка): SHA коммита для проверкиcomments
(необязательный массив): комментарии к конкретным строкам, каждый из которых содержит:path
(строка): Путь к файлуposition
(номер): Позиция строки в разницеbody
(строка): Текст комментария
- Возврат: Созданные детали обзора
merge_pull_request
- Объединить запрос на извлечение
- Входные данные:
owner
(строка): Владелец репозиторияrepo
(строка): Имя репозиторияpull_number
(число): Номер запроса на извлечениеcommit_title
(необязательная строка): заголовок для слияния коммитаcommit_message
(необязательная строка): Дополнительные сведения о слиянии.merge_method
(необязательная строка): Метод слияния ('merge', 'squash', 'rebase')
- Возвраты: сведения о результатах слияния
get_pull_request_files
- Получить список файлов, измененных в запросе на извлечение
- Входные данные:
owner
(строка): Владелец репозиторияrepo
(строка): Имя репозиторияpull_number
(число): Номер запроса на извлечение
- Возвращает: Массив измененных файлов с подробностями исправления и статуса.
get_pull_request_status
- Получите объединенный статус всех проверок статуса для запроса на извлечение
- Входные данные:
owner
(строка): Владелец репозиторияrepo
(строка): Имя репозиторияpull_number
(число): Номер запроса на извлечение
- Возвраты: объединенные результаты проверки статуса и данные индивидуальной проверки
update_pull_request_branch
- Обновите ветку запроса на извлечение с последними изменениями из базовой ветки.
- Входные данные:
owner
(строка): Владелец репозиторияrepo
(строка): Имя репозиторияpull_number
(число): Номер запроса на извлечениеexpected_head_sha
(необязательная строка): ожидаемый SHA HEAD-ссылки запроса на извлечение
- Возвращает: сообщение об успешном завершении обновления ветки.
get_pull_request_comments
- Получите комментарии к отзыву о запросе на включение изменений
- Входные данные:
owner
(строка): Владелец репозиторияrepo
(строка): Имя репозиторияpull_number
(число): Номер запроса на извлечение
- Возвращает: Массив комментариев к отзывам о запросе на включение внесенных изменений
get_pull_request_reviews
- Получите отзывы о запросе на включение внесенных изменений
- Входные данные:
owner
(строка): Владелец репозиторияrepo
(строка): Имя репозиторияpull_number
(число): Номер запроса на извлечение
- Возвращает: Массив отзывов о запросах на включение внесенных изменений
Синтаксис поискового запроса
Поиск кода
language:javascript
: Поиск по языку программированияrepo:owner/name
: Поиск в определенном репозиторииpath:app/src
: Поиск по указанному путиextension:js
: Поиск по расширению файла- Пример:
q: "import express" language:typescript path:src/
Поиск проблем
is:issue
илиis:pr
: Фильтр по типуis:open
илиis:closed
: Фильтр по штатуlabel:bug
: Поиск по меткеauthor:username
: Поиск по автору- Пример:
q: "memory leak" is:issue is:open label:bug
Поиск пользователей
type:user
илиtype:org
: Фильтр по типу учетной записиfollowers:>1000
: Фильтр по подписчикамlocation:London
: Поиск по местоположению- Пример:
q: "fullstack developer" location:London followers:>100
Подробный синтаксис поиска см. в документации по поиску GitHub .
Настраивать
Персональный токен доступа
Создайте токен персонального доступа GitHub с соответствующими разрешениями:
- Перейдите в раздел Персональные токены доступа (в настройках GitHub > Настройки разработчика)
- Выберите, к каким репозиториям вы хотите предоставить доступ этому токену (Public, All или Select).
- Создать токен с областью действия
repo
(«Полный контроль над приватными репозиториями»)- В качестве альтернативы, если вы работаете только с публичными репозиториями, выберите только область
public_repo
- В качестве альтернативы, если вы работаете только с публичными репозиториями, выберите только область
- Скопируйте сгенерированный токен
Использование с Claude Desktop
Чтобы использовать это с Claude Desktop, добавьте следующее в ваш claude_desktop_config.json
:
Докер
НПХ
Строить
Сборка Docker:
Лицензия
Этот сервер MCP лицензирован по лицензии MIT. Это означает, что вы можете свободно использовать, изменять и распространять программное обеспечение в соответствии с условиями лицензии MIT. Для получения более подробной информации см. файл LICENSE в репозитории проекта.
You must be authenticated.
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Tools
Сервер MCP для API GitHub, предоставляющий функции для файловых операций, управления репозиториями и расширенного поиска с автоматическим созданием ветвей и комплексной обработкой ошибок.
Related Resources
Related MCP Servers
- AsecurityAlicenseAqualityMCP Server for the GitHub API, enabling file operations, repository management, search functionality, and more.Last updated -1722,91244,922JavaScriptMIT License
- AsecurityFlicenseAqualityMCP server for managing Git operations on local repositories, allowing users to list repositories, get and create tags, list commits, push tags, and refresh repositories through a standardized interface.Last updated -6Python
- AsecurityAlicenseAqualityAn MCP server for gitingest. It allows MCP clients like Claude Desktop, Cursor, Cline etc to quickly extract information about Github repositories including repository summaries, project directory structure, file contents, etcLast updated -38PythonMIT License
- AsecurityFlicenseAqualityAn MCP server that enables integration with GitHub Enterprise API, allowing users to access repository information, manage issues, pull requests, workflows, and other GitHub features through Cursor.Last updated -163314TypeScript