DeployFlow MCP Server
An MCP server that provides deterministic deployment-safety analysis tools, enabling AI agents to run checks on migration safety, task hygiene, and deploy readiness.
README
DeployFlow MCP Server
An MCP (Model Context Protocol) server that exposes deployment-safety analysis as tools an AI agent can call directly — turning static review guidance into deterministic, executable checks.
What it does
Three tools:
deployflow_check_migration_safety— analyzes Alembic migration source for common risk patterns: no-opdowngrade(), dropped columns (breaks rolling deploys),NOT NULLcolumns added without a server default (table-lock risk), non-concurrent index creation, and schema changes mixed with data migrations.deployflow_check_task_hygiene— analyzes background/worker task source for session-management issues: module-level shared DB sessions, missing explicit commit/rollback, and retryable tasks with no visible idempotency guard.deployflow_check_deploy_readiness— a structured pre-deploy checklist: CI status, new env vars confirmed in target, rollback plan documented.
Why an MCP server instead of just an LLM review
An LLM reasoning from scratch about migration safety will sometimes miss patterns or hallucinate risks. These checks are deterministic, pattern- based static analysis — the same input always produces the same output, and the logic is auditable/testable independent of any model. The MCP server lets an agent call this analysis as a tool mid-conversation, getting a guaranteed-correct result rather than an LLM's best guess.
Running it
pip install -r requirements.txt
python server.py
Connect it to Claude Code, Claude Desktop, or any MCP client by pointing the client's MCP config at this server (stdio transport by default).
Example: migration safety check
Input (Alembic migration source):
def upgrade():
op.add_column('orders', sa.Column('priority', sa.Integer(), nullable=False))
def downgrade():
pass
Output:
Found 2 finding(s):
[Medium] downgrade() appears to be a no-op
Risk: This migration cannot be safely rolled back if the deploy fails.
Fix: Implement a real downgrade() that reverses the schema change.
[High] Adding a NOT NULL column without server_default
Risk: This will fail or require a full-table rewrite/lock on existing rows...
Fix: Add the column as nullable, backfill in a data migration...
Tests
pytest -v
11 tests covering each detection pattern, both triggered and clean cases.
Limitations
These are pattern-based static checks, not a full AST analysis — they catch common, well-known risk patterns but are not exhaustive. Always pair with human review for anything touching production data.
Possible extensions
- Parse migrations as AST instead of regex for more precise detection
- Add a tool that diffs a migration against the current schema to detect breaking changes more reliably
- Add a tool that queries actual CI status via a CI provider's API
instead of taking
ci_passingas a manual input
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.