Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
SYSDESIGN_PORTNoPort for the board and HTTP MCP endpoint. Can also be set with --port=5000.4321
SYSDESIGN_TOKENNoPrivate token for the HTTP MCP endpoint (/mcp). If not set, a token is generated and stored at ~/.sysdesign-board/token.

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}
prompts
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
open_boardA

Open the sketch board in the user’s browser and return its URL.

start_interviewA

Start a new interview session on the board: sets the problem statement, timer and phase, opens the board, and posts your opening message (spoken aloud to the candidate).

wait_for_candidateA

Block until the candidate says something (typed or by voice), the board changes and then settles, or the timeout passes. Returns what they said, what changed on the board, and interview timing. Call this in a loop between your replies.

sayA

Send a message to the candidate. It appears in the board chat and is read aloud. Keep it short and conversational (no markdown).

get_boardA

Structured description of the board: components (type, label, id, position, zone), connections (from -> to, label, dashed=async), zones, notes and text, freehand strokes, plus what changed since you last looked.

get_board_imageA

A PNG picture of the whole board as the candidate sees it (handwriting, sketches, layout). Use when get_board mentions freehand strokes or you need visual context.

annotateA

Pin an interviewer comment bubble on the board, pointing at a component (by id or label) or at a position. Great for "what if this fails?" style probes.

highlightA

Make components glow on the candidate’s board (e.g. while asking about them). Optionally scroll/zoom their view to them.

draw_on_boardB

Add components, connections, sticky notes and zones in the same sketchy style (marked as drawn by the interviewer). Use sparingly — the candidate should drive. Component kinds: user (User), browser (Web App), mobile (Mobile App), dns (DNS), cdn (CDN), lb (Load Balancer), gateway (API Gateway), firewall (Rate Limiter), server (App Server), service (Service), worker (Worker), lambda (Function), cron (Scheduler), sql (SQL DB), nosql (NoSQL DB), cache (Cache), storage (Object Store), search (Search Index), warehouse (Data Warehouse), queue (Queue), stream (Event Stream), pubsub (Pub/Sub), notify (Notifications), auth (Auth), monitor (Monitoring), ml (ML Model), external (External API). Connections reference a component by its ref/label (new or existing) or id. Positions are optional (auto-laid out to the right of existing content).

clear_annotationsB

Remove your pinned comments (all, or specific ids).

set_phaseA

Update the phase tracker the candidate sees: requirements (Requirements), estimation (Estimation), api (API & Data), high-level (High-level), deep-dive (Deep dive), wrap-up (Wrap-up).

end_interviewB

Close the session and show a feedback card on the board. Scores are 1-5.

get_transcriptA

Full chat/voice transcript of the current session.

Prompts

Interactive templates invoked by user choice

NameDescription
interviewRun a live system design mock interview on the sketch board.

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.7/5.0

Scored across 13 tools

Disambiguation4/5

Most tools map to clearly distinct actions: say (chat), annotate (pinned comment), highlight (glow), draw_on_board (add shapes), get_board (structured data), and get_board_image (visual) are well separated by their descriptions. Minor overlap exists between open_board and start_interview (which also opens the board), and between the two board-reading tools, but the descriptions resolve these.

Naming Consistency4/5

The dominant pattern is snake_case verb_noun (open_board, start_interview, get_board_image, clear_annotations, set_phase, end_interview, get_transcript), which is predictable. The bare-verb exceptions (say, annotate, highlight) are simple single-target actions and remain readable, so the deviation is minor.

Tool Count5/5

13 tools sits comfortably in the well-scoped range, and each one covers a distinct facet of a live interview session (conversation, observation, intervention, lifecycle). No tool looks redundant or like filler.

Completeness4/5

The lifecycle is well covered: start_interview, the wait_for_candidate loop, say, board inspection, annotation, phase tracking, end_interview, and get_transcript. Gaps are minor but real: there is no way to undo or delete interviewer-drawn components (only clear_annotations for pinned comments) and no explicit pause/reset of the timer or session state.

Maintenance

ActivityMaintained
ResponsivenessOutdated data