Skip to main content
Glama
revenant20
by revenant20

gitflic-mcp

License

Первый и единственный MCP-сервер для GitFlic — российской платформы для хостинга Git-репозиториев.

66 инструментов покрывающих 13 категорий GitFlic API: проекты, issue, merge request, ветки, коммиты, файлы, теги, релизы, обсуждения, вебхуки, CI/CD и другие.

Построен на TypeScript и Model Context Protocol SDK.

English documentation

Зачем

  • Единственный MCP-сервер для GitFlic. Альтернатив нет — если вам нужен AI-агент для работы с GitFlic, это он.

  • Широкое покрытие API. 66 инструментов из 182 задокументированных эндпоинтов — все ключевые операции для повседневной работы с репозиториями.

  • Готов к работе. Подключается к Claude Code, Claude Desktop, Cursor и любому другому MCP-совместимому клиенту за минуту.

  • Минимальные зависимости. Только MCP SDK и Zod — никаких тяжёлых фреймворков.

Установка

Требования

  • Node.js 18+

  • Токен доступа GitFlic

Сборка

git clone https://gitflic.ru/project/sazonovfm/gitflic-mcp.git
cd gitflic-mcp
npm install
npm run build

Настройка MCP-клиента

Добавьте сервер в конфигурацию вашего MCP-клиента. Например, для Claude Code (.mcp.json в корне проекта):

{
  "mcpServers": {
    "gitflic": {
      "command": "node",
      "args": ["/абсолютный/путь/к/gitflic-mcp/dist/index.js"],
      "env": {
        "GITFLIC_TOKEN": "ваш_токен"
      }
    }
  }
}

Токен можно получить в настройках GitFlic: НастройкиТокены доступа.

Переменная

Описание

Обязательная

GITFLIC_TOKEN

Токен доступа GitFlic API

да

GITFLIC_API_URL

Базовый URL API (по умолчанию https://api.gitflic.ru)

нет

Инструменты

66 инструментов, сгруппированных по 13 категориям. Все параметры пагинации (page, size) опциональны: page по умолчанию 0, size по умолчанию 20 (макс. 100).

Пользователи

get_me

Получить текущего авторизованного пользователя.

Параметры: нет.

get_user

Получить пользователя по алиасу.

Параметр

Тип

Обяз.

Описание

userAlias

string

да

Алиас (username) пользователя

list_user_projects

Список публичных проектов пользователя.

Параметр

Тип

Обяз.

Описание

userAlias

string

да

Алиас пользователя

page

number

нет

Номер страницы (с 0)

size

number

нет

Элементов на странице

Проекты

list_projects

Список проектов авторизованного пользователя.

Параметр

Тип

Обяз.

Описание

q

string

нет

Поиск по названию

page

number

нет

Номер страницы (с 0)

size

number

нет

Элементов на странице

get_project

Получить проект по владельцу и алиасу.

Параметр

Тип

Обяз.

Описание

owner

string

да

Алиас владельца

project

string

да

Алиас проекта

search_projects

Поиск публичных проектов.

Параметр

Тип

Обяз.

Описание

q

string

нет

Поисковый запрос

page

number

нет

Номер страницы (с 0)

size

number

нет

Элементов на странице

list_shared_projects

Список проектов, к которым предоставлен доступ.

Параметр

Тип

Обяз.

Описание

q

string

нет

Поиск по названию

page

number

нет

Номер страницы (с 0)

size

number

нет

Элементов на странице

update_project

Обновить настройки проекта (название, описание, язык, топики).

Параметр

Тип

Обяз.

Описание

owner

string

да

Алиас владельца

project

string

да

Алиас проекта

title

string

нет

Название проекта

description

string

нет

Описание проекта

language

string

нет

Язык программирования

topics

string[]

нет

Топики проекта

list_project_members

Список участников проекта.

Параметр

Тип

Обяз.

Описание

owner

string

да

Алиас владельца

project

string

да

Алиас проекта

q

string

нет

Поиск по username

page

number

нет

Номер страницы (с 0)

size

number

нет

Элементов на странице

Issue

list_issues

Список issue проекта.

Параметр

Тип

Обяз.

Описание

owner

string

да

Алиас владельца

project

string

да

Алиас проекта

page

number

нет

Номер страницы (с 0)

size

number

нет

Элементов на странице

get_issue

Получить issue по локальному ID.

Параметр

Тип

Обяз.

Описание

owner

string

да

Алиас владельца

project

string

да

Алиас проекта

issue_id

integer

да

Локальный ID issue

create_issue

Создать новый issue.

Параметр

Тип

Обяз.

Описание

owner

string

да

Алиас владельца

project

string

да

Алиас проекта

title

string

да

Заголовок

description

string

да

Описание

status

string

нет

Статус: OPEN (по умолчанию), IN_PROGRESS, CLOSED, COMPLETED

update_issue

Обновить существующий issue.

Параметр

Тип

Обяз.

Описание

owner

string

да

Алиас владельца

project

string

да

Алиас проекта

issue_id

integer

да

Локальный ID issue

title

string

нет

Новый заголовок

description

string

нет

Новое описание

status

string

нет

Новый статус: OPEN, IN_PROGRESS, CLOSED, COMPLETED

Комментарии к issue

list_issue_comments

Список комментариев к issue.

Параметр

Тип

Обяз.

Описание

owner

string

да

Алиас владельца

project

string

да

Алиас проекта

issue_id

integer

да

Локальный ID issue

page

number

нет

Номер страницы (с 0)

size

number

нет

Элементов на странице

add_issue_comment

Добавить комментарий к issue.

Параметр

Тип

Обяз.

Описание

owner

string

да

Алиас владельца

project

string

да

Алиас проекта

issue_id

integer

да

Локальный ID issue

text

string

да

Текст комментария

Файлы репозитория

get_file_content

Получить содержимое файла (до 15 МБ, только текстовые).

Параметр

Тип

Обяз.

Описание

owner

string

да

Алиас владельца

project

string

да

Алиас проекта

file

string

да

Путь к файлу (например src/index.ts)

commitHash

string

да

Хеш коммита или имя ветки

list_files

Список файлов и директорий по указанному пути.

Параметр

Тип

Обяз.

Описание

owner

string

да

Алиас владельца

project

string

да

Алиас проекта

filepath

string

нет

Путь к директории (пусто для корня)

branch

string

нет

Имя ветки

list_files_recursive

Рекурсивный список файлов (дерево репозитория).

Параметр

Тип

Обяз.

Описание

owner

string

да

Алиас владельца

project

string

да

Алиас проекта

directory

string

нет

Корневая директория

commitHash

string

нет

Хеш коммита или имя ветки

depth

number

нет

Глубина рекурсии (0–10)

Merge Request

list_merge_requests

Список merge request проекта.

Параметр

Тип

Обяз.

Описание

owner

string

да

Алиас владельца

project

string

да

Алиас проекта

page

number

нет

Номер страницы (с 0)

size

number

нет

Элементов на странице

get_merge_request

Получить merge request по локальному ID.

Параметр

Тип

Обяз.

Описание

owner

string

да

Алиас владельца

project

string

да

Алиас проекта

mr_id

integer

да

Локальный ID merge request

create_merge_request

Создать merge request.

Параметр

Тип

Обяз.

Описание

owner

string

да

Алиас владельца

project

string

да

Алиас проекта

title

string

да

Заголовок

description

string

да

Описание

sourceBranch

string

да

Исходная ветка

targetBranch

string

да

Целевая ветка

squashCommit

boolean

нет

Сжать коммиты при слиянии

removeSourceBranch

boolean

нет

Удалить исходную ветку после слияния

update_merge_request

Обновить merge request.

Параметр

Тип

Обяз.

Описание

owner

string

да

Алиас владельца

project

string

да

Алиас проекта

mr_uuid

string

да

UUID merge request (из ответа get_merge_request)

title

string

да

Заголовок

targetBranch

string

да

Целевая ветка

description

string

нет

Описание

squashCommit

boolean

нет

Сжать коммиты при слиянии

removeSourceBranch

boolean

нет

Удалить исходную ветку после слияния

approve_merge_request

Одобрить или отменить одобрение merge request (переключатель).

Параметр

Тип

Обяз.

Описание

owner

string

да

Алиас владельца

project

string

да

Алиас проекта

mr_id

integer

да

Локальный ID merge request

merge_merge_request

Выполнить слияние merge request.

Параметр

Тип

Обяз.

Описание

owner

string

да

Алиас владельца

project

string

да

Алиас проекта

mr_id

integer

да

Локальный ID merge request

commitMessage

string

нет

Сообщение коммита слияния

squashCommitMessage

string

нет

Сообщение squash-коммита

close_merge_request

Закрыть merge request.

Параметр

Тип

Обяз.

Описание

owner

string

да

Алиас владельца

project

string

да

Алиас проекта

mr_id

integer

да

Локальный ID merge request

cancel_merge_request

Отменить merge request.

Параметр

Тип

Обяз.

Описание

owner

string

да

Алиас владельца

project

string

да

Алиас проекта

mr_id

integer

да

Локальный ID merge request

Обсуждения MR

list_mr_discussions

Список обсуждений merge request.

Параметр

Тип

Обяз.

Описание

owner

string

да

Алиас владельца

project

string

да

Алиас проекта

mr_id

integer

да

Локальный ID merge request

page

number

нет

Номер страницы (с 0)

size

number

нет

Элементов на странице

get_mr_discussion

Получить обсуждение по UUID.

Параметр

Тип

Обяз.

Описание

owner

string

да

Алиас владельца

project

string

да

Алиас проекта

mr_id

integer

да

Локальный ID merge request

discussionUuid

string

да

UUID обсуждения

create_mr_discussion

Создать обсуждение (общий комментарий или к строке кода).

Параметр

Тип

Обяз.

Описание

owner

string

да

Алиас владельца

project

string

да

Алиас проекта

mr_id

integer

да

Локальный ID merge request

message

string

да

Текст сообщения

oldPath

string

нет

Путь к файлу (старая версия), для комментария к коду

newPath

string

нет

Путь к файлу (новая версия), для комментария к коду

oldLine

integer

нет

Номер строки (старая версия)

newLine

integer

нет

Номер строки (новая версия)

reply_mr_discussion

Ответить в существующем обсуждении.

Параметр

Тип

Обяз.

Описание

owner

string

да

Алиас владельца

project

string

да

Алиас проекта

mr_id

integer

да

Локальный ID merge request

discussionUuid

string

да

UUID обсуждения

message

string

да

Текст ответа

resolve_mr_discussion

Разрешить (закрыть) обсуждение.

Параметр

Тип

Обяз.

Описание

owner

string

да

Алиас владельца

project

string

да

Алиас проекта

mr_id

integer

да

Локальный ID merge request

discussionUuid

string

да

UUID обсуждения

delete_mr_discussion

Удалить обсуждение (весь тред).

Параметр

Тип

Обяз.

Описание

owner

string

да

Алиас владельца

project

string

да

Алиас проекта

mr_id

integer

да

Локальный ID merge request

discussionUuid

string

да

UUID обсуждения

Ветки

list_branches

Список веток проекта.

Параметр

Тип

Обяз.

Описание

owner

string

да

Алиас владельца

project

string

да

Алиас проекта

page

number

нет

Номер страницы (с 0)

size

number

нет

Элементов на странице

get_branch

Получить ветку по имени.

Параметр

Тип

Обяз.

Описание

owner

string

да

Алиас владельца

project

string

да

Алиас проекта

branchName

string

да

Имя ветки

get_default_branch

Получить ветку по умолчанию.

Параметр

Тип

Обяз.

Описание

owner

string

да

Алиас владельца

project

string

да

Алиас проекта

create_branch

Создать ветку от существующей.

Параметр

Тип

Обяз.

Описание

owner

string

да

Алиас владельца

project

string

да

Алиас проекта

newBranch

string

да

Имя новой ветки

originBranch

string

да

Базовая ветка

delete_branch

Удалить ветку.

Параметр

Тип

Обяз.

Описание

owner

string

да

Алиас владельца

project

string

да

Алиас проекта

branchName

string

да

Имя ветки

Внимание: delete_branch не работает на api.gitflic.ru — возвращает 405 Method Not Allowed. Это ограничение GitFlic API, не ошибка MCP-сервера. Используйте git push origin :refs/heads/имя-ветки как альтернативу.

compare_branches

Сравнить две ветки — список изменённых файлов.

Параметр

Тип

Обяз.

Описание

owner

string

да

Алиас владельца

project

string

да

Алиас проекта

compare

string

да

Сравниваемая ветка

base

string

нет

Базовая ветка (по умолчанию — ветка по умолчанию)

Коммиты

list_commits

Список коммитов ветки.

Параметр

Тип

Обяз.

Описание

owner

string

да

Алиас владельца

project

string

да

Алиас проекта

branch

string

нет

Имя ветки (по умолчанию — ветка по умолчанию)

page

number

нет

Номер страницы (с 0)

size

number

нет

Элементов на странице

get_commit

Получить коммит по хешу.

Параметр

Тип

Обяз.

Описание

owner

string

да

Алиас владельца

project

string

да

Алиас проекта

hash

string

да

Хеш коммита

get_commit_files

Список файлов, изменённых в коммите.

Параметр

Тип

Обяз.

Описание

owner

string

да

Алиас владельца

project

string

да

Алиас проекта

hash

string

да

Хеш коммита

diff_commits

Diff между двумя коммитами.

Параметр

Тип

Обяз.

Описание

owner

string

да

Алиас владельца

project

string

да

Алиас проекта

sourceCommitId

string

да

Хеш исходного коммита

targetCommitId

string

да

Хеш целевого коммита

Теги

list_tags

Список тегов проекта.

Параметр

Тип

Обяз.

Описание

owner

string

да

Алиас владельца

project

string

да

Алиас проекта

page

number

нет

Номер страницы (с 0)

size

number

нет

Элементов на странице

get_tag

Получить тег по имени.

Параметр

Тип

Обяз.

Описание

owner

string

да

Алиас владельца

project

string

да

Алиас проекта

tagName

string

да

Имя тега

create_tag

Создать тег.

Параметр

Тип

Обяз.

Описание

owner

string

да

Алиас владельца

project

string

да

Алиас проекта

tagName

string

да

Имя тега

message

string

нет

Сообщение (аннотированный тег)

commitId

string

нет

Хеш коммита (указать commitId или branchName)

branchName

string

нет

Имя ветки для тега на HEAD (указать commitId или branchName)

Релизы

list_releases

Список релизов проекта.

Параметр

Тип

Обяз.

Описание

owner

string

да

Алиас владельца

project

string

да

Алиас проекта

page

number

нет

Номер страницы (с 0)

size

number

нет

Элементов на странице

get_release

Получить релиз по UUID.

Параметр

Тип

Обяз.

Описание

owner

string

да

Алиас владельца

project

string

да

Алиас проекта

releaseUuid

string

да

UUID релиза

get_latest_release

Получить последний релиз проекта.

Параметр

Тип

Обяз.

Описание

owner

string

да

Алиас владельца

project

string

да

Алиас проекта

create_release

Создать релиз.

Параметр

Тип

Обяз.

Описание

owner

string

да

Алиас владельца

project

string

да

Алиас проекта

title

string

да

Название релиза

description

string

да

Описание релиза

tagName

string

да

Имя тега

preRelease

boolean

нет

Пометить как пре-релиз

attachProjectArchive

boolean

нет

Прикрепить архив проекта

projectArchiveFormat

string

нет

Формат архива: zip, tar, tar.gz, tar.xz, tar.bz2, 7z

update_release

Обновить релиз.

Параметр

Тип

Обяз.

Описание

owner

string

да

Алиас владельца

project

string

да

Алиас проекта

releaseUuid

string

да

UUID релиза

title

string

да

Название релиза

tagName

string

да

Имя тега

description

string

нет

Описание релиза

preRelease

boolean

нет

Пометить как пре-релиз

delete_release

Удалить релиз.

Параметр

Тип

Обяз.

Описание

owner

string

да

Алиас владельца

project

string

да

Алиас проекта

releaseUuid

string

да

UUID релиза

Вебхуки

list_webhooks

Список вебхуков проекта.

Параметр

Тип

Обяз.

Описание

owner

string

да

Алиас владельца

project

string

да

Алиас проекта

page

number

нет

Номер страницы (с 0)

size

number

нет

Элементов на странице

get_webhook

Получить вебхук по ID.

Параметр

Тип

Обяз.

Описание

owner

string

да

Алиас владельца

project

string

да

Алиас проекта

webhook_id

string

да

UUID вебхука

create_webhook

Создать вебхук.

Параметр

Тип

Обяз.

Описание

owner

string

да

Алиас владельца

project

string

да

Алиас проекта

url

string

да

URL обратного вызова

secret

string

да

Секретный ключ

events

string[]

да

Список событий (см. ниже)

update_webhook

Обновить вебхук.

Параметр

Тип

Обяз.

Описание

owner

string

да

Алиас владельца

project

string

да

Алиас проекта

webhook_id

string

да

UUID вебхука

url

string

да

URL обратного вызова

secret

string

да

Секретный ключ

events

string[]

да

Список событий (см. ниже)

delete_webhook

Удалить вебхук.

Параметр

Тип

Обяз.

Описание

owner

string

да

Алиас владельца

project

string

да

Алиас проекта

webhook_id

string

да

UUID вебхука

События вебхуков

COLLABORATOR_ADD, COLLABORATOR_DELETE, COLLABORATOR_UPDATE, ISSUE_CREATE, ISSUE_UPDATE, NEW_ISSUE_NOTE, TAG_CREATE, TAG_DELETE, BRANCH_CREATE, BRANCH_UPDATE, BRANCH_DELETE, MERGE_REQUEST_CREATE, MERGE_REQUEST_UPDATE, MERGE_REQUEST_CLOSE, MERGE_REQUEST_CANCEL, MERGE_REQUEST_ACCEPT, MERGE, DISCUSSION_CREATE, DISCUSSION_COMMENT_CREATE, PIPELINE_NEW, PIPELINE_SUCCESS, PIPELINE_FAIL, WEBHOOK_SEND

CI/CD

list_pipelines

Список пайплайнов проекта.

Параметр

Тип

Обяз.

Описание

owner

string

да

Алиас владельца

project

string

да

Алиас проекта

page

number

нет

Номер страницы (с 0)

size

number

нет

Элементов на странице

start_pipeline

Запустить пайплайн.

Параметр

Тип

Обяз.

Описание

owner

string

да

Алиас владельца

project

string

да

Алиас проекта

refName

string

нет

Имя ветки или тега (по умолчанию — ветка по умолчанию)

isTag

boolean

нет

true, если refName — тег

variables

object[]

нет

Переменные: [{"key": "...", "value": "..."}]

list_pipeline_jobs

Список задач пайплайна.

Параметр

Тип

Обяз.

Описание

owner

string

да

Алиас владельца

project

string

да

Алиас проекта

pipeline_id

integer

да

Локальный ID пайплайна

page

number

нет

Номер страницы (с 0)

size

number

нет

Элементов на странице

restart_pipeline

Перезапустить пайплайн.

Параметр

Тип

Обяз.

Описание

owner

string

да

Алиас владельца

project

string

да

Алиас проекта

pipeline_id

integer

да

Локальный ID пайплайна

cancel_pipeline

Отменить запущенный пайплайн.

Параметр

Тип

Обяз.

Описание

owner

string

да

Алиас владельца

project

string

да

Алиас проекта

pipeline_id

integer

да

Локальный ID пайплайна

get_job

Получить информацию о задаче.

Параметр

Тип

Обяз.

Описание

owner

string

да

Алиас владельца

project

string

да

Алиас проекта

job_id

integer

да

Локальный ID задачи

list_job_artifacts

Список артефактов задачи.

Параметр

Тип

Обяз.

Описание

owner

string

да

Алиас владельца

project

string

да

Алиас проекта

job_id

integer

да

Локальный ID задачи

restart_job

Перезапустить задачу.

Параметр

Тип

Обяз.

Описание

owner

string

да

Алиас владельца

project

string

да

Алиас проекта

job_id

integer

да

Локальный ID задачи

cancel_job

Отменить запущенную задачу.

Параметр

Тип

Обяз.

Описание

owner

string

да

Алиас владельца

project

string

да

Алиас проекта

job_id

integer

да

Локальный ID задачи

list_cicd_variables

Список CI/CD переменных проекта.

Параметр

Тип

Обяз.

Описание

owner

string

да

Алиас владельца

project

string

да

Алиас проекта

Известные ограничения

  • delete_branch не работает. GitFlic API на api.gitflic.ru не поддерживает метод DELETE для веток (405 Method Not Allowed). Используйте git push origin :refs/heads/имя-ветки как альтернативу.

  • CI/CD требует настройки. Для работы инструментов start_pipeline, restart_pipeline, cancel_pipeline и операций с задачами необходим файл .gitflic-ci.yaml в репозитории и подключённый runner.

Лицензия

Apache License 2.0

-
license - not tested
-
quality - not tested
D
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/revenant20/gitflic-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server