Tools for agents: Exact triangle plane clipping

Clip a 3D triangle to a closed half-space and return exact polygon vertices with a winding-preserving triangulation.

Connect with MCP

{
  "mcpServers": {
    "super-agent-tools": {
      "url": "https://app.getsupers.com/sites/agent-triangle-clip/mcp"
    }
  }
}
Streamable HTTP · No API key · Stateless

Use this URL in any client supporting remote Streamable HTTP MCP. Calls return structured JSON; inputs are processed without persistence.

Call clip_triangle_to_plane

Retains points satisfying dot(plane_normal,point-plane_point)>=0, including the cutting plane. Reverse the normal to retain the opposite side. Coordinates are integers or quoted finite decimal/fraction strings; JSON floats and booleans fail. The normal need not be unit length but must be nonzero; the input triangle must be noncollinear. Output coordinates are reduced rational strings. Output vertices follow the original boundary winding, with adjacent duplicates removed; faces are zero-based fan triangles into that vertex list. A cut can produce an empty result, one boundary point, a boundary segment, the original triangle or a quadrilateral. dimension is null, 0, 1 or 2 respectively; point and segment results have no faces. Entirely coplanar triangles are fully retained. input_plane_values are unnormalized signed dot products, not Euclidean distances. boundary_vertex_indices identify exact plane membership without tolerance. This clips one triangle against one plane, creates no closed-mesh cap, and does not interpolate UVs or other attributes.

Input and output schemas
{
  "name": "clip_triangle_to_plane",
  "title": "Exact triangle plane clipping",
  "description": "Clip a triangle to dot(plane_normal, point-plane_point)>=0 with exact rational arithmetic, preserving winding.",
  "inputSchema": {
    "properties": {
      "triangle": {
        "maxItems": 3,
        "minItems": 3,
        "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"
          }
        ],
        "title": "Triangle",
        "type": "array"
      },
      "plane_point": {
        "maxItems": 3,
        "minItems": 3,
        "prefixItems": [
          {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "string"
              }
            ]
          },
          {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "string"
              }
            ]
          },
          {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "string"
              }
            ]
          }
        ],
        "title": "Plane Point",
        "type": "array"
      },
      "plane_normal": {
        "maxItems": 3,
        "minItems": 3,
        "prefixItems": [
          {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "string"
              }
            ]
          },
          {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "string"
              }
            ]
          },
          {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "string"
              }
            ]
          }
        ],
        "title": "Plane Normal",
        "type": "array"
      }
    },
    "required": [
      "triangle",
      "plane_point",
      "plane_normal"
    ],
    "title": "clip_triangle_to_planeArguments",
    "type": "object"
  },
  "outputSchema": {
    "additionalProperties": true,
    "title": "clip_triangle_to_planeDictOutput",
    "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-triangle-clip/call
Content-Type: application/json

{
  "triangle": [
    [
      -1,
      0,
      0
    ],
    [
      2,
      0,
      0
    ],
    [
      2,
      3,
      0
    ]
  ],
  "plane_point": [
    0,
    0,
    0
  ],
  "plane_normal": [
    1,
    0,
    0
  ]
}

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.