anvil

Mark-AImagineers/anvil

3.1

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 dashboard showing all VMs, containers, services, and resources.
homelab_vmManage VM lifecycle: start, stop, restart, suspend, resume VMs on homelab.
playwrightBrowser automation using Playwright. Launch browser, navigate, click, fill forms, extract data, capture screenshots.
chrome_devtoolsDebug web apps using Chrome DevTools Protocol. Connect to Opera GX/Chrome, execute JavaScript, inspect network, analyze DOM, capture screenshots, monitor performance.
read_pageRead and extract content from web pages open in browser. Get clean text, markdown, or specific data (links, images, emails, prices, tables).
research_toolsMulti-source research and synthesis. Compare info from multiple tabs, fact-check claims, build timelines, extract references.
clipboard_toolsCross-context data handling via clipboard. Capture history, transform formats (JSON/CSV/Markdown/Base64), save reusable snippets with tags.
docx_readRead and extract content from Word documents. Get full text, metadata, structure, headings, statistics.
docx_writeCreate new Word documents from scratch. Add headings, paragraphs, tables, lists with formatting.
docx_editModify existing Word documents. Find/replace text, add/remove content, update metadata.
docx_mergeCombine multiple Word documents into a single file with optional page breaks.
docx_templateFill Word templates with data (mail merge). Generate single or batch documents from JSON/CSV.
docx_convertConvert documents between formats: .docx ↔ PDF, .docx ↔ Markdown, .docx → Plain Text.
docx_extractExtract images, tables (to CSV/JSON), headers/footers, text by style from Word documents.
docx_searchSearch for text across multiple Word documents with context and metadata filters.
docx_compareCompare two document versions. Show differences, calculate similarity, compare metadata.
docx_analyzeAnalyze document quality. Get readability scores, word frequency, reading time, style checks.
docx_commentsManage comments and tracked changes. Extract comments, add notes, list reviewers.
docx_styleApply consistent styling. Use presets (professional, academic, modern) or custom styles.

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 / Email ]

🚀 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 🏠

Remote management and monitoring of production homelab infrastructure via SSH.

Phase 2C – Browser Automation & Web Research 🌐 ✅ COMPLETE

Automate browser interactions, extract web content, and enable multi-source research workflows.

Phase 3 – Document Productivity 📄 ✅ COMPLETE

Complete Microsoft Word (.docx) document automation and productivity tools.

Phase 4 – Frontend Development 🎨

Solve the "refresh hell" problem and streamline Django + Bootstrap development.

Phase 5 – Project-Specific Tools 🎯

Create tools tailored to Django, FastAPI, and AImagineers.io workflows.

Phase 6 – 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 for remote infrastructure management.
  • Email access configured for PrivateEmail accounts via IMAP/SMTP.

🗺️ Tool Development Pipeline

✅ Phase 1 – Foundation (Complete)

ToolStatusPurpose
list_filesList directory contents
read_fileRead file contents
write_fileWrite to files
run_commandExecute shell commands
search_filesSearch by filename/content with gitignore support

✅ Phase 2A – Git & Testing (Complete)

ToolStatusPurpose
git_statusGit status with clean formatting
git_commitStage and commit with optional push
git_branchManage branches (list, create, switch, delete)
git_diffShow file changes (unstaged/staged/both)
git_logCommit history with formatting
run_testsSmart test runner with framework detection

🏠 Phase 2B – Homelab Management (In Progress)

Infrastructure: KVM/libvirt hypervisor 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✅ Complete
homelab_network🔥 HighCheck VLAN/bridge configs, routing📋 Planned
homelab_pingMediumTest connectivity between VMs/services📋 Planned
homelab_firewallMediumCheck/manage firewall rules📋 Planned

🌐 Phase 2C – Browser Automation & Web Research - ✅ COMPLETE

Goal: Automate browser interactions, extract web content, and enable multi-source research workflows.

Browser Automation & Research Tools

ToolStatusPurpose
playwright✅ CompleteBrowser automation: launch, navigate, click, fill, extract, screenshot
chrome_devtools✅ CompleteDebug web apps via CDP: execute JS, inspect DOM, network monitoring, performance
read_page✅ CompleteExtract clean text, markdown, or structured data from browser tabs
research_tools✅ CompleteMulti-source research: compare sources, fact-check, timelines, references
clipboard_tools✅ CompleteClipboard management: history, format transformations, snippets

Features:

  • 🤖 Full browser automation with Playwright (Chromium, Firefox, WebKit)
  • 🔍 Chrome DevTools Protocol integration for debugging live apps
  • 📄 Clean content extraction from web pages
  • 🔬 Multi-tab research and fact-checking
  • 📋 Cross-context data handling via clipboard

🎨 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

🎯 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: 30 Phase 1: 5/5 complete ✅ Phase 2A: 6/6 complete ✅ Phase 2B Sprint 1: 2/5 in progress Phase 2C: 5/5 complete ✅ Phase 3: 12/12 complete ✅ NEW!


🎯 Current Status

Latest Achievement: Document Productivity Tools Complete! ✅ Complete suite of 12 Microsoft Word (.docx) tools for automation, mail merge, analysis, and conversion.

Recent Achievements:

  • Browser automation & web research tools complete! ✅

Active Development:

  • Homelab infrastructure management (networking, connectivity, firewall)
  • Planning frontend development tools for Django + Bootstrap workflows

Built with purpose — to automate real work, not imaginary problems.