# Piping Toolset Engineering Data

> Engineering code-table data with citations: standard, edition, table, row and column.

- name: com.pipingtoolset/data
- version: 0.1.0
- connection class: R0 (autonomous)
- trust: 100/100
- quality: 89/100 (new)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/com.pipingtoolset%2Fdata
- tools: https://api.protogrid.dev/v1/servers/com.pipingtoolset%2Fdata/tools

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

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "data": {
      "type": "http",
      "url": "https://pipingtoolset.com/mcp"
    }
  }
}
```


## Trust

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

## Quality 89/100 (new)

### 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: 100 (weight 30)

- pass `tools.descriptions`: every tool has a description
- pass `tools.description_length`: descriptions are concise
- pass `tools.schemas`: every tool has an object input schema
- pass `tools.annotations`: 10 of 10 tools declare readOnlyHint or destructiveHint
- pass `tools.directory_hints`: every tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
- pass `tools.token_cost`: about 2,015 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump
- pass `tools.hidden_text`: no hidden text in tool names, descriptions, schemas or annotations

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

- n/a `stability.changes`, `stability.rug_pull`, `stability.new_links`: tool history recorded for 1 of the 7 days needed

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

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

- tools: 10, about 2,015 tokens to load them all
- tool set hash: 732c4a2f0eaaa5a0391b7e54ab31a46d
- badge: [![protogrid quality](https://protogrid.dev/badge/com.pipingtoolset/data.svg)](https://protogrid.dev/servers/com.pipingtoolset/data)
- 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://pipingtoolset.com/mcp (streamable-http, auth none, reachable true, uptime30d 1)

## Packages

_none_

## Tools (10)

- `describe_dataset`: Describe one dataset: the key fields a lookup needs, the value columns with units and which need a temperature, the citation (standard, edition, table), whether lookups return a value or a pointer, the tier at which values are returned, and the daily lookup limits. Returns structure only, no table values.
- `find_dataset`: Search the engineering code-table datasets by keyword (standard, table, quantity, material). Returns up to 10 matches, each with its id, title, standard, edition and table, whether lookups return a value or a pointer (table, row and column only), and the tier at which values are returned.
- `get_aisc_shape`: Return the dimensions and section properties of one AISC shape by designation (e.g. W8X31, HSS6X6X3/8, PIPE4STD, L4X4X1/2): weight, area, depth, flange and web dimensions, I, S, Z, r, J and Cw as applicable. Source: AISC Shapes Database v16.0; L, HSS and Pipe computed from nominal geometry.
- `get_fixture_example`: Return one worked example case for a Piping Toolset plugin skill: the inputs, the expected outputs and the pass/fail status from the hand-checked calculation fixtures, with case names removed. `case` selects among the skill's cases (0-based; the result gives the count).
- `get_pipe_dimensions`: Return the outside diameter and nominal wall thickness (in) for a nominal pipe size per ASME B36.10M / B36.19M: one schedule with its wall and inside diameter when `schedule` is given (e.g. 40, STD, XS, 80, 10S), otherwise the walls of every schedule listed at that size.
- `get_pointer`: For a quantity whose value this server does not return (for example PVP2011-57100 nozzle allowables, ASCE 7-22 SDS, Ip, CAR and Rpo, AISC Fy/Fu, ACI anchor product values, API 617/611/612 and NEMA SM 23 coefficients, API 650 Annex P coefficients, and any dataset currently returned as a location only), return where to read it: standard, edition, table or figure, the row key and columns, and the inputs needed. Never returns a value.
- `get_skey_map`: Return the Isogen-style SKEY vocabulary Piping Toolset uses (component prefixes, end-condition suffixes, fitting and support keys) with scope 'isogen', or the PCF record set, substitutions and default SKEYs that import cleanly into CAESAR II with scope 'caesar-safe'. `component` narrows the result to one group, e.g. 'valve_prefix' or 'safe_substitutions'.
- `list_keys`: List the key identifiers of a dataset's rows (for example spec, grade, class, size, and the row position `line`) so lookup_value can address exactly one row. Returns identifiers only, never table values, at most 50 per call; `prefix` filters on the first key field. For pointer datasets it returns the key schema without rows.
- `lookup_value`: Return one value from one row and one column of a code-table dataset, with its citation (standard, edition, table, row, column), unit and the tabulated entries used. Temperature columns take T in °F; allowable-stress and flange-rating columns interpolate linearly between the two bracketing tabulated temperatures and never extrapolate. Datasets in pointer mode return the citation with value null. The key must identify exactly one row; use list_keys for identifiers.
- `verify_connector`: Report whether the caller is signed in, the caller's tier, how many datasets return values at that tier, and the remaining daily lookups when the server tracks them. Returns no email, name or account id.
