Mark-AImagineers/anvil
If you are the rightful owner of anvil and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
Anvil is a personal Model Context Protocol (MCP) server designed to manage developer tools accessible through MCP-compatible clients.
Anvil
Anvil is my personal MCP (Model Context Protocol) server β a local, modular, and self-extending development engine designed to host and manage tools accessible through MCP-compatible clients such as Claude Desktop.
Overview
Anvil exposes modular tools that can be dynamically discovered and invoked by connected MCP clients.
Each tool is isolated within the /server/tools/
directory and registered automatically through a lightweight loader system.
This project serves as the foundation for my personal developer automation layer, enabling consistent, secure, and extensible access to system capabilities.
Anvil is not just a host for tools β it's built to help me build tools, inspect code, and support active development across all my projects.
Current Capabilities
Tool | Description |
---|---|
list_files | Lists files and directories within a given path. |
read_file | Reads and returns the contents of a file. |
write_file | Writes text content to a file, creating or overwriting as needed. |
run_command | Executes safe shell commands and returns output. |
search_files | Search for files by name pattern and/or content with advanced filtering. |
git_status | Get git repository status with clean, readable formatting. |
git_commit | Stage and commit changes with optional push to remote. |
git_branch | List, create, switch, or delete git branches. |
git_diff | Show git diff of changes (unstaged, staged, or both). |
git_log | Show git commit history with clean formatting. |
run_tests | Run tests with auto-detected framework (pytest, unittest, Django, jest). |
homelab_status | Comprehensive Homelab homelab dashboard showing all VMs, containers, services, and resources. |
Architecture
[ MCP Client (e.g. Claude Desktop) ]
β
βΌ
(stdin/stdout)
β
βββββββββββββ
β Anvil β
βββββββββββββ€
β Registry β β auto-discovers tools from /server/tools/
β Tools β β modular, callable units (read, write, exec)
β Runtime β β handles JSON-RPC messages from clients
βββββββββββββ
β
[ Local File System / Apps / Remote Infrastructure ]
π Vision
Anvil is built to evolve into a practical AI development engine that automates real workflows.
Phase 1 β Core Foundation β
Enable reading, writing, searching, and executing on local files safely.
Phase 2A β Git & Testing β
Build version control and testing automation tools.
Phase 2B β Homelab Management (Homelab) π β CURRENT FOCUS
Remote management and monitoring of production homelab infrastructure via SSH.
Phase 3 β Frontend Development π¨
Solve the "refresh hell" problem and streamline Django + Bootstrap development.
Phase 4 β Project-Specific Tools π―
Create tools tailored to Django, FastAPI, and AImagineers.io workflows.
Phase 5 β Cross-Project Integration π
Connect Anvil to multiple projects as a unified automation layer.
π§ Philosophy
Build tools that solve real problems, not theoretical ones.
Anvil embodies the principle of practical automation β every tool should eliminate friction from actual development workflows.
Focus on what matters: shipping code faster, testing easier, and managing projects better.
π Notes
- Anvil communicates with clients via
STDIO
using JSON-RPC. - Each tool defines its own metadata and handler function.
- The system is intentionally minimal and will continue to evolve.
- Designed for local and internal use β not intended for public deployment.
- SSH access configured to Homelab homelab for remote infrastructure management.
πΊοΈ Tool Development Pipeline
β Phase 1 β Foundation (Complete)
Tool | Status | Purpose |
---|---|---|
list_files | β | List directory contents |
read_file | β | Read file contents |
write_file | β | Write to files |
run_command | β | Execute shell commands |
search_files | β | Search by filename/content with gitignore support |
β Phase 2A β Git & Testing (Complete)
Tool | Status | Purpose |
---|---|---|
git_status | β | Git status with clean formatting |
git_commit | β | Stage and commit with optional push |
git_branch | β | Manage branches (list, create, switch, delete) |
git_diff | β | Show file changes (unstaged/staged/both) |
git_log | β | Commit history with formatting |
run_tests | β | Smart test runner with framework detection |
π Phase 2B β Homelab Management (Homelab) - IN PROGRESS
Infrastructure: KVM/libvirt hypervisor (Homelab) managing 5 VMs across VLANs
Access: Full SSH access configured to host + all VMs
Goal: Conversational debugging and management of production infrastructure
Homelab Infrastructure Overview
Host: Homelab
- Ryzen 7 5700X, 32GB RAM
- KVM/libvirt hypervisor
- VLAN-segmented networking
Virtual Machines:
VM | IP | VLAN | Purpose | Key Services |
---|---|---|---|---|
apps01 | 192.168.x.x | br20 | Application host | Docker (6 containers), Node Exporter |
db01 | 192.168.x.x | br30 | Database | PostgreSQL 16 |
gitlab01 | 192.168.x.x | br40 | Version control | GitLab CE |
gitrunner01 | 192.168.x.x | br20 | CI/CD | GitLab Runner |
ops01 | 192.168.x.x | br40 | Monitoring | Grafana, Prometheus |
Sprint 1: VM & Infrastructure Management
Tool | Priority | Purpose | Status |
---|---|---|---|
homelab_status | π₯ Critical | Dashboard: VMs, containers, services, resources | β Complete |
homelab_vm | π₯ High | Start/stop/restart VMs | π¨ Building |
homelab_network | π₯ High | Check VLAN/bridge configs, routing | π Planned |
homelab_ping | Medium | Test connectivity between VMs/services | π Planned |
homelab_firewall | Medium | Check/manage firewall rules | π Planned |
Goal: Complete visibility and control over VM infrastructure
Sprint 2: Container & Application Management
Tool | Priority | Purpose | Status |
---|---|---|---|
homelab_containers | π₯ High | List/manage Docker containers on apps01 | π Planned |
homelab_logs | π₯ High | Stream container/service logs | π Planned |
homelab_restart | π₯ High | Restart containers/services | π Planned |
homelab_exec | Medium | Execute commands in containers | π Planned |
homelab_tunnel | Medium | Manage Cloudflare tunnels | π Planned |
Goal: Full Docker container lifecycle management
Sprint 3: Database Management
Tool | Priority | Purpose | Status |
---|---|---|---|
homelab_db_status | π₯ High | PostgreSQL health on db01 | π Planned |
homelab_db_query | Medium | Run SQL queries | π Planned |
homelab_db_connections | Medium | Show active DB connections | π Planned |
homelab_db_backup | Low | Backup databases | π Planned |
Goal: Database monitoring and management
Sprint 4: Diagnostic & Debugging
Tool | Priority | Purpose | Status |
---|---|---|---|
homelab_diagnose | π₯ High | Auto-diagnose common issues | π Planned |
homelab_ports | Medium | Show listening ports on VMs | π Planned |
homelab_routes | Medium | Check routing tables | π Planned |
homelab_resources | Medium | CPU/RAM/disk usage across infrastructure | π Planned |
Goal: Rapid problem identification and resolution
Sprint 5: GitLab & CI/CD
Tool | Priority | Purpose | Status |
---|---|---|---|
homelab_gitlab | Medium | GitLab status & management | π Planned |
homelab_runner | Medium | CI runner status & jobs | π Planned |
homelab_pipeline | Low | Trigger/monitor pipelines | π Planned |
Goal: CI/CD pipeline visibility and control
π¨ Phase 3 β Frontend Development (Future Priority)
Solving the "refresh hell" problem for Django + Bootstrap + Vanilla CSS development.
Sprint 1: Emergency Relief (Debug & Fix Tools)
Tool | Priority | Purpose | Status |
---|---|---|---|
check_frontend | π₯ Critical | Validate HTML/CSS/JS, find errors, check Bootstrap conflicts | π Planned |
clear_django_cache | π₯ Critical | Clear static files cache, template cache, cache-busting | π Planned |
validate_html | π₯ Critical | Check template syntax, Bootstrap usage, Django tags | π Planned |
Sprint 2: Modern Workflow (Live Development Tools)
Tool | Priority | Purpose | Status |
---|---|---|---|
watch_static | π₯ High | Auto-reload on changes, validate code, collectstatic | π Planned |
hot_reload_css | π₯ High | Inject CSS changes without page reload | π Planned |
Sprint 3: Design Bridge (Figma Integration)
Tool | Priority | Purpose | Status |
---|---|---|---|
extract_figma_tokens | Medium | Pull colors, fonts, spacing from Figma β CSS variables | π Planned |
figma_blueprint | Medium | Analyze Figma frame structure, suggest Bootstrap approach | π Planned |
design_to_bootstrap | Medium | Screenshot β Bootstrap HTML/CSS (AI vision-based) | π Planned |
Sprint 4: Code Quality (Bootstrap Mastery)
Tool | Priority | Purpose | Status |
---|---|---|---|
reconcile_styles | Low | Fix Bootstrap vs custom CSS conflicts | π Planned |
bootstrap_component_generator | Low | Generate Bootstrap components from description | π Planned |
optimize_templates | Low | Analyze Django templates, suggest improvements | π Planned |
π― Phase 4 β Project-Specific Tools (Future)
Django/FastAPI Helpers
Tool | Purpose | Status |
---|---|---|
django_manage | Run Django management commands | π Planned |
create_migration | Create and apply migrations | π Planned |
run_server | Start dev server with options | π Planned |
shell_plus | Interactive Django/IPython shell | π Planned |
AImagineers.io Workflows
Tool | Purpose | Status |
---|---|---|
project_init | Initialize new client project structure | π Planned |
deploy_staging | Deploy to staging environment | π Planned |
deploy_prod | Deploy to production | π Planned |
backup_db | Backup databases | π Planned |
π Progress
Total Tools Built: 12
Phase 1: 5/5 complete β
Phase 2A: 6/6 complete β
Phase 2B Sprint 1: 1/5 complete - homelab_status
β
π― Current Focus
Problem: Managing production homelab infrastructure requires constant SSH sessions, manual checks, and troubleshooting across 5 VMs.
Solution: Building conversational AI-assisted homelab management tools for instant visibility and control over entire infrastructure.
Latest: homelab_status
complete! Full dashboard showing 5 VMs, 6 containers, 5 services - all healthy β
Next Tool: homelab_vm
- VM lifecycle management (start/stop/restart)
Built with purpose β to automate real work, not imaginary problems.