About karate-graph-mcp
karate-graph-mcp is an MCP server in the Files category: enables analysis of Karate framework feature files, extracting dependencies and generating interactive dependency graphs.
Install
git clone https://github.com/duyngo91/karate-graph-mcpThis server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.
Ask AI
Ask AI about karate-graph-mcp
Powered by Claude · Grounded in docs
Security checks
- ✓README presentThe repository ships documentation.
5 checks have not been run yet.
README
🚀 Karate Feature Graph Analyzer (MCP-Powered)
A powerful Model Context Protocol (MCP) tool designed for AI agents (Claude, Antigravity, Cursor) to analyze Karate Framework feature files, manage multi-project dependencies, and generate interactive graphs.
✨ Why use this with AI?
Instead of running scripts manually, you can just chat with your codebase:
- 🔍 Impact Analysis: Ask AI "What happens if I change this API?" and see the exact lines affected.
- 📈 Ecosystem View: Merge multiple projects into one global graph via chat.
- 📝 Source Snippets: View relevant code snippets around dependencies directly in AI search results.
- 🎫 Ticket tracking: Automatically link Jira tags to code components.
- 🩺 Health Check: Get AI-generated reports on cycles and redundant components.
🚀 Quick Start
1. Installation
Option A: Standard (Requires Internet)
git clone <repository-url>
cd karate-feature-graph-analyzer
pip install -e .
Option B: Offline / Vendor Mode (No Internet Required)
If your environment blocks external downloads, use the pre-packaged libraries in python_libs:
git clone <repository-url>
cd karate-feature-graph-analyzer
# Install all dependencies from local vendor folder
pip install --no-index --find-links=python_libs -r requirements.txt
# Install the project in editable mode
pip install -e . --no-deps
2. Configure MCP Client
Add the following to your AI client configuration (e.g., claude_desktop_config.json):
{
"mcpServers": {
"karate-analyzer": {
"command": "python",
"args": ["C:/path/to/repo/src/karate_graph_analyzer/mcp_server.py"],
"env": {
"PYTHONPATH": "C:/path/to/repo/src",
"PYTHONIOENCODING": "utf-8"
}
}
}
}
[!IMPORTANT] Replace
C:/path/to/repowith the actual absolute path of this repository.
3. Start Analyzing via Chat
Once connected, just ask your AI:
- "Register the project at
E:/my-karate-fwand analyze it." - "Show me all test cases affected by a change in the
OrderManagementpage." - "Scan all my registered projects and give me a health summary."
🤖 Available AI Tools
| Tool | AI Command Example |
|---|---|
register_project |
"Register my project at [path] as 'Core-Service'" |
bulk_analyze |
"Scan all my projects and find any issues" |
merge_projects |
"Merge project A and B to see cross-project dependencies" |
impact_analysis |
"Which tests break if I modify the @AddPayment scenario?" |
search_api |
"Find all POST endpoints in the checkout domain" |
get_project_health |
"Give me a health report for project X" |
export_graph |
"Export the graph of project Y to JSON" |
📊 Visualizing Results
The analyzer generates interactive HTML graphs in the output/ directory using a standardized Visual Identity System:
-
Shapes & Meanings:
- ⭐ Test Case (Star): Main entry points / End-to-End scenarios.
- 🟦 Workflow/Common (Square): Reusable logic blocks and service files.
- ⬢ API Group (Hexagon): Domain or path-based API groupings.
- ⬥ API Endpoint (Diamond): Individual API calls.
- ⬭ Page (Ellipse): UI Page Objects.
- 📐 Action (Triangle): Specific UI interactions/locators.
- 🛢️ Database (Cylinder): Database feature files.
- ⚪ Query (Dot): Specific DB query scenarios.
- 📦 Data (Box): External JSON/CSV data files.
-
Interactive Features:
- Focus Mode: Double-click any node to isolate its dependency chain.
- AI Insights: Click a node to see "Expert Analysis" and "Fix Suggestions" generated by AI.
- Status Coloring: Nodes turn 🔴 Red (Failed), 🟢 Green (Passed), or 🟠 Orange (Modified in Diff) based on context.
🛠️ Advanced Usage (CLI)
If you still prefer the terminal, you can use the built-in scanners:
Scan a single project
python scan_project.py <path_to_project> <output_name>
Scan multiple projects at once
python scan_all_projects.py <path1> <path2> <parent_folder>
📁 Project Structure
karate-feature-graph-analyzer/
├── src/karate_graph_analyzer/
│ ├── mcp_server.py # MCP Server Entry Point
│ ├── mcp_interface/ # MCP Tool Logic
│ ├── parser/ # Karate/Gherkin Parser
│ ├── graph/ # Graph Construction
│ └── visualization/ # HTML/Vis.js Generator
├── python_libs/ # [NEW] Offline python dependencies (.whl)
├── requirements.txt # Dependency list for installation
├── output/ # Generated HTML/JSON files
└── tests/ # 300+ Unit & Integration tests
📝 License
This project is licensed under the MIT License.
Built with ❤️ for the Karate Community.
README copy captured when this server was indexed; it may lag the repository. The original is authoritative.