Engineering code-table data with citations: standard, edition, table, row and column.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
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.
Dataset id from find_dataset
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
Run in a terminal
claude mcp add --transport http data https://pipingtoolset.com/mcp
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.
| Argument | Type | Description |
|---|---|---|
| dataset_id* | string | Dataset id from find_dataset |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"dataset_id"
],
"properties": {
"dataset_id": {
"type": "string",
"maxLength": 80,
"minLength": 1,
"description": "Dataset id from 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.
| Argument | Type | Description |
|---|---|---|
| query* | string | Keywords, e.g. 'B31.3 allowable stress A106' or 'support spacing' |
| standard | string | Optional standard filter, e.g. 'ASME B31.1' |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"query"
],
"properties": {
"query": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Keywords, e.g. 'B31.3 allowable stress A106' or 'support spacing'"
},
"standard": {
"type": "string",
"maxLength": 60,
"description": "Optional standard filter, e.g. 'ASME B31.1'"
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| designation* | string | AISC designation, spaces ignored, e.g. W8X31 |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"designation"
],
"properties": {
"designation": {
"type": "string",
"maxLength": 40,
"minLength": 1,
"description": "AISC designation, spaces ignored, e.g. W8X31"
}
}
}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).
| Argument | Type | Description |
|---|---|---|
| case | integer | 0-based case index (default 0) |
| skill* | string | Plugin skill slug (current names first; 0.9.x names stay accepted) |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"skill"
],
"properties": {
"case": {
"type": "integer",
"maximum": 500,
"minimum": 0,
"description": "0-based case index (default 0)"
},
"skill": {
"enum": [
"pipe-stress-check",
"bolted-flange",
"nozzle-load",
"pipe-support",
"load-case-builder",
"stress-import",
"pressure-design",
"stress-screening",
"iso-to-pcf"
],
"type": "string",
"description": "Plugin skill slug (current names first; 0.9.x names stay accepted)"
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| nps* | string | Nominal pipe size, e.g. 6, 1-1/2, 3/4 |
| schedule | string | Schedule or weight class, e.g. 40, STD, XS, 160, 10S |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"nps"
],
"properties": {
"nps": {
"type": "string",
"maxLength": 10,
"minLength": 1,
"description": "Nominal pipe size, e.g. 6, 1-1/2, 3/4"
},
"schedule": {
"type": "string",
"maxLength": 20,
"description": "Schedule or weight class, e.g. 40, STD, XS, 160, 10S"
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| quantity* | string | What you need, e.g. 'SDS' or 'allowable nozzle loads class 150' |
| standard* | string | Standard, e.g. 'ASCE 7-22', 'API 617', 'PVP2011-57100' |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"standard",
"quantity"
],
"properties": {
"quantity": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "What you need, e.g. 'SDS' or 'allowable nozzle loads class 150'"
},
"standard": {
"type": "string",
"maxLength": 60,
"minLength": 1,
"description": "Standard, e.g. 'ASCE 7-22', 'API 617', 'PVP2011-57100'"
}
}
}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'.
| Argument | Type | Description |
|---|---|---|
| scope* | string | isogen = SKEY registry; caesar-safe = PCF records for CAESAR II import |
| component | string | Optional group name within the scope |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"scope"
],
"properties": {
"scope": {
"enum": [
"isogen",
"caesar-safe"
],
"type": "string",
"description": "isogen = SKEY registry; caesar-safe = PCF records for CAESAR II import"
},
"component": {
"type": "string",
"maxLength": 60,
"description": "Optional group name within the scope"
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Maximum identifiers to return (default 20, max 50) |
| prefix | string | Only identifiers whose first key field starts with this text |
| dataset_id* | string | Dataset id from find_dataset |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"dataset_id"
],
"properties": {
"limit": {
"type": "integer",
"maximum": 50,
"minimum": 1,
"description": "Maximum identifiers to return (default 20, max 50)"
},
"prefix": {
"type": "string",
"maxLength": 60,
"description": "Only identifiers whose first key field starts with this text"
},
"dataset_id": {
"type": "string",
"maxLength": 80,
"minLength": 1,
"description": "Dataset id from find_dataset"
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| key* | object | Key fields from describe_dataset, e.g. {"nps": 2} or {"spec": "A106", "grade": "B", "T": 650} |
| column | string | Value column; optional when the dataset has a default column |
| dataset_id* | string | Dataset id from find_dataset |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"dataset_id",
"key"
],
"properties": {
"key": {
"type": "object",
"description": "Key fields from describe_dataset, e.g. {\"nps\": 2} or {\"spec\": \"A106\", \"grade\": \"B\", \"T\": 650}",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": [
"string",
"number",
"boolean"
]
}
},
"column": {
"type": "string",
"maxLength": 40,
"description": "Value column; optional when the dataset has a default column"
},
"dataset_id": {
"type": "string",
"maxLength": 80,
"minLength": 1,
"description": "Dataset id from find_dataset"
}
}
}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.
No arguments.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}We read every tool's name, description and inputs the way the model will, looking for instructions hidden from you. A clean result means no warning signs, not a guarantee. Scanned Nov 12, 2026.