Skip to main content
Glama

DevOps MCP Server

by pointware
README.md4.01 kB
# DevOps MCP Server A Model Context Protocol (MCP) server for DevOps operations, providing tools for Docker image management and GitLab CI/CD configuration. ## Features ### Docker Tools - **Search Docker Images**: Find Docker images by keyword - **Get Image Tags**: Retrieve all available tags for a specific Docker image ### GitLab CI Tools - **Search GitLab CI References**: Find GitLab CI reference YAML files - **Get Reference Versions**: List all versions for a specific CI reference - **Get Pipeline Info**: Retrieve detailed GitLab CI custom pipeline information ## Installation ```bash npm install devops-mcp-server ``` ## Prerequisites ### PEM Certificate This server requires a PEM certificate for authenticating with the DevOps API at `https://labs.pointware.com`. 1. Place your PEM certificate file in the `certs/` directory as `client-cert.pem` 2. The certificate will be included when packaging the server ## Configuration ### For Claude Desktop Add this configuration to your Claude Desktop config file: **MacOS**: `~/Library/Application Support/Claude/claude_desktop_config.json` **Windows**: `%APPDATA%\Claude\claude_desktop_config.json` ```json { "mcpServers": { "devops": { "command": "node", "args": [ "/path/to/devops-mcp-server/dist/index.js" ] } } } ``` Or if installed globally via npm: ```json { "mcpServers": { "devops": { "command": "devops-mcp-server" } } } ``` ## Available Tools ### 1. search_docker_images Search for Docker images by keyword. **Parameters:** - `keyword` (string, required): Search term (e.g., "nginx", "postgres") **Example:** ``` Search for nginx Docker images ``` ### 2. get_docker_image_tags Get all available tags for a specific Docker image. **Parameters:** - `imageName` (string, required): Docker image name **Example:** ``` Get tags for nginx image ``` ### 3. search_gitlab_references Search for GitLab CI reference YAML files. **Parameters:** - `keyword` (string, required): Search term (e.g., "node", "python") **Example:** ``` Search for GitLab CI references related to node ``` ### 4. get_gitlab_reference_versions Get all versions for a specific GitLab CI reference. **Parameters:** - `referenceName` (string, required): Reference name **Example:** ``` Get versions for node-ci-template reference ``` ### 5. get_gitlab_pipeline_info Get detailed information about a GitLab CI custom pipeline. **Parameters:** - `pipelineName` (string, required): Pipeline name **Example:** ``` Get information about custom-deploy-pipeline ``` ## Development ### Setup ```bash # Install dependencies npm install # Build the project npm run build # Watch mode for development npm run watch ``` ### Project Structure ``` devops-mcp-server/ ├── src/ │ ├── api/ # API client with PEM authentication │ ├── tools/ # MCP tool implementations │ ├── types/ # TypeScript type definitions │ └── index.ts # Main server entry point ├── certs/ # PEM certificates directory ├── dist/ # Compiled JavaScript output └── package.json ``` ### API Endpoints The server communicates with the following API endpoints: - `GET /api/v1/docker/images?keyword={keyword}` - Search Docker images - `GET /api/v1/docker/images/{imageName}/tags` - Get Docker image tags - `GET /api/v1/gitlab/references?keyword={keyword}` - Search GitLab CI references - `GET /api/v1/gitlab/references/{referenceName}/versions` - Get reference versions - `GET /api/v1/gitlab/pipelines/{pipelineName}` - Get pipeline information ## Security - All API requests are authenticated using PEM certificates - The certificate file is included in the package distribution - HTTPS is enforced for all API communications ## Requirements - Node.js >= 18.0.0 - PEM certificate file for API authentication ## License MIT ## Support For issues and questions, please open an issue on the GitHub repository.

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/pointware/devops-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server