anvil

Mark-AImagineers/anvil

3.2

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

ToolDescription
list_filesLists files and directories within a given path.
read_fileReads and returns the contents of a file.
write_fileWrites text content to a file, creating or overwriting as needed.
run_commandExecutes safe shell commands and returns output.
search_filesSearch for files by name pattern and/or content with advanced filtering.
git_statusGet git repository status with clean, readable formatting.
git_commitStage and commit changes with optional push to remote.
git_branchList, create, switch, or delete git branches.
git_diffShow git diff of changes (unstaged, staged, or both).
git_logShow git commit history with clean formatting.
run_testsRun tests with auto-detected framework (pytest, unittest, Django, jest).
homelab_statusComprehensive 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)

ToolStatusPurpose
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)

ToolStatusPurpose
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:

VMIPVLANPurposeKey Services
apps01192.168.x.xbr20Application hostDocker (6 containers), Node Exporter
db01192.168.x.xbr30DatabasePostgreSQL 16
gitlab01192.168.x.xbr40Version controlGitLab CE
gitrunner01192.168.x.xbr20CI/CDGitLab Runner
ops01192.168.x.xbr40MonitoringGrafana, Prometheus

Sprint 1: VM & Infrastructure Management

ToolPriorityPurposeStatus
homelab_statusπŸ”₯ CriticalDashboard: VMs, containers, services, resourcesβœ… Complete
homelab_vmπŸ”₯ HighStart/stop/restart VMsπŸ”¨ Building
homelab_networkπŸ”₯ HighCheck VLAN/bridge configs, routingπŸ“‹ Planned
homelab_pingMediumTest connectivity between VMs/servicesπŸ“‹ Planned
homelab_firewallMediumCheck/manage firewall rulesπŸ“‹ Planned

Goal: Complete visibility and control over VM infrastructure

Sprint 2: Container & Application Management

ToolPriorityPurposeStatus
homelab_containersπŸ”₯ HighList/manage Docker containers on apps01πŸ“‹ Planned
homelab_logsπŸ”₯ HighStream container/service logsπŸ“‹ Planned
homelab_restartπŸ”₯ HighRestart containers/servicesπŸ“‹ Planned
homelab_execMediumExecute commands in containersπŸ“‹ Planned
homelab_tunnelMediumManage Cloudflare tunnelsπŸ“‹ Planned

Goal: Full Docker container lifecycle management

Sprint 3: Database Management

ToolPriorityPurposeStatus
homelab_db_statusπŸ”₯ HighPostgreSQL health on db01πŸ“‹ Planned
homelab_db_queryMediumRun SQL queriesπŸ“‹ Planned
homelab_db_connectionsMediumShow active DB connectionsπŸ“‹ Planned
homelab_db_backupLowBackup databasesπŸ“‹ Planned

Goal: Database monitoring and management

Sprint 4: Diagnostic & Debugging

ToolPriorityPurposeStatus
homelab_diagnoseπŸ”₯ HighAuto-diagnose common issuesπŸ“‹ Planned
homelab_portsMediumShow listening ports on VMsπŸ“‹ Planned
homelab_routesMediumCheck routing tablesπŸ“‹ Planned
homelab_resourcesMediumCPU/RAM/disk usage across infrastructureπŸ“‹ Planned

Goal: Rapid problem identification and resolution

Sprint 5: GitLab & CI/CD

ToolPriorityPurposeStatus
homelab_gitlabMediumGitLab status & managementπŸ“‹ Planned
homelab_runnerMediumCI runner status & jobsπŸ“‹ Planned
homelab_pipelineLowTrigger/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)
ToolPriorityPurposeStatus
check_frontendπŸ”₯ CriticalValidate HTML/CSS/JS, find errors, check Bootstrap conflictsπŸ“‹ Planned
clear_django_cacheπŸ”₯ CriticalClear static files cache, template cache, cache-bustingπŸ“‹ Planned
validate_htmlπŸ”₯ CriticalCheck template syntax, Bootstrap usage, Django tagsπŸ“‹ Planned
Sprint 2: Modern Workflow (Live Development Tools)
ToolPriorityPurposeStatus
watch_staticπŸ”₯ HighAuto-reload on changes, validate code, collectstaticπŸ“‹ Planned
hot_reload_cssπŸ”₯ HighInject CSS changes without page reloadπŸ“‹ Planned
Sprint 3: Design Bridge (Figma Integration)
ToolPriorityPurposeStatus
extract_figma_tokensMediumPull colors, fonts, spacing from Figma β†’ CSS variablesπŸ“‹ Planned
figma_blueprintMediumAnalyze Figma frame structure, suggest Bootstrap approachπŸ“‹ Planned
design_to_bootstrapMediumScreenshot β†’ Bootstrap HTML/CSS (AI vision-based)πŸ“‹ Planned
Sprint 4: Code Quality (Bootstrap Mastery)
ToolPriorityPurposeStatus
reconcile_stylesLowFix Bootstrap vs custom CSS conflictsπŸ“‹ Planned
bootstrap_component_generatorLowGenerate Bootstrap components from descriptionπŸ“‹ Planned
optimize_templatesLowAnalyze Django templates, suggest improvementsπŸ“‹ Planned

🎯 Phase 4 – Project-Specific Tools (Future)

Django/FastAPI Helpers
ToolPurposeStatus
django_manageRun Django management commandsπŸ“‹ Planned
create_migrationCreate and apply migrationsπŸ“‹ Planned
run_serverStart dev server with optionsπŸ“‹ Planned
shell_plusInteractive Django/IPython shellπŸ“‹ Planned
AImagineers.io Workflows
ToolPurposeStatus
project_initInitialize new client project structureπŸ“‹ Planned
deploy_stagingDeploy to staging environmentπŸ“‹ Planned
deploy_prodDeploy to productionπŸ“‹ Planned
backup_dbBackup 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.