The recent surge in AI adoption has profoundly transformed the way we work. The practices becoming the norm today are far beyond anything we could have imagined just two years ago. The careful selection of tools can yield extraordinary gains in the productivity and quality of our work. In this post we are going to explore a low effort but powerful setup that can yield some remarkable efficiency gains. We will look at how we can wire our VS Code Copilot with our GitLab repo, using a lightweight package called gitlab-mcp and how this integration can reinvent the way we write code and execute our tasks.
Disclaimer: There's also an official GitLab MCP server, which unfortunately was experiencing issues with VS Code at the time of writing.
Vibe Coding?
Vibe coding is a relatively new software development practice that surfaced with the recent AI boom. Instead of thinking and writing most of the code ourselves, we rely heavily on large language models (LLMs) to generate it for us. We feed these LLMs natural language prompts and they handle the heavy lifting of implementing the changes in our codebase.
This approach works particularly well for the initial scaffolding of a change we want to implement. It's an iterative process where we need to go back and forth with the LLM, refining our instructions through multiple cycles until the result fits our exact needs. Our role shifts from being primarily coders, to being the orchestrators and the reviewers of the development process.
MCP Servers?
The Model Context Protocol is an open standard introduced in late 2024 to help LLM powered systems integrate with external tools and data sources in order to go beyond their built-in knowledge and use live and contextual data to enhance their capabilities.
In the use case we'll explore below, we'll leverage an MCP Server that connects to our GitLab repository and enables Copilot to understand the full context of our team’s work. From project interdependencies to issues, merge requests, pipelines, and everything else happening across our GitLab space. With all this context in Copilot's arsenal, our day to day work becomes much smoother whether we are reviewing code, developing features tied to open issues, opening merge requests or adding documentation to the wiki.
Setting up our dev environment
We are going to focus on the MCP Server configuration for this blog.
Before we begin, make sure you have the following prerequisites set up:
- VS Code
- Copilot with MCP enabled
Adding the MCP Server configuration
Our first step is to configure the GitLab MCP Server. We'll add a user-level configuration to make the MCP Server available globally to every project or folder we open in VS Code.
To do this, open the Command Palette in VS Code and run the following command
MCP: Open User Configuration
This will open the mcp.json file at the user level in the editor.
Add the following configuration and click save
{ "servers": { "GitLab": { "type": "stdio", "command": "npx", "args": ["-y", "@zereight/mcp-gitlab"], "env": { "GITLAB_PERSONAL_ACCESS_TOKEN": "<your gitlab PAT goes here>", "GITLAB_READ_ONLY_MODE": "false" } } }, "inputs": [] }
By adding this, we create a MCP Server to connect to GitLab using mcp-gitlab Node.js package. For the full list of tools and more info please look at the project's GitHub repository.
Seeing the server in action
For demonstration purposes for this blog, I’ve created a GitLab project with a simple open issue: to build a “Hello World” application using Node.js.
Connecting to our GitLab repository
We begin this hypothetical workflow of implementing this issue by telling Copilot which private repository to work with and asking it to check for any open issues.

As we can see, Copilot successfully connected to the repo, found the issue and provided a concise summary of the issue details.
Implementing the issue
Next we simply ask Copilot to implement our hypothetical feature based on the information it gathers from the GitLab issue.

Copilot retrieved all the necessary information and proceeded with the implementation of this very simple example.
Verifying the implementation
Copilot can read the acceptance criteria, run the application and check the console output to verify it works as expected as you can see in the pictures below


Creating the merge request
Once we are satisfied with Copilot's work, we can ask it to create the merge request.


And with that we conclude our fictional workflow without breaking a sweat writing code or losing our focus by switching over to GitLab to manually open the Merge Request.
Closing Thoughts
What we demonstrated above is a clear example of the productivity gains that can be realized by incorporating agentic coding tools in to our daily workflows. In this case we saw how we can vibe code our solutions entirely within VS Code without ever needing to switch context to GitLab.
As AI tools and MCP servers continue to evolve, similar setups will soon be possible across any IDE and project management platform. Every developer should start exploring these integrations to make the most of this new era of AI-assisted development.
Akis Papaditsas - Monex Insight