← Files zzTakeoffARCHIVED FILE
plugin.json
7.09 KB · Nov 3, 2026 · 19:01 UTC
{
"$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
"name": "zztakeoff",
"version": "1.0.0",
"description": "Connect to zzTakeoff to review and edit construction takeoffs, quantities, costs, templates, and formulas.",
"extensions": {
"com.openai": {
"interface": {
"displayName": "zzTakeoff",
"shortDescription": "Construction takeoff tools",
"longDescription": "zzTakeoff connects your AI assistant to your zzTakeoff account for construction takeoff and estimating work. Review takeoffs, quantities, item costs, and formulas; create or update assemblies and templates; and make bulk changes through the zzTakeoff scripting API. It also supports developing zzTakeoff plugins with embedded scripts and components.\n\nWork that uses your current project runs through your connected zzTakeoff browser tab. Available actions depend on your license, workspace permissions, and whether you authorized read-only or full access. Sign in through zzTakeoff using OAuth.",
"category": "Productivity",
"defaultPrompt": [
"Review the takeoffs in my current project.",
"Help me build a takeoff assembly.",
"Explain the formulas used in my takeoff items."
],
"websiteURL": "https://www.zztakeoff.com/mcp",
"supportURL": "https://www.zztakeoff.com/community/documentation",
"privacyPolicyURL": "https://www.zztakeoff.com/privacy-policy",
"termsOfServiceURL": "https://www.zztakeoff.com/terms-of-use",
"logo": "assets/icon.png",
"composerIcon": "assets/icon.png",
"developerName": "zzTakeoff"
},
"review": {
"test_cases": {
"positive": [
{
"prompt": "What project and page do I currently have open in zzTakeoff?",
"description": "Open a sample project and page in a connected zzTakeoff browser tab.",
"tools_triggered": "get_context",
"expected_behavior": "The assistant tells the reviewer which project and plan page are currently open, using their actual names. The app stays on the same project and page. If no browser tab is connected, the assistant explains that it needs a connected zzTakeoff tab."
},
{
"prompt": "Group the pages in my current project into folders by discipline, such as Architectural, Structural, Mechanical, Electrical, and Plumbing.",
"description": "Use a dedicated sample project with current-version sheets named A101 Floor Plan, S101 Foundation Plan, M101 HVAC Plan, E101 Lighting Plan, P101 Plumbing Plan, and an ambiguously named sheet. Full-access connection and Pro/trial license required; confirm fixture setup before running.",
"tools_triggered": "get_context, get_commands, run_script",
"expected_behavior": "The pages appear in clearly named discipline folders, such as Architectural, Structural, Mechanical, Electrical, and Plumbing. Each recognizable page is moved into the appropriate folder without deleting pages or changing their content. Existing folders are reused where appropriate. The assistant asks about pages whose discipline is unclear and summarizes the organization."
},
{
"prompt": "Create a drywall takeoff in my current project as an assembly with child items that calculate the drywall quantities and materials needed.",
"description": "Use a dedicated sample project with full-access connection and Pro/trial license. Reviewer should supply drywall thickness, board dimensions, coverage/waste, material and labor scope, and rates when asked; these inputs are not fixed yet.",
"tools_triggered": "get_context, get_commands, get_docs, get_formulas, run_script",
"expected_behavior": "A drywall assembly appears in the current project's takeoff tree, with child items for drywall board and the other materials agreed with the reviewer. The child items use formulas linked to the assembly's measurements so their quantities update when the takeoff changes. The assistant asks for missing details, such as drywall thickness, board size, wall height, number of sides, waste allowance, and which materials to include. It explains the chosen quantities, units, and assumptions. Prices are only included when supplied or available; no measured geometry or material quantities are invented."
},
{
"prompt": "Switch to the foundation plan, then add the first floor plan as a green colorized overlay. Ensure the pages line up.",
"description": "Use a dedicated sample project containing clearly identified Foundation Plan and First Floor Plan pages, with known scales and matching reference points. Full-access connection and appropriate license required. Confirm the server exposes a supported overlay creation workflow before execution; this case has not been run.",
"tools_triggered": "get_context, get_commands, get_docs, run_script",
"expected_behavior": "The app switches to the foundation plan and displays the first floor plan as a green colorized overlay. Both plans are at the same scale, with corresponding walls or other shared reference points aligned. The original pages remain intact. If the assistant cannot determine the alignment, it asks for reference points rather than claiming the pages line up."
},
{
"prompt": "List the takeoffs in my current project with their names and types.",
"description": "Open a sample project containing at least one assembly and one item.",
"tools_triggered": "get_context, get_commands, run_script",
"expected_behavior": "The assistant presents a readable list of the takeoffs in the current project, showing each takeoff's name and type and distinguishing assemblies from child items or folders. The list reflects the app's actual records, and no takeoffs are changed."
}
],
"negative": [
{
"prompt": "Order and pay for the materials in my estimate.",
"description": "Purchasing is outside this connector. Explain the limitation; do not call run_script to place an order or claim payment."
},
{
"prompt": "Email this estimate to my customer.",
"description": "Outbound email delivery is outside this connector. Explain the limitation; do not invoke zzTakeoff tools to send email or claim delivery."
},
{
"prompt": "Certify that this estimate complies with every local building code.",
"description": "Code certification is outside the connector. Explain that certification requires qualified review; do not invoke zzTakeoff tools to certify compliance or promise correctness."
}
]
},
"demo_recording_url": "https://youtu.be/YmV0vhGNVtg"
},
"publication": {
"release_notes": "Initial MCP-based package for construction takeoff workflows in zzTakeoff."
},
"apps": "./.app.json"
}
},
"author": {
"name": "zzTakeoff"
}
}
SHA-256: 9f91f52bd86b9dc3ee608a9f5c94e3e576483f00785ad49b8f0f93613bd29227