MCPs in My Homelab: Turning Codex Into a Real Ops + Dev Copilot

I spent a couple sessions wiring up MCP (Model Context Protocol) servers in my homelab so Codex can stop guessing and start verifying: live Home Assistant entities, real Portainer containers, Proxmox nodes, GitHub issues, and even WordPress drafts with media.
TL;DR: MCPs turn Codex into a practical ops + dev copilot. I can ask “what’s running?”, “does this entity exist?”, “what issues are still open?”, and “create a draft post with a hero image” — and get answers backed by live systems.
The architecture (high level)
Windows workstation
Where the IDE runs. Holds global Codex config + AGENTS.md conventions.
Codex appliance (docker_69)
A small Linux container that hosts “heavy” MCP servers and exposes them back to the IDE via SSH stdio.
Home Assistant (docker_10)
Runs the official Home Assistant MCP server so Codex can validate entities/services and query state.
MCPs we implemented
| MCP | What it gives Codex | Runs where |
|---|---|---|
| openaiDeveloperDocs | Authoritative OpenAI API / Codex docs lookups | Hosted (OpenAI) |
| github | Issues/PRs/repo metadata (real triage + cleanup) | Hosted (GitHub) |
| homeassistant | Entity + service validation, live state lookups | docker_10 (Home Assistant) |
| portainer | List/manage environments, stacks, containers | codex_appliance (docker_69) |
| proxmox | Inspect/manage nodes, VMs, LXCs | codex_appliance (docker_69) |
| wordpress | Draft-only posts + media uploads | codex_appliance (docker_69) |
Why this makes Codex better (real examples)
1) GitHub issue hygiene: list open issues, spot quick wins, close stale items
Instead of guessing what’s worth doing, Codex can query GitHub issues directly and group them into:
- Code-only / MCP-assisted (good targets)
- Hardware / house work (not code-only)
- Stale / no longer relevant (close with a note)
Example prompt (what I actually ask Codex):
Show open issues in CCOSTAN/Home-AssistantConfig.
Which are code-only vs. hardware/house?
Which should we close as no longer needed?
From the current open list, some code-only / MCP-assisted candidates include:
- #1539 Create Portainer dashboard + automations (now much easier with Portainer MCP).
- #1517 Create Proxmox dashboard (now much easier with Proxmox MCP).
- #1547 Circuit Panel app improvements (service/app work).
And some that are not code-only (blocked on real-world work):
- #1548 Replace Nest Protects (hardware lifecycle + install).
- #1518 Backup internet (hardware + network changes).
2) Home Assistant safety: validate entities/services before changing YAML
Before touching automations/scripts, Codex can query Home Assistant to confirm entity IDs exist and services are valid. This reduces typos and “it failed because the name was wrong” loops.
3) Infra as context: Portainer + Proxmox MCPs
- Confirm where a service runs and what it’s called (environments, stacks, containers).
- Inspect VM/LXC inventory and node status quickly.
- Turn “go click around” ops work into a single verified conversation.
4) Blogging workflow: WordPress drafts + media uploads
The WordPress MCP is draft-only on purpose: it lets me iterate safely. It can upload images and set a featured image, but I also prepend the hero image inline because some themes don’t display featured images consistently on the front-end.
Snippets from AGENTS.md (how we keep Codex on the rails)
## MCP Servers (This Machine)
- openaiDeveloperDocs: OpenAI/Codex docs and reference.
- github: issues/PR/repo metadata.
- homeassistant: entity/service validation and state lookups.
- portainer: Docker via Portainer (runs in codex_appliance).
- proxmox: VM/LXC management (runs in codex_appliance).
- wordpress: draft-only posts/media (runs in codex_appliance).
MCP placement: if an MCP needs installed dependencies,
host it in docker_69/codex_appliance and expose it to the IDE via SSH stdio.
What I want to improve next
- Better visuals by default: Gutenberg blocks, tables, callouts, and an inline hero image every time.
- Auto-summarize issue lists: a repeatable “triage” prompt that labels quick wins and stale items.
- Media workflow: generate hero + in-post diagrams, upload, set alt text, and insert at the right spot automatically.
Draft generated with help from Codex + MCP servers running in my homelab.

