mcp-heimdall
# 🛡️ MCP Heimdall
Advanced Environment Architect & Diagnostic Tool for Model Context Protocol (MCP).
Heimdall helps AI agents understand, verify, and fix their execution environment. It provides detailed insights into system architecture, runtime versions, dependencies, and environment variables, along with actionable correction suggestions.
## ✨ Features
- **Workspace Janitor**: Find large files (>50MB) and temporary directories (`dist`, `build`, etc.) for cleanup.
- **Path Inspector**: Audit the `PATH` variable and verify versions of critical dev tools (`git`, `brew`, `make`).
- **Process Explorer**: Identify top CPU/Memory consumers and potential orphan Node/Python processes.
- **Docker Sight**: Check Docker daemon status, list containers and images.
- **Connectivity Check**: Ping essential services (GitHub, NPM, Docker Hub) to verify internet status.
- **Project Doctor**: Scan Project for NPM vulnerabilities and outdated packages.
- **Resource Watcher**: Monitor CPU load, memory usage, and disk space.
- **Port Manager**: List active listening ports and kill processes blocking specific ports.
- **Runtime Inspector**: Verify Node.js, Python, Java, and Kotlin versions against project requirements.
- **Dependency Guard**: detects missing `node_modules` or virtual environments.
- **Environment Audit**: Compares `.env` against templates and flags missing keys.
- **Intelligent Advisor**: consolidated tool that suggests specific commands to fix environment issues.
## 🛠️ Tools
| Tool | Description |
|------|-------------|
| `system_info` | Get OS and architecture details. |
| `inspect_runtimes` | Check Node, Python, Java, and Kotlin versions. |
| `inspect_docker` | Check Docker daemon status and list containers. |
| `check_connectivity` | Test internet connection to essential dev services. |
| `project_doctor` | Scan for NPM vulnerabilities and outdated packages. |
| `resource_watcher` | Monitor CPU load, memory and disk usage. |
| `workspace_janitor` | Find large files and temporary directories for cleanup. |
| `path_inspector` | Inspect system PATH and critical dev tools versions. |
| `process_explorer` | Identify top resource-consuming and orphan processes. |
| `audit_dependencies` | Detect missing packages or broken environments. |
| `audit_env` | Verify `.env` files against templates. |
| `list_ports` | List all active listening ports and their processes. |
| `kill_port_process` | Kill the process running on a specific port. |
| `suggest_corrections` | **The Core Feature**: Runs all checks and returns prioritized solutions. |
## 🚀 Installation
### Quick Integration
Run this command to automatically configure Heimdall in your current workspace:
```bash
npx @lchampz/mcp-heimdall integrate
```
This will create a `.vscode/mcp.json` file with the correct configuration.
### For Users (via MCP Registry)
Add to your `mcp.json` or editor settings:
```json
{
"servers": {
"heimdall": {
"command": "node",
"args": ["path/to/mcp-heimdall/build/index.js"]
}
}
}
```
### For Developers
1. Clone the repository
2. Install dependencies: `npm install`
3. Build the project: `npm run build`
4. Run in dev mode: `npm run dev`
## 📄 License
MIT
TDQS
Scored across 14 tools
Each tool addresses a distinct aspect of system health: auditing dependencies, environment, connectivity, Docker, runtimes, processes, ports, PATH, resource usage, vulnerabilities, and cleanup. No two tools overlap in purpose; even related tools like 'list_ports' and 'kill_port_process' are clearly separated.
Most tools follow a verb_noun or descriptive pattern (e.g., audit_dependencies, check_connectivity, kill_port_process). However, some use noun_noun (path_inspector, process_explorer, resource_watcher) which introduces minor inconsistency but remains readable and predictable.
With 14 tools covering diagnostics, inspection, and maintenance actions, the count is well-scoped for a system health server. Each tool earns its place, and the number is within the ideal 3-15 range.
The server covers a comprehensive set of system checks: OS, processes, ports, Docker, runtimes, dependencies, environment, connectivity, resource usage, vulnerabilities, and disk cleanup. The inclusion of 'suggest_corrections' that runs all diagnostics and gives prioritized fixes rounds out the surface with no obvious gaps.