gitflic-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| GITFLIC_TOKEN | Yes | Токен доступа GitFlic API | |
| GITFLIC_API_URL | No | Базовый URL API (по умолчанию https://api.gitflic.ru) | https://api.gitflic.ru |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| 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. |
| 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. |
| 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. |
| 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. |
| 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. |
| 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. |
| 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. |
| 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. |
| 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. |
| 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. |
| 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. |
| 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. |
| 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. |
| 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. |
| 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. |
| 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. |
| 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. |
| 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. |
| 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. |
| 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. |
| 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. |
| 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. |
| 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. |
| 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. |
| 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. |
| 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. |
| 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. |
| 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. |
| 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. |
| 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. |
| 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. |
| 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. |
| 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. |
| 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. |
| 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. |
| 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. |
| 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. |
| 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. |
| 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. |
| 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. |
| 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. |
| 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. |
| 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.). |
| 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. |
| 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. |
| 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. |
| 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. |
| 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. |
| 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. |
| 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. |
| 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. |
| 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.). |
| 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. |
| 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). |
| 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. |
| delete_webhookA | Permanently delete a webhook from a project. The webhook will stop receiving events immediately. This action cannot be undone. |
| 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. |
| 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. |
| 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. |
| 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. |
| 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. |
| 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. |
| 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.). |
| 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. |
| 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. |
| 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. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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