Skip to main content
Glama
yumeminami

Git MCP Server

by yumeminami

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
GIT_MCP_SERVER_DEBUGNoEnable debug mode (alternative to --debug flag)false
GIT_MCP_SERVER_LOG_FILENoLog to file instead of/in addition to console
GIT_MCP_SERVER_LOG_LEVELNoSet log level (DEBUG, INFO, WARNING, ERROR)INFO

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
list_platformsA

List all configured Git platforms (GitLab, GitHub, etc.)

test_platform_connectionC

Test connection to a configured platform

refresh_platform_usernameB

Refresh username for a configured platform by fetching from token

get_platform_configB

Get configuration information for a specific platform

get_current_user_infoC

Get current user information directly from platform API

list_projectsC

List projects from a specified Git platform

get_project_detailsC

Get detailed information about a specific project

create_projectC

Create a new project on the specified platform

delete_projectC

Delete a project from the specified platform

list_issuesC

List issues in a project. State can be 'opened', 'closed', or 'all'

list_all_issuesC

List issues across all projects (global search). No project_id needed.

list_my_issuesB

List issues assigned to me across all projects.

get_issue_detailsC

Get detailed information about a specific issue including comments

get_issue_by_urlA

Get issue details by URL. Supports GitLab and GitHub URLs.

Example URLs:

create_issueC

Create a new issue in a project

update_issueC

Update an existing issue

close_issueC

Close an issue

create_issue_commentC

Create a comment on an issue

list_merge_requestsC

List merge requests in a project. State can be 'opened', 'closed', 'merged', or 'all'

get_merge_request_detailsB

Get detailed information about a specific merge request

create_merge_requestA

Create a new merge request with cross-project support

Args: platform: Git platform name (github, gitlab, etc.) project_id: Source project ID (for cross-project MRs) or project ID (for same-project MRs) title: Merge request title source_branch: Source branch name or 'owner:branch' format for cross-repo target_branch: Target branch name (default: 'main') description: Optional merge request description assignee: Optional assignee username target_project_id: Optional target project ID for cross-project merge requests **kwargs: Additional platform-specific parameters

Returns: Dict containing merge request details

Examples: # Same-project MR create_merge_request("gitlab", "123", "Fix bug", "feature-branch", "main")

# Cross-project MR (fork to upstream)
create_merge_request("gitlab", "456", "Fix bug", "feature-branch", "main",
                   target_project_id="123")

# GitHub cross-repo PR (using branch format)
create_merge_request("github", "upstream/repo", "Fix bug", "fork-owner:feature-branch", "main")
list_my_merge_requestsB

List merge requests created by the current user (automatically uses configured username)

get_merge_request_diffA

Get diff/changes for a merge request

Args: platform: The platform name (e.g., 'gitlab', 'github') project_id: The project identifier mr_id: The merge request/pull request ID **options: Optional parameters: - format: Response format ('json', 'unified') - default: 'json' - include_diff: Include actual diff content (bool) - default: True

Returns: Dict containing: - mr_id: The merge request ID - total_changes: Summary of additions, deletions, files changed - files: List of changed files with details - diff_format: Format of the response - truncated: Whether response was truncated

get_merge_request_commitsC

Get commits for a merge request

Args: platform: The platform name (e.g., 'gitlab', 'github') project_id: The project identifier mr_id: The merge request/pull request ID **filters: Optional filters for commit selection

Returns: Dict containing: - mr_id: The merge request ID - total_commits: Number of commits - commits: List of commit details with sha, message, author, dates, etc.

close_merge_requestA

Close a merge request without merging

Args: platform: The platform name (e.g., 'gitlab', 'github') project_id: The project identifier mr_id: The merge request/pull request ID **kwargs: Additional platform-specific parameters

Returns: Dict containing: - merge_request: Updated merge request details - message: Success message - platform: The platform name - project_id: The project identifier - mr_id: The merge request ID

update_merge_requestB

Update a merge request (title, description, etc.)

Args: platform: The platform name (e.g., 'gitlab', 'github') project_id: The project identifier mr_id: The merge request/pull request ID **kwargs: Update parameters (title, description, state, etc.)

Returns: Dict containing: - merge_request: Updated merge request details - message: Success message - platform: The platform name - project_id: The project identifier - mr_id: The merge request ID

list_milestonesB

List milestones for a project. State can be 'active', 'closed', or 'all'

create_milestoneC

Create a new milestone in a project. due_date format: YYYY-MM-DD

update_milestoneC

Update an existing milestone. due_date format: YYYY-MM-DD

close_milestoneC

Close a milestone

create_forkA

Create a fork of a repository

Args: platform: The platform name (github, gitlab) project_id: The repository ID to fork (owner/repo for GitHub, numeric for GitLab) **kwargs: Platform-specific fork parameters - GitHub: organization, name, default_branch_only - GitLab: namespace, name, path

get_fork_infoB

Get fork information for a repository

Args: platform: The platform name (github, gitlab) project_id: The repository ID to check

Returns: Dictionary with fork status, parent repository, and other fork details

list_forksA

List forks of a repository

Args: platform: The platform name (github, gitlab) project_id: The repository ID to list forks for limit: Maximum number of forks to return

Returns: List of fork repositories

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription
get_platforms_configGet the current platforms configuration

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/yumeminami/git_mcp'

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