systemprompt-mcp 0.32.2

Native Model Context Protocol (MCP) implementation for systemprompt.io. Orchestration, per-server OAuth2, RBAC middleware, and tool-call governance — the core of the AI governance pipeline.
Documentation
* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

body {
    font-family: var(--mcpui-font-body);
    font-size: var(--mcpui-text-md);
    line-height: var(--mcpui-leading-normal);
    color: var(--mcpui-ink);
    background: var(--mcpui-bg);
    padding: var(--mcpui-space-5);
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

.container {
    max-width: 100%;
    display: flex;
    flex-direction: column;
    gap: var(--mcpui-space-4);
}

.mcp-app-title {
    font-family: var(--mcpui-font-heading);
    font-size: var(--mcpui-text-xl);
    font-weight: 600;
    line-height: var(--mcpui-leading-tight);
    letter-spacing: var(--mcpui-tracking-tight);
    color: var(--mcpui-ink);
}

/* The title carries the accent as a rule beneath it rather than as coloured
 * text: at this size a tinted heading reads as a link. */
.mcp-app-title::after {
    content: "";
    display: block;
    width: 2.25rem;
    height: 2px;
    margin-top: var(--mcpui-space-2);
    border-radius: var(--mcpui-radius-pill);
    background: var(--mcpui-accent);
}

.mcp-app-description {
    max-width: 68ch;
    color: var(--mcpui-ink-dim);
    font-size: var(--mcpui-text-sm);
}

.mcp-app-title + .mcp-app-description {
    margin-top: calc(var(--mcpui-space-2) * -1);
}

:where(a) {
    color: var(--mcpui-accent);
    text-underline-offset: 0.15em;
}

:where(button, input, select, textarea) {
    font-family: inherit;
    font-size: inherit;
}

:where(button, a, input, select, textarea):focus-visible {
    outline: 2px solid var(--mcpui-accent);
    outline-offset: 2px;
}

/* Figures are read by comparison down a column, so they must not reflow as
 * digits change width. */
:where(.metric-value, .list-value, .data-table td, .status-value) {
    font-variant-numeric: tabular-nums;
}

.error-message {
    padding: var(--mcpui-space-3) var(--mcpui-space-4);
    border: 1px solid var(--mcpui-danger);
    border-radius: var(--mcpui-radius-inner);
    background: var(--mcpui-danger-wash);
    color: var(--mcpui-ink);
}

.loading {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: var(--mcpui-space-6);
    color: var(--mcpui-ink-dim);
}