{
  "name": "public-curl-worker",
  "description": "A public, unauthenticated HTTP request API with an MCP server.",
  "authentication": "none",
  "api": {
    "endpoint": "https://curl.ravelloh.com/api",
    "methods": [
      "GET",
      "POST"
    ],
    "actions": {
      "request": "/api",
      "fetch_json": "/api/json",
      "check_url": "/api/check",
      "batch_request": "/api/batch"
    },
    "post_body": {
      "url": "https://example.com/api",
      "method": "GET | HEAD | POST | PUT | PATCH | DELETE | OPTIONS",
      "headers": {
        "Accept": "application/json"
      },
      "body": "Optional UTF-8 text",
      "redirect": "follow | manual | error",
      "timeoutMs": "1000..30000 (default 15000)",
      "maxResponseBytes": "1024..1048576 (default 262144)"
    },
    "get_example": "https://curl.ravelloh.com/api?url=https%3A%2F%2Fexample.com"
  },
  "mcp_server": {
    "endpoint": "https://curl.ravelloh.com/mcp",
    "transport": "streamable-http",
    "authentication": "none",
    "protocol_versions": [
      "2026-07-28",
      "2025-11-25",
      "2025-06-18",
      "2025-03-26",
      "2024-11-05",
      "2024-10-07"
    ],
    "tools": [
      "curl_request",
      "fetch_json",
      "check_url",
      "batch_request"
    ]
  },
  "response": {
    "fields": [
      "request",
      "response.url",
      "response.status",
      "response.statusText",
      "response.ok",
      "response.headers",
      "response.body",
      "response.bodyEncoding",
      "response.truncated"
    ],
    "bodyEncoding": "utf-8 for textual content; base64 for other content types"
  }
}