Welcome to GenCICD, a Model Context Protocol (MCP) server designed to generate GitLab CI configurations with integrated DevSecOps practices. This tool helps automate the setup of secure CI/CD pipelines for various programming languages and frameworks.
GenCICD provides a powerful MCP server that can be integrated with tools like Cursor or OpenAI via n8n workflows. It supports generating GitLab CI configurations tailored to specific project types, embedding security scanning and best practices directly into your development lifecycle.
- Multi-Language Support: Generates CI configurations for popular languages including Python, Java, Node.js/JavaScript, Go, Ruby, and PHP.
- DevSecOps Integration: Includes security jobs such as Trivy, SonarQube, OWASP Dependency Check, Black Duck, Coverity, DAST, and HashiCorp Vaults.
- Best Practices: Configurations follow industry standards with caching, parallel execution, branch-specific jobs, and proper dependency management.
- Project Analysis: Capable of analyzing project code to tailor configurations based on actual dependencies and structure.
This repository includes GitLab CI configuration files generated for specific projects using the GenCICD MCP server:
- servicedeskplus_mcp_gitlab-ci.yml: A tailored configuration for the 'servicedeskplus_mcp' project, identified as a Python FastAPI application. It includes build and test jobs for Python, along with a comprehensive set of DevSecOps security scans.
- uptimerobot_mcp_gitlab-ci.yml: A configuration for the 'uptimerobot_mcp' project, assumed to be a Node.js application, with build, test, and security jobs aligned with DevSecOps best practices.
- .gitlab-ci.yml: A generic configuration for a Node.js project, serving as a template or example of the GenCICD output with various DevSecOps jobs.
To use GenCICD for your project:
- Integrate with MCP: Ensure the GenCICD MCP server is running and accessible via your integration tool (Cursor, OpenAI, or n8n).
- Generate Configuration: Use the
generate_gitlab_citool provided by the MCP server, specifying your project type and desired DevSecOps jobs. - Review and Customize: Review the generated
.gitlab-ci.ymlfile, customizing placeholders (URLs, tokens, etc.) for your specific environment. - Implement in GitLab: Place the configuration file in your project's root directory and commit it to GitLab to enable the CI/CD pipeline.
For a more tailored configuration, provide access to your project's codebase, allowing GenCICD to analyze dependencies and structure for precise job definitions.
- Name: gencicd-server
- Version: 0.1.0
- Tool:
generate_gitlab_ci- Generate a GitLab CI configuration with DevSecOps jobs.
Feel free to contribute to GenCICD by extending language support, adding new security tools, or improving best practices. Submit issues or pull requests to enhance the tool's capabilities.
This project is licensed under the MIT License - see the LICENSE file for details.