Productivity framework for DevOps engineers using AI assistance (Claude Code) while working on PoCs
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:
git mv, commit conventions, backup protocols, GitLab Flowdevops-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 configuration
The 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.sh
Each 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
# Clone to recommended location
git clone https://github.com/ai-4-devops/devops-practices.git ~/.mcp-servers/devops-practices
cd ~/.mcp-servers/devops-practices
# 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
Edit ~/.claude/config.json:
{
"mcpServers": {
"devops-practices": {
"command": "python3",
"args": ["-u", "~/.mcp-servers/devops-practices/mcp-server.py"],
"env": {"PYTHONUNBUFFERED": "1"}
}
}
}
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 activate
Why 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 activate
Why 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 activate
Option 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 activate
Option 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 standards
Result: 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 standards
This 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 β develop
Create 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 develop
Critical Hotfix:
git checkout main
git checkout -b hotfix/critical-bug
# Fix, commit, push
# Create PR β main (fast-track)
# Also merge to develop
Full 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 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.md
Option 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
Source-derived launch command. Check the maintainerβs required arguments and credentials before running:
uvx devops-practices-mcpMerge this template into ~/Library/Application Support/Claude/claude_desktop_config.json. Keep existing servers. Add any arguments, credentials, and permissions required by the maintainer; this template has not been install-tested.
{
"mcpServers": {
"io-github-ai-4-devops-devops-practices": {
"command": "uvx",
"args": [
"devops-practices-mcp"
]
}
}
}Restart Claude Desktop completely for changes to take effect. Confirm the server appears connected in the clientβs tool list, then try a read-only example from its documentation.
Claude Desktop setup referencedevops-practices-mcppypiio.github.ai-4-devops/devops-practices works with any MCP-compatible client. Copy the config snippet from the Configuration section above and add it to the file shown for your client, then restart the application.
~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.~/.cursor/mcp.jsonRestart Cursor for changes to take effect..vscode/mcp.jsonReload VS Code window for changes to take effect.~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect..mcp.jsonSave at the project root, then start Claude Code in that project and review the MCP server approval prompt. Keep real credentials out of shared files.