# Thread Generator — MCP tool `findutils:thread_generator`

Build a numbered Twitter/X thread from a list of tweets, or split long-form text into tweets of at most 280 characters. Returns each tweet with its character count and limit flag, plus the full thread text numbered "1/N" and separated by "---", exactly as the page copies it.

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

## Connect

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

Claude Desktop (`claude_desktop_config.json`):

```json
{
  "mcpServers": {
    "findutils": {
      "url": "https://mcp.findutils.com/"
    }
  }
}
```

## Call the tool (verified example)

```bash
curl -X POST https://mcp.findutils.com/ \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "tools/call",
    "params": {
      "name": "thread_generator",
      "arguments": {
        "tweets": [
          "🧵 5 techniques I use to stay productive:",
          "1/ The Pomodoro Technique",
          "Summary: RT if helpful! 🔄"
        ],
        "topic": "Productivity"
      }
    }
  }'
```

## Input schema

| Argument | Type | Required | Description |
|---|---|---|---|
| `tweets` | array | no | The tweets in order (1-100 strings). Blank entries are dropped. Give tweets or text, not both. |
| `text` | string | no | Long-form text to split into tweets at paragraph, sentence and word boundaries. Give text or tweets, not both. |
| `thread_type` | string (educational \| story \| listicle \| howto \| opinion) | no | Thread style label, returned as-is. Default "educational". Default: `"educational"`. |
| `topic` | string | no | What the thread is about. Returned as-is. |
| `max_length` | integer | no | Character limit per tweet (50-4000). Default 280. Default: `280`. |
| `number_tweets` | boolean | no | Prefix each tweet in the joined text with "i/N" on its own line. Default true. Default: `true`. |

Example arguments (verified):

```json
{
  "tweets": [
    "🧵 5 techniques I use to stay productive:",
    "1/ The Pomodoro Technique",
    "Summary: RT if helpful! 🔄"
  ],
  "topic": "Productivity"
}
```

## Also a REST endpoint

```bash
curl -X POST https://api.findutils.com/api/tools/thread-generator/execute \
  -H "Content-Type: application/json" \
  -d '{
    "tweets": [
      "🧵 5 techniques I use to stay productive:",
      "1/ The Pomodoro Technique",
      "Summary: RT if helpful! 🔄"
    ],
    "topic": "Productivity"
  }'

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

Full REST reference: https://findutils.com/api/thread-generator/ · OpenAPI 3.1 spec: https://findutils.com/api/openapi.json

---
Full catalog: POST https://mcp.findutils.com/ with method `tools/list` · https://findutils.com/mcp/ · https://findutils.com/llms.txt
