90trust / 100

Forge Engine

by mmvdabzadclebfxyzudg.supabase.co in Other

MCP serverPassing, checked 3 h ago

Design spec + milestones AI coding agents read before building; drift flagged, changes reviewed.

https://mmvdabzadclebfxyzudg.supabase.co/functions/v1/forge-mcp

Last 30 days

All checks passedSome failedAll failedNot checked
Uptime
100%
Response time
257 ms typical, 257 ms slowest 5%
Last check
3 h ago
Next check
in 3 h

How to call it

Add it to any MCP client that supports remote servers.

{
  "mcpServers": {
    "forge-engine": {
      "type": "http",
      "url": "https://mmvdabzadclebfxyzudg.supabase.co/functions/v1/forge-mcp"
    }
  }
}

54 tools

  • get_help

    Forge how-to on demand (no project needed): propose→adopt, what a System is, Balance Lab formats, sign-in. Call when unsure.

  • get_workflow

    Run FIRST in a new repo (no project): first-connect routine + the working-agreement block to ADD to AGENTS.md/CLAUDE.md now (tell the user in one line; remove if they object).

  • import_from_code

    One-command codebase import: recipe + batch id — propose one Context overview + one System per real module; the owner adopts all at once.

  • design_ui_from_systems

    Recipe to design the UI from Systems (user request only): steps + batch id — confirm canvas aspect, then screens + PLACED elements + edges in one batch.

  • post_log

    Append a build-log entry to Activity — what you built/decided (commit-note style).

  • get_project_context

    FULL design dump — LARGE, last resort; prefer get_project_meta + list_*/get_*/search.

  • list_projects

    Projects your key reaches (id, name, role); pass an id as project_id to switch.

  • get_project_meta

    START HERE. Tiny overview: counts, members, task claims + working_now (avoid collisions), forge_workflow_version.

  • trace_ui_from_image

    SECONDARY (user-driven UI): turn a screen's REFERENCE IMAGE into placed elements. Returns the image itself plus the recipe — the canvas resolution, the fraction→pixel conversion that stops coordinates landing wrong, and what is already on the screen so a second pass updates inste

  • get_stale

    What has drifted between the Idea lane and the System Specs — the design's own out-of-sync list, computed deterministically (no AI, no tokens). Three kinds: Idea notes edited since the systems were generated from them (with the systems each one touches), Idea notes whose prose th

  • resync_from_idea

    The recipe for re-syncing ONE changed Idea note into the specs that depend on it — the same scoped job the app's "Re-sync N systems" button does, minus the button. Returns the note, the affected specs in full, and exactly how to send the result back. You do the writing; it lands

  • get_design_document

    The WHOLE design as one readable document — Vision (+ Project DNA) → every System spec → reference notes, compiled deterministically from the current design. Read this to understand a project end-to-end instead of walking list_systems → get_system N times. Returns markdown plus t

  • set_design_overview

    Write the Design Document's Overview — the human-readable page a new team member reads first. WRITES DIRECTLY (no Inbox): it is a derived, clearly-labelled AI summary, not design truth, and the owner can clear or rewrite it in one click. HARD RULES, same as the in-app button: use

  • get_briefing

    ONE-CALL orientation before you build: pass `files` you're about to edit (or a `task`) → the systems that own them, each with Goal + Acceptance + build status/files/last_commit/drift + coupled_systems (code neighbors an edit may break) + pending Inbox changes + recent decisions,

  • get_system

    ONE system's full spec (Goal/Boundary/Acceptance, markdown, sources, status) + pending Inbox changes touching it.

  • list_systems

    All systems, compact: id, name, status, 1-line goal.

  • get_build_region

    System→code map per built system: implementing files, status, drift flag, last_commit, and acceptance-evidence COUNTS. Mapped files gone from the repo? report_drift. Pass `system:"<name|id>"` for ONE system plus the full text of its acceptance criteria (omitted from the map — it

  • report_drift

    Flag CODE DRIFT — mapped files no longer match the repo. Advisory; a fresh report_build_status clears it.

  • get_history

    DESIGN MEMORY: recorded decisions/logs/rejections with who/when. Read BEFORE changing a system's direction; empty = no recorded WHY — don't invent one.

  • get_impact

    BLAST RADIUS of a system (deterministic): upstream context, siblings, dependent screens/milestones, files, code-coupled systems, pending Inbox, recent activity. Run BEFORE changing it.

  • get_rejections

    Owner's DECLINED list — check at session start; follow each entry's guidance, then resolve_rejection(title).

  • resolve_rejection

    Report you REVERTED a declined change (unlocks the owner's Clear). Call after realigning the build.

  • list_screens

    All screens, compact: id, name, purpose, status.

  • get_screen

    ONE screen's layout: canvas `resolution` (use THESE px), elements x/y/w/h, links, popups. Read before editing a screen. has_reference_image:true → get_screen_image shows you the actual image.

  • get_screen_image

    A screen's reference image (HUD background) as an actual IMAGE you can see — reads the stored file inline (signed-URL fallback past 4MB).

  • update_element

    Move/resize/relabel an element — DIRECT, live. element_id (preferred) or screen+label; x+y also places an unplaced one.

  • withdraw_proposal

    Remove YOUR OWN still-pending Inbox item (id from the propose response / get_inbox).

  • delete_entity

    PROPOSE a delete → Inbox (owner adopts; nothing deleted now). id preferred or exact name; flow_edge may use from+to.

  • dedupe

    Remove duplicate-named entries (keep first) — DIRECT, destructive.

  • reorder

    Reorder milestones / tasks / elements — DIRECT. order = ids in new order; omitted keep relative order.

  • list_milestones

    All milestones, compact: id, name, weeks, order, done/total.

  • get_milestone

    ONE milestone: goal, weeks, difficulty, systems, every task (id/name/done/status/effort).

  • list_activity

    Change history {who, change, entity, kind, when}, newest first; filter kind/who/query.

  • get_inbox

    PENDING Inbox (the owner's triage queue). Check BEFORE proposing — avoid duplicates. Read-only.

  • search

    Keyword search — compact hits {kind, id, name} + snippet.

  • propose_system

    Propose a NEW system → Inbox. spec = ## Goal / ## Boundary (Owns · Doesn't own) / ## Acceptance. Exists? use update_system. (Alias: create_proposal.)

  • propose_context

    Propose a new/updated Idea note → Inbox. Title-match to update; send the COMPLETE revised text. Set resync:true ONLY when you rewrote the note FROM the current systems (get_stale lists notes the systems have moved past) — it stops the adopted note from immediately nagging to re-g

  • propose_dna

    Propose Project DNA and/or Tech Notes → Inbox (at least one).

  • update_system

    Propose a system UPDATE → Inbox diff. get_system first; send the FULL revised spec. new_title renames; context_title+context bundles the Idea update. Set resync:true ONLY when you rewrote this spec FROM its upstream Idea (see resync_from_idea) — it re-stamps the staleness signal

  • get_balance

    Read Balance Lab: stat tables, boards with EVALUATED values, scenarios.

Security scan

  • No findings. We scan names, descriptions and tool definitions for hidden instructions and other prompt-injection patterns.

Recent checks

WhenResultHTTPTime
3 h agoPassed200257 ms