# Gage

> Price a building in light-gauge steel framing and start it with the nearest Gage fabricator.

- name: com.buildwithgage/gage
- version: 1.1.0
- connection class: R0 (autonomous)
- trust: 83/100 flags: no-repository
- quality: 88/100 (good)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/com.buildwithgage%2Fgage
- tools: https://api.protogrid.dev/v1/servers/com.buildwithgage%2Fgage/tools

**An agent can connect right now, no human step.** Remote endpoint, no authentication, reachable on the last probe.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "gage": {
      "type": "http",
      "url": "https://buildwithgage.com/mcp",
      "headers": {
        "Authorization": "Bearer ${GAGE_TOKEN}"
      }
    }
  }
}
```

Placeholders to fill: `${GAGE_TOKEN}`.

## Trust

- hygiene: 80
- liveness: 100
- freshness: 100
- provenance: 55
- drivers: +dns-namespace +website +reachable +uptime-100% +updated-8d-ago -no-repository
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 88/100 (good)

### protocol: 75 (weight 25)

- warn `protocol.modern`: newest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
- n/a `protocol.stateless`: only applies to 2026-07-28 servers
- pass `protocol.transport`: streamable HTTP
- n/a `protocol.list_ttl`: only applies to 2026-07-28 servers

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 93 (weight 30)

- pass `tools.descriptions`: every tool has a description
- warn `tools.description_length`: 2 tools have descriptions over 1,024 characters, which crowds the context
- pass `tools.schemas`: every tool has an object input schema
- pass `tools.annotations`: 3 of 3 tools declare readOnlyHint or destructiveHint
- pass `tools.directory_hints`: every tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
- pass `tools.token_cost`: about 3,273 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: 100 (weight 15)

- pass `stability.changes`: no tool changes in 30 days
- pass `stability.rug_pull`: no tool changed its meaning under the same name

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 3, about 3,273 tokens to load them all
- tool set hash: 05bb077c475a276c222997db96f78972
- badge: [![protogrid quality](https://protogrid.dev/badge/com.buildwithgage/gage.svg)](https://protogrid.dev/servers/com.buildwithgage/gage)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

_No tool definition changes recorded._

## Remotes

- https://buildwithgage.com/mcp (streamable-http, auth none, reachable true, uptime30d 1)

## Packages

_none_

## Tools (3)

- `quote_my_building`: Price a building in cold-formed steel framing from a plain description, through the Gage fabricator network: what it costs to have the frame fabricated and delivered, and which regional shop would build it.

Use this when someone has designed a house, ADU, cabin, garage, workshop or small commercial building (in this conversation or elsewhere) and asks what it would cost to build, how to get it built, or whether it can be framed in steel. For example, "how much to build this 1,900 sq ft one-storey gable house near 84032" -> total_sqft 1900, stories 1, roof_type "gable", zip "84032".

Only the size, storeys, roof and build-site ZIP are needed; ask the person for the ZIP if you do not have it. Anything else not given (ceiling heights, windows, doors, wall length, pitch, steel gauge) is filled with stated defaults and listed as assumptions. If you have exact walls and openings, submit_design_for_quote gives a tighter price.

The price is the steel frame package: framing steel, engineering and delivery. It is not the whole house (no foundation, finishes or labour on site). The fabricator is named by region until they take the job. When the person wants to go ahead, call start_my_project with the quote id.
- `start_my_project`: Start a real Gage project from a quote, so the person can get their building fabricated: Gage creates their project with the regional fabricator that priced it and emails them a private link to it. From that page they review the quote, talk to the fabricator and follow the frame to delivery. Nothing is charged by starting a project.

Only call this when the person has said they want to go ahead, and only with a name and email address they have given you for this. Ask them first: "Shall I send this to Gage so a fabricator can take it on? I'll need your name and email." Set person_agreed to true only after they say yes.

Use the quote_id from quote_my_building or submit_design_for_quote. The link goes to their email only; tell them to look for an email from Gage. How Gage handles their details: https://buildwithgage.com/privacy.
- `submit_design_for_quote`: Submit a building design to Gage and get back a real, buildable cold-formed steel (CFS) framing quote from the Gage fabricator network.

Use this when you have generated or been given a floor plan or 3D house model and need to know what it costs to frame in steel, who would fabricate it, and how it breaks into panels.

Give it structured geometry (levels, walls as start/end points, openings, roof) plus the build site ZIP and project type. It reduces the model to the quoting engine's inputs, checks whether the design can actually be auto-panelized, and returns:
  - a structural feasibility flag,
  - an itemized quote (steel, transport, engineering, subtotal, confidence band, fabricator and lead time),
  - a downloadable preliminary panelization package (panel count, panel footage and totals; the panel-by-panel schedule goes to the Gage fabricator that takes the job).

It refuses rather than guesses. Geometry that is invalid or outside what the engine prices comes back as a structured error; a design that is legible but needs a structural decision (curved walls, a header over 12 ft, a cantilevered storey, tall walls) comes back with status "needs_human_review" and no price. A quote is only ever returned for a design that passed every check.

Pricing, tonnage and fabricator routing are computed by Gage API v1, not by this tool. Panelization output is preliminary and unstamped; stamped shop drawings are issued by the assigned fabricator after a quote is accepted.
