Design
SVG Path Data Length Walker
Walk an SVG path command by command (M/L/H/V/C/S/Q/T/A/Z) — per-segment arc lengths, cumulative stroke-dashoffset distances, subpath bounding boxes, cubic handle vectors, arc flag solving, and path-vs-viewBox alignment.
html· HTML resultOpen tool
Quick start
Call this tool from your code in three languages.
cURL
curl -X POST 'https://api.elysiatools.com/en/api/tools/svg-path-data-cubic-quadratic-and-arc-command-length-walker' \
-H 'Content-Type: application/json' \
-d '{"pathData":"M 10 80 C 40 10, 65 10, 95 80 S 150 150, 180 80","viewBox":"0 0 200 200","drawPercent":50}'API reference
Send a POST request with your inputs as JSON. File parameters require a separate upload first.
Endpoint
HTTP
POST https://api.elysiatools.com/en/api/tools/svg-path-data-cubic-quadratic-and-arc-command-length-walkerParameters
| Name | Type | Required | Description |
|---|---|---|---|
| pathData | textarea | Yes | — |
| viewBox | text | No | — |
| drawPercent | number | Yes | — |
Response format
HTML result
JSON
{
"result": "<div>Processed HTML content</div>",
"error": "Error message (optional)",
"message": "Notification message (optional)",
"metadata": {
"key": "value"
}
}MCP integration
Add this tool to your Model Context Protocol server so AI agents can list and call it.
Server configuration
Add this block to your MCP client configuration:
mcp.json
{
"mcpServers": {
"elysiatools-svg-path-data-cubic-quadratic-and-arc-command-length-walker": {
"name": "svg-path-data-cubic-quadratic-and-arc-command-length-walker",
"description": "Walk an SVG path command by command (M/L/H/V/C/S/Q/T/A/Z) — per-segment arc lengths, cumulative stroke-dashoffset distances, subpath bounding boxes, cubic handle vectors, arc flag solving, and path-vs-viewBox alignment.",
"baseUrl": "https://api.elysiatools.com/mcp/sse?toolId=svg-path-data-cubic-quadratic-and-arc-command-length-walker",
"command": "",
"args": [],
"env": {},
"isActive": true,
"type": "sse"
}
}
}List available tools
After connecting to the SSE endpoint, list the exposed tools:
tools/list
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/list"
}Call this tool
Invoke the tool by its id, passing arguments built from its parameters:
tools/call
{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/call",
"params": {
"name": "svg-path-data-cubic-quadratic-and-arc-command-length-walker",
"arguments": {
"pathData": "M 10 80 C 40 10, 65 10, 95 80 S 150 150, 180 80",
"viewBox": "0 0 200 200",
"drawPercent": 50
}
}
}Chain multiple tools in one session with a comma-separated toolId list, e.g. /mcp/sse?toolId=png-to-webp,jpg-to-webp,gif-to-webp (max 20).