Allows listing Docker containers and retrieving real-time resource statistics for containerized home infrastructure.
Provides tools to search the media library and monitor active streaming sessions on an Emby server.
Enables automated management of movie libraries and download queues (planned integration).
Enables automated management of TV show libraries and download queues (planned integration).
Provides management and monitoring capabilities for Synology NAS infrastructure (planned integration).
Integrates with HashiCorp Vault for secure secrets management and protection of infrastructure credentials (planned integration).
Allows for programmatic management and automation of WordPress site instances (planned integration).
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@HomeOps MCP Servershow me all running Docker containers and active Emby sessions"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
HomeOps MCP Server
Note: This project was developed with and is supported exclusively by AI. There is no human support — issues and PRs are triaged and responded to by AI agents. If AI-assisted software isn't for you, no hard feelings — but you might want to reconsider, since so is most of the software you already use.
A Model Context Protocol (MCP) server for home infrastructure management. Provides a unified API for Docker, Emby, and future Servarr/UniFi/CrowdSec integrations. Built with FastAPI and Python 3.11 for homelab automation with Claude.
Roadmap
Phase | Scope | Status |
Phase 0 | Skeleton -- project structure, CI, Docker build, health endpoint | Done |
Phase 1 | Docker + Emby adapters, API-key auth middleware, full CI pipeline | Planned |
Phase 2 | Servarr (Sonarr/Radarr/Prowlarr), WordPress, Synology, UniFi, CrowdSec adapters | Planned |
Phase 3 | UI dashboard, audit logs, secrets management (Vault/SOPS), production hardening | Planned |
Quick Start
Option A -- Docker Compose (recommended)
cp .env.example .env
# Edit .env with your real values
docker compose up -dThe server will be available at http://localhost:8000.
Option B -- Run locally
# Requires Python 3.11+ and Poetry
poetry install
bash scripts/run_local.shConfiguration
All configuration is via environment variables. Copy .env.example to .env and edit as needed.
Variable | Required | Default | Description |
| Yes |
| API key for admin endpoints |
| No |
| Logging level ( |
| No | (mock data) | Emby server URL, e.g. |
| No | (mock data) | Emby API key for authentication |
| No |
| Path to Docker socket |
API Endpoints
Method | Path | Auth | Description |
|
| No | Health check -- returns |
|
| API Key | List Docker containers |
|
| API Key | Container resource stats |
|
| API Key | List active Emby sessions |
|
| API Key | Search Emby library |
|
| API Key | Log action (non-destructive) |
All authenticated endpoints require the X-API-Key header set to the value of MCP_ADMIN_KEY.
Security
Never commit real API keys or secrets. The
.envfile is git-ignored.Only placeholder values appear in
.env.example.The Docker socket is mounted read-only in
docker-compose.yml.The container runs as a non-root user (
appuser).All adapter API keys are loaded from environment variables at startup and are never logged.
Architecture
HomeOps MCP uses an adapter pattern to integrate with external services:
Client Request
|
v
FastAPI Router
|
v
Auth Middleware (validates X-API-Key)
|
v
Adapter Layer
|
+---> DockerAdapter --> Docker Engine API (socket)
+---> EmbyAdapter --> Emby REST API
+---> ServarrAdapter --> Sonarr / Radarr / Prowlarr APIs (Phase 2)
+---> UniFiAdapter --> UniFi Controller API (Phase 2)
+---> CrowdSecAdapter --> CrowdSec LAPI (Phase 2)Each adapter:
Lives in
homeops_mcp/adapters/<name>_adapter.pyImplements a common interface (
BaseAdapter)Returns mock/demo data when the upstream service is not configured
Has its own unit tests in
tests/
Development
# Install all dependencies (including dev)
poetry install
# Run linter
poetry run ruff check .
# Run tests
poetry run pytest -v
# Build Docker image
docker build -t homeops-mcp .Contributing
Every issue in this repo is AI-Ready — structured with full context, file paths, implementation guides, and a ready-to-use AI prompt.
License
MIT -- see LICENSE.