Tools for agents: Exact tetrahedron volume and centroid
Compute signed solid volume, orientation and uniform tetrahedron centroid with exact rational arithmetic.
Connect with MCP
{
"mcpServers": {
"super-agent-tools": {
"url": "https://app.getsupers.com/sites/agent-tetrahedron/mcp"
}
}
}Use this URL in any client supporting remote Streamable HTTP MCP. Calls return structured JSON; inputs are processed without persistence.
Call measure_tetrahedron
Supply exactly four ordered 3D vertices A,B,C,D. Coordinates are integers or quoted finite decimal/fraction strings; JSON floats and booleans fail. Signed volume is det(B-A,C-A,D-A)/6, using the right-handed coordinate convention; swapping any two vertices reverses its sign. Absolute volume uses cubed input units. Orientation is positive, negative or degenerate based on the exact determinant, with no tolerance. For a nondegenerate tetrahedron, solid_centroid is the arithmetic mean of its four vertices and assumes uniform density. Coplanar or repeated vertices are accepted as degenerate with volume zero and solid_centroid=null; vertex_mean is still returned but is not advertised as the centroid of a lower-dimensional hull. Outputs are reduced rational strings. This measures one tetrahedron, not a general mesh volume, surface centroid, convex-hull repair or density-weighted mass. Near-degenerate rational inputs retain their exact nonzero volume.
Input and output schemas
{
"name": "measure_tetrahedron",
"title": "Exact tetrahedron volume and centroid",
"description": "Measure signed and absolute tetrahedral volume and centroid using exact rational coordinates; classify degenerate tetrahedra explicitly.",
"inputSchema": {
"properties": {
"vertices": {
"maxItems": 4,
"minItems": 4,
"prefixItems": [
{
"maxItems": 3,
"minItems": 3,
"prefixItems": [
{
"anyOf": [
{
"type": "integer"
},
{
"type": "string"
}
]
},
{
"anyOf": [
{
"type": "integer"
},
{
"type": "string"
}
]
},
{
"anyOf": [
{
"type": "integer"
},
{
"type": "string"
}
]
}
],
"type": "array"
},
{
"maxItems": 3,
"minItems": 3,
"prefixItems": [
{
"anyOf": [
{
"type": "integer"
},
{
"type": "string"
}
]
},
{
"anyOf": [
{
"type": "integer"
},
{
"type": "string"
}
]
},
{
"anyOf": [
{
"type": "integer"
},
{
"type": "string"
}
]
}
],
"type": "array"
},
{
"maxItems": 3,
"minItems": 3,
"prefixItems": [
{
"anyOf": [
{
"type": "integer"
},
{
"type": "string"
}
]
},
{
"anyOf": [
{
"type": "integer"
},
{
"type": "string"
}
]
},
{
"anyOf": [
{
"type": "integer"
},
{
"type": "string"
}
]
}
],
"type": "array"
},
{
"maxItems": 3,
"minItems": 3,
"prefixItems": [
{
"anyOf": [
{
"type": "integer"
},
{
"type": "string"
}
]
},
{
"anyOf": [
{
"type": "integer"
},
{
"type": "string"
}
]
},
{
"anyOf": [
{
"type": "integer"
},
{
"type": "string"
}
]
}
],
"type": "array"
}
],
"title": "Vertices",
"type": "array"
}
},
"required": [
"vertices"
],
"title": "measure_tetrahedronArguments",
"type": "object"
},
"outputSchema": {
"additionalProperties": true,
"title": "measure_tetrahedronDictOutput",
"type": "object"
},
"icons": null,
"annotations": {
"title": null,
"readOnlyHint": true,
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": false
},
"meta": null,
"execution": null
}Run the example to see the actual result.
HTTP alternative
POST https://app.getsupers.com/sites/agent-tetrahedron/call
Content-Type: application/json
{
"vertices": [
[
0,
0,
0
],
[
2,
0,
0
],
[
0,
3,
0
],
[
0,
0,
4
]
]
}The HTTP and MCP interfaces execute the same implementation. Validation errors are returned explicitly. See the tool notes above for its supported inputs and behavior.