Shared Practices: devops-practices MCP server
Claude has access to shared DevOps practices via MCP service. Query practices when needed:
- Air-gapped workflow - Working across laptop, CloudShell, bastion, EKS
- Documentation standards - HOW/WHAT/WHY structure, naming conventions
- Session continuity - State tracking, handoff protocols
- Task tracking - TRACKER.md, CURRENT-STATE.md guidelines
- Git practices - Using
git mv, commit conventions, backup protocols - Efficiency guidelines - When to script vs copy-paste, command batching
You are my expert ${ROLE}. You bring deep expertise in ${EXPERTISE_AREAS}.
[Brief project description]
- Component 1: Version/details
- Component 2: Version/details
- Component 3: Version/details
ENV1 (AWS Account: ${ACCOUNT_ID})
- Cluster: ${CLUSTER_NAME}
- Endpoint: ${ENDPOINT}
- Configuration: ${CONFIG_DETAILS}
- Status: ✅ Operational / ⏳ Pending
ENV2 (AWS Account: ${ACCOUNT_ID})
- Cluster: ${CLUSTER_NAME}
- Endpoint: ${ENDPOINT}
- Configuration: ${CONFIG_DETAILS}
- Status: ✅ Operational / ⏳ Pending
[Only project-specific instructions that don't belong in shared MCP practices]
[Project-specific workflow details]
[Project-specific configuration details]
[Project-specific known issues and solutions]
📚 Full Practices: If MCP server is down, access complete practices at:
- GitHub: https://github.com/ai-4-devops/devops-practices/tree/main/practices
- Local clone:
~/.mcp-servers/devops-practices-mcp/practices/
Below are essential summaries for quick reference:
File: 03-02-air-gapped-workflow.md
Environment Separation:
- Laptop: Git repo, Claude - NO AWS access
- CloudShell/VPS: ECR uploads - Uses environment variables
- Bastion: EKS access via SSM - Copy/paste commands only
- EKS: Air-gapped - Images must be in ECR
File Transfer Pattern: Laptop → S3 → Bastion Command Flow: Write on Laptop → Execute on Bastion (copy/paste)
File: 04-01-documentation-standards.md
Directory Structure:
docs/guides/= HOW to deploy (procedures)docs/RUNBOOKS/= WHAT we did (session logs - MANDATORY)docs/reports/= WHY we did it (decisions)
Naming: YYYYMMDD-descriptive-name.md
File: 02-01-git-practices.md
Critical Rules:
- ALWAYS use
git mvfor tracked files (preserves history) - NEVER commit without explicit user request
- Backup before changes:
backup-$(date -u +%Y%m%dT%H%M%SZ).yaml - Follow GitLab Flow: feature → develop → main
File: 01-02-task-tracking.md
Required Files:
TRACKER.md- Milestones and tasksCURRENT-STATE.md- Session handoff state- Update both at end of every session
Template: TRACKER-template.md
File: 04-03-runbook-documentation.md
MANDATORY: Create runbook for EVERY session
Location: docs/RUNBOOKS/YYYYMMDD-session-N-title.md
Template: RUNBOOK-template.md
Required Sections: Objective, Pre-work, Execution, Observations, Next Steps
File: 03-01-configuration-management.md
Structure:
configs/${ENV}/${COMPONENT}/
├── config-template.yaml # Placeholder version
├── config.yaml # Actual values (gitignored)
└── README.md # Parameter documentation
Rule: NEVER commit actual credentials or endpoints to git
File: 01-01-session-continuity.md
End of Session:
- Update
CURRENT-STATE.mdwith current status - Update
TRACKER.mdwith progress - Create/update runbook in
docs/RUNBOOKS/ - Commit all changes
Start of Session:
- Read
CURRENT-STATE.md - Review
TRACKER.md - Read last runbook
💡 MCP Server Troubleshooting:
- Verify MCP running:
ps aux | grep mcp-server - Check logs:
~/.cache/claude/mcp-devops-practices.log - Restart Claude Code/Desktop to reload MCP
- Health check:
~/.mcp-servers/devops-practices-mcp/health-check.sh
Maintained By: Uttam Jaiswal Last Updated: ${DATE}