🚀 GitlabMCP-AnschauTI
Version 1.3.1 | MIT License
GitLab productivity tools integrated with GitHub Copilot. Automate issue management, code review, and task decomposition - all with natural language!
📋 Requirements
- ✅ GitLab Personal Access Token with scopes:
api, read_user, write_repository
- ✅ GitHub Copilot (recommended for AI-powered workflows)
No additional runtime needed - The extension uses VS Code's built-in Node.js runtime.
✅ macOS (Intel & Apple Silicon)
✅ Windows (x64 & ARM64)
✅ Linux (x64 & ARM64)
Pure TypeScript - works everywhere VS Code runs!
This extension provides 8 tools that work seamlessly with GitHub Copilot:
📋 Issue Management
1. list_gitlab_projects
Lists all projects in your CRM group. Shows name, ID, and full path. Use this first before creating any issue.
2. create_gitlab_issue
Creates a new GitLab issue. Requires project name, title with prefix ([US], [TD], or [BUG]), and Markdown description. Optional assignee and labels.
3. get_gitlab_issue ⭐ NEW in v1.3.0
Fetches complete information about an issue without making any changes (safe read-only operation). Shows IID, title, description, assignees, labels, status, dates, and URL. Always use this before update_gitlab_issue to confirm you're operating on the correct issue.
4. update_gitlab_issue ⚠️ DESTRUCTIVE
Edits an existing issue. Update title, description, assignee, labels, or status (close/reopen). Only modifies the fields you specify. Safety workflow: Get issue info first → Show to user → Ask confirmation → Execute.
5. get_gitlab_issue_template
Returns the standard issue template with sections: Description, Acceptance Criteria, Definition of Done, and Notes.
6. create_dev_tasks_from_issue ⚠️ DESTRUCTIVE
Automates creation of [DEV] issues from User Stories or Technical Debt. Reads the "## ✅ Tarefas" section, creates one [DEV] issue per checkbox, and links them to the parent issue. Requires specifying target project. Safety workflow: Get issue info first → Show tasks to create → Ask confirmation → Execute.
🔍 Code Review
7. review_gitlab_merge_request
Analyzes a Merge Request using 19 code review rules. Returns a complete report with metadata, quality checklist, and only added lines (+). Marks commentable lines with 💬.
8. post_merge_request_comments
Posts inline comments on specific MR lines. Use after review_gitlab_merge_request. Important: Only works on added lines (marked with 💬), not context lines.
🎬 Getting Started
Installation
Install from the VS Code Marketplace:
- Open VS Code
- Go to Extensions (
Ctrl+Shift+X / Cmd+Shift+X)
- Search for "GitlabMCP-AnschauTI"
- Click Install
Configuration
On first use, configure your GitLab credentials:
Command Palette (Cmd+Shift+P / Ctrl+Shift+P):
GitLab MCP: Configure GitLab
You'll need to provide:
- GitLab API URL - Your GitLab API endpoint (e.g.,
http://gitlab.company.com/api/v4)
- Personal Access Token - Token with
api, read_user, write_repository scopes
- Default Group (optional) - Your team's namespace (e.g.,
company/team)
- Default Assignee (optional) - Your GitLab username
Usage with GitHub Copilot
Open Copilot Chat and start using natural language:
Example 1: Create an issue
@workspace list gitlab projects
@workspace create a user story in project authorization-service about improving audit logs
Example 2: Review a merge request
@workspace review merge request !42 from project customer-service
Example 3: Create dev tasks
@workspace create dev tasks from issue [#1038](https://github.com/anschauti/gitlab-mcp-extension/issues/1038) in project authorization-service
The AI will guide you through the workflow, showing options and generating content automatically.
🔐 Getting Your GitLab Token
- Go to GitLab → Settings → Access Tokens
- Click "Add new token"
- Configure:
- Name:
VS Code MCP
- Scopes: Select
api, read_user, write_repository
- Expiration: Set to 1 year (recommended)
- Click Create personal access token
- Copy the token (shown only once!)
- Paste it in the extension configuration wizard
⚙️ Manual Configuration
If you need to update your settings later:
Via Command Palette:
GitLab MCP: Configure GitLab
Or edit VS Code settings:
{
"gitlabmcp.gitlab.url": "http://gitlab.company.com/api/v4",
"gitlabmcp.gitlab.defaultGroup": "company/team",
"gitlabmcp.gitlab.defaultAssignee": "your-username"
}
Update token via Command Palette:
GitLab MCP: Configure GitLab
🛠️ Available Commands
| Command |
Description |
GitLab MCP: Configure GitLab |
Open configuration wizard |
GitLab MCP: Create GitLab Issue |
Show usage tips with Copilot |
GitLab MCP: List GitLab Projects |
Show project search tips |
GitLab MCP: Show Issue Template |
Display complete template |
🐛 Troubleshooting
❌ Server doesn't start
- Check Output Channel:
View → Output → GitlabMCP-AnschauTI
- Verify Node.js is accessible to VS Code
- Restart VS Code
- Reconfigure:
GitLab MCP: Configure GitLab
- Restart VS Code completely
- Check server status in status bar (should show ✔️ GitlabMCP-AnschauTI)
- Open Output Channel to view logs:
View → Output → GitlabMCP-AnschauTI
❌ "Project not found" error
Use the exact project name from the list:
@workspace list GitLab projects
Copy the exact name shown in the returned list (case-sensitive).
❌ Cannot create [DEV] tasks
Make sure your issue has a section named ## ✅ Tarefas or ## Tarefas with checkboxes:
## ✅ Tarefas
- [ ] Task 1
- [ ] Task 2
You must also specify the target project when creating tasks.
📝 Issue Template Structure
All issues follow a comprehensive template with these sections:
- 🎯 Objective - What needs to be done and why
- 📌 Context - Current situation and background
- 📡 API Contracts - Request/Response (if applicable)
- 🔗 Dependencies - External services, prerequisites
- ✅ Tasks - Technical checklist (used by create_dev_tasks_from_issue)
- ⚡ Impacts - Breaking changes, migrations
- ⚠️ Observations - Risks and considerations
- 📊 Success Metrics - SLAs, monitoring
- ✔️ Acceptance Criteria - How to validate completion
Note: GitHub Copilot automatically includes only relevant sections based on context.
📄 License
MIT License - See LICENSE file for details.
Made with ❤️ for GitLab + GitHub Copilot users
Questions or issues? Open an issue on the repository! 🚀