← WebMCP Directory

Tool tree

grounded-demo.keegangaffney.com

Productivity & BusinessTools verified
Website
A shared workspace for construction professionals and AI agents.
Explore capabilities
    get_grounded_helpAnswer

    Use when starting a Grounded review or when unsure which tool to call. Returns the evidence rules, Human Reviewer handoff criteria, available tools, and focused guidance for each tool.

    View tool JSON
    {
      "name": "get_grounded_help",
      "kind": "answer",
      "impl": "imperative",
      "description": "Use when starting a Grounded review or when unsure which tool to call. Returns the evidence rules, Human Reviewer handoff criteria, available tools, and focused guidance for each tool.",
      "inputSchema": {
        "additionalProperties": false,
        "type": "object",
        "properties": {
          "tool": {
            "description": "An exact Grounded WebMCP tool name. Omit it for an overview of the complete tool set.",
            "anyOf": [
              {
                "const": "get_grounded_help",
                "type": "string"
              },
              {
                "const": "get_project_workspace",
                "type": "string"
              },
              {
                "const": "list_project_documents",
                "type": "string"
              },
              {
                "const": "search_project_documents",
                "type": "string"
              },
              {
                "const": "inspect_document_evidence",
                "type": "string"
              },
              {
                "const": "navigate_document",
                "type": "string"
              },
              {
                "const": "create_assistance_request",
                "type": "string"
              },
              {
                "const": "get_assistance_request",
                "type": "string"
              }
            ]
          }
        }
      }
    }
    create_assistance_requestAction

    Use when one count-based, uncertain visual, or professional judgment remains. Create a separate request for each count type or visual comparison. Before requesting direct visual confirmation, navigate to and inspect the exact blocks, then put the External Agent's provisional assessment in context. This adds only a local Demo Session work item, contacts no one outside the Project Workspace, and needs no separate confirmation when the user requested Human Reviewer involvement.

    View tool JSON
    {
      "name": "create_assistance_request",
      "kind": "act",
      "impl": "imperative",
      "description": "Use when one count-based, uncertain visual, or professional judgment remains. Create a separate request for each count type or visual comparison. Before requesting direct visual confirmation, navigate to and inspect the exact blocks, then put the External Agent's provisional assessment in context. This adds only a local Demo Session work item, contacts no one outside the Project Workspace, and needs no separate confirmation when the user requested Human Reviewer involvement.",
      "inputSchema": {
        "type": "object",
        "anyOf": [
          {
            "additionalProperties": false,
            "type": "object",
            "required": [
              "question",
              "responseType",
              "documentId",
              "documentVersionId",
              "recommendedPageIds"
            ],
            "properties": {
              "question": {
                "minLength": 1,
                "maxLength": 240,
                "pattern": "\\S",
                "description": "One short request for exactly one judgment about one category or condition. For comparison or counting, name one exact type or item. Put background and provisional assessment in context.",
                "type": "string"
              },
              "context": {
                "minLength": 1,
                "maxLength": 2000,
                "pattern": "\\S",
                "description": "Optional evidence, expected or reference values, the External Agent's provisional visual assessment, and the exact uncertainty to confirm. Do not add another question or required action.",
                "type": "string"
              },
              "responseType": {
                "description": "Use point_set for one homogeneous set of marked locations. Every point has the same meaning and count is aggregate. Do not ask the Human Reviewer to classify points or mark multiple types; create separate requests. Use text for a plain-text response.",
                "const": "point_set",
                "type": "string"
              },
              "documentId": {
                "minLength": 1,
                "maxLength": 200,
                "description": "The immutable document ID on which a returned Point Set should be placed.",
                "type": "string"
              },
              "documentVersionId": {
                "minLength": 1,
                "maxLength": 200,
                "description": "The immutable document version on which a returned Point Set should be placed.",
                "type": "string"
              },
              "recommendedPageIds": {
                "maxItems": 25,
                "uniqueItems": true,
                "description": "Suggested starting pages for review, not a restriction on the response. For counting, include only non-overlapping source views where each physical instance appears once; do not combine plans and elevations.",
                "type": "array",
                "items": {
                  "minLength": 1,
                  "maxLength": 200,
                  "description": "A suggested starting page ID in the Point Set target document.",
                  "type": "string"
                }
              },
              "supportingDocumentReferences": {
                "minItems": 1,
                "maxItems": 10,
                "description": "Immutable document and page references that support the judgment, distinct from the Point Set target document.",
                "type": "array",
                "items": {
                  "additionalProperties": false,
                  "type": "object",
                  "required": [
                    "documentId",
                    "documentVersionId",
                    "pageIds"
                  ],
                  "properties": {
                    "documentId": {
                      "minLength": 1,
                      "maxLength": 200,
                      "description": "The immutable supporting evidence document ID.",
                      "type": "string"
                    },
                    "documentVersionId": {
                      "minLength": 1,
                      "maxLength": 200,
                      "description": "The immutable supporting evidence version paired with documentId.",
                      "type": "string"
                    },
                    "pageIds": {
                      "minItems": 1,
                      "maxItems": 25,
                      "uniqueItems": true,
                      "description": "One to twenty-five page IDs in the supporting document version that support the judgment.",
                      "type": "array",
                      "items": {
                        "minLength": 1,
                        "maxLength": 200,
                        "description": "A page ID in the supporting document version.",
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          },
          {
            "additionalProperties": false,
            "type": "object",
            "required": [
              "question",
              "responseType"
            ],
            "properties": {
              "question": {
                "minLength": 1,
                "maxLength": 240,
                "pattern": "\\S",
                "description": "One short request for exactly one judgment about one category or condition. For comparison or counting, name one exact type or item. Put background and provisional assessment in context.",
                "type": "string"
              },
              "context": {
                "minLength": 1,
                "maxLength": 2000,
                "pattern": "\\S",
                "description": "Optional evidence, expected or reference values, the External Agent's provisional visual assessment, and the exact uncertainty to confirm. Do not add another question or required action.",
                "type": "string"
              },
              "responseType": {
                "description": "Use point_set for one homogeneous set of marked locations. Every point has the same meaning and count is aggregate. Do not ask the Human Reviewer to classify points or mark multiple types; create separate requests. Use text for a plain-text response.",
                "const": "text",
                "type": "string"
              }
            }
          }
        ]
      }
    }
    get_assistance_requestAnswer

    Retrieve one request from this Demo Session, including its final Professional Response when answered.

    View tool JSON
    {
      "name": "get_assistance_request",
      "kind": "answer",
      "impl": "imperative",
      "description": "Retrieve one request from this Demo Session, including its final Professional Response when answered.",
      "inputSchema": {
        "additionalProperties": false,
        "type": "object",
        "required": [
          "id"
        ],
        "properties": {
          "id": {
            "minLength": 1,
            "maxLength": 200,
            "description": "The exact durable Assistance Request ID returned when the request was created.",
            "type": "string"
          }
        }
      }
    }
    list_project_documentsAnswer

    List immutable document versions and stable page or sheet references without changing the visible workspace.

    View tool JSON
    {
      "name": "list_project_documents",
      "kind": "answer",
      "impl": "imperative",
      "description": "List immutable document versions and stable page or sheet references without changing the visible workspace.",
      "inputSchema": {
        "additionalProperties": false,
        "type": "object",
        "properties": {}
      }
    }
    search_project_documentsAnswer

    Locate concise prepared-content matches across immutable Project Workspace documents. Search does not answer the question; follow matches with inspect_document_evidence before relying on them. For a direct visual comparison, navigate to the exact blocks and inspect them. Search Hints cannot support a claim; interpreting drawings, symbols, linework, measurements, or counts requires the Human Reviewer.

    View tool JSON
    {
      "name": "search_project_documents",
      "kind": "answer",
      "impl": "imperative",
      "description": "Locate concise prepared-content matches across immutable Project Workspace documents. Search does not answer the question; follow matches with inspect_document_evidence before relying on them. For a direct visual comparison, navigate to the exact blocks and inspect them. Search Hints cannot support a claim; interpreting drawings, symbols, linework, measurements, or counts requires the Human Reviewer.",
      "inputSchema": {
        "additionalProperties": false,
        "type": "object",
        "required": [
          "query"
        ],
        "properties": {
          "query": {
            "minLength": 1,
            "maxLength": 300,
            "description": "A construction phrase, identifier, note, schedule entry, or requirement to search for in prepared evidence.",
            "type": "string"
          },
          "scope": {
            "additionalProperties": false,
            "description": "Optional immutable document/version pair copied exactly from list_project_documents or another tool result.",
            "type": "object",
            "required": [
              "documentId",
              "documentVersionId"
            ],
            "properties": {
              "documentId": {
                "minLength": 1,
                "description": "The immutable document ID for the optional search scope.",
                "type": "string"
              },
              "documentVersionId": {
                "minLength": 1,
                "description": "The immutable version ID paired with scope.documentId.",
                "type": "string"
              }
            }
          },
          "limit": {
            "minimum": 1,
            "maximum": 20,
            "description": "Maximum matches to return, from 1 through 20.",
            "type": "integer"
          }
        }
      }
    }
    inspect_document_evidenceAction

    Inspect prepared evidence from one immutable document version without changing the visible workspace. Results include semantic blocks, table rows, and normalized regions. For a direct visual comparison, navigate to the exact relevant blocks and inspect them first. An obvious isolated difference may be reported as an External Agent observation. Ask a Human Reviewer to confirm uncertainty and always use one for interpreting drawings, symbols, linework, measurements, or counts.

    View tool JSON
    {
      "name": "inspect_document_evidence",
      "kind": "act",
      "impl": "imperative",
      "description": "Inspect prepared evidence from one immutable document version without changing the visible workspace. Results include semantic blocks, table rows, and normalized regions. For a direct visual comparison, navigate to the exact relevant blocks and inspect them first. An obvious isolated difference may be reported as an External Agent observation. Ask a Human Reviewer to confirm uncertainty and always use one for interpreting drawings, symbols, linework, measurements, or counts.",
      "inputSchema": {
        "type": "object",
        "anyOf": [
          {
            "additionalProperties": false,
            "type": "object",
            "required": [
              "documentId",
              "documentVersionId",
              "pageIds"
            ],
            "properties": {
              "documentId": {
                "minLength": 1,
                "maxLength": 200,
                "description": "The immutable document ID copied exactly from the document catalog or search result.",
                "type": "string"
              },
              "documentVersionId": {
                "minLength": 1,
                "maxLength": 200,
                "description": "The immutable version ID paired with documentId.",
                "type": "string"
              },
              "pageIds": {
                "minItems": 1,
                "maxItems": 5,
                "uniqueItems": true,
                "description": "One to five page IDs returned by the document catalog or search, used to inspect complete page-level evidence.",
                "type": "array",
                "items": {
                  "minLength": 1,
                  "maxLength": 200,
                  "description": "A page ID returned by the document catalog or search.",
                  "type": "string"
                }
              }
            }
          },
          {
            "additionalProperties": false,
            "type": "object",
            "required": [
              "documentId",
              "documentVersionId",
              "blockIds"
            ],
            "properties": {
              "documentId": {
                "minLength": 1,
                "maxLength": 200,
                "description": "The immutable document ID copied exactly from the document catalog or search result.",
                "type": "string"
              },
              "documentVersionId": {
                "minLength": 1,
                "maxLength": 200,
                "description": "The immutable version ID paired with documentId.",
                "type": "string"
              },
              "blockIds": {
                "minItems": 1,
                "maxItems": 50,
                "uniqueItems": true,
                "description": "One to fifty exact semantic block IDs returned by search, used for focused inspection.",
                "type": "array",
                "items": {
                  "minLength": 1,
                  "maxLength": 200,
                  "description": "An exact semantic block ID returned by search.",
                  "type": "string"
                }
              }
            }
          }
        ]
      }
    }
    get_project_workspaceAnswer

    Return a fresh read-only snapshot of the current project, selected document and page, and resumable Assistance Request state.

    View tool JSON
    {
      "name": "get_project_workspace",
      "kind": "answer",
      "impl": "imperative",
      "description": "Return a fresh read-only snapshot of the current project, selected document and page, and resumable Assistance Request state.",
      "inputSchema": {
        "additionalProperties": false,
        "type": "object",
        "properties": {}
      }
    }
    navigate_documentAction

    Navigate the visible Document Browsing workbench to a Project Document destination. Navigation changes the visible view and returns no visual analysis. Use table or schedule blocks for written values. Use figure, elevation, diagram, or detail blocks for appearance, geometry, and configuration. For a direct visual comparison, navigate to each exact visual block in turn and inspect the rendered view after each call. Use a page only for whole-sheet context. Block and region targets fit and briefly outline the resolved area without selecting or annotating it.

    View tool JSON
    {
      "name": "navigate_document",
      "kind": "act",
      "impl": "imperative",
      "description": "Navigate the visible Document Browsing workbench to a Project Document destination. Navigation changes the visible view and returns no visual analysis. Use table or schedule blocks for written values. Use figure, elevation, diagram, or detail blocks for appearance, geometry, and configuration. For a direct visual comparison, navigate to each exact visual block in turn and inspect the rendered view after each call. Use a page only for whole-sheet context. Block and region targets fit and briefly outline the resolved area without selecting or annotating it.",
      "inputSchema": {
        "additionalProperties": false,
        "type": "object",
        "required": [
          "documentId"
        ],
        "properties": {
          "documentId": {
            "minLength": 1,
            "maxLength": 200,
            "description": "The stable Project Document ID copied exactly from list_project_documents or another tool result. Grounded resolves its currently accessible immutable version.",
            "type": "string"
          },
          "target": {
            "description": "Optional Document Destination. Use page for whole-sheet context, block for a known table, figure, elevation, diagram, note, or detail, and region for an exact normalized area without a stable block ID. Match the destination to the needed evidence: tables for written facts and visual blocks for appearance. Omit to show the document's current page.",
            "anyOf": [
              {
                "additionalProperties": false,
                "type": "object",
                "required": [
                  "type",
                  "pageId"
                ],
                "properties": {
                  "type": {
                    "const": "page",
                    "type": "string"
                  },
                  "pageId": {
                    "minLength": 1,
                    "maxLength": 200,
                    "description": "The stable page ID copied exactly from the current Project Document catalog or another tool result.",
                    "type": "string"
                  }
                }
              },
              {
                "additionalProperties": false,
                "type": "object",
                "required": [
                  "type",
                  "blockId"
                ],
                "properties": {
                  "type": {
                    "const": "block",
                    "type": "string"
                  },
                  "blockId": {
                    "minLength": 1,
                    "maxLength": 200,
                    "description": "A stable semantic block ID copied exactly from search_project_documents or inspect_document_evidence. Grounded resolves its owning page and Document Region within the current Project Document.",
                    "type": "string"
                  }
                }
              },
              {
                "additionalProperties": false,
                "type": "object",
                "required": [
                  "type",
                  "pageId",
                  "region"
                ],
                "properties": {
                  "type": {
                    "const": "region",
                    "type": "string"
                  },
                  "pageId": {
                    "minLength": 1,
                    "maxLength": 200,
                    "description": "The stable page ID that owns this normalized Document Region.",
                    "type": "string"
                  },
                  "region": {
                    "additionalProperties": false,
                    "type": "object",
                    "required": [
                      "left",
                      "top",
                      "width",
                      "height"
                    ],
                    "properties": {
                      "left": {
                        "minimum": 0,
                        "maximum": 1,
                        "type": "number"
                      },
                      "top": {
                        "minimum": 0,
                        "maximum": 1,
                        "type": "number"
                      },
                      "width": {
                        "exclusiveMinimum": 0,
                        "maximum": 1,
                        "type": "number"
                      },
                      "height": {
                        "exclusiveMinimum": 0,
                        "maximum": 1,
                        "type": "number"
                      }
                    }
                  }
                }
              }
            ]
          }
        }
      }
    }