← WebMCP Directory

Tool tree

witnessdesk-webmcp.vercel.app

Developer ToolsTools verified
Website
A simulated water-safety decision rehearsal where humans and agents build one auditable evidence trace with WebMCP.
Explore capabilities
    inspect_caseAction

    Read the active case brief, decision state, hypotheses, and evidence coverage before taking another action.

    View tool JSON
    {
      "name": "inspect_case",
      "kind": "act",
      "impl": "imperative",
      "description": "Read the active case brief, decision state, hypotheses, and evidence coverage before taking another action.",
      "inputSchema": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "case_id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 64,
            "description": "Optional case identifier. Omit it to inspect the active case."
          }
        }
      }
    }
    search_evidenceAnswer

    Search the case evidence ledger by text, source kind, and minimum reliability. Returns compact source-linked matches.

    View tool JSON
    {
      "name": "search_evidence",
      "kind": "answer",
      "impl": "imperative",
      "description": "Search the case evidence ledger by text, source kind, and minimum reliability. Returns compact source-linked matches.",
      "inputSchema": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "query": {
            "type": "string",
            "minLength": 1,
            "maxLength": 160,
            "description": "Plain-language search terms. Use short factual phrases."
          },
          "kinds": {
            "type": "array",
            "minItems": 1,
            "maxItems": 6,
            "uniqueItems": true,
            "items": {
              "type": "string",
              "enum": [
                "sensor_reading",
                "lab_sample",
                "operations_log",
                "field_report",
                "public_health_signal",
                "control_sample"
              ]
            },
            "description": "Optional evidence source kinds to include."
          },
          "reliability_floor": {
            "type": "number",
            "minimum": 0,
            "maximum": 1,
            "description": "Optional minimum source reliability from 0 through 1."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 10,
            "description": "Maximum number of matches to return."
          }
        },
        "required": [
          "query"
        ]
      }
    }
    trace_provenanceAction

    Trace one evidence item to its source, collection context, transformations, and corroborating or conflicting items.

    View tool JSON
    {
      "name": "trace_provenance",
      "kind": "act",
      "impl": "imperative",
      "description": "Trace one evidence item to its source, collection context, transformations, and corroborating or conflicting items.",
      "inputSchema": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "evidence_id": {
            "type": "string",
            "minLength": 3,
            "maxLength": 80,
            "pattern": "^[a-z0-9][a-z0-9._:-]*$",
            "description": "Evidence identifier shown in the case workspace."
          },
          "depth": {
            "type": "integer",
            "enum": [
              1,
              2
            ],
            "description": "Trace depth. Use 1 for direct lineage or 2 for linked context."
          }
        },
        "required": [
          "evidence_id"
        ]
      }
    }
    compare_hypothesesAction

    Compare selected or all case hypotheses against selected or all evidence, including support, conflict, and unknowns.

    View tool JSON
    {
      "name": "compare_hypotheses",
      "kind": "act",
      "impl": "imperative",
      "description": "Compare selected or all case hypotheses against selected or all evidence, including support, conflict, and unknowns.",
      "inputSchema": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "hypothesis_ids": {
            "type": "array",
            "minItems": 2,
            "maxItems": 3,
            "uniqueItems": true,
            "items": {
              "type": "string",
              "enum": [
                "actual_contamination",
                "sensor_artifact",
                "localized_cross_connection"
              ]
            },
            "description": "Hypotheses to compare. Omit to compare all three."
          },
          "evidence_ids": {
            "type": "array",
            "minItems": 1,
            "maxItems": 12,
            "uniqueItems": true,
            "items": {
              "type": "string",
              "minLength": 3,
              "maxLength": 80,
              "pattern": "^[a-z0-9][a-z0-9._:-]*$",
              "description": "Evidence identifier shown in the case workspace."
            },
            "description": "Evidence subset to use. Omit to use the full ledger."
          }
        }
      }
    }
    simulate_actionAction

    Project a response action under one hypothesis. This is observational and does not stage or approve a decision.

    View tool JSON
    {
      "name": "simulate_action",
      "kind": "act",
      "impl": "imperative",
      "description": "Project a response action under one hypothesis. This is observational and does not stage or approve a decision.",
      "inputSchema": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "action_id": {
            "type": "string",
            "enum": [
              "monitor",
              "targeted_advisory",
              "citywide_advisory"
            ],
            "description": "Response action to simulate."
          },
          "hypothesis_id": {
            "type": "string",
            "enum": [
              "actual_contamination",
              "sensor_artifact",
              "localized_cross_connection"
            ],
            "description": "Hypothesis assumed for the simulation."
          },
          "assumptions": {
            "type": "array",
            "maxItems": 6,
            "uniqueItems": true,
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 160
            },
            "description": "Optional explicit assumptions to stress-test."
          }
        },
        "required": [
          "action_id",
          "hypothesis_id"
        ]
      }
    }
    stage_decisionAction

    Stage a reversible decision draft with cited evidence. It never seals or publishes; a human must review and seal in the UI.

    View tool JSON
    {
      "name": "stage_decision",
      "kind": "act",
      "impl": "imperative",
      "description": "Stage a reversible decision draft with cited evidence. It never seals or publishes; a human must review and seal in the UI.",
      "inputSchema": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "hypothesis_id": {
            "type": "string",
            "enum": [
              "actual_contamination",
              "sensor_artifact",
              "localized_cross_connection"
            ],
            "description": "Primary hypothesis supporting the draft decision."
          },
          "action_id": {
            "type": "string",
            "enum": [
              "monitor",
              "targeted_advisory",
              "citywide_advisory"
            ],
            "description": "Response action proposed for human review."
          },
          "rationale": {
            "type": "string",
            "minLength": 12,
            "maxLength": 500,
            "description": "Concise reasoning that connects the cited evidence to the action."
          },
          "evidence_ids": {
            "type": "array",
            "minItems": 1,
            "maxItems": 12,
            "uniqueItems": true,
            "items": {
              "type": "string",
              "minLength": 3,
              "maxLength": 80,
              "pattern": "^[a-z0-9][a-z0-9._:-]*$",
              "description": "Evidence identifier shown in the case workspace."
            },
            "description": "Evidence identifiers supporting or qualifying the decision."
          },
          "acknowledged_conflict_ids": {
            "type": "array",
            "minItems": 1,
            "maxItems": 12,
            "uniqueItems": true,
            "items": {
              "type": "string",
              "minLength": 3,
              "maxLength": 80,
              "pattern": "^[a-z0-9][a-z0-9._:-]*$",
              "description": "Evidence identifier shown in the case workspace."
            },
            "description": "Optional contradictory evidence IDs the draft explicitly preserves for human review."
          },
          "expected_revision": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740990,
            "description": "Current workspace revision from inspect_case; prevents stale writes."
          },
          "idempotency_key": {
            "type": "string",
            "minLength": 8,
            "maxLength": 80,
            "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]*$",
            "description": "Stable unique key so a retried request cannot create a duplicate."
          }
        },
        "required": [
          "hypothesis_id",
          "action_id",
          "rationale",
          "evidence_ids",
          "expected_revision",
          "idempotency_key"
        ]
      }
    }
    audit_decisionAction

    Audit a staged decision for citation coverage, contradictions, stale state, and unresolved uncertainty without sealing it.

    View tool JSON
    {
      "name": "audit_decision",
      "kind": "act",
      "impl": "imperative",
      "description": "Audit a staged decision for citation coverage, contradictions, stale state, and unresolved uncertainty without sealing it.",
      "inputSchema": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "decision_id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 64,
            "description": "Decision identifier. Omit to audit the current staged draft."
          }
        }
      }
    }