{
  "name": "LLMready",
  "description": "Audit websites for AI search readiness and generate or validate llms.txt files. Connect over MCP (Streamable HTTP) at https://answer-engine-ready.lovable.app/mcp: quick_check is free without signing in (10 per minute and 100 per day per IP address); audit_url, get_audit, list_audits, generate_llms_txt, validate_llms_txt, get_usage need an LLMready Pro sign-in over OAuth (€19/month or €149/year). Each skill is one MCP tool. LLMready speaks MCP, not A2A messaging: this card describes the MCP server and there is no A2A task endpoint. A score measures crawler access and readability; it never guarantees AI citations.",
  "supportedInterfaces": [
    {
      "url": "https://answer-engine-ready.lovable.app/mcp",
      "protocolBinding": "https://modelcontextprotocol.io/specification/2025-11-25/basic/transports#streamable-http",
      "protocolVersion": "1.0"
    }
  ],
  "provider": {
    "organization": "LLMready",
    "url": "https://answer-engine-ready.lovable.app"
  },
  "version": "1.2.0",
  "documentationUrl": "https://answer-engine-ready.lovable.app/docs#mcp",
  "iconUrl": "https://answer-engine-ready.lovable.app/press/llmready-mark.png",
  "capabilities": {
    "streaming": false,
    "pushNotifications": false,
    "extendedAgentCard": false,
    "extensions": [
      {
        "uri": "https://answer-engine-ready.lovable.app/docs#discovery",
        "description": "How to connect: the interface is an MCP server (Streamable HTTP), not an A2A endpoint. Use an MCP client: POST JSON-RPC to the endpoint (initialize first on 2025-era protocol versions), then tools/list and tools/call. Skill ids are the MCP tool names.",
        "required": false,
        "params": {
          "protocol": "mcp",
          "endpoint": "https://answer-engine-ready.lovable.app/mcp",
          "transport": "streamable-http",
          "supportedProtocolVersions": [
            "2025-03-26",
            "2025-06-18",
            "2025-11-25",
            "2026-07-28"
          ],
          "serverId": "app.lovable.answer-engine-ready/llmready",
          "serverCard": "https://answer-engine-ready.lovable.app/mcp/server-card",
          "mcpDiscovery": "https://answer-engine-ready.lovable.app/.well-known/mcp.json",
          "authentication": {
            "type": "oauth2",
            "required": false,
            "anonymousTools": [
              "quick_check"
            ],
            "protectedResourceMetadata": "https://answer-engine-ready.lovable.app/.well-known/oauth-protected-resource",
            "note": "quick_check works without signing in (10 per minute and 100 per day per IP address). Every other tool needs an LLMready Pro sign-in: calling one without a token returns HTTP 401 with a WWW-Authenticate challenge that starts OAuth."
          },
          "pricing": "quick_check is free with or without an account (rate limited). Other tools are included with LLMready Pro.",
          "restApi": {
            "baseUrl": "https://answer-engine-ready.lovable.app/api/public/v1",
            "openapi": "https://answer-engine-ready.lovable.app/openapi.json",
            "authentication": "Authorization: Bearer <API key> (lr_…), created on the LLMready Pro dashboard. MCP sign-in doesn't use API keys.",
            "quickCheck": {
              "description": "The same free quick check over plain HTTPS, sharing the per-IP limits: 10 per minute and 100 per day.",
              "url": "https://answer-engine-ready.lovable.app/api/public/v1/quick-check?url={url}"
            }
          },
          "apiCatalog": "https://answer-engine-ready.lovable.app/.well-known/api-catalog",
          "llmsTxt": "https://answer-engine-ready.lovable.app/llms.txt"
        }
      }
    ]
  },
  "securitySchemes": {
    "llmreadyOAuth": {
      "oauth2SecurityScheme": {
        "description": "LLMready Pro sign-in for every tool except quick_check. MCP clients find this through https://answer-engine-ready.lovable.app/.well-known/oauth-protected-resource (RFC 9728) and the 401 WWW-Authenticate challenge; dynamic client registration is listed in the authorization server metadata. No specific scopes are required.",
        "flows": {
          "authorizationCode": {
            "authorizationUrl": "https://jngyinpsjkdrhylnidnd.supabase.co/auth/v1/oauth/authorize",
            "tokenUrl": "https://jngyinpsjkdrhylnidnd.supabase.co/auth/v1/oauth/token",
            "refreshUrl": "https://jngyinpsjkdrhylnidnd.supabase.co/auth/v1/oauth/token",
            "scopes": {},
            "pkceRequired": true
          }
        },
        "oauth2MetadataUrl": "https://jngyinpsjkdrhylnidnd.supabase.co/.well-known/oauth-authorization-server/auth/v1"
      }
    }
  },
  "securityRequirements": [
    {
      "schemes": {}
    },
    {
      "schemes": {
        "llmreadyOAuth": {
          "list": []
        }
      }
    }
  ],
  "defaultInputModes": [
    "application/json"
  ],
  "defaultOutputModes": [
    "application/json",
    "text/plain"
  ],
  "skills": [
    {
      "id": "quick_check",
      "name": "Quick AI search readiness check (free)",
      "description": "MCP tool `quick_check`. Free, no sign-in needed: checks a public website live and returns its 0–100 AI search readiness score, grade, category scores, which AI crawlers robots.txt allows or blocks, whether llms.txt exists, and the top 3 fixes. Limited to 10 checks a minute and 100 a day per IP address (per account when signed in). Saves no report.",
      "tags": [
        "ai-search",
        "website-audit",
        "robots-txt",
        "llms-txt",
        "free"
      ],
      "examples": [
        "Is example.com ready for AI search?",
        "{\"url\": \"example.com\"}"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json",
        "text/plain"
      ],
      "securityRequirements": [
        {
          "schemes": {}
        }
      ]
    },
    {
      "id": "audit_url",
      "name": "Audit a website for AI search readiness",
      "description": "MCP tool `audit_url`. Crawls a public website live and scores how well ChatGPT Search, Perplexity, Gemini and Claude can access and read it: 0–100 score, grade, category scores, every failing check, prioritized fixes and a shareable report link. Requires an LLMready Pro sign-in (OAuth). Costs 1 credit.",
      "tags": [
        "ai-search",
        "website-audit",
        "seo",
        "pro"
      ],
      "examples": [
        "Run a full AI search readiness audit of https://example.com",
        "{\"url\": \"https://example.com\"}"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json",
        "text/plain"
      ],
      "securityRequirements": [
        {
          "schemes": {
            "llmreadyOAuth": {
              "list": []
            }
          }
        }
      ]
    },
    {
      "id": "get_audit",
      "name": "Get a saved audit",
      "description": "MCP tool `get_audit`. Fetches a saved audit from the signed-in LLMready account by id, including score, failing checks, AI crawler access and fixes. Requires an LLMready Pro sign-in (OAuth). No credit cost.",
      "tags": [
        "website-audit",
        "reports",
        "pro"
      ],
      "examples": [
        "{\"id\": \"00000000-0000-4000-8000-000000000000\"}"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json",
        "text/plain"
      ],
      "securityRequirements": [
        {
          "schemes": {
            "llmreadyOAuth": {
              "list": []
            }
          }
        }
      ]
    },
    {
      "id": "list_audits",
      "name": "List your audits",
      "description": "MCP tool `list_audits`. Lists audits saved on the signed-in LLMready account, newest first, optionally for one domain. Requires an LLMready Pro sign-in (OAuth). No credit cost.",
      "tags": [
        "website-audit",
        "reports",
        "pro"
      ],
      "examples": [
        "Show my last 5 audits for example.com",
        "{\"domain\": \"example.com\", \"limit\": 5}"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json",
        "text/plain"
      ],
      "securityRequirements": [
        {
          "schemes": {
            "llmreadyOAuth": {
              "list": []
            }
          }
        }
      ]
    },
    {
      "id": "generate_llms_txt",
      "name": "Generate llms.txt and llms-full.txt",
      "description": "MCP tool `generate_llms_txt`. Crawls a website's key pages and generates a spec-compliant /llms.txt plus an /llms-full.txt with page content as Markdown, ready to upload to the site root. Requires an LLMready Pro sign-in (OAuth). Costs 1 credit.",
      "tags": [
        "llms-txt",
        "generator",
        "pro"
      ],
      "examples": [
        "Generate an llms.txt for https://example.com",
        "{\"url\": \"https://example.com\"}"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json",
        "text/plain"
      ],
      "securityRequirements": [
        {
          "schemes": {
            "llmreadyOAuth": {
              "list": []
            }
          }
        }
      ]
    },
    {
      "id": "validate_llms_txt",
      "name": "Validate an llms.txt file",
      "description": "MCP tool `validate_llms_txt`. Checks llms.txt content, or a site's live /llms.txt, against the llmstxt.org proposal and lists errors and warnings by line. Requires an LLMready Pro sign-in (OAuth). No credit cost.",
      "tags": [
        "llms-txt",
        "validator",
        "pro"
      ],
      "examples": [
        "Is the llms.txt on example.com valid?",
        "{\"url\": \"example.com\"}"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json",
        "text/plain"
      ],
      "securityRequirements": [
        {
          "schemes": {
            "llmreadyOAuth": {
              "list": []
            }
          }
        }
      ]
    },
    {
      "id": "get_usage",
      "name": "Check API credits",
      "description": "MCP tool `get_usage`. Shows how many LLMready credits the signed-in account has used and has left this month. Requires an LLMready Pro sign-in (OAuth). No credit cost.",
      "tags": [
        "account",
        "credits",
        "pro"
      ],
      "examples": [
        "How many LLMready credits do I have left?"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json",
        "text/plain"
      ],
      "securityRequirements": [
        {
          "schemes": {
            "llmreadyOAuth": {
              "list": []
            }
          }
        }
      ]
    }
  ]
}