# generate_llms_txt

Generate a production-ready llms.txt file for any URL so AI crawlers (ChatGPT, Claude, Perplexity) can index the site cleanly. Fetches the page, extracts title/description/key links, and emits the standard llms.txt markdown format. Output is a single text blob ready to drop at site-root/llms.txt. Useful for: getting a client's site indexed by AI, drafting llms.txt for your own project, or auditing how an AI crawler would see a competitor.

Agent View of the PolicyLayer registry record for `generate_llms_txt`. HTML page: https://policylayer.com/tools/io-github-pipeworx-io-linear/generate-llms-txt

## Facts

- Tool: `generate_llms_txt`
- Server: Linear (`https://gateway.pipeworx.io/linear/mcp`) — https://policylayer.com/tools/io-github-pipeworx-io-linear.md
- Homepage: https://github.com/pipeworx-io/mcp-linear
- Risk category: Execute (High risk)
- Registry record: grade F, identity unverified
- Server auth posture: open
- Server CORS policy: *
- Server rate-limited: yes
- Parameters: 2 (1 required)
- Recommended policy verdict: Rate-limited

## Parameters

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `url` | string | yes | Full URL of the site to summarize, e.g. "https://example.com" or a specific landing page. |
| `max_links` | number | no | Maximum number of link entries to include (default 25, max 50). |

Parameters from the server's own tool schema.

## Example call (MCP tools/call, JSON-RPC 2.0)

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "generate_llms_txt",
    "arguments": {
      "url": "<url>"
    }
  }
}
```

## Why generate_llms_txt is rated High

This tool performs an external network request (fetching a URL) and processes the response, which constitutes triggering an external operation. It is not a simple read of local data — it makes outbound HTTP calls to arbitrary URLs on behalf of the agent. The output is a generated text artifact. No data is written to a system or destroyed, but the external fetch makes this Execute rather than Read.

From the tool's own definition: "Fetches the page, extracts title/description/key links — triggers an external HTTP fetch operation against an arbitrary URL, whose effects depend on the argument provided"

Risk signals: Accepts URL/endpoint input (url) · Admin/system-level operation

## Use case

AI agents invoke generate_llms_txt to trigger actions in Linear. What it does depends on the arguments the agent supplies, and its effects often reach beyond the immediate call: builds kicked off, notifications sent, workflows started.

## Recommended policy (PolicyLayer)

Verdict: **Rate-limited**. Enforced by the PolicyLayer MCP gateway (https://policylayer.com/mcp-gateway) before a call reaches Linear:

```json
{
  "version": "1",
  "default": "deny",
  "tools": {
    "generate_llms_txt": {
      "limits": [
        {
          "counter": "generate_llms_txt_rate",
          "window": "minute",
          "max": 10,
          "scope": "grant"
        }
      ]
    }
  }
}
```

## Other tools on Linear (35)

- `forget` — Destructive — https://policylayer.com/tools/io-github-pipeworx-io-linear/forget.md
- `polymarket_edges` — Financial — https://policylayer.com/tools/io-github-pipeworx-io-linear/polymarket-edges.md
- `polymarket_fill_risk` — Financial — https://policylayer.com/tools/io-github-pipeworx-io-linear/polymarket-fill-risk.md
- `ai_visibility_check` — Read — https://policylayer.com/tools/io-github-pipeworx-io-linear/ai-visibility-check.md
- `ask_pipeworx` — Read — https://policylayer.com/tools/io-github-pipeworx-io-linear/ask-pipeworx.md
- `ask_pipeworx_beta` — Read — https://policylayer.com/tools/io-github-pipeworx-io-linear/ask-pipeworx-beta.md
- `ask_pipeworx_grounded` — Read — https://policylayer.com/tools/io-github-pipeworx-io-linear/ask-pipeworx-grounded.md
- `bet_research` — Read — https://policylayer.com/tools/io-github-pipeworx-io-linear/bet-research.md
- `compare_entities` — Read — https://policylayer.com/tools/io-github-pipeworx-io-linear/compare-entities.md
- `deep_research` — Read — https://policylayer.com/tools/io-github-pipeworx-io-linear/deep-research.md
- `discover_tools` — Read — https://policylayer.com/tools/io-github-pipeworx-io-linear/discover-tools.md
- `entity_profile` — Read — https://policylayer.com/tools/io-github-pipeworx-io-linear/entity-profile.md
- `linear_get_issue` — Read — https://policylayer.com/tools/io-github-pipeworx-io-linear/linear-get-issue.md
- `linear_list_issues` — Read — https://policylayer.com/tools/io-github-pipeworx-io-linear/linear-list-issues.md
- `linear_list_teams` — Read — https://policylayer.com/tools/io-github-pipeworx-io-linear/linear-list-teams.md
- `linear_search` — Read — https://policylayer.com/tools/io-github-pipeworx-io-linear/linear-search.md
- `list_subscriptions` — Read — https://policylayer.com/tools/io-github-pipeworx-io-linear/list-subscriptions.md
- `pipeworx_trending` — Read — https://policylayer.com/tools/io-github-pipeworx-io-linear/pipeworx-trending.md
- `polymarket_arbitrage` — Read — https://policylayer.com/tools/io-github-pipeworx-io-linear/polymarket-arbitrage.md
- `polymarket_edge_tracker` — Read — https://policylayer.com/tools/io-github-pipeworx-io-linear/polymarket-edge-tracker.md
- `polymarket_kalshi_spread` — Read — https://policylayer.com/tools/io-github-pipeworx-io-linear/polymarket-kalshi-spread.md
- `recall` — Read — https://policylayer.com/tools/io-github-pipeworx-io-linear/recall.md
- `recent_alerts` — Read — https://policylayer.com/tools/io-github-pipeworx-io-linear/recent-alerts.md
- `recent_changes` — Read — https://policylayer.com/tools/io-github-pipeworx-io-linear/recent-changes.md
- `resolve_entity` — Read — https://policylayer.com/tools/io-github-pipeworx-io-linear/resolve-entity.md
- `scan_competitor_ai_presence` — Read — https://policylayer.com/tools/io-github-pipeworx-io-linear/scan-competitor-ai-presence.md
- `scan_dependency` — Read — https://policylayer.com/tools/io-github-pipeworx-io-linear/scan-dependency.md
- `search_within` — Read — https://policylayer.com/tools/io-github-pipeworx-io-linear/search-within.md
- `suggest_questions` — Read — https://policylayer.com/tools/io-github-pipeworx-io-linear/suggest-questions.md
- `validate_claim` — Read — https://policylayer.com/tools/io-github-pipeworx-io-linear/validate-claim.md
- …and 5 more: https://policylayer.com/tools/io-github-pipeworx-io-linear.md

## For agents

This record is a snapshot. Live verdicts and the full registry:

- Check every server in your MCP config at once: `npx -y policylayer stack`
- Vet a server before you add it: install the mcp-precheck skill — `npx skills add https://policylayer.com` (skill text: https://policylayer.com/skill.md)
- Query the registry over MCP: endpoint `https://api.policylayer.com/mcp` — tools `check_mcp_server`, `check_mcp_stack`, `check_tool`, `search_registry`, `get_change_events`

---

Source: the PolicyLayer MCP registry — one continuously verified record per MCP server. Full record: https://policylayer.com/registry?q=io-github-pipeworx-io-linear · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/io-github-pipeworx-io-linear
