homelab-mcp
Model Context Protocol (MCP) servers for managing homelab infrastructure through Claude Desktop. Monitor Docker/Podman containers, Ollama AI models, Pi-hole DNS, Unifi networks, and Ansible inventory. Includes security checks, templates, and automated pre-push validation.
Install / Use
claude mcp add bjeans -- npx -y github:bjeans/homelab-mcpIf the server publishes to npm under a different name, use that package instead — check the repo README.
MCP Server
Model Context Protocol server
Quality Score
Category
SecuritySupported Platforms
Our assessment of homelab-mcp
homelab-mcp scores 73/100 on our quality scale, 1051st of 1,126 Security skills we index.
Its MCP Server is 53 KB long, well organised into 158 sections with 62 code examples: long enough that it reads more like full documentation than a focused instruction file, which agents can find harder to follow.
It has 43 GitHub stars, so there is little community track record yet; judge it on its content.
Maintenance, license and trust
- The repository was last updated about 4 months ago. That is recent enough to be usable, but agent tooling moves fast, so check the instructions against your agent's current version.
- Our last check on 2026-10-21 found the source still online.
- It is released under the MIT license, a permissive license that allows use, modification and commercial use with attribution.
- Its trust signals score 95/100, with no cautions. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.
Safety scan
No issues foundOur scan of the whole file found no instruction hijacking, hidden characters, credential access, data exfiltration or destructive commands. An AI review of the same text found nothing harmful.
AI review by kimi-k2.7-code on 2026-09-25. Automated pattern scan on 2026-09-24. It catches known dangerous patterns, not every risk — read a skill before letting an agent act on it.
homelab-mcp compared with similar skills
All 4 of these similar skills score higher than homelab-mcp; compare them before choosing.
| Skill | Score | Stars | Updated | Format |
|---|---|---|---|---|
| homelab-mcp (this skill)by bjeans | 73 | 43 | 4mo ago | MCP Server |
| Agent-Reachby Panniantong | 100 | 102.4k | today | CLAUDE.md |
| headroomby headroomlabs-ai | 100 | 77.8k | 1d ago | CLAUDE.md |
| CowAgentby zhayujie | 100 | 47.6k | 1d ago | CLAUDE.md |
| Scraplingby D4Vinci | 100 | 89.7k | 3d ago | MCP Server |
Frequently asked questions
- How do I install homelab-mcp?
- Run
claude mcp add bjeans -- npx -y github:bjeans/homelab-mcp. The install tabs above show the steps for each supported agent. - Which AI agents does homelab-mcp work with?
- It is written for Claude Code and Claude Desktop, as a MCP Server file. Other agents that read the same format can often use it too.
- Is homelab-mcp safe to use?
- Our scan of the whole file found no instruction hijacking, hidden characters, credential access, data exfiltration or destructive commands. An AI review of the same text found nothing harmful. It is MIT-licensed and scores 95/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
- Is homelab-mcp still maintained?
- The repository was last updated about 4 months ago. That is recent enough to be usable, but agent tooling moves fast, so check the instructions against your agent's current version.
Skill content
View source on GitHubHomelab MCP Servers
<p align="center"> <img src="assets/Homelab-mcp-logo-transparent.png" alt="Homelab MCP Logo" width="400"> </p>Model Context Protocol (MCP) servers for managing homelab infrastructure through Claude Desktop.
A collection of Model Context Protocol (MCP) servers for managing and monitoring your homelab infrastructure through Claude Desktop.
🔒 Security Notice
⚠️ IMPORTANT: Please read SECURITY.md before deploying this project.
This project interacts with critical infrastructure (Docker APIs, DNS, network devices). Improper configuration can expose your homelab to security risks.
Key Security Requirements:
- NEVER expose Docker/Podman APIs to the internet - Use firewall rules to restrict access
- Keep
.envfile secure - Contains API keys and should never be committed - Use unique API keys - Generate separate keys for each service
- Review network security - Ensure proper VLAN segmentation and firewall rules
See SECURITY.md for comprehensive security guidance.
� Documentation Overview
This project includes several documentation files for different audiences:
- README.md (this file) - Installation, setup, and usage guide
- MIGRATION_V3.md - Migration guide for v2.0 unified server
- PROJECT_INSTRUCTIONS.md - Copy into Claude project instructions for AI context
- CLAUDE.md - Developer guide for AI assistants and contributors
- SECURITY.md - Security policies and best practices
- CONTRIBUTING.md - How to contribute to this project
- CHANGELOG.md - Version history and changes
👥 For End Users: Follow this README + copy PROJECT_INSTRUCTIONS.md to Claude 🔄 Migrating from v1.x? See MIGRATION_V3.md for unified server migration 🤖 For AI Assistants: Read CLAUDE.md for complete development context 🔧 For Contributors: Start with CONTRIBUTING.md and CLAUDE.md
�📖 Important: Configure Claude Project Instructions
After setting up the MCP servers, create your personalized project instructions:
-
Copy the example template:
# Windows copy PROJECT_INSTRUCTIONS.example.md PROJECT_INSTRUCTIONS.md # Linux/Mac cp PROJECT_INSTRUCTIONS.example.md PROJECT_INSTRUCTIONS.md -
Edit the file with your actual infrastructure details:
PROJECT_INSTRUCTIONS.md (for Claude Desktop project instructions):
- Replace example IP addresses with your real network addresses
- Add your actual server hostnames
- Customize with your specific services and configurations
- Keep this file private - it contains your network topology
CLAUDE_CUSTOM.md (for AI development work - contributors only):
- Update repository URLs with your actual GitHub repository
- Add your Notion workspace URLs if using task management
- Customize infrastructure references
- Keep this file private - contains your specific URLs and setup
-
Add to Claude Desktop:
- Open Claude Desktop
- Go to your project settings
- Copy the contents of your customized
PROJECT_INSTRUCTIONS.md - Paste into the "Project instructions" field
What's included:
- Detailed MCP server capabilities and usage patterns
- Infrastructure overview and monitoring capabilities
- Specific commands and tools available for each service
- Troubleshooting and development guidance
This README covers installation and basic setup. The project instructions provide Claude with comprehensive usage context.
🎯 Deployment Options
Version 3.0.0 offers flexible deployment with two modes and two methods:
Deployment Modes
Choose how your MCP servers are organized:
1. Unified Server (Recommended)
Run all MCP servers in a single process with namespaced tools. This is the recommended approach for new installations and required for Docker deployments.
{
"mcpServers": {
"homelab-unified": {
"command": "python",
"args": ["C:\\Path\\To\\Homelab-MCP\\homelab_unified_mcp.py"]
}
}
}
Advantages:
- ✅ Single configuration entry
- ✅ One Python process for all servers
- ✅ Cleaner logs (no duplicate warnings)
- ✅ All tools namespaced (e.g.,
docker_get_containers,ping_ping_host) - ✅ Required for Docker deployments
- ✅ Built-in health checks
- ✅ Production-ready containerization
2. Individual Servers (Legacy, Fully Supported)
Run each MCP server as a separate process. This mode remains fully supported for backward compatibility and only available with native Python installation.
{
"mcpServers": {
"docker": {
"command": "python",
"args": ["C:\\Path\\To\\Homelab-MCP\\docker_mcp_podman.py"]
},
"ollama": {
"command": "python",
"args": ["C:\\Path\\To\\Homelab-MCP\\ollama_mcp.py"]
}
}
}
Advantages:
- ✅ Granular control over each server
- ✅ Can enable/disable servers individually
- ✅ Original tool names (e.g.,
get_docker_containers,ping_host) - ✅ Backward compatible with v1.x
Note: Tool names differ between modes. See MIGRATION_V3.md for detailed migration instructions and tool name changes.
Deployment Methods
Choose how to install and run the servers:
1. Docker Container (Recommended for Production)
Pre-built images available on Docker Hub for immediate deployment. See 🐳 Docker Deployment for full setup instructions.
Quick Start:
docker pull bjeans/homelab-mcp:latest
docker-compose up -d
Advantages:
- ✅ No Python environment setup required
- ✅ Pre-built, tested images
- ✅ Automatic updates with image pulls
- ✅ Multi-platform support (amd64, arm64)
- ✅ Simplified configuration
- ✅ Production-grade containerization
Limitations:
- Unified server mode only
- mcp-registry-inspector not available (deprecated)
2. Native Python Installation (Development & Legacy)
Install Python dependencies directly and run servers from source. See 📦 Installation for full setup instructions.
Quick Start:
pip install -r requirements.txt
python homelab_unified_mcp.py
Advantages:
- ✅ Full access to source code
- ✅ Easy debugging and development
- ✅ Supports both unified and individual server modes
- ✅ Can run on any Python-compatible platform
Requirements:
- Python 3.10+ with pip
- Manual dependency management
- Environment configuration via .env file
Migration Guide: See MIGRATION_V3.md for detailed instructions on switching between modes or methods.
⚡ FastMCP Framework (v3.0.0)
Version 3.0.0 uses FastMCP: A modern MCP framework that simplifies server architecture while adding support for multiple transport mechanisms and tool annotations.
What is FastMCP?
FastMCP is a lightweight framework that:
- ✅ Reduces server code by 38% (1,754 lines eliminated)
- ✅ Uses simple decorator pattern (
@mcp.tool()) for tool definitions - ✅ Includes comprehensive tool annotations for behavioral hints
- ✅ Adds support for HTTP and SSE transports (in addition to stdio)
- ✅ Auto-generates schemas from Python type hints
- ✅ Improves code maintainability and makes adding new servers easier
All 39 tools now include MCP annotations (readOnlyHint, idempotentHint, etc.) to help Claude make informed decisions about tool usage.
Transport Options
FastMCP servers can operate using different transport mechanisms:
1. Standard Input/Output (stdio) - Default
The traditional MCP transport used by Claude Desktop. This is the default and recommended option for most users.
# Run with stdio (default)
python homelab_unified_mcp.py
# Or explicitly specify stdio transport
python homelab_unified_mcp.py --transport stdio
When to use:
- Claude Desktop integration (default mode)
- Most common use case
- No additional configuration needed
2. HTTP Transport
Run MCP servers as HTTP services for remote or flexible deployment scenarios.
# Start server with HTTP transport
python homelab_unified_mcp.py --transport http --host 0.0.0.0 --port 8000
# Test the HTTP endpoint
curl http://localhost:8000/tools
When to use:
- Deploying servers remotely
- Web-based integrations
- Multi-client scenarios
- Load balancing requirements
3. Server-Sent Events (SSE) Transport
Stream-based protocol for real-time bidirectional communication.
# Start server with SSE transport
python homelab_unified_mcp.py --transport sse --host 0.0.0.0 --port 8000
# Connect via SSE client
curl http://localhost:8000/sse
When to use:
- Real-time monitoring applications
- Browser-based integrations
- Event-driven architectures
- Streaming responses
Configuring Claude Desktop with FastMCP
Claude Desktop continues to use stdio transport by default. No configuration changes are required:
{
"mcpServers": {
"homelab-unified": {
"command": "python",
"args": ["C:\\Path\\To\\Homelab-MCP\\homelab_unified_mcp.py"]
}
}
}
Migration from v2.2.0
If you're upgrading from v2.2.0:
- ✅ No breaking changes - Your existing configuration continues to work unchanged
- ✅ Same functionality - All 7 servers and all tools remain identical
- ✅ Cleaner code - Internal refactoring produces the same results
- ✅ New options - Optional HTTP/SSE transports available if needed
No action required - just update and restart Claude Desktop.
🚀 Quick Start
1. Clone the repository
git clone https://github.com/bjeans/homelab-mcp
cd homelab-mcp
2. Install security checks (recommended)
# Install pre-push git hook for automatic security validation
python helpers/install_git_hook.py
3. Set up configuration files
Environment variables:
# Windows
copy .env.example .env
# Linux/Mac
cp .env.example .env
Edit .env with your actual values:
# Windows
notepad .env
# Linux/Mac
nano .env
Ansible inventory (if using):
# Windows
copy ansible_hosts.example.yml ansible_hosts.yml
# Linux/Mac
cp ansible_hosts.example.yml ansible_hosts.yml
Edit with your infrastructure details.
Project instructions:
# Windows
copy PROJECT_INSTRUCTIONS.example.md PROJECT_INSTRUCTIONS.md
# Linux/Mac
cp PROJECT_INSTRUCTIONS.example.md PROJECT_INSTRUCTIONS.md
Customize with your network topology and servers.
AI development guide customizations (optional):
# Windows
copy CLAUDE_CUSTOM.example.md CLAUDE_CUSTOM.md
# Linux/Mac
cp CLAUDE_CUSTOM.example.md CLAUDE_CUSTOM.md
Customize with your actual server names and infrastructure details. This file is gitignored and allows Claude to understand your specific homelab setup. See CLAUDE.md for more information about local customizations.
4. Install Python dep
Truncated for display — read the full file on GitHub.
Related Skills
Agent-Reach
102.4kGive your AI agent eyes to see the entire internet. Read & search Twitter, Reddit, YouTube, GitHub, Bilibili, XiaoHongShu — one CLI, zero API fees.
headroom
77.8kCompress tool outputs, logs, files, and RAG chunks before they reach the LLM. 20% fewer tokens for coding agents, 60-95% fewer tokens for JSON, same answers. Library, proxy, MCP server.
CowAgent
47.6kOpen-source personal AI assistant & Agent Harness. Plans tasks, runs tools and skills, self-evolves with memory and knowledge. Multi-agent, multi-model, multi-channel. Lightweight, extensible, one-line install.
Scrapling
89.7k🕷️ A Web Scraping framework that handles everything from a single request to a full-scale crawl! Don't be shy, join here: https://discord.gg/EMgGbDceNQ and follow here for daily tips and tricks: https://x.com/Scrapling_dev
Languages
Trust signals
From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.
