workflow-compliance-enforcer
Enforces client-mandated development workflows with audit trails, state persistence, and compliance reporting. Provides tools for issue tracking, testing, deployment, and verification to ensure non-negotiable compliance.
README
Workflow Compliance Enforcer MCP
Enforce client-mandated development workflows with audit trails, state persistence, and compliance reporting.
A Model Context Protocol (MCP) server designed for enterprise, government, and regulated industries where development workflows are non-negotiable and compliance is critical.
Why This Exists
In enterprise consulting and government contracts, clients often mandate strict development workflows:
- ā Tests must pass before commit
- ā Code must be deployed before issue close
- ā Production must be verified
- ā Audit trail must exist for compliance
This MCP server enforces those workflows and provides proof of compliance.
Features
š Compliance-First
- State Persistence - Workflow survives Claude Code restarts
- Audit Trails - Automatic compliance reports with timestamps
- Pre-flight Checks - Validates required scripts before starting
- Time Tracking - Duration tracking for all steps
šÆ Workflow Management
- Visual Progress - Real-time workflow visualization
- Multiple Templates - Different workflows for different tasks
- Resume Capability - Pick up where you left off after crashes
- Better Errors - Actionable suggestions for common issues
āļø Configurable
- Per-Project Config - Different workflows for different projects
- Deployment Methods - Git-push, script-based, or manual
- Verification Strategies - Smoke test, script, manual, or none
- Strict/Lenient Modes - Enforce or warn
Quick Start
Installation
- Clone and build:
git clone https://github.com/scarter4work/workflow-compliance-enforcer.git
cd workflow-compliance-enforcer
npm install
npm run build
- Add to Claude Code MCP config (
~/.claude/mcp.json):
{
"mcpServers": {
"workflow-enforcer": {
"command": "node",
"args": ["/path/to/workflow-compliance-enforcer/build/index.js"]
}
}
}
- Restart Claude Code
Configuration
Create .workflow-enforcer.json in your project root:
{
"mode": "strict",
"template": "full-deployment",
"test_command": "npm test",
"deploy_method": "git-push",
"production_verification": "script",
"production_test_command": "npm run test:prod"
}
Usage
Basic Workflow
// 1. Start work on an issue
workflow_start_issue({ issue_number: 42 })
// 2. Write your code, then run tests
workflow_run_tests()
// 3. Commit (only works after tests pass)
workflow_commit({ message: "fix: resolve authentication bug" })
// 4. Deploy to production
workflow_deploy()
// 5. Verify production
workflow_verify_prod()
// 6. Close issue and generate audit report
workflow_close_issue()
Resume After Crash
// If Claude Code crashes mid-workflow
workflow_start_issue({ issue_number: 42, resume: true })
// Picks up exactly where you left off!
Check Progress
workflow_status({ detailed: true })
Output:
š Workflow Status:
State: TESTS_PASSED
Active Issue: #42 - Fix authentication bug
Commit: None
š Workflow Progress (full-deployment):
ā
1. Start Issue (workflow_start_issue)
ā
2. Run Tests (workflow_run_tests)
ā³ 3. Commit Changes (workflow_commit) ā YOU ARE HERE
⬠4. Deploy to Production (workflow_deploy)
⬠5. Verify Production (workflow_verify_prod)
⬠6. Close Issue (workflow_close_issue)
Available actions:
- workflow_commit
Workflow Templates
Full Deployment (default)
For production features requiring full release cycle:
- Start Issue ā 2. Run Tests ā 3. Commit ā 4. Deploy ā 5. Verify ā 6. Close
Tests Only
For internal changes that don't need deployment:
- Start Issue ā 2. Run Tests ā 3. Commit ā 4. Close
Docs Only
For documentation changes:
- Start Issue ā 2. Commit ā 3. Close
Audit Reports
Every completed workflow generates an audit report:
š Workflow Completion Report - Issue #42
======================================================================
Issue: Fix authentication bug
Started: 2025-11-16T12:00:00.000Z
Completed: 2025-11-16T12:45:30.000Z
Duration: 0h 45m 30s
Steps Completed:
ā
Start Issue - 2025-11-16T12:00:00.000Z
ā
Run Tests - 2025-11-16T12:15:00.000Z (12450ms)
ā
Commit Changes - 2025-11-16T12:20:00.000Z
ā
Deploy to Production - 2025-11-16T12:35:00.000Z (145000ms)
ā
Verify Production - 2025-11-16T12:43:00.000Z (8200ms)
ā
Close Issue - 2025-11-16T12:45:30.000Z
Commits:
- a1b2c3d: fix: resolve authentication bug
Attestation: All required workflow steps completed successfully.
Signed: workflow-enforcer v2.0.0
Saved to .workflow/reports/issue-42-report.md for compliance purposes.
Configuration Options
| Option | Values | Description |
|---|---|---|
mode |
strict, lenient |
Strict = enforced; Lenient = warnings |
template |
full-deployment, tests-only, docs-only |
Workflow to use |
test_command |
string | Test command (default: npm test) |
deploy_method |
git-push, script, manual |
How to deploy |
production_verification |
smoke-test, script, manual, none |
How to verify |
See WORKFLOW_ENFORCER_V2.md for complete documentation.
Use Cases
Enterprise Client
{
"mode": "strict",
"template": "full-deployment",
"deploy_method": "manual",
"production_verification": "manual"
}
Manual gates for deployment and verification with full audit trail.
CI/CD Automation
{
"mode": "strict",
"template": "full-deployment",
"deploy_method": "git-push",
"production_verification": "smoke-test",
"production_url": "https://api.example.com/health"
}
Automated deployment with quick smoke test verification.
Internal Development
{
"mode": "lenient",
"template": "tests-only"
}
Skip deployment for internal changes, but still enforce tests.
Available Tools
workflow_start_issue- Begin work with pre-flight checksworkflow_run_tests- Run test suite with duration trackingworkflow_commit- Commit code (only after tests pass)workflow_deploy- Deploy to productionworkflow_verify_prod- Verify production deploymentworkflow_close_issue- Close issue and generate audit reportworkflow_status- Check current workflow stateworkflow_config- View/update configuration
Requirements
- Node.js 18+
- GitHub CLI (
gh) for issue management - Claude Code with MCP support
Comparison: v1.0 vs v2.0
| Feature | v1.0 | v2.0 |
|---|---|---|
| State Persistence | ā | ā |
| Pre-flight Checks | ā | ā |
| Workflow Visualization | ā | ā |
| Audit Reports | ā | ā |
| Configuration | ā Hardcoded | ā Per-project |
| Templates | ā One size fits all | ā 3 templates |
| Error Messages | ā ļø Generic | ā Actionable |
| Time Tracking | ā | ā |
| Resume Capability | ā | ā |
Contributing
Contributions welcome! Please:
- Fork the repository
- Create a feature branch
- Submit a pull request
For major changes, please open an issue first.
License
MIT License - see LICENSE file for details.
Support
- Issues: GitHub Issues
- Documentation: Full Docs
- MCP Docs: Model Context Protocol
Acknowledgments
Built with Model Context Protocol by Anthropic.
Built for compliance. Designed for real-world client workflows.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.