Pure, bounded analysis of an explicit bill-of-materials graph: validates structure, finds missing...
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.
Pure, bounded analysis of an explicit bill-of-materials graph: validates structure, finds missing references, duplicate IDs, duplicate edges, and cycles (whole graph, even parts unreachable from the root), and - when the graph is completely clean - exactly explodes root quantity through every assembly level with exact-decimal arithmetic, aggregating shared components reached via different branches. No network access and no manufacturing/supplier certification: this checks the data you supply, not the real world. Price: 0.05 USDC per completed bounded job on Base.
ID of the part to explode from. Must match one of parts[].id.
Positive exact decimal, <=12 integer digits, <=6 fraction digits.
Pure, bounded analysis of an explicit bill-of-materials graph: validates structure, finds missing references, duplicate IDs, duplicate edges, and cycles (whole graph, even parts unreachable from the root), and - when the graph is completely clean - exactly explodes root quantity through every assembly level with exact-decimal arithmetic, aggregating shared components reached via different branches. No network access and no manufacturing/supplier certification: this checks the data you supply, not the real world. Price: 0.05 USDC per completed bounded job on Base.
| Argument | Type | Description |
|---|---|---|
| root* | string | ID of the part to explode from. Must match one of parts[].id. |
| parts* | array | |
| quantity* | string | Positive exact decimal, <=12 integer digits, <=6 fraction digits. |
{
"type": "object",
"required": [
"root",
"quantity",
"parts"
],
"properties": {
"root": {
"type": "string",
"maxLength": 128,
"minLength": 1,
"description": "ID of the part to explode from. Must match one of parts[].id."
},
"parts": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"unit"
],
"properties": {
"id": {
"type": "string",
"maxLength": 128,
"minLength": 1
},
"unit": {
"type": "string",
"maxLength": 64,
"minLength": 1
},
"components": {
"type": "array",
"items": {
"type": "object",
"required": [
"part_id",
"quantity"
],
"properties": {
"part_id": {
"type": "string",
"maxLength": 128,
"minLength": 1
},
"quantity": {
"type": "string",
"pattern": "^(?!0+(?:\\.0{1,6})?$)\\d{1,12}(\\.\\d{1,6})?$"
}
},
"additionalProperties": false
},
"maxItems": 100
}
},
"additionalProperties": false
},
"maxItems": 500
},
"quantity": {
"type": "string",
"pattern": "^(?!0+(?:\\.0{1,6})?$)\\d{1,12}(\\.\\d{1,6})?$",
"description": "Positive exact decimal, <=12 integer digits, <=6 fraction digits."
}
},
"additionalProperties": false
}