Git MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| GIT_MCP_SERVER_DEBUG | No | Enable debug mode (alternative to --debug flag) | false |
| GIT_MCP_SERVER_LOG_FILE | No | Log to file instead of/in addition to console | |
| GIT_MCP_SERVER_LOG_LEVEL | No | Set log level (DEBUG, INFO, WARNING, ERROR) | INFO |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| 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") |
| 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
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| get_platforms_config | Get the current platforms configuration |
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/yumeminami/git_mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server