Productivity framework for DevOps engineers using AI assistance (Claude Code) while working on PoCs
SaferSkills independently audited devops-practices (MCP Server) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
mcp-name: io.github.ai-4-devops/devops-practices
Purpose: Productivity framework for DevOps engineers using AI assistance (Claude Code) while working on PoCs.
Type: Model Context Protocol (MCP) Server for Claude Code
Version: 1.4.0
Status: 🎉 Officially Published in the MCP Registry (Published: February 18, 2026)
Published Versions:
34ca572)34ca572)Who is this for? DevOps engineers using Claude Code (VS Code plugin) for PoC development. What it does: Provides structure (TRACKER, ISSUES, docs, SoPs) so you can focus on building without worrying about documentation overhead. What it's NOT: Not a DevOps tutorial - it's a productivity framework for AI-assisted development.
Solves the CLAUDE.md Bloat Problem
Tired of maintaining massive CLAUDE.md files (1000+ lines) across multiple projects? This MCP centralizes reusable DevOps instructions for engineers working on multiple PoCs, eliminating repeated instructions across projects and folders.
The Problem:
The Solution:
What you get (structure, not knowledge):
When searching "devops" in the MCP Registry (as of February 2026), this is the only result. While other MCPs focus on:
This MCP provides:
What makes it different:
Perfect for: DevOps engineers using Claude Code (VS Code plugin) to build PoCs and conduct R&D with AI assistance.
No server management required:
Configuration Options:
You can configure the MCP server globally (all projects) or per-project:
Option 1: Global Configuration (~/.claude.json)
{
"mcpServers": {
"devops-practices": {
"command": "python3",
"args": ["-u", "~/.mcp-servers/devops-practices/mcp-server.py"],
"env": {"PYTHONUNBUFFERED": "1"}
}
}
}Option 2: Project-Level Configuration (.mcp.json in project root)
{
"mcpServers": {
"devops-practices": {
"command": "python3",
"args": ["-u", "~/.mcp-servers/devops-practices/mcp-server.py"],
"env": {"PYTHONUNBUFFERED": "1"}
}
}
}Setup Steps:
~/.claude.json (global) or .mcp.json (per-project)Note: The -u flag and PYTHONUNBUFFERED ensure real-time logging for debugging.
This MCP server provides shared DevOps practices that are common across infrastructure projects:
Organized using GG-SS prefix pattern (Group-Sequence) for better discoverability:
Naming Pattern: GG-SS-practice-name
03-02-air-gapped-workflow = Group 03, Sequence 02Group Legend:
#### Group 01: Workflow & Processes
#### Group 02: Version Control & Project Management
git mv, commit conventions, backup protocols, GitLab Flow#### Group 03: Infrastructure & Configuration
#### Group 04: Documentation Standards
devops-practices-mcp/
├── README.md # This file
├── mcp-server.py # MCP server implementation
├── requirements.txt # Python dependencies
├── .github/workflows/ci.yml # GitHub Actions pipeline
├── health-check.sh # Health validation script
├── practices/ # Shared practice documents (11 files, GG-SS organized)
│ ├── 01-01-session-continuity.md
│ ├── 01-02-task-tracking.md
│ ├── 01-03-efficiency-guidelines.md
│ ├── 02-01-git-practices.md
│ ├── 02-02-issue-tracking.md # 🆕 Advanced: In-repo issue tracking
│ ├── 03-01-configuration-management.md
│ ├── 03-02-air-gapped-workflow.md
│ ├── 03-03-standard-workflow.md
│ ├── 04-01-documentation-standards.md
│ ├── 04-02-readme-maintenance.md
│ └── 04-03-runbook-documentation.md
├── templates/ # File templates (7 files)
│ ├── TRACKER-template.md
│ ├── CURRENT-STATE-template.md
│ ├── CLAUDE-template.md
│ ├── RUNBOOK-template.md
│ ├── ISSUE-TEMPLATE.md # 🆕 Individual issue template
│ ├── ISSUES.md # 🆕 Issue index with dashboard
│ └── issues-README.md # 🆕 Issue system guide
├── tools/ # Automation tools 🆕
│ └── issue-manager.sh # CLI for managing issues
└── config/ # MCP configuration
└── mcp-config.json # Server configurationThe MCP server provides 5 tools for Claude to query practices and templates:
| Tool | Description | Example |
|---|---|---|
list_practices | List all available practices | Returns list of 10 practices |
get_practice | Get practice content by name | get_practice("01-02-task-tracking") |
list_templates | List all available templates | Returns list of 4 templates |
get_template | Get template content by name | get_template("TRACKER-template") |
render_template | Render template with variable substitution | render_template("TRACKER-template", {"PROJECT_NAME": "my-project"}) |
Templates support ${VARIABLE} placeholders that are automatically substituted:
Auto-provided variables:
${DATE} - Current date (YYYY-MM-DD format)${TIMESTAMP} - UTC timestamp (YYYYMMDDTHHMMz format)${USER} - Current system user${YEAR} - Current yearCustom variables: Pass any additional variables when rendering:
render_template("RUNBOOK-template", {
"SESSION_NUMBER": "1",
"TITLE": "Kafka Deployment",
"CLUSTER_NAME": "example-eks-uat",
"OBJECTIVE_DESCRIPTION": "Deploy Kafka cluster to UAT"
})All ${...} placeholders in the template are replaced with provided values.
This repository includes a GitHub Actions pipeline (.github/workflows/ci.yml) that automatically validates changes:
On every merge request and commit to main/develop:
Check pipeline status in GitHub:
Usage:
cd devops-practices-mcp
bash health-check.shEach project has a simplified CLAUDE.md:
# Claude AI Assistant - [Project Name]
## MCP Service Integration
**Shared Practices**: `devops-practices` MCP server
Claude has access to shared DevOps practices via MCP:
- Air-gapped workflow
- Documentation standards
- Session continuity protocols
- Task tracking guidelines
- Git best practices
- Efficiency guidelines
⚠️ Fallback: If MCP unavailable, see Appendix or GitHub practices
## Project-Specific: [Project Details]
[Only project-specific instructions here]
## Appendix: Critical Practices (Fallback)
[Emergency practice summaries if MCP down - see CLAUDE-template.md]Template: See CLAUDE-template.md for full structure including fallback appendix
Best for: Developers, contributors, or anyone who wants full control
#### 1. Clone Repository
# Clone to recommended location
git clone https://github.com/ai-4-devops/devops-practices.git ~/.mcp-servers/devops-practices
cd ~/.mcp-servers/devops-practices#### 2. Install Dependencies
# Using uv (10-100x faster)
curl -LsSf https://astral.sh/uv/install.sh | sh
uv pip install -r requirements.txt
# Or using traditional pip
pip install -r requirements.txt#### 3. Configure MCP Server Edit ~/.claude/config.json:
{
"mcpServers": {
"devops-practices": {
"command": "python3",
"args": ["-u", "~/.mcp-servers/devops-practices/mcp-server.py"],
"env": {"PYTHONUNBUFFERED": "1"}
}
}
}#### 4. Restart Claude Code/Desktop
#### 5. Verify MCP Connection Ask Claude: "Can you list the available DevOps practices from the MCP server?"
💡 Tip: Claude may need a reminder to check the MCP. If it doesn't respond with practice names, try:
⚠️ Note: These methods are experimental and not yet fully tested. Use Manual Installation (above) for reliable setup.
Option 1: MCP Registry via Claude Desktop UI (Experimental):
Option 2: Install via uvx (✨ Recommended - automatic venv):
# Add MCP server using uvx (handles venv automatically)
claude mcp add devops-practices -- uvx devops-practices-mcp
# Restart Claude Code/Desktop to activateWhy recommended: uvx automatically manages the virtual environment for you - no setup needed.
Option 3: Install with uv + venv (For Python developers):
# Install uv if you don't have it
curl -LsSf https://astral.sh/uv/install.sh | sh
# Create virtual environment
uv venv ~/.venvs/devops-practices-mcp
# Activate venv
source ~/.venvs/devops-practices-mcp/bin/activate
# Install MCP server
uv pip install devops-practices-mcp
# Add to Claude configuration (using venv's python)
claude mcp add devops-practices -- ~/.venvs/devops-practices-mcp/bin/python -m devops_practices_mcp
# Restart Claude Code/Desktop to activateWhy use this: Full control over the virtual environment with modern uv tooling.
Option 4: Install to user directory (Legacy - no venv):
# Install using pip (to ~/.local/)
pip install --user devops-practices-mcp
# Add to Claude configuration
claude mcp add devops-practices -- python3 -m devops_practices_mcp
# Restart Claude Code/Desktop to activateOption 5: Install system-wide (Requires sudo):
# Install system-wide (requires root)
sudo pip install devops-practices-mcp
# Add to Claude configuration
claude mcp add devops-practices -- python3 -m devops_practices_mcp
# Restart Claude Code/Desktop to activateOption 6: Manual configuration (Edit config files directly):
Install via pip or uvx, then edit ~/.claude/config.json:
{
"mcpServers": {
"devops-practices": {
"command": "uvx",
"args": ["devops-practices-mcp"],
"env": {}
}
}
}Scenario: Deploying Kafka across dev → test → uat → prod
Without MCP:
With MCP:
get_practice("configuration-management") for installation SOPsResult: 5.25 hours vs 12 hours (56% faster)
Scenario: Team needs consistent branching strategy
Without MCP:
With MCP:
get_practice("02-01-git-practices")Result: Consistent workflow across all 15 projects
Scenario: Deploying to secure environment without internet
Without MCP:
With MCP:
get_practice("air-gapped-workflow")Result: Zero security incidents, predictable deployments
Scenario: Starting new infrastructure project
Without MCP:
With MCP:
User: "Create project structure for monitoring-stack project"
Claude: [Queries MCP for templates]
Claude: Creates TRACKER.md, CURRENT-STATE.md, RUNBOOK.md
All following latest standardsResult: 15 minutes vs 2 hours (88% faster)
Scenario: Managing 50+ work items across 3-month project
Without MCP:
With MCP:
get_template("ISSUES")tools/issue-manager.sh for CLI managementResult: Git-based tracking, no external dependencies
When working on your projects:
Query Practice:
User: "What's the air-gapped workflow for file transfers?"
Claude: [Queries MCP: get_practice("air-gapped-workflow")]
Claude: [Receives markdown content]
Claude: "Here's the air-gapped workflow..."Get Template (Raw):
User: "Show me the TRACKER template"
Claude: [Queries MCP: get_template("TRACKER-template")]
Claude: [Receives template with ${VARIABLES}]
Claude: "Here's the template..."Render Template (With Variables):
User: "Create a TRACKER.md for my kafka-deployment project"
Claude: [Queries MCP: render_template("TRACKER-template", {
"PROJECT_NAME": "kafka-deployment",
"DATE": "2026-02-14",
"PHASE_NAME": "UAT Deployment"
})]
Claude: [Receives rendered template with all variables substituted]
Claude: [Creates TRACKER.md with actual values]For Contributors:
cd devops-practices-mcp
vim practices/documentation-standards.md
# Make changes
git add practices/documentation-standards.md
git commit -m "Update documentation standards: add new RUNBOOKS guidelines"
git push
# All projects using this MCP server now get updated standardsThis repository uses GitLab Flow with semantic versioning to ensure stability for dependent projects.
main ← Production releases only (v1.0.0, v1.1.0, etc.)
↑
develop ← Active development, integration branch
↑
feature/* ← New practices, templates
release/* ← Version preparation (v1.2.0)
hotfix/* ← Critical production fixes| Branch | Purpose | Created From | Merges To |
|---|---|---|---|
main | Production releases (tagged) | - | - |
develop | Active development | main | main (via release) |
feature/* | New functionality | develop | develop |
release/* | Version preparation | develop | main + develop |
hotfix/* | Critical fixes | main | main + develop |
main always contains tested, production-ready codedevelop before reaching productionAdd New Practice/Template:
git checkout develop
git checkout -b feature/add-security-practice
# Make changes, commit
git push origin feature/add-security-practice
# Create PR → developCreate Release:
git checkout develop
git checkout -b release/v1.2.0
# Update CHANGELOG.md, version numbers
# Create PR → main
# Tag release: git tag v1.2.0
# Merge back to developCritical Hotfix:
git checkout main
git checkout -b hotfix/critical-bug
# Fix, commit, push
# Create PR → main (fast-track)
# Also merge to developFull Documentation: See CONTRIBUTING.md and git-practices.md
For New Practices/Templates:
developbash health-check.shdevelopdevelop after CI/CD passesFor Releases:
develop: release/v1.x.0maingit tag v1.x.0developFor Critical Fixes:
main: hotfix/issue-namemain (fast-track approval)git tag v1.x.1develop to keep in syncSee: CONTRIBUTING.md for detailed workflows
| Project | Purpose | Location |
|---|---|---|
| kafka-deployment | Apache Kafka deployment | Example project |
| observability-stack | Observability stack | Example project |
| network-infra | Network infrastructure | Example project |
See [CONTRIBUTING.md](CONTRIBUTING.md) for detailed contribution workflow, branching strategy, and code review process.
practices/mcp-server.py if neededbash health-check.shtemplates/${PROJECT_NAME}, ${DATE}, etc. (see auto-provided variables in MCP Tools section)render_template handles all ${...} substitutions automaticallyrender_template("your-template", {"VAR": "value"})bash health-check.shSymptoms: Claude doesn't return practices when asked, or acts like MCP doesn't exist
Solutions:
~/.claude/config.json has correct paths (must be absolute paths)~/.cache/claude/mcp-devops-practices.log for errorsps aux | grep mcp-server.py to confirm it's running💡 Pro Tip: Claude sometimes "forgets" to check MCP servers. Explicitly remind it to verify the MCP before proceeding with tasks.
Log location: ~/.cache/claude/mcp-devops-practices.log
Symptoms: MCP server process crashed, not responding, or cannot start
Fallback Options:
Option 1: GitHub Practices (Recommended)
Access practices directly from GitHub:
https://github.com/ai-4-devops/devops-practices/tree/main/practices
Ask Claude to read practices via GitHub URLs when MCP unavailable.Option 2: Local Clone
# Access practices from local clone
ls ~/.mcp-servers/devops-practices-mcp/practices/
# Read practice directly
cat ~/.mcp-servers/devops-practices-mcp/practices/03-02-air-gapped-workflow.mdOption 3: CLAUDE.md Appendix
Projects using the CLAUDE-template.md have a built-in appendix
with critical practice summaries for emergency fallback.
See: templates/CLAUDE-template.md (Appendix section)Prevention:
git pull origin maintail -f ~/.cache/claude/mcp-devops-practices.logRelated: MIGRATION-GUIDE.md for project-specific fallback setup
ls practices/${VARIABLE}MIT License - Free to use and modify
Maintained By: Uttam Jaiswal Last Updated: 2026-02-20 Version: 1.4.0
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.