MCP Workflow Engine
Provides AI coding agents with dependency analysis, impact detection, and build verification tools.
README
MCP Workflow Engine
MCP server that provides AI coding agents with dependency analysis, impact detection, and build verification tools.
Tools Provided
| Tool | Description |
|---|---|
get_impact |
Find all files affected by changes to a file |
get_impact_from_diff |
Aggregate impact across a diff or git changeset |
get_dependencies |
List what a file imports |
get_graph_stats |
Get dependency graph statistics and circular deps |
verify_build |
Run build and return pass/fail with errors |
run_typecheck |
Run TypeScript type checking |
run_lint |
Run linter |
get_relevant_tests |
Suggest test files impacted by a change |
run_tests |
Run tests (auto-detected if not provided) |
run_relevant_tests |
Run only a provided list of tests (uses {tests} placeholder) |
get_contract_impact |
Highlight potential API/contract impacts |
chain_effect_checklist |
Generate verification checklist for a file type |
multi_file_checklist |
Generate checklists for multiple files |
invalidate_graph_cache |
Clear cached dependency graph |
Auto-Detection Behavior
- Dependency scanning defaults to
src, but if it doesn't exist the server auto-detects common source roots (e.g.lib,app,apps,packages,services) and includes common test dirs (test,tests,__tests__,spec,specs) when present. - You can override scanning with
scan_dirs,project_root, andignore_patterns. - Build and test commands auto-detect common ecosystems (Node, Gradle, Maven, .NET, Go, Rust, Python, Make). You can always pass an explicit
command.
Installation
cd mcp-workflow
npm install
npm run build
Configuration
Claude Code
Add to ~/.claude/settings.json:
{
"mcpServers": {
"workflow-engine": {
"command": "node",
"args": ["C:/path/to/mcp-workflow/dist/server.js"]
}
}
}
Codex CLI
Add to ~/.codex/config.toml:
[mcp_servers.workflow-engine]
command = "node"
args = ["C:/path/to/mcp-workflow/dist/server.js"]
Repo Config (.workflow-engine.json)
Place this in the repo being analyzed (the project_root). It overrides auto-detection.
Notes:
ignorePatternsare regular expressions matched against normalized paths (e.g.src/foo/bar.ts).testCommandsupports{tests}placeholder for targeted runs.dependencyCruiserOptionsis passed through to dependency-cruiser (advanced use).contractDirsscopes where contract files are discovered (defaults to common docs/spec folders).
{
"scanDirs": ["src", "packages"],
"testDirs": ["tests", "__tests__"],
"ignorePatterns": ["\\.generated\\.", "^dist/"],
"contractDirs": ["docs", "spec", "openapi"],
"buildCommand": "pnpm build",
"testCommand": "pnpm test -- {tests}",
"dependencyCruiserOptions": {
"tsConfig": "tsconfig.json"
}
}
Usage Examples
Once configured, the agent can call these tools:
Before implementing a change
Agent: I need to modify src/services/user.ts. Let me check the impact.
[Calls get_impact(file="src/services/user.ts", project_root="C:/path/to/project")]
Result:
{
"file": "src/services/user.ts",
"directDependents": ["src/controllers/auth.ts", "src/controllers/admin.ts"],
"transitiveDependents": ["src/routes/api.ts"],
"associatedTests": ["src/services/__tests__/user.test.ts"],
"totalImpacted": 3
}
Get verification checklist
Agent: What should I verify for this change?
[Calls chain_effect_checklist(file="src/services/user.ts")]
Result:
{
"file": "src/services/user.ts",
"fileType": "Service/Domain",
"checklist": [
{"category": "Controllers", "check": "Verify all calling controllers handle new behavior"},
{"category": "Return Types", "check": "Check if return type changes affect callers"},
...
]
}
After implementing
Agent: Let me verify the build passes.
[Calls verify_build()]
Result:
{
"success": true,
"output": "Build completed successfully",
"errors": [],
"duration": 3420
}
Diff-aware impact
Agent: What will this diff impact?
[Calls get_impact_from_diff(cwd="C:/path/to/project")]
Relevant tests + execution
Agent: Which tests should I run?
[Calls get_relevant_tests(files=["src/services/user.ts"], project_root="C:/path/to/project")]
Agent: Run those tests.
[Calls run_relevant_tests(tests=["src/services/__tests__/user.test.ts"], command="pnpm test -- {tests}")]
Contract impact
Agent: Any contract updates needed?
[Calls get_contract_impact(files=["src/controllers/user.ts"], project_root="C:/path/to/project")]
Workflow Integration
Pair with an AGENTS.md file in your repo:
## Required Workflow
### Step 1: Impact Analysis
Before implementing, use `get_impact` to identify all affected files.
### Step 2: Chain-Effect Checklist
Use `chain_effect_checklist` to get verification items for the file type.
### Step 3: Implementation
Make changes across all affected layers.
### Step 4: Build Verification
Use `verify_build` - task is NOT complete unless this returns success.
Development
npm run dev # Watch mode
npm run build # Build once
npm start # Run server
License
MIT
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.