Web UI: Create internal server skeleton #426

Closed
opened 2026-07-07 12:20:59 -05:00 by jcwalker3 · 1 comment
Owner

Problem statement

Operators need a single local entry point to browse MCP Control Plane operational views. Today there is no app skeleton, routes, or documented dev startup for an internal web UI.

Scope

Build the initial internal web server application with:

  • local dev startup command documented in repo docs
  • basic shared layout (nav/header)
  • route stubs for all MVP pages
  • read-only MVP posture (no write endpoints)
  • no secrets in repo or client bundle

Acceptance criteria

  • Server starts locally with one documented command
  • Routes exist and render: /, /health, /projects, /prompts, /runtime, /audit
  • /health returns JSON suitable for liveness checks
  • MVP is read-only (no mutation endpoints)
  • No secrets stored in code, config committed to repo, or frontend bundle
  • Docs explain how to run the server locally

Non-goals

  • Implementing queue, prompts, registry, or audit logic (separate child issues)
  • Enabling any Gitea write actions
  • Production deployment hardening (see auth/deployment child)
  • Choosing a specific frontend framework is an implementation detail, but keep the stack simple and testable

Relation to tracker

Child of tracker #425. Implements one slice of the MCP Control Plane internal web UI. Does not duplicate backend policy already enforced by MCP tools/workflows.

Dependencies

None. This is the foundation issue.

Notes

Prefer a lightweight Python or Node internal server consistent with repo tooling. Add worktree/queue/lease routes as stubs if useful, but full behavior belongs in later issues.

## Problem statement Operators need a single local entry point to browse MCP Control Plane operational views. Today there is no app skeleton, routes, or documented dev startup for an internal web UI. ## Scope Build the initial internal web server application with: - local dev startup command documented in repo docs - basic shared layout (nav/header) - route stubs for all MVP pages - read-only MVP posture (no write endpoints) - no secrets in repo or client bundle ## Acceptance criteria - Server starts locally with one documented command - Routes exist and render: `/`, `/health`, `/projects`, `/prompts`, `/runtime`, `/audit` - `/health` returns JSON suitable for liveness checks - MVP is read-only (no mutation endpoints) - No secrets stored in code, config committed to repo, or frontend bundle - Docs explain how to run the server locally ## Non-goals - Implementing queue, prompts, registry, or audit logic (separate child issues) - Enabling any Gitea write actions - Production deployment hardening (see auth/deployment child) - Choosing a specific frontend framework is an implementation detail, but keep the stack simple and testable ## Relation to tracker Child of tracker #425. Implements one slice of the MCP Control Plane internal web UI. Does not duplicate backend policy already enforced by MCP tools/workflows. ## Dependencies None. This is the foundation issue. ## Notes Prefer a lightweight Python or Node internal server consistent with repo tooling. Add worktree/queue/lease routes as stubs if useful, but full behavior belongs in later issues.
jcwalker3 added the status:in-progress label 2026-07-07 12:22:26 -05:00
Author
Owner

Issue claim heartbeat

<!-- gitea-issue-claim-heartbeat:v1 --> **Issue claim heartbeat** - kind: claim - issue: #426 - branch: feat/issue-426-internal-web-ui-skeleton - phase: claimed - profile: prgs-author - pr: none - blocker: none - next_action: create worktree and begin implementation
sysadmin removed the status:in-progress label 2026-07-07 13:38:09 -05:00
Sign in to join this conversation.
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Scaled-Tech-Consulting/Gitea-Tools#426