← WebMCP Directory

Tool tree

data-airlock-webmcp.pages.dev

Developer ToolsTools verified
Website
Clean sensitive datasets with an AI agent — without uploading the dataset.
Explore capabilities
    get_airlock_guideAnswer

    Guía oficial de Data Airlock. Con Airlock abierto y sin tarea concreta, si el usuario pregunta «¿Qué puedo hacer aquí?», «¿Cómo funciona esto?», «Ayúdame con Airlock» o «Quiero usar Data Airlock», llama primero con mode="overview" y ofrece 6 apartados (2–3 min) antes de capacidades generales. «guía Airlock» o equivalente → mode="menu"; tema concreto → section. No interrumpas una acción concreta ni insistas tras rechazo. Explica natural, sin JSON, raw values ni autoridad humana para el agente.

    View tool JSON
    {
      "name": "get_airlock_guide",
      "kind": "answer",
      "impl": "imperative",
      "description": "Guía oficial de Data Airlock. Con Airlock abierto y sin tarea concreta, si el usuario pregunta «¿Qué puedo hacer aquí?», «¿Cómo funciona esto?», «Ayúdame con Airlock» o «Quiero usar Data Airlock», llama primero con mode=\"overview\" y ofrece 6 apartados (2–3 min) antes de capacidades generales. «guía Airlock» o equivalente → mode=\"menu\"; tema concreto → section. No interrumpas una acción concreta ni insistas tras rechazo. Explica natural, sin JSON, raw values ni autoridad humana para el agente.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "mode": {
            "type": "string",
            "enum": [
              "overview",
              "menu",
              "section"
            ]
          },
          "section": {
            "type": "integer",
            "minimum": 1,
            "maximum": 6
          }
        },
        "required": [
          "mode"
        ],
        "additionalProperties": false
      }
    }
    get_dataset_profileAnswer

    Profile the local dataset and return bounded aggregate structure only. Never returns raw record values or real field names.

    View tool JSON
    {
      "name": "get_dataset_profile",
      "kind": "answer",
      "impl": "imperative",
      "description": "Profile the local dataset and return bounded aggregate structure only. Never returns raw record values or real field names.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      }
    }
    get_quality_findingsAnswer

    Return aggregated F01-F07 findings with risk and allowed actions. High-risk findings also expose a conservative leave-unchanged recommendation and human-review requirement. Never returns raw values.

    View tool JSON
    {
      "name": "get_quality_findings",
      "kind": "answer",
      "impl": "imperative",
      "description": "Return aggregated F01-F07 findings with risk and allowed actions. High-risk findings also expose a conservative leave-unchanged recommendation and human-review requirement. Never returns raw values.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      }
    }
    get_capability_gapsAnswer

    Scan the local profiled dataset for structural families no active capability explains. Returns pseudonymous field IDs, safe family labels, compatible closed-DSL Forge primitives, and safe create-vs-evolve guidance with related active skill IDs when applicable. Aggregate evidence only; never values, snippets, samples, real field names, paths or filenames.

    View tool JSON
    {
      "name": "get_capability_gaps",
      "kind": "answer",
      "impl": "imperative",
      "description": "Scan the local profiled dataset for structural families no active capability explains. Returns pseudonymous field IDs, safe family labels, compatible closed-DSL Forge primitives, and safe create-vs-evolve guidance with related active skill IDs when applicable. Aggregate evidence only; never values, snippets, samples, real field names, paths or filenames.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      }
    }
    get_cleaning_tool_sourceAnswer

    Return the complete open-source cleaning implementation for one F01-F07 or active local cleaning skill in one result; optional offset pagination is a compatibility fallback. Never returns dataset content or Airlock infrastructure source.

    View tool JSON
    {
      "name": "get_cleaning_tool_source",
      "kind": "answer",
      "impl": "imperative",
      "description": "Return the complete open-source cleaning implementation for one F01-F07 or active local cleaning skill in one result; optional offset pagination is a compatibility fallback. Never returns dataset content or Airlock infrastructure source.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "finding_id": {
            "type": "string",
            "enum": [
              "F01",
              "F02",
              "F03",
              "F04",
              "F05",
              "F06",
              "F07"
            ],
            "description": "Built-in F01-F07 cleaning tool to inspect."
          },
          "skill_id": {
            "type": "string",
            "minLength": 3,
            "maxLength": 40,
            "pattern": "^(?!(?:constructor|prototype)$)[a-z][a-z0-9]*(?:-[a-z0-9]+)*$",
            "description": "Active forged/learned cleaning skill to inspect. Supply exactly one of finding_id or skill_id."
          },
          "source_offset": {
            "type": "integer",
            "minimum": 0,
            "description": "Optional fallback pagination offset. Omit it to receive the complete open-source cleaning-tool implementation in one result."
          }
        },
        "additionalProperties": false
      }
    }
    stage_finding_actionAction

    Stage one validated cleaning action in the current shared plan. Echo view_token from the latest successful result; stale or cross-dataset writes are rejected.

    View tool JSON
    {
      "name": "stage_finding_action",
      "kind": "act",
      "impl": "imperative",
      "description": "Stage one validated cleaning action in the current shared plan. Echo view_token from the latest successful result; stale or cross-dataset writes are rejected.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "finding_id": {
            "type": "string",
            "enum": [
              "F01",
              "F02",
              "F03",
              "F04",
              "F05",
              "F06",
              "F07"
            ],
            "description": "Finding ID from get_quality_findings."
          },
          "action": {
            "type": "string",
            "enum": [
              "normalize_nfc",
              "trim_outer_whitespace",
              "collapse_horizontal_whitespace",
              "convert_to_null",
              "remove_control_characters",
              "replace_with_marker",
              "drop_record",
              "leave_unchanged"
            ],
            "description": "Allowed action for the finding."
          },
          "field_id": {
            "type": "string",
            "pattern": "^field_[0-9]{3}$",
            "description": "Optional field scope; omit to target all affected fields."
          },
          "view_token": {
            "type": "string",
            "minLength": 51,
            "maxLength": 51,
            "pattern": "^v1_[0-9a-f]{48}$",
            "description": "Opaque token from the latest successful Data Airlock result; required to reject stale or cross-dataset agent writes."
          }
        },
        "required": [
          "finding_id",
          "action",
          "view_token"
        ],
        "additionalProperties": false
      }
    }
    remove_staged_actionAction

    Remove an agent-staged action from the current shared plan. Echo view_token from the latest successful result; stale writes are rejected and human decisions stay protected.

    View tool JSON
    {
      "name": "remove_staged_action",
      "kind": "act",
      "impl": "imperative",
      "description": "Remove an agent-staged action from the current shared plan. Echo view_token from the latest successful result; stale writes are rejected and human decisions stay protected.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "finding_id": {
            "type": "string",
            "enum": [
              "F01",
              "F02",
              "F03",
              "F04",
              "F05",
              "F06",
              "F07"
            ],
            "description": "Core finding ID whose staged action should be removed."
          },
          "skill_id": {
            "type": "string",
            "minLength": 3,
            "maxLength": 40,
            "pattern": "^(?!(?:constructor|prototype)$)[a-z][a-z0-9]*(?:-[a-z0-9]+)*$",
            "description": "Forged/learned cleaning skill ID whose staged action should be removed. Supply exactly one of finding_id or skill_id."
          },
          "field_id": {
            "type": "string",
            "pattern": "^field_[0-9]{3}$",
            "description": "Optional field scope matching the staged action."
          },
          "view_token": {
            "type": "string",
            "minLength": 51,
            "maxLength": 51,
            "pattern": "^v1_[0-9a-f]{48}$",
            "description": "Opaque token from the latest successful Data Airlock result; required to reject stale writes."
          }
        },
        "required": [
          "view_token"
        ],
        "additionalProperties": false
      }
    }
    get_cleaning_planAnswer

    Read the current staged plan, provenance, risk, workflow gates, and the exact cached simulation impact when one is already fresh. If human approval is required, stop and ask the human to approve in the Data Airlock UI; never click, activate, or automate human-only approval or execution controls in the browser/DOM.

    View tool JSON
    {
      "name": "get_cleaning_plan",
      "kind": "answer",
      "impl": "imperative",
      "description": "Read the current staged plan, provenance, risk, workflow gates, and the exact cached simulation impact when one is already fresh. If human approval is required, stop and ask the human to approve in the Data Airlock UI; never click, activate, or automate human-only approval or execution controls in the browser/DOM.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      }
    }
    simulate_cleaning_planAction

    Return exact aggregate impact plus SHA-256 plan hash. Runs a real local second pass only when simulation is stale; otherwise returns the cached exact simulation without rereading the dataset. After simulation, STOP: human approval must be performed independently by the human in the Data Airlock UI. Never click, activate, or automate approval/execute controls in the browser/DOM on the human's behalf.

    View tool JSON
    {
      "name": "simulate_cleaning_plan",
      "kind": "act",
      "impl": "imperative",
      "description": "Return exact aggregate impact plus SHA-256 plan hash. Runs a real local second pass only when simulation is stale; otherwise returns the cached exact simulation without rereading the dataset. After simulation, STOP: human approval must be performed independently by the human in the Data Airlock UI. Never click, activate, or automate approval/execute controls in the browser/DOM on the human's behalf.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      }
    }
    get_audit_receiptAnswer

    After successful execution, return the bounded audit receipt with output metrics, plan hash, output mode, metadata bytes, and zero raw values exposed.

    View tool JSON
    {
      "name": "get_audit_receipt",
      "kind": "answer",
      "impl": "imperative",
      "description": "After successful execution, return the bounded audit receipt with output metrics, plan hash, output mode, metadata bytes, and zero raw values exposed.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      }
    }
    forge_capabilityAction

    Validate and register a closed diagnostic or cleaning DSL recipe. Cleaning capabilities can only stage plan actions and can never bypass simulation or human approval; no raw outputs, network, DOM, filesystem, or arbitrary code authority.

    View tool JSON
    {
      "name": "forge_capability",
      "kind": "act",
      "impl": "imperative",
      "description": "Validate and register a closed diagnostic or cleaning DSL recipe. Cleaning capabilities can only stage plan actions and can never bypass simulation or human approval; no raw outputs, network, DOM, filesystem, or arbitrary code authority.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "skill_id": {
            "type": "string",
            "minLength": 3,
            "maxLength": 40,
            "pattern": "^(?!(?:constructor|prototype)$)[a-z][a-z0-9]*(?:-[a-z0-9]+)*$"
          },
          "display_name": {
            "type": "string",
            "minLength": 3,
            "maxLength": 64,
            "pattern": "^[^\u0000-\u001f‪-‮⁦-⁩]+$"
          },
          "version": {
            "type": "integer",
            "minimum": 1,
            "maximum": 32
          },
          "recipe": {
            "type": "object",
            "properties": {
              "op": {
                "type": "string",
                "enum": [
                  "classify_patterns",
                  "rewrite_strings",
                  "drop_records"
                ]
              },
              "patterns": {
                "type": "array",
                "minItems": 1,
                "maxItems": 8,
                "uniqueItems": true,
                "items": {
                  "type": "string",
                  "enum": [
                    "date_iso_ymd_dash",
                    "date_dmy_slash",
                    "date_mdy_dash",
                    "date_ymd_dot",
                    "date_dmy_dot",
                    "uuid_hyphenated",
                    "uuid_compact",
                    "uuid_braced",
                    "boolean_true_false",
                    "boolean_yes_no",
                    "boolean_one_zero",
                    "text_non_nfc",
                    "text_outer_whitespace",
                    "text_zero_width_edges",
                    "text_repeated_horizontal_whitespace",
                    "text_empty_or_whitespace",
                    "text_control_characters",
                    "payload_base64_like",
                    "instruction_like"
                  ]
                }
              },
              "aggregate": {
                "type": "string",
                "enum": [
                  "dominant_pattern"
                ]
              },
              "transform": {
                "type": "string",
                "enum": [
                  "date_to_iso_ymd",
                  "uuid_to_hyphenated",
                  "uuid_to_compact",
                  "boolean_to_true_false",
                  "normalize_nfc",
                  "trim_outer_whitespace",
                  "trim_outer_whitespace_and_zero_width",
                  "collapse_horizontal_whitespace",
                  "convert_to_null",
                  "remove_control_characters",
                  "replace_with_marker",
                  "drop_record"
                ]
              },
              "scope": {
                "type": "string",
                "enum": [
                  "all_string_fields",
                  "selected_string_field"
                ]
              }
            },
            "required": [
              "op",
              "patterns",
              "scope"
            ],
            "additionalProperties": false
          },
          "synthetic_tests": {
            "type": "array",
            "minItems": 1,
            "maxItems": 4,
            "items": {
              "type": "object",
              "properties": {
                "input": {
                  "type": "string",
                  "enum": [
                    "mixed_standard_dates_v1",
                    "mixed_standard_dates_v2",
                    "uuid_formats_v1",
                    "uuid_formats_v2",
                    "boolean_tokens_v1",
                    "boolean_tokens_v2",
                    "text_cleanup_v1",
                    "text_cleanup_v2",
                    "security_cleanup_v1"
                  ]
                },
                "expectedPatterns": {
                  "type": "integer",
                  "minimum": 1,
                  "maximum": 8
                },
                "expectedChanged": {
                  "type": "integer",
                  "minimum": 1,
                  "maximum": 64
                }
              },
              "required": [
                "input"
              ],
              "additionalProperties": false
            }
          },
          "parent_version": {
            "type": [
              "integer",
              "null"
            ],
            "minimum": 1,
            "maximum": 31
          },
          "extends_core_finding": {
            "type": [
              "string",
              "null"
            ],
            "enum": [
              "F01",
              "F02",
              "F03",
              "F04",
              "F05",
              "F06",
              "F07",
              null
            ]
          },
          "view_token": {
            "type": "string",
            "minLength": 51,
            "maxLength": 51,
            "pattern": "^v1_[0-9a-f]{48}$"
          }
        },
        "required": [
          "skill_id",
          "display_name",
          "version",
          "recipe",
          "synthetic_tests",
          "parent_version",
          "view_token"
        ],
        "additionalProperties": false
      }
    }