Tools for agents: Mesh transform and OBJ export
Transform mesh geometry with a 4×4 affine matrix and get bounds, centroid, and a ready-to-save OBJ artifact.
Connect with MCP
{
"mcpServers": {
"super-agent-tools": {
"url": "https://app.getsupers.com/sites/agent-mesh-transform/mcp"
}
}
}Use this URL in any client supporting remote Streamable HTTP MCP. Calls return structured JSON; inputs are processed without persistence.
Call transform_mesh
Row-major matrix multiplied by column vectors [x,y,z,1]. Input faces are zero-based; OBJ faces are one-based. Face winding is preserved, including under reflections. Normals and materials are not included.
Input and output schemas
{
"name": "transform_mesh",
"title": "Mesh transform and OBJ export",
"description": "Apply a row-major 4x4 affine matrix to vertices and export OBJ, bounds and centroid. Face indices are zero-based. No filesystem or network access.",
"inputSchema": {
"$defs": {
"Mesh": {
"properties": {
"vertices": {
"items": {
"maxItems": 3,
"minItems": 3,
"prefixItems": [
{
"type": "number"
},
{
"type": "number"
},
{
"type": "number"
}
],
"type": "array"
},
"minItems": 1,
"title": "Vertices",
"type": "array"
},
"faces": {
"items": {
"items": {
"type": "integer"
},
"type": "array"
},
"title": "Faces",
"type": "array"
}
},
"required": [
"vertices"
],
"title": "Mesh",
"type": "object"
}
},
"properties": {
"mesh": {
"$ref": "#/$defs/Mesh"
},
"matrix": {
"items": {
"items": {
"type": "number"
},
"type": "array"
},
"title": "Matrix",
"type": "array"
}
},
"required": [
"mesh",
"matrix"
],
"title": "transform_meshArguments",
"type": "object"
},
"outputSchema": {
"additionalProperties": true,
"title": "transform_meshDictOutput",
"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-mesh-transform/call
Content-Type: application/json
{
"mesh": {
"vertices": [
[
0,
0,
0
],
[
1,
0,
0
],
[
0,
1,
0
]
],
"faces": [
[
0,
1,
2
]
]
},
"matrix": [
[
2,
0,
0,
10
],
[
0,
2,
0,
0
],
[
0,
0,
2,
0
],
[
0,
0,
0,
1
]
]
}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.