GitLab - 3rd Place
ContribPilot
Finding an open source issue is easy. Contributing successfully is hard. ContribPilot bridges that gap with personalized guidance powered by Gemini and GitLab MCP.
Core trick
Fetches a repo's README and CONTRIBUTING files through GitLab MCP and ranks open issues with BM25 relevance scoring.
Built with
fastapigeminigitlabgoogle-cloudmcppythonreact
Description
Inspiration
As a computer science student, I’ve always wanted to contribute more to open source projects, but I repeatedly ran into the same problem: finding an issue is easy, actually contributing is hard.
Most beginners struggle with understanding unfamiliar repositories, figuring out contribution guidelines, setting up the project locally, and knowing where to start. Existing tools can recommend issues, but they rarely help contributors understand what comes next.
I built ContribPilot to bridge that gap. Instead of just finding beginner-friendly issues, I wanted an agent that could understand a repository, read its documentation, and generate a personalized roadmap that guides a developer from issue selection all the way to opening a Merge Request.
What it does
ContribPilot is an AI-powered open source contribution coach built with Gemini, Google Cloud, and GitLab MCP.
A user provides their skills and interests, and ContribPilot:
Finds beginner-friendly GitLab issues
Ranks opportunities using BM25-based relevance scoring
Retrieves repository context such as README and CONTRIBUTING files
Explains issues in plain language
Estimates difficulty and required skills
Generates a repository-specific implementation plan
Guides users through setup, development, testing, and Merge Request creation
Instead of receiving a list of links, users receive a complete contribution roadmap tailored to the repository they selected.
How we built it
I built ContribPilot using Gemini, Google Cloud Agent Builder, and GitLab MCP.
At the core of the project is the GitLab MCP integration, which gives the agent access to GitLab repositories, issues, merge requests, and project data through MCP tools. ContribPilot uses these MCP capabilities to search for contribution opportunities, retrieve issue details, and understand repository context.
To make the experience more useful for new contributors, I built an additional backend layer around the GitLab MCP integration. This layer handles GitLab OAuth, repository context retrieval, issue ranking, and contribution-specific analysis.
When a user asks for help contributing to open source, the agent:
Uses GitLab MCP tools to discover and retrieve contribution opportunities.
Retrieves repository context such as README files, contribution guidelines, and project documentation.
Analyzes the repository and issue requirements.
Generates a personalized implementation plan tailored to that repository.
The agent itself runs on Google Cloud using Gemini and Agent Builder, while the supporting services are deployed on Cloud Run. OAuth credentials are stored securely using Google Secret Manager.
Challenges we ran into
One of the biggest challenges was GitLab OAuth and repository access.
GitLab’s OAuth mcp scope works well for issue discovery, but repository file endpoints behave differently. Public repositories could be accessed without additional permissions, while private repositories required broader scopes. I had to design the repository context retrieval logic to handle these cases gracefully.
Another challenge was token management. GitLab access tokens expire after a short period of time and refresh tokens are rotated after every refresh. I implemented automatic token refresh logic and added synchronization mechanisms to prevent multiple requests from trying to refresh the same token simultaneously.
I also ran into issues integrating MCP with Google Agent Builder. Some MCP tool schemas contained fields that Agent Builder rejected with INVALID_ARGUMENT errors. I ended up normalizing tool schemas and removing unsupported fields before registration while applying defaults server-side.
Accomplishments that we're proud of
I’m most proud of building an agent that goes beyond issue discovery and helps users understand how to successfully contribute to open source projects.
Most contribution tools stop after recommending issues. ContribPilot continues the workflow by analyzing repository documentation, contribution guidelines, and project context to generate practical implementation plans tailored to a specific repository.
I’m also proud of successfully integrating GitLab MCP into a real-world workflow. Rather than using MCP as a simple demo integration, ContribPilot uses GitLab MCP capabilities as a core part of the contribution discovery and repository analysis process.
Finally, I’m proud that the project combines Gemini, Google Cloud Agent Builder, GitLab MCP, OAuth, and repository analysis into a complete agent experience that addresses a problem many developers face when trying to make their first open source contribution.
What we learned
Building ContribPilot taught me a lot about MCP, OAuth, cloud deployment, and agent architecture.
I learned how to design MCP tools that work reliably with AI agents, how OAuth token refresh workflows behave in production environments, and how to deploy agent-based applications using Google Cloud Run and Secret Manager.
I also learned that building a useful agent requires much more than connecting an LLM to an API. The quality of the workflow, tool design, and context retrieval has a huge impact on the usefulness of the final experience.
What's next for ContribPilot
My next goal is to expand ContribPilot beyond GitLab by adding GitHub integration so users can discover and contribute to open source projects across both platforms.
I also plan to improve the backend architecture so it can handle significantly more users and larger workloads while maintaining fast response times.
Finally, I want to add a complete authentication and user management system so contributors can save their progress, revisit contribution plans, and track their open source journey over time.
NiloySaha84/ContribPilot_Google_Rapid_Agent_Hackathon_Proj★ 10 forksPythonMITCreated Jun 11, 2026 · last push Jun 11, 2026
README excerpt
# ContribPilot **ContribPilot is an AI-powered open source contribution coach built with Gemini, Google Cloud, and GitLab MCP.** The biggest barrier to contributing to open source is not writing code — it's figuring out where to start. Developers often struggle to: - Find beginner-friendly issues - Understand unfamiliar repositories - Follow project-specific contribution workflows - Determine whether an issue matches their skill level - Know exactly what steps to take before opening a Merge Request ContribPilot solves this problem by acting as a contribution coach. A user provides their skills and interests, and ContribPilot: 1. Finds relevant beginner-friendly GitLab issues 2. Reads repository context (README, CONTRIBUTING, documentation, and project files) 3. Explains the issue in plain language 4. Assesses difficulty and required skills 5. Generates a repository-specific implementation plan 6. Guides the user from issue selection to Merge Request submission The project was built for the **Google Cloud Agent Hackathon** using: - Gemini - Google Cloud - GitLab MCP - GitLab OAuth - FastAPI - Cloud Run --- # Example Workflow User: > I know Python and Docker. Help me make my first open source contribution. ContribPilot: 1. Searches GitLab for suitable beginner-friendly issues 2. Ranks opportunities using BM25-based relevance scoring 3. Retrieves repository context 4. Reads README and contribution guidelines 5. Generates a personalized implementation plan Example