Pre-deploy checklist MCP server -- catches what CI misses.
Deploy Gate is a Model Context Protocol (MCP) server that runs automated pre-deploy checks against your project before you ship. Every check traces back to a real bug that made it to production.
CI catches syntax errors and test failures. Deploy Gate catches the stuff CI doesn't: leaked secrets, empty catch blocks that swallow errors, missing env configs, and more.
- Deploy Gate auto-detects your project's stack (mobile, web, CLI, infra)
- It runs phase-gated checks: pre-engineering, pre-test, and pre-deploy
- If any check fails, the gate stays closed -- you fix before you ship
- Every check has a
fromfield linking it to the real incident that inspired it
Add to your Claude Code MCP config (~/.claude.json or project .mcp.json):
{
"mcpServers": {
"deploy-gate": {
"command": "npx",
"args": ["@iteachyouai/deploy-gate"]
}
}
}git clone https://github.com/ITeachYouAI/deploy-gate.git
cd deploy-gate
npm install
npm run buildDeploy Gate exposes 4 MCP tools:
Run checks for a specific phase (or all phases) against a project.
| Parameter | Type | Required | Description |
|---|---|---|---|
phase |
"pre-eng" | "pre-test" | "pre-deploy" | "all" |
Yes | Which phase to run |
projectPath |
string |
Yes | Absolute path to the project |
Returns pass/fail results for each check, a summary, and whether the gate is open.
Quick boolean check: is this project ready to deploy?
| Parameter | Type | Required | Description |
|---|---|---|---|
projectPath |
string |
Yes | Absolute path to the project |
Returns { ready: true/false, reason, summary }.
Detect the technology stack of a project.
| Parameter | Type | Required | Description |
|---|---|---|---|
projectPath |
string |
Yes | Absolute path to the project |
Returns the detected stacks (e.g., ["core", "web"]).
List all available checks, optionally filtered.
| Parameter | Type | Required | Description |
|---|---|---|---|
phase |
string |
No | Filter by phase |
stack |
string |
No | Filter by stack |
Deploy Gate auto-detects your stack by looking at project files:
| Stack | Detection |
|---|---|
| core | Always included |
| mobile | expo or react-native in package.json |
| web | next, @remix-run/node, or nuxt in package.json |
| cli | go.mod exists |
| infra | systemd/, docker-compose.yml, or Dockerfile exists |
Checks are filtered to only run checks relevant to your detected stacks.
Every check has an ID, phase, and traces back to a real incident:
| ID | Phase | Check | From |
|---|---|---|---|
| PD-3 | pre-deploy | Secret scanning (API keys, private keys) | LooksMaxx: API key in eas.json |
| PT-5 | pre-test | Empty catch block detection | CreateSocial: silent auth failure |
More checks are added over time. Each one comes from a real bug.
# Install the pre-deploy hook for Claude Code
deploy-gate install-hooksnpm install # Install dependencies
npm run build # Compile TypeScript
npm test # Run tests
npm run dev # Watch mode
npm run format # Format codeSee CONTRIBUTING.md for guidelines.
See SECURITY.md for our security policy.
MIT -- see LICENSE.
Built by ITeachYouAI