quantity-takeoff
Server Details
Auditable construction takeoffs with locked waste and conservative purchase rounding.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- jdhart81/viridis-agent-fleet
- GitHub Stars
- 0
- Server Listing
- viridis-agent-fleet
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Average 3.5/5 across 7 of 7 tools scored. Lowest: 2.5/5.
Each tool serves a distinct purpose: calculation, server info, retrieval of assemblies and material packs, listing, and verification. No overlapping functionality.
All tool names follow a consistent verb_noun pattern in snake_case (e.g., calculate_takeoff, list_assemblies, get_material_pack).
7 tools is well-scoped for a quantity takeoff server, covering listing, retrieving, calculating, and verifying without being excessive or sparse.
The tool set covers core workflows: listing, retrieval, calculation, and verification. Minor gaps like managing previous takeoffs or creating assemblies are absent but acceptable for a read-only planning estimate server.
Available Tools
7 toolscalculate_takeoffBInspect
Calculate an auditable material takeoff from explicit geometry or a supported SmartScale/ProtoGen measurement payload. Returns net, explicit waste-adjusted, and conservative purchase quantities. This is a planning estimate, not a guaranteed material order or professional certification.
| Name | Required | Description | Default |
|---|---|---|---|
| items | Yes | ||
| options | No | ||
| request_id | No | ||
| payment_ref | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description takes on full responsibility. It explains the output types (net, waste-adjusted, purchase quantities) and notes it's an estimate. However, it does not disclose side effects, permissions, error behavior, or the meaning of 'auditable', leaving some behavioral aspects unclear.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise at two sentences, front-loading the core purpose and adding a necessary caveat. It is efficient and easy to parse, though a bit more structure (e.g., separating inputs from outputs) could slightly improve clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having an output schema which reduces the need to detail return values, the description is incomplete given the tool's moderate complexity. Critical information about parameter semantics and operational context is missing, requiring external documentation for full understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0% description coverage, and while the description mentions inputs like 'explicit geometry or measurement payload', it does not explain individual parameters (e.g., 'items', 'options', 'request_id', 'payment_ref'). This lack of parameter-level guidance makes it difficult for an agent to correctly populate the fields.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool calculates an auditable material takeoff from explicit geometry or supported measurement payloads, specifying the resource and action. It distinguishes itself from sibling tools like list_assemblies or get_assembly, which serve different purposes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides context that this is a planning estimate, not a guaranteed order, which implies appropriate usage scenarios. However, it lacks explicit guidance on when to use this tool over alternatives or when not to use it, and does not mention any prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
describe_agentAInspect
Return fleet-standard capabilities, version, pack digest, disclaimer, composition role, and pricing.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds value by listing the fields returned, but it does not disclose whether the tool has side effects, requires authentication, or has any behavioral constraints. Since no annotations are provided, the description carries the full burden; it is adequate but not comprehensive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that is concise and front-loaded. It uses clear, specific terms and contains no unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that the tool has zero parameters and an output schema exists, the description fully covers what the tool returns. It is complete for the tool's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters, so the description need not add parameter semantics. Schema coverage is trivially 100%, and baseline for zero parameters is 4. The description does not need to explain parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool returns 'fleet-standard capabilities, version, pack digest, disclaimer, composition role, and pricing.' It uses a specific verb ('describe') and resource ('agent'), distinguishing it from sibling tools which concern calculations, assemblies, and material packs.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives is provided. Usage is implied by the description, but there are no exclusions or alternative suggestions. For a simple zero-parameter tool, this is acceptable but not exemplary.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_assemblyBInspect
Return one assembly's formula, required dimensions, material factors, purchase increment, sources, and material-pack lineage.
| Name | Required | Description | Default |
|---|---|---|---|
| assembly_type | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden but only lists return data, failing to disclose read-only nature, auth requirements, or side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence that efficiently lists returned fields, no fluff, though slightly dense.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Even with an output schema, the description neglects input parameter context and usage context, leaving significant gaps for a simple tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description does not explain the 'assembly_type' parameter, providing no guidance on what value to provide.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns specific data about one assembly (formula, dimensions, etc.), using the verb 'Return' and distinguishing it from sibling tools like list_assemblies.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implied usage when detailed assembly info is needed, but no explicit when-to-use or when-not-to-use guidance, nor any mention of alternatives like calculate_takeoff or list_assemblies.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_material_packAInspect
Return the bundled factors, densities, coverages, waste defaults, purchase increments, unit conversions, sources, and raw-pack SHA.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description must disclose behavioral traits. It only lists return data without mentioning authorization, idempotency, performance implications, or whether the operation is read-only. Critical gaps exist for a get-like tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence efficiently enumerates all bundled data elements. Every clause adds value, and the verbiage is front-loaded with the action verb.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that an output schema exists, the description need not detail return values, but it helpfully lists key components. No parameters simplifies completeness. Minor ambiguity about which pack is returned (no identifier) is addressed by the zero-parameter design.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters, and schema coverage is 100%. The description correctly does not need to add meaning for parameters. Baseline score of 4 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses 'Return' as a specific verb and lists the exact data elements (factors, densities, coverages, etc.) that the tool provides. This clearly identifies the resource (material pack) and distinguishes it from sibling tools like list_material_pack.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as list_material_pack or get_assembly. There is no explicit when-to-use or when-not-to-use context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_assembliesAInspect
List supported assemblies, required dimensions, formulas, waste defaults, and the current material-pack digest.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It accurately conveys that this is a read operation listing multiple items. The behavior is straightforward: returns a list. No side effects or constraints are hidden, though some additional detail about the response could be added.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that efficiently conveys the tool's function without unnecessary words. Every element contributes meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (no parameters, output schema exists), the description is complete. It names the key data categories listed, and with the output schema providing structural details, no further explanation is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are no parameters (schema coverage 100% trivially). According to the rules, 0 parameters yields a baseline score of 4. The description adds no parameter information, which is appropriate given the absence of parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists supported assemblies and associated data (dimensions, formulas, waste defaults, material-pack digest). It distinguishes from sibling 'get_assembly' (singular) and 'list_material_pack' (specific to material packs).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not explicitly state when to use this tool versus siblings. Usage context is implied but not detailed, lacking guidance on when to choose this over get_assembly or calculate_takeoff.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_material_packBInspect
List the bundled material pack version, digest, coverage, shapes, rebar sizes, roof pitches, and explicit unsupported policy.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description indicates a read operation by stating 'List', but no further behavioral details are given (e.g., read-only, permissions, side effects). Since annotations are absent, the description partially carries the burden but lacks depth.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence listing the attributes. It is well-structured and front-loaded, though a more structured format (e.g., bullet points) could improve readability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values are covered. However, the description lacks context about whether it returns a single pack or all packs, and does not clarify its relationship to sibling tools, leaving the agent with incomplete guidance.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has no parameters, so the description does not need to explain any. Schema coverage is trivially 100%, meeting the baseline for 0 parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists specific attributes (version, digest, coverage, etc.) of a material pack. The verb 'List' and the resource 'material pack' are explicit, but it does not differentiate from the sibling tool 'get_material_pack', which likely retrieves detailed data for a single pack.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like 'get_material_pack' or 'list_assemblies'. There is no mention of prerequisites, context, or scenarios where this tool is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_resultCInspect
Recompute a takeoff audit hash, notary payload, pack currency, and QT9 unit-resolved conservation. Pass the prior result object as JSON.
| Name | Required | Description | Default |
|---|---|---|---|
| result_json | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits. It mentions 'recompute', implying potential mutation, but doesn't confirm side effects, permissions, rate limits, or error conditions. The return structure is not described despite an output schema existing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences provide minimal information, but the first sentence is a dense list of technical terms that may confuse an agent. It is concise but at the expense of clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the domain complexity and absence of annotations, the description lacks context on return values, when to use the tool, and details about the parameter. The output schema could supplement, but it's not referenced.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter 'result_json' is explained as 'the prior result object as JSON', adding some meaning beyond the schema (which has no description). However, it doesn't specify the internal structure or constraints of the object.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states it recomputes various technical elements (audit hash, notary payload, etc.) but the purpose is not wholly clear due to domain-specific jargon. It does differentiate from siblings by mentioning 'recompute', but it doesn't clearly distinguish from calculate_takeoff.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description instructs to 'Pass the prior result object as JSON', hinting at a prerequisite, but offers no explicit guidance on when to use this tool versus alternatives like calculate_takeoff or list_assemblies.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Servers
- Alicense-qualityCmaintenanceEnables AI agents to perform construction takeoff and estimating from drawing PDFs, including upload, scale calibration, trade-based takeoff, pricing, and proposal export.MIT

RoofMeasure MCPofficial
AlicenseAqualityBmaintenanceProvides free EagleView-style satellite roof measurements and modular Xactimate-style estimating from Google Solar API data, enabling contractors to generate reports and estimates from any address.3MIT- Alicense-qualityCmaintenanceProvides AI-powered subsurface scan analysis and plain-English bid drafting tools, helping certified technicians assess hazards and trades build estimates.MIT
- Flicense-qualityCmaintenanceAn MCP server for construction tools that calculates wall formwork material takeoffs from geometry inputs, enabling LLMs to generate accurate bills of materials.
Your Connectors
Sign in to create a connector for this server.