Skip to content

Feature Manifest: mcp-embedded-ui

Overview

A lightweight, cross-language embedded Web UI library for any MCP server. Provides browser-based tool discovery, schema inspection, and execution via a self-contained HTML page served by a thin backend API layer.

Features

ID Feature Complexity Priority Dependencies
F1 HTML Frontend M P0 None
F2 Tool Discovery API S P0 None
F3 Tool Execution API S P0 F2
F4 Auth Hook S P1 F3
F5 Framework Integration S P0 F2, F3, F4, F7
F6 Try-It Console M P1 F1, F3, F7
F7 Tool Validation API S P0 F2

Dependency Graph

F1 (HTML Frontend)          F2 (Tool Discovery API)
       │                         │
       │                         ├──────────────────────┐
       ▼                         ▼                      ▼
F6 (Try-It Console) ──→ F3 (Tool Execution API)  F7 (Tool Validation API)
       │                       │                        │
       └───────────────────────┤                        │
                               ▼                        │
                         F4 (Auth Hook)                 │
                               │                        │
                               ▼                        │
                         F5 (Framework Integration) ◀───┘
  1. F1 — HTML Frontend (no deps, shared asset across all languages)
  2. F2 — Tool Discovery API (no deps, core endpoints)
  3. F3 — Tool Execution API (depends on F2 for tool lookup)
  4. F4 — Auth Hook (guards F3)
  5. F7 — Tool Validation API (depends on F2 for inputSchema; independent of F3/F4)
  6. F6 — Try-It Console (frontend feature, needs F3 + F7 backends)
  7. F5 — Framework Integration (composes everything, final packaging)

Cross-Language Implementations

"Pending release" means the version is committed in the SDK repo but not yet published to its package registry. Drop the marker as part of publishing.

Language Repository Status
Python mcp-embedded-ui-python v0.5.0 (pending release)
TypeScript mcp-embedded-ui-typescript v0.5.0 (pending release)
Rust mcp-embedded-ui-rust v0.5.0 (pending release)
Go — Planned. PROTOCOL.md already carries the Go type and validator mapping so an implementation has a spec to follow; no SDK is published yet.