This project aims to demonstrate (as a POC) how we can use MCP Servers to feed real time CI Build context to the IDE and use AI Agents for on the fly status monitoring and context based quick code fixes. The aim of such tool is to enhance the developer experience and cut the time involved in juggling between different tabs
- Docker
- Git
- Ngrok
(If Docker Desktop or setup guide has issues running on Windows systems, its recommended to use the setup in wsl)
- Fork the repository
- Clone the forked repository
- In project directory run command:
make check_deps - If any dependency is not installed fulfill the requirement
- Then run command:
make ci-up - This command will get the Jenkins running on
localhost:8080 - Run command
docker logs contrihub-jenkins - Copy the admin password to clipboard
- Open localhost:8080 on browser
- Enter the password
- Choose Install Suggested Plugins
- Back in terminal run following command on another instance of the terminal:
make ip-tunnel - This will provide you the public IP endpoint of the localhost:8080
- In the forked repository on github, go to repository settings and then webhooks
- Create a webhook and enter this public_IP_endpoint/github-webhook/ as webhook url
- Open the jenkins portal on browser and under the manage jenkins (settings icon) click on plugins
- Install following plugins by searching in available plugins: a. github integration b. docker pipeline
- Configure a new job by clicking on jenkins icon and selecting add new job
- In configuration page, under triggers select Github hook trigger for GITScm Polling
- Under Pipeline select the dropdown option as Pipeline script from SCM
- Under SCM Dropdown select git
- Add repository URL
- Select add credentials and add your github username and in password add your PAT token (generated on github.com)
- Select the added credential by dropdown showing none
- Make a code change and push your code to github, the build should trigger
Create the MCP Server with logic to fetch build status and incase of failure fetch the build logs and provide as context to LLM At the end of project, the build must run and succeed
- MCP - https://modelcontextprotocol.io/docs/getting-started/intro
- Jenkins - https://www.jenkins.io/
- WSL - https://learn.microsoft.com/en-us/windows/wsl/install
- Docker - https://www.docker.com/
- Ngrok - https://ngrok.com/
- CI - https://aws.amazon.com/what-is/ci-cd/
- Cloud Native Mindset - https://dev.to/aws-builders/embracing-cloud-native-mindset-1fi8