Endpoints: 28,729MCP servers: 18,413Payout addresses: 2,071Paid calls: 1,552Letters: 14Defects: 1,323counted 2 min ago
teppi

Server definition

Hash
sha256:6b5e41561a61d33ee8a679229c411d7f7455db8ee6c8fb807e8a1b58599e3c60
What it is
What a remote MCP server returned when asked what it offers: 3 tools

The blob, as servednamed by its sha256

{ "instructions": "TheDesignAgent — workflow for coding agents.\n\nLOOP for every screen or non-trivial UI change:\n1. Discover(task, project_id?) → build brief with active JTBD, heuristics, patterns. First-ever call per project returns status=needs_setup with an extraction task; build a project_model from the repo's schema/types/migrations and resubmit. Subsequent calls are cheap — reuse the project_id alone.\n2. Build the UI from the brief.\n3. Ux(task, artifact, project_id?) → 0–10 score + findings. Iterate on HIGH-severity findings; stop when the score plateaus (typically 8.5+), not when it hits 10.\n4. Visual works on the LOCAL stdio MCP server only (it screenshots http://localhost). Over the hosted gateway it returns install instructions — that response is informational, not an error.\n\nPer-call inputs — what to send when:\n- task: ALWAYS (one short sentence describing what you're building or evaluating).\n- project_id: ALWAYS once you have one (Discover returns it in _meta.tda_project_id and inline; persist it in .thedesignagent or memory).\n- artifact (Ux/Visual): ALWAYS — the component code or a structured UI description.\n- project_model (Discover): ONLY on first call (no project_id yet) OR when a response returns _meta.tda_status === 'setup_required' or 'model_stale'. NEVER resend it on routine subsequent calls — it's cached server-side and resending wastes 2–4k tokens plus forces re-validation.\n- schema_hash: optional. Useful as a freshness probe so the server can detect when your migrations/types have drifted. Cheap to compute (SHA256 of concatenated schema files).\n- repo_hash: only as a fallback for project_id resolution before your first Discover.\n- codebase_context: optional sugar — a 1–3 line code snippet for tighter calibration.\n\nConventions:\n- Prefer the MCP tools (Discover/Ux/Visual) over curl when this server is configured as an MCP server in your editor — the host plumbs auth and JSON-RPC for you, and you get _meta natively.\n- Send Accept: application/json on raw tools/call requests to avoid SSE framing on non-streaming clients.\n- A ⚠ Degraded response is partial-success — the brief or eval is still usable. Don't abort; proceed with what's returned or retry once.\n- Check _meta.tda_status on every tool response for a stable machine-readable health signal (healthy | degraded:* | setup_required | model_stale | local_install_required | login_required | auth_failed | rate_limited | pipeline_error) before parsing the prose. _meta.tda_retry_ok tells you whether the same call can be safely retried.\n\nDon't ask the user about protocol (\"should I call Discover first?\", \"which tool runs when?\", \"is the backend healthy?\", \"did the fix deploy?\") — follow the loop and read _meta.\nDo ask the user about scope (\"rebuild or patch?\", \"list vs detail?\", \"what's the JTBD?\") — that's product judgment, not protocol.", "tools": [ { "description": "Get a build brief calibrated to your project, persona, and the specific screen you're building.\n\nCall this BEFORE building any screen. Returns:\n- The active Job-to-be-Done for the task\n- Relevant heuristics, cognitive guidance, and patterns from the corpus\n- A focused build brief (~600 tokens) to inject into your build context\n\nCALL LIFECYCLE:\n- First call for a new project (no project_id): returns _meta.tda_status='setup_required' with an extraction task. Scan the repo's schema/types/migrations (or, with no repo, ask the user for a short product description as the task explains) and resubmit with project_model populated.\n- Subsequent calls: send ONLY task + project_id. project_model is cached server-side from the first call; resending it wastes ~2–4k tokens per call and re-runs validation. Resend project_model ONLY when a response returns _meta.tda_status='setup_required' or 'model_stale'.\n\nUse project_id from .thedesignagent or memory across calls. Pass repo_hash (SHA256 of git remote origin URL) only as a fallback if no project_id is known yet.", "inputSchema": { "properties": { "codebase_context": { "description": "Surrounding code snippet for context", "type": "string" }, "project_id": { "description": "project_id from .thedesignagent file", "type": "string" }, "project_model": { "description": "Project model. Send ONLY on first call (no project_id yet) OR when a prior response returned _meta.tda_status=\"setup_required\" or \"model_stale\". Do NOT resend on routine subsequent calls — it is cached server-side.", "type": "object" }, "repo_hash": { "description": "SHA256 of git remote origin URL", "type": "string" }, "schema_hash": { "description": "SHA256 of schema/type files — triggers model refresh if stale", "type": "string" }, "skills": { "description": "Per-call skill selection (overrides project defaults)", "items": { "type": "string" }, "type": "array" }, "task": { "description": "Describe the screen you're about to build", "type": "string" } }, "required": [ "task" ], "type": "object" }, "name": "Discover", "outputSchema": null }, { "description": "Evaluate a built UI artifact for JTBD fit, heuristic compliance, cognitive load, and pattern conformance.\n\nCall this AFTER building a screen. TheDesignAgent scores:\n- Heuristics: violations against Nielsen's heuristics + project-specific anti-patterns\n- Cognitive: load profile against the stored persona\n- Patterns: conformance to established project pattern decisions\n- JTBD fit: does the artifact serve the resolved job?\n\nReturns ux_score (0–10) + findings + prioritised recommendations.\n\nStores new anti-patterns to project context — future builds benefit automatically.", "inputSchema": { "properties": { "artifact": { "description": "The UI description or component code to evaluate", "type": "string" }, "codebase_context": { "description": "Optional surrounding code context", "type": "string" }, "project_id": { "description": "project_id from .thedesignagent file in project root", "type": "string" }, "repo_hash": { "description": "SHA256 of git remote origin URL (fallback if no .thedesignagent)", "type": "string" }, "stages": { "description": "Run only named stages (omit to run all)", "items": { "enum": [ "heuristics", "cognitive", "patterns", "jtbd-fit" ], "type": "string" }, "type": "array" }, "task": { "description": "Describe the workflow or screen you're building", "type": "string" } }, "required": [ "task", "artifact" ], "type": "object" }, "name": "Ux", "outputSchema": null }, { "description": "Evaluate a built UI artifact for visual design quality — brand compliance, visual cognitive load, and aesthetic quality.\n\nPass render_url to review a real screenshot. This hosted server screenshots public pages and preview deploys (pass vercel_bypass_token for a protected Vercel preview). It cannot reach localhost or private networks: for those, it returns instructions for the local MCP server. With no render_url, the review runs from the artifact code alone.\n\nIf the page redirects to login, no review runs and nothing is charged.", "inputSchema": { "properties": { "artifact": { "description": "The UI description or component code to evaluate", "type": "string" }, "project_id": { "description": "project_id from .thedesignagent file in project root", "type": "string" }, "render_url": { "description": "Public or preview URL to screenshot, e.g. https://my-app-git-feature.vercel.app/checkout", "type": "string" }, "repo_hash": { "description": "SHA256 of git remote origin URL", "type": "string" }, "task": { "description": "Describe the workflow or screen you're building", "type": "string" }, "vercel_bypass_token": { "description": "Optional. Vercel 'Protection Bypass for Automation' secret, for a protected preview deploy.", "type": "string" } }, "required": [ "task", "artifact" ], "type": "object" }, "name": "Visual", "outputSchema": null } ] }
Verify it yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:6b5e41561a61d33ee8a679229c411d7f7455db8ee6c8fb807e8a1b58599e3c60 | sha256sum