gitlab-mcp-swift
GitLab MCP server written in Swift - Provides GitLab CLI integration for AI assistants via Model Context Protocol
Documentation
GitLab MCP Server (Swift)
A Model Context Protocol (MCP) server that wraps the GitLab CLI (`glab`) to provide GitLab functionality to AI assistants like Claude Desktop.
Features
- ๐ Native Swift implementation using the official MCP Swift SDK
- ๐ง Full GitLab CLI integration - supports all `glab` commands
- ๐ฏ Smart prompts for common workflows (merge requests, CI/CD, daily standup)
- ๐ JSON output parsing with fallback to plain text
- ๐ Secure authentication via system `glab` credentials
- โก High performance with Swift's async/await concurrency
Prerequisites
- macOS (Swift 5.9+ installed via Xcode)
- glab CLI installed and authenticated
- Claude Desktop or another MCP-compatible client
Installation
Quick Install
# Clone the repository
git clone https://github.com/yourusername/gitlab-mcp-swift.git
cd gitlab-mcp-swift
# Run the install script
./install.shThe install script will:
1. Build the server using Swift Package Manager
2. Install it to `~/.swiftpm/bin/git-lab-mcp`
3. Display the configuration for Claude Desktop
Manual Installation
# Build the project
swift build -c release
# Install to a location in your PATH
cp .build/release/git-lab-mcp ~/.swiftpm/bin/Configuration
Add to your Claude Desktop configuration (`~/Library/Application Support/Claude/claude_desktop_config.json`):
{
"mcpServers": {
"gitlab": {
"command": "/Users/YOUR_USERNAME/.swiftpm/bin/git-lab-mcp",
"args": ["--log-level", "info"],
"env": {
"PATH": "/opt/homebrew/bin:/usr/local/bin:/usr/bin:/bin"
}
}
}
}Authentication
The server uses your existing `glab` CLI authentication:
# Login to GitLab
glab auth login
# Check authentication status
glab auth statusAvailable Tools
Core Tools
- `glab_mr` - Merge request operations (list, create, view, merge, approve)
- `glab_issue` - Issue management (list, create, view, close, update)
- `glab_ci` - CI/CD pipeline operations (view, list, run, retry)
- `glab_repo` - Repository operations (clone, fork, view, archive)
- `glab_api` - Direct GitLab API access
- `glab_auth` - Authentication management
- `glab_version` - Version information
- `glab_raw` - Execute any glab command directly
Prompts
The server includes intelligent prompts for common workflows:
- `my-mrs` - Check your merge requests
- `create-mr` - Create a merge request with guided parameters
- `daily-standup` - Gather GitLab activity for daily standups
- `review-pipeline` - Review CI/CD pipeline status
Usage Examples
Check Your Merge Requests
Use the prompt "my-mrs" to see all your open merge requestsCreate a Merge Request
Use the prompt "create-mr" with:
- title: "Fix: Memory leak in user service"
- source_branch: "fix/memory-leak"
- target_branch: "main"Run CI/CD Pipeline
Use tool "glab_ci" with:
- subcommand: "run"
- repo: "myteam/myproject"Development
Building from Source
# Clone the repository
git clone https://github.com/yourusername/gitlab-mcp-swift.git
cd gitlab-mcp-swift
# Build in debug mode
swift build
# Run tests
swift test
# Build for release
swift build -c releaseProject Structure
gitlab-mcp-swift/
โโโ Sources/
โ โโโ GitLabMCP/
โ โโโ GitLabMCPServer.swift # Main server implementation
โ โโโ GitLabMCPCommand.swift # CLI entry point
โ โโโ GitLabCLI.swift # GitLab CLI wrapper
โโโ Package.swift # Swift package manifest
โโโ install.sh # Installation script
โโโ README.md # This fileTroubleshooting
Server fails to start
- Ensure `glab` is installed: `which glab`
- Check authentication: `glab auth status`
- Run with debug logging: `--log-level debug`
Commands return "not authenticated"
- Run `glab auth login` to authenticate
- For self-hosted instances: `glab auth login --hostname your.gitlab.instance`
MCP connection issues
- Restart Claude Desktop after configuration changes
- Check the logs in Claude Desktop's developer console
- Verify the executable path is correct in the configuration
Contributing
Contributions are welcome! Please:
1. Fork the repository
2. Create a feature branch
3. Make your changes
4. Add tests if applicable
5. Submit a pull request
License
MIT License - see LICENSE file for details
Acknowledgments
- Built with the Model Context Protocol Swift SDK
- Wraps the excellent GitLab CLI (glab)
- Inspired by the need for better GitLab integration in AI assistants
Frequently asked questions
What is gitlab-mcp-swift?
gitlab-mcp-swift is GitLab MCP server written in Swift - Provides GitLab CLI integration for AI assistants via Model Context Protocol
How do I install gitlab-mcp-swift?
Open the GitHub repository and follow its README. Most MCP servers are added to your client's MCP config, then called by your agent.
Is gitlab-mcp-swift open source?
Yes โ it is hosted on GitHub at https://github.com/doozMen/gitlab-mcp-swift and has 1 stars.
Related MCP tools
Peekaboo is a macOS CLI & optional MCP server that enables AI agents to capture screenshots of applications, or the entire system, with optional visual question answering through local or remote AI models.
๐พ Open Computer Use โ Open-Source Alternative to Codex Computer Use
AI Skills, MCP Tools, and CLI for Unity Engine. Full AI develop and test loop. Use cli for quick setup. Efficient token usage, advanced tools. Any C# method may be turned into a tool by a single line. Works with Claude Code, Gemini, Copilot, Cursor and any other absolutely for free.
Unity MCP acts as a bridge between AI assistants and your Unity Editor. Give your LLM tools to manage assets, control scenes, edit scripts, and automate tasks within Unity.
๐ฅ Official Firecrawl MCP Server - Adds powerful web scraping and search to Cursor, Claude and any other LLM clients.
A Model Context Protocol (MCP) server and CLI that provides tools for agent use when working on iOS and macOS projects.
Run your own MCP server? See who uses it and what to fix.
Measure it with TrackMCP