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 |
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": 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