# Yoyo Component Generator — REST API endpoint `yoyo-component-generator`

Generate Yoyo PHP component boilerplate: the PHP class (properties, props, query string, listeners, lifecycle hooks, actions, computed properties) and the matching PHP, Blade, or Twig template. Anonymous components return only the template.

- Category: generators
- MCP server: https://mcp.findutils.com/ (Streamable HTTP, no API keys, 120 req/min per IP)
- REST endpoint: POST https://api.findutils.com/api/tools/yoyo-component-generator/execute (no API keys, 60 req/min per IP)
- Reference page: https://findutils.com/api/yoyo-component-generator/
- Same tool on the other surface: https://findutils.com/mcp/yoyo-component-generator/

## Call the endpoint (verified example)

```bash
curl -X POST https://api.findutils.com/api/tools/yoyo-component-generator/execute \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Counter",
    "properties": [
      {
        "name": "count",
        "type": "int",
        "default_value": "0"
      }
    ],
    "actions": [
      "increment"
    ],
    "computed_props": [
      "doubleCount"
    ]
  }'

# Parameter schema
curl https://api.findutils.com/api/tools/yoyo-component-generator
```

## Input schema

| Argument | Type | Required | Description |
|---|---|---|---|
| `name` | string | no | Component name (converted to PascalCase). Default: "MyComponent". Default: `"MyComponent"`. |
| `namespace` | string | no | PHP namespace. Default: "App\Yoyo". Default: `"App\\Yoyo"`. |
| `engine` | string (php \| blade \| twig) | no | Template engine. Default: "php". Default: `"php"`. |
| `component_type` | string (dynamic \| anonymous) | no | "dynamic" (class + template) or "anonymous" (template only). Default: "dynamic". Default: `"dynamic"`. |
| `properties` | array | no | Public properties: [{ name, type: string\|int\|float\|bool\|array, default_value? }]. |
| `use_props` | boolean | no | Declare $props with every property name. Default: false. Default: `false`. |
| `use_query_string` | boolean | no | Declare $queryString with every property name. Default: false. Default: `false`. |
| `actions` | array | no | Action method names, e.g. ["increment", "decrement"]. |
| `computed_props` | array | no | Computed property names, e.g. ["doubleCount"]. |
| `listeners` | array | no | Event listeners: [{ event, handler }]. |
| `hooks` | array | no | Lifecycle hooks to stub: any of "initialize", "mount", "rendering", "rendered". |

Example arguments (verified):

```json
{
  "name": "Counter",
  "properties": [
    {
      "name": "count",
      "type": "int",
      "default_value": "0"
    }
  ],
  "actions": [
    "increment"
  ],
  "computed_props": [
    "doubleCount"
  ]
}
```

OpenAPI 3.1 spec: https://findutils.com/api/openapi.json · Interactive docs: https://findutils.com/api/docs/

## Also an MCP tool

```bash
claude mcp add findutils --transport http https://mcp.findutils.com/
```

Then ask the client to call `findutils:yoyo_component_generator`. Full MCP reference: https://findutils.com/mcp/yoyo-component-generator/

---
Full catalog: GET https://api.findutils.com/api/tools · https://findutils.com/api/ · https://findutils.com/llms.txt
