Problem
Every self-hoster manages their own .loopover.yml private config (global + per-repo, under LOOPOVER_REPO_CONFIG_DIR) and redeploys their own stack by SSHing into their own box and editing files / running scripts by hand -- confirmed today as the only supported path (self-hosting-operations.mdx even documents docker exec ... ls -A "$LOOPOVER_REPO_CONFIG_DIR" as the way to inspect it). There is no remote/programmatic way for an MCP client to read or write that config, or to trigger a redeploy of the self-hosted stack -- for any self-hoster, not just us.
Area
src/mcp/server.ts (existing network-reachable MCP server, LOOPOVER_MCP_TOKEN-gated), src/selfhost/private-config.ts (currently 100% read-only), docker-compose.yml (config mount is deliberately :ro today), src/env.d.ts, self-hosting docs.
Proposal
A new, generic, config-as-code, off-by-default MCP admin tool category that ships inside the loopover-selfhost image itself -- any self-hoster running their own instance gets the same capability for their own config/deploys, nothing JSONbored-specific. Split into two sub-issues with very different risk profiles (see below) -- the config read/write half has a clean precedent to extend; the redeploy half does not and needs its own design decision before implementation.
Deliverables
Resources
- Existing MCP server auth pattern:
LOOPOVER_MCP_TOKEN + MCP_ACTUATION_REPO_ALLOWLIST/MCP_READ_REPO_ALLOWLIST (fail-closed allowlists), self-hosting-configuration.mdx:117-143
src/selfhost/private-config.ts's existing read path (candidate-path resolution, manifest parsing) to mirror for the write path
docker-proxy sidecar (docker-compose.yml, tecnativa/docker-socket-proxy) as this repo's own established pattern for narrowly-scoped, non-raw-socket privileged access
Boundaries
In-container admin tool surface only -- not a change to the public .loopover.yml.example/dashboard settings API, and not a change to how JSONbored's own infra is operated day-to-day (that stays SSH-based unless/until this ships and is deployed).
maintainer-only -- new privileged control surface touching self-hosted config and deploys, needs maintainer review.
Problem
Every self-hoster manages their own
.loopover.ymlprivate config (global + per-repo, underLOOPOVER_REPO_CONFIG_DIR) and redeploys their own stack by SSHing into their own box and editing files / running scripts by hand -- confirmed today as the only supported path (self-hosting-operations.mdxeven documentsdocker exec ... ls -A "$LOOPOVER_REPO_CONFIG_DIR"as the way to inspect it). There is no remote/programmatic way for an MCP client to read or write that config, or to trigger a redeploy of the self-hosted stack -- for any self-hoster, not just us.Area
src/mcp/server.ts(existing network-reachable MCP server,LOOPOVER_MCP_TOKEN-gated),src/selfhost/private-config.ts(currently 100% read-only),docker-compose.yml(config mount is deliberately:rotoday),src/env.d.ts, self-hosting docs.Proposal
A new, generic, config-as-code, off-by-default MCP admin tool category that ships inside the
loopover-selfhostimage itself -- any self-hoster running their own instance gets the same capability for their own config/deploys, nothing JSONbored-specific. Split into two sub-issues with very different risk profiles (see below) -- the config read/write half has a clean precedent to extend; the redeploy half does not and needs its own design decision before implementation.Deliverables
Resources
LOOPOVER_MCP_TOKEN+MCP_ACTUATION_REPO_ALLOWLIST/MCP_READ_REPO_ALLOWLIST(fail-closed allowlists),self-hosting-configuration.mdx:117-143src/selfhost/private-config.ts's existing read path (candidate-path resolution, manifest parsing) to mirror for the write pathdocker-proxysidecar (docker-compose.yml,tecnativa/docker-socket-proxy) as this repo's own established pattern for narrowly-scoped, non-raw-socket privileged accessBoundaries
In-container admin tool surface only -- not a change to the public
.loopover.yml.example/dashboard settings API, and not a change to how JSONbored's own infra is operated day-to-day (that stays SSH-based unless/until this ships and is deployed).maintainer-only -- new privileged control surface touching self-hosted config and deploys, needs maintainer review.