{"name":"verification-mcp","version":"1.0.0","description":"Betti number computation, topological deficit analysis, fold verification, DAG structural analysis, and pipeline invariant checking.","provider":{"name":"ForkJoin","url":"https://forkjoin.ai"},"mcpEndpoint":"https://verification.forkjoin.ai/mcp","tools":[{"name":"measure_betti","description":"Compute the first Betti number (beta_1) of a directed acyclic graph. beta_1 = edges - nodes + connected_components. A beta_1 of 0 means the graph is a forest (tree per component). Positive beta_1 indicates independent cycles that represent topological redundancy or wasted structure. Derived from \"Being Irreversible\" Section 6."},{"name":"topological_deficit","description":"Compute the topological deficit between a system's actual first Betti number and the problem's natural (minimal) Betti number. Delta_beta = beta_1_star - beta_1. A zero deficit means the topology is efficient. A positive deficit means structural waste. Returns the estimated Landauer heat cost: Delta_beta * kT * ln(2). Derived from \"Being Irreversible\" Result 1."},{"name":"verify_fold","description":"Verify a fold operation against the paper's axioms. A fold merges N inputs into one output, erasing N-1 distinguishable paths. Checks conservation (nothing created or destroyed), irreversibility (information is erased and cannot be recovered), and computes the number of vented paths. Derived from \"Being Irreversible\" Section 6."},{"name":"dag_analysis","description":"Analyze a directed acyclic graph for fork/race/fold/vent structure as defined in \"Being Irreversible\". Identifies fork points (out-degree > 1, where computation splits), fold points (in-degree > 1, where paths merge irreversibly), sources, sinks, and classifies the overall topology (linear, diamond, fan-out, fan-in, complex)."},{"name":"pipeline_invariants","description":"Check a pipeline description against the invariants from \"Being Irreversible\": (1) beta_1 >= 0 (topological non-negativity), (2) vents <= folds (you cannot vent more information than you fold), (3) eventual termination (all paths reach a sink). Returns pass/fail for each invariant with explanations."}]}