Skip to main content
Glama
gitflic-mcp
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 — никаких тяжёлых фреймворков.

Related MCP server: GitCode MCP Server

Установка

Требования

  • 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

Available Tools

66 tools
add_issue_commentA

Add a text comment to an issue discussion thread. The comment will appear as posted by the authenticated user. Use list_issue_comments to see existing comments first.

Inputs: text (required), owner (required), project (required), issue_id (required).

approve_merge_requestA

Toggle approval on a merge request. If not yet approved by the authenticated user, this adds approval; if already approved, this removes it. Use get_merge_request to check the current approval state first.

Inputs: mr_id (required), owner (required), project (required).

cancel_jobA

Cancel a specific running CI/CD job without affecting other jobs in the pipeline. Use this to stop a single job that is hanging or no longer needed.

Inputs: owner (required), job_id (required), project (required).

cancel_merge_requestA

Cancel a merge request (withdraw it). The MR status changes to CANCELLED, indicating it was withdrawn by the author. Use close_merge_request instead if the MR was reviewed and rejected by others.

Inputs: mr_id (required), owner (required), project (required).

cancel_pipelineA

Cancel a currently running CI/CD pipeline and all its active jobs. The pipeline must be in a running state. Use this to stop a pipeline that is no longer needed.

Inputs: owner (required), project (required), pipeline_id (required).

close_merge_requestA

Close a merge request without merging. The source branch is preserved. Use this when proposed changes are no longer needed or were rejected. To withdraw your own MR, use cancel_merge_request instead.

Inputs: mr_id (required), owner (required), project (required).

compare_branchesA

Compare two branches and list files that differ between them. Returns changed files with added/removed line counts. If base is omitted, compares against the default branch. For a detailed line-by-line diff, use diff_commits instead.

Inputs: owner (required), compare (required), project (required), base.

create_branchA

Create a new branch from an existing one. The new branch will point to the same commit as the origin branch's HEAD. Use list_branches to verify existing branches first.

Inputs: owner (required), project (required), newBranch (required), originBranch (required).

create_issueA

Create a new issue in a GitFlic project. Requires title and description. Status defaults to OPEN but can be set to IN_PROGRESS, CLOSED, or COMPLETED. Labels and assignees are not supported through this tool.

Inputs: owner (required), title (required), project (required), description (required), +1 more.

create_merge_requestA

Create a new merge request to merge one branch into another. Both branches must exist in the project. Optionally enable squash commits or auto-delete of the source branch after merge. Internally resolves the project UUID.

Inputs: owner (required), title (required), project (required), description (required), +4 more.

create_mr_discussionA

Start a new discussion on a merge request. For a general comment, only provide the message. For a line-level code comment, also provide newLine, oldLine, newPath, and oldPath — all four fields are required together for code comments.

Inputs: mr_id (required), owner (required), message (required), project (required), +4 more.

create_releaseA

Create a new release tied to an existing Git tag. Requires title, description, and tag name. The tag must already exist — use create_tag first if needed. Can optionally attach a project archive in various formats (zip, tar.gz, etc.).

Inputs: owner (required), title (required), project (required), tagName (required), +4 more.

create_tagA

Create a new Git tag in a GitFlic project. Provide either commitId (specific commit hash) or branchName (tags the branch HEAD) — at least one is required. Include a message to create an annotated tag; omit it for a lightweight tag.

Inputs: owner (required), project (required), tagName (required), message, +2 more.

create_webhookA

Create a new webhook for a GitFlic project. Requires a callback URL, secret key for signature verification, and a list of events to subscribe to (e.g. ISSUE_CREATE, MERGE_REQUEST_CREATE, PUSH, PIPELINE_SUCCESS).

Inputs: url (required), owner (required), events (required), secret (required), +1 more.

delete_branchA

Delete a branch from a GitFlic project. WARNING: this endpoint currently returns 405 on api.gitflic.ru due to a GitFlic API limitation — this is not an MCP server bug. Do not use until GitFlic fixes the API.

Inputs: owner (required), project (required), branchName (required).

delete_mr_discussionA

Permanently delete a discussion thread and all its replies from a merge request. This action cannot be undone. Use resolve_mr_discussion to mark a discussion as resolved without deleting it.

Inputs: mr_id (required), owner (required), project (required), discussionUuid (required).

delete_releaseA

Permanently delete a release and its attached files. Identified by release UUID. This does not delete the associated Git tag. This action cannot be undone.

Inputs: owner (required), project (required), releaseUuid (required).

delete_webhookA

Permanently delete a webhook from a project. The webhook will stop receiving events immediately. This action cannot be undone.

Inputs: owner (required), project (required), webhook_id (required).

diff_commitsA

Get a full line-by-line diff between two commits. Returns detailed file changes with diff hunks. Can produce very large output for commits with many changes. Use get_commit_files for a lightweight summary of changed files instead.

Inputs: owner (required), project (required), sourceCommitId (required), targetCommitId (required).

get_branchA

Get detailed information about a specific branch by name, including the last commit hash, message, author, and timestamps. Use this before creating a merge request to verify the branch exists.

Inputs: owner (required), project (required), branchName (required).

get_commitA

Get detailed information about a specific commit by its hash (full or short). Returns full commit message, author/committer identities, timestamps, parent commit IDs, and verification status.

Inputs: hash (required), owner (required), project (required).

get_commit_filesA

List all files changed in a specific commit. Returns file paths, change types (ADD/MODIFY/DELETE), and added/removed line counts. Does not return the actual diff content — use diff_commits for that.

Inputs: hash (required), owner (required), project (required).

get_default_branchA

Get the default (main) branch of a project with full details including last commit info. Use this when you need the base branch name for comparisons or merge requests.

Inputs: owner (required), project (required).

get_file_contentA

Read the contents of a single file from a GitFlic repository as plain text. Supports files up to 15 MB. Cannot read binary files (images, archives) — returns 400 for those. The commitHash parameter is required and accepts a branch name (e.g. 'main') or a specific commit hash.

Inputs: file (required), owner (required), project (required), commitHash (required).

get_issueA

Get full details of a specific issue by its local numeric ID. Returns title, description, status (OPEN/IN_PROGRESS/CLOSED/COMPLETED), assigned users, labels, and timestamps. Use list_issues first to discover available issue IDs.

Inputs: owner (required), project (required), issue_id (required).

get_jobA

Get detailed information about a specific CI/CD job by its local ID. Returns job name, status, stage, duration, and runner info. Use list_pipeline_jobs to find job IDs first.

Inputs: owner (required), job_id (required), project (required).

get_latest_releaseA

Get the most recent release of a project with full details including description, attached files, and download links. Use this when you need the current version without browsing all releases.

Inputs: owner (required), project (required).

get_meA

Get the currently authenticated GitFlic user's profile, including username, full name, email, and avatar URL. Use this to verify the current user identity or to get the user alias needed for other API calls.

Inputs: no named parameters.

get_merge_requestA

Get full details of a merge request by its local numeric ID. Returns title, description, source/target branches, status, reviewers, conflict info, and the MR UUID needed for update_merge_request. Use this to inspect an MR before approving or merging.

Inputs: mr_id (required), owner (required), project (required).

get_mr_discussionA

Get a specific discussion thread by UUID, including all replies. Returns full message, author, file/line references for code comments, and all reply messages. Use list_mr_discussions to find discussion UUIDs.

Inputs: mr_id (required), owner (required), project (required), discussionUuid (required).

get_projectA

Get detailed information about a specific GitFlic project by owner and project alias. Returns title, description, default branch, language, topics, transport URLs (HTTP/SSH), and visibility settings. Use this to get project metadata before performing other operations.

Inputs: owner (required), project (required).

get_releaseA

Get full details of a release by its UUID (not tag name). Returns title, description, tag name, attached files with download links, and checksums. Use list_releases to find release UUIDs first.

Inputs: owner (required), project (required), releaseUuid (required).

get_tagA

Get detailed information about a specific tag by name. Returns the tag name, tagged commit ID, message, creation date, and whether it's lightweight or annotated. Use this to find the commit associated with a release version.

Inputs: owner (required), project (required), tagName (required).

get_userA

Get a GitFlic user's public profile by their alias (username). Returns name, avatar, and cover image. Does not return email — use get_me for the authenticated user's email.

Inputs: userAlias (required).

get_webhookA

Get full details of a specific webhook by its UUID, including callback URL, secret, and all subscribed events. Use list_webhooks to find webhook UUIDs first.

Inputs: owner (required), project (required), webhook_id (required).

list_branchesA

List all branches of a GitFlic project with pagination. Returns branch names and last commit messages. Use get_branch for detailed info about a specific branch, or get_default_branch to find the main branch.

Inputs: owner (required), project (required), page, size.

list_cicd_variablesA

List CI/CD environment variables configured for a project. These variables are available to all pipelines during execution. Variable values may be masked for security.

Inputs: owner (required), project (required).

list_commitsA

List commits of a branch with pagination. Defaults to the project's default branch if no branch is specified. Returns short commit hash, message, author, and date. Use get_commit for full details of a specific commit.

Inputs: owner (required), project (required), page, size, +1 more.

list_filesA

List files and directories at a specific path in a repository with last commit metadata. Defaults to root directory if filepath is omitted. Shows one directory level only — use list_files_recursive for a full tree view.

Inputs: owner (required), project (required), branch, filepath.

list_files_recursiveA

List all files in a repository recursively as a flat tree. Returns file paths, extensions, and sizes. The commitHash parameter is required (use a branch name like 'main') — without it the API returns 400. Use the depth parameter (0-10) to limit recursion. For browsing a single directory, use list_files instead.

Inputs: owner (required), project (required), commitHash (required), depth, +1 more.

list_issue_commentsA

List comments on a specific issue with pagination. Returns comment ID, author, truncated text (120 chars), and timestamp. Use get_issue to see the issue description itself — this tool only returns discussion comments.

Inputs: owner (required), project (required), issue_id (required), page, +1 more.

list_issuesA

List issues (tasks) of a GitFlic project with pagination. Returns issue local ID, title, status, and creation date. Issues are the GitFlic equivalent of GitHub Issues. Use get_issue to fetch full details including description and labels.

Inputs: owner (required), project (required), page, size.

list_job_artifactsA

List build artifacts produced by a CI/CD job. Returns artifact file names, UUIDs, and sizes. Artifacts are files generated during job execution (binaries, test reports, etc.).

Inputs: owner (required), job_id (required), project (required).

list_merge_requestsA

List merge requests of a GitFlic project with pagination. Returns MR local ID, title, status (OPEN/MERGED/CLOSED/CANCELLED), and source/target branches. Merge requests are the GitFlic equivalent of GitHub Pull Requests. Use get_merge_request for full details.

Inputs: owner (required), project (required), page, size.

list_mr_discussionsA

List discussion threads on a merge request with pagination. Returns discussion UUID, author, message preview, and resolved status. Discussions can be general comments or line-level code comments. Use get_mr_discussion for full thread details.

Inputs: mr_id (required), owner (required), project (required), page, +1 more.

list_pipeline_jobsA

List individual jobs within a specific CI/CD pipeline. Returns job IDs, names, statuses, and stages. Use get_job for detailed info about a specific job, or list_job_artifacts to see build artifacts.

Inputs: owner (required), project (required), pipeline_id (required), page, +1 more.

list_pipelinesA

List CI/CD pipelines of a GitFlic project with pagination. Returns pipeline IDs, statuses, branch/tag names, and creation dates. Requires .gitflic-ci.yaml and a registered runner in the project. Use list_pipeline_jobs to see individual jobs within a pipeline.

Inputs: owner (required), project (required), page, size.

list_project_membersA

List members (collaborators) of a project with their roles. Supports search by username. Internally resolves the project UUID from owner/alias before querying members.

Inputs: owner (required), project (required), q, page, +1 more.

list_projectsA

List projects owned by the authenticated user, including private ones. Supports filtering by title with the q parameter. To find public projects from other users, use search_projects. To list projects where you are a collaborator, use list_shared_projects.

Inputs: q, page, size.

list_releasesA

List releases of a GitFlic project with pagination. Returns release titles, tag names, pre-release flags, and creation dates. Releases are distribution snapshots tied to Git tags, similar to GitHub Releases. Use get_release or get_latest_release for full details.

Inputs: owner (required), project (required), page, size.

list_shared_projectsA

List projects where the authenticated user is a collaborator (not the owner). Supports filtering by title. To list projects you own, use list_projects instead.

Inputs: q, page, size.

list_tagsA

List all tags of a GitFlic project with pagination. Returns tag names and messages. Tags mark specific points in commit history, typically used for releases. Use get_tag for detailed info including the tagged commit.

Inputs: owner (required), project (required), page, size.

list_user_projectsA

List public projects owned by a specific GitFlic user. Only returns projects visible to the public. To list your own projects (including private ones), use list_projects instead.

Inputs: userAlias (required), page, size.

list_webhooksA

List webhooks configured for a GitFlic project with pagination. Returns webhook IDs, callback URLs, and subscribed event types. Webhooks send HTTP POST requests to external URLs when project events occur (pushes, issues, MRs, etc.).

Inputs: owner (required), project (required), page, size.

merge_merge_requestA

Perform the actual merge of a merge request into its target branch. The MR must be in OPEN status and have no conflicts. Optionally provide custom commit messages for the merge commit and/or squash commit. This is irreversible.

Inputs: mr_id (required), owner (required), project (required), commitMessage, +1 more.

reply_mr_discussionA

Add a reply to an existing discussion thread on a merge request. Requires the discussion UUID from list_mr_discussions or get_mr_discussion. The reply appears as posted by the authenticated user.

Inputs: mr_id (required), owner (required), message (required), project (required), +1 more.

resolve_mr_discussionA

Mark a discussion thread as resolved (closed), indicating the topic has been addressed. Resolved discussions are typically collapsed in the GitFlic UI. Use list_mr_discussions to check which discussions are still open.

Inputs: mr_id (required), owner (required), project (required), discussionUuid (required).

restart_jobA

Restart a specific CI/CD job without re-running the entire pipeline. Useful for retrying a single failed job while keeping other completed jobs intact.

Inputs: owner (required), job_id (required), project (required).

restart_pipelineA

Restart a previously completed or failed CI/CD pipeline. Re-runs all jobs from the beginning. The pipeline is identified by its local numeric ID from list_pipelines.

Inputs: owner (required), project (required), pipeline_id (required).

search_projectsA

Search for public projects across all of GitFlic by title. Returns paginated results with project alias, title, and owner. Only finds public projects — use list_projects for your own private projects.

Inputs: q, page, size.

start_pipelineA

Start a new CI/CD pipeline execution. Defaults to the project's default branch. Specify refName for a different branch or tag (set isTag=true for tags). Can pass custom variables. Requires .gitflic-ci.yaml and a registered runner.

Inputs: owner (required), project (required), isTag, refName, +1 more.

update_issueA

Update an existing issue's title, description, or status. Only provided fields will be changed. The issue is identified by its local numeric ID (not UUID). Use get_issue first to see current values.

Inputs: owner (required), project (required), issue_id (required), title, +2 more.

update_merge_requestA

Update a merge request's title, description, target branch, or squash/remove-branch settings. Requires the MR UUID (not local ID) — get it from get_merge_request response field 'id'. Title and targetBranch are always required.

Inputs: owner (required), title (required), mr_uuid (required), project (required), +4 more.

update_projectA

Update a project's settings including title, description, programming language, and topics. Only the provided fields will be changed. Requires owner or admin permissions on the project.

Inputs: owner (required), project (required), title, topics, +2 more.

update_releaseA

Update an existing release's title, description, tag association, or pre-release flag. The releaseUuid and tagName are always required — omitting tagName causes a 500 error. Use get_release to fetch current values before updating.

Inputs: owner (required), title (required), project (required), tagName (required), +3 more.

update_webhookA

Update an existing webhook's URL, secret, and event subscriptions. All fields are required — this replaces the entire webhook configuration. Use get_webhook first to get current values, then modify what you need.

Inputs: url (required), owner (required), events (required), secret (required), +2 more.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.9/5.0

    Scored across 66 tools

    Disambiguation4/5

    Most tools have clear resource-action distinctions, but there are a few potentially confusing pairs: list_user_projects/list_projects/list_shared_projects all list different project subsets, and close_merge_request vs cancel_merge_request differ only in intent. Descriptions clarify the differences, reducing the risk of misselection.

    Naming Consistency5/5

    All tool names follow a consistent verb_noun pattern with lowercase and underscores, using verbs like list, get, create, update, delete, merge, approve, cancel, and start. Even modifiers like recursive or user fit the pattern cleanly, making the naming fully predictable.

    Tool Count2/5

    With 66 tools, this is far above the 25-tool threshold considered 'too many'. While the server aims to cover a broad platform (GitFlic), the sheer number of tools creates a heavy cognitive load and makes it difficult for an agent to efficiently select the right one.

    Completeness3/5

    The server covers a wide range of domains: projects, issues, merge requests, branches, commits, tags, releases, discussions, webhooks, and CI/CD. However, there are notable gaps: no create_project or delete_project, no delete_issue, issue creation does not support labels/assignees, and delete_branch is broken due to the API. Core workflows are present, but some lifecycle operations are missing.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers