← WebMCP Directory

Tool tree

warrant-gray.vercel.app

Developer ToolsTools verified
Website
A page whose tool surface the person using it can extend. Demonstrate a piece of work once; your agent proposes a WebMCP tool and says why; the page runs its edge cases before it exists; approving…
Explore capabilities

    page: Every page

    get_page_structureAnswer

    Describe this page: its data fields with semantic types and sensitivity, which operations are legal on which field, and the policy layer. Call this before proposing a tool — a field can only become a parameter if it says so here.

    View tool JSON
    {
      "name": "get_page_structure",
      "kind": "answer",
      "impl": "imperative",
      "description": "Describe this page: its data fields with semantic types and sensitivity, which operations are legal on which field, and the policy layer. Call this before proposing a tool — a field can only become a parameter if it says so here.",
      "inputSchema": {
        "type": "object",
        "properties": {}
      },
      "page": "/"
    }
    get_recorded_demonstrationAnswer

    Return what the person just did on this page as an ordered list of semantic operations (not clicks), plus the resulting query. Use it to work out which literals were incidental and which were the point.

    View tool JSON
    {
      "name": "get_recorded_demonstration",
      "kind": "answer",
      "impl": "imperative",
      "description": "Return what the person just did on this page as an ordered list of semantic operations (not clicks), plus the resulting query. Use it to work out which literals were incidental and which were the point.",
      "inputSchema": {
        "type": "object",
        "properties": {}
      },
      "page": "/"
    }
    run_queryAction

    Run a one-off query against this page. Prefer a named tool on this page when one covers the question being asked — a minted tool carries a person’s reviewed defaults, its edge cases have already been judged against real rows, and it states what it withholds; this tool has none of that and must be told everything each time. Use it for one-off questions no named tool covers. Parameters are generated from the page’s own declaration, so call get_page_structure first. Fields marked pii or restricted are never returned.

    View tool JSON
    {
      "name": "run_query",
      "kind": "act",
      "impl": "imperative",
      "description": "Run a one-off query against this page. Prefer a named tool on this page when one covers the question being asked — a minted tool carries a person’s reviewed defaults, its edge cases have already been judged against real rows, and it states what it withholds; this tool has none of that and must be told everything each time. Use it for one-off questions no named tool covers. Parameters are generated from the page’s own declaration, so call get_page_structure first. Fields marked pii or restricted are never returned.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "month": {
            "type": "string",
            "description": "A period, or a relative expression such as last_month."
          },
          "dept": {
            "type": "string",
            "description": "One of: Logistics, Support, Engineering, Retail Ops, Finance, Facilities."
          },
          "site": {
            "type": "string",
            "description": "One of: Seoul, Busan, Remote."
          },
          "contract": {
            "type": "string",
            "description": "One of: Full-time, Part-time, Contractor."
          },
          "overtime_hours": {
            "type": "number",
            "description": "Only rows above this overtime."
          },
          "night_shifts": {
            "type": "number",
            "description": "Only rows above this night shifts."
          },
          "gross_pay": {
            "type": "number",
            "description": "Only rows above this gross pay."
          },
          "group_by": {
            "type": "string",
            "enum": [
              "month",
              "dept",
              "site",
              "contract"
            ],
            "description": "Optional dimension to group by."
          }
        }
      },
      "page": "/"
    }
    propose_toolAction

    Propose a new tool built from the recorded demonstration. Say which demonstrated literals should become parameters and why, which steps stay fixed and why, and which fields the tool must withhold. This does not create anything: the page validates the proposal against its own structure, generates edge cases, and a person approves it.

    View tool JSON
    {
      "name": "propose_tool",
      "kind": "act",
      "impl": "imperative",
      "description": "Propose a new tool built from the recorded demonstration. Say which demonstrated literals should become parameters and why, which steps stay fixed and why, and which fields the tool must withhold. This does not create anything: the page validates the proposal against its own structure, generates edge cases, and a person approves it.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "tool_name": {
            "type": "string",
            "description": "lower_snake_case name for the new tool."
          },
          "description": {
            "type": "string",
            "description": "When should a model reach for this tool? Write it for a model, not a human."
          },
          "parameters": {
            "type": "array",
            "description": "Demonstrated literals to promote into parameters.",
            "items": {
              "type": "object",
              "properties": {
                "from_field": {
                  "type": "string"
                },
                "name": {
                  "type": "string"
                },
                "default": {
                  "type": "string",
                  "description": "Literal, or a relative expression when the field declares relative_ok."
                },
                "rationale": {
                  "type": "string",
                  "description": "Why this should vary. Shown to the person verbatim."
                }
              },
              "required": [
                "from_field",
                "name",
                "rationale"
              ]
            }
          },
          "withhold_fields": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Fields the tool must never return."
          },
          "notes": {
            "type": "string",
            "description": "Anything the person should weigh before approving."
          }
        },
        "required": [
          "tool_name",
          "description"
        ]
      },
      "page": "/"
    }
    add_noteAction

    Attach a short note to a person, addressed by the pseudonymous handle a tool returned. The page resolves the handle; you never learn who it belongs to. Writes are not autonomous: this call suspends until a person on the page confirms it.

    View tool JSON
    {
      "name": "add_note",
      "kind": "act",
      "impl": "imperative",
      "description": "Attach a short note to a person, addressed by the pseudonymous handle a tool returned. The page resolves the handle; you never learn who it belongs to. Writes are not autonomous: this call suspends until a person on the page confirms it.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "handle": {
            "type": "string",
            "description": "A handle returned by a tool on this page."
          },
          "note": {
            "type": "string",
            "description": "What to record against that person."
          }
        },
        "required": [
          "handle",
          "note"
        ]
      },
      "page": "/"
    }
    list_tools_on_this_pageAnswer

    List the tools this page currently exposes, including tools a person minted during this session.

    View tool JSON
    {
      "name": "list_tools_on_this_page",
      "kind": "answer",
      "impl": "imperative",
      "description": "List the tools this page currently exposes, including tools a person minted during this session.",
      "inputSchema": {
        "type": "object",
        "properties": {}
      },
      "page": "/"
    }
    describe_toolAnswer

    Return the full contract of a minted tool: parameters, what it returns, what it withholds, and the edge cases a person accepted before it existed.

    View tool JSON
    {
      "name": "describe_tool",
      "kind": "answer",
      "impl": "imperative",
      "description": "Return the full contract of a minted tool: parameters, what it returns, what it withholds, and the edge cases a person accepted before it existed.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "tool_name": {
            "type": "string"
          }
        },
        "required": [
          "tool_name"
        ]
      },
      "page": "/"
    }