# Llms Txt Generate — REST API endpoint `llms-txt-generate`

Build an llms.txt file (llmstxt.org format): an H1 site name, a blockquote summary, optional prose, H2 sections of "- [title](url): description" links, and an "## Optional" section last. Root-relative URLs are resolved against the origin; off-origin, duplicate and placeholder links are reported as warnings. Also returns a robots.txt snippet allowing the major AI crawlers, a Link header and an HTML <link> pointing at /llms.txt. Generates text only and fetches nothing, so it cannot check that the linked pages exist.

- Category: seo
- 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/llms-txt-generate/execute (no API keys, 60 req/min per IP)
- Reference page: https://findutils.com/api/llms-txt-generate/
- Same tool on the other surface: https://findutils.com/mcp/llms-txt-generate/

## Call the endpoint (verified example)

```bash
curl -X POST https://api.findutils.com/api/tools/llms-txt-generate/execute \
  -H "Content-Type: application/json" \
  -d '{
    "site_name": "Example",
    "origin": "https://example.com",
    "summary": "Example builds small tools for developers.",
    "sections": [
      {
        "heading": "Docs",
        "links": [
          {
            "title": "Getting started",
            "url": "https://example.com/docs/",
            "description": "Install and first steps."
          }
        ]
      }
    ]
  }'

# Parameter schema
curl https://api.findutils.com/api/tools/llms-txt-generate
```

## Input schema

| Argument | Type | Required | Description |
|---|---|---|---|
| `site_name` | string | yes | Site or project name, used as the single H1. |
| `origin` | string | yes | Site origin, e.g. "https://docs.example.com". Root-relative link URLs resolve against it. |
| `summary` | string | yes | One or two sentences for the blockquote under the H1 (aim for 320 characters or fewer). |
| `details` | string | no | Optional plain Markdown prose after the summary (no headings). |
| `sections` | array | no | H2 sections: objects { heading, links: [{ title, url, description }] }. A section named "Optional" is moved to the end. Empty sections are dropped. |
| `optional_links` | array | no | Links for the "## Optional" section, which agents may skip: [{ title, url, description }]. |
| `content_signal` | string | no | Optional Content-Signal value for the robots snippet, e.g. "search=yes, ai-input=yes, ai-train=no". |
| `sitemap_url` | string | no | Optional absolute sitemap URL added to the robots snippet. |

Example arguments (verified):

```json
{
  "site_name": "Example",
  "origin": "https://example.com",
  "summary": "Example builds small tools for developers.",
  "sections": [
    {
      "heading": "Docs",
      "links": [
        {
          "title": "Getting started",
          "url": "https://example.com/docs/",
          "description": "Install and first steps."
        }
      ]
    }
  ]
}
```

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:llms_txt_generate`. Full MCP reference: https://findutils.com/mcp/llms-txt-generate/

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