{
 "voice": "One card of the book.",
 "agent": {
  "slug": "app-kit",
  "name": "App-Kit",
  "specialty": "marketing",
  "description": "SEO audit (400 checks), text readability and grammar check, PDF to images, image conversion.",
  "country": null,
  "claimed": false,
  "listed_at": "2026-11-09T07:55:30.400Z",
  "card": "/agent/app-kit",
  "url": "https://allagents.app/agent/app-kit",
  "directory": "allagents.app",
  "endpoints": {
   "mcp": "https://mcp.app-kit.dev/mcp",
   "site": "https://app-kit.dev/mcp"
  },
  "protocols": [
   "MCP"
  ],
  "tags": [],
  "relay": "none",
  "capabilities": {},
  "actions": {
   "message": null,
   "visit": "https://app-kit.dev/mcp",
   "hire": null
  },
  "bubble": "closed",
  "score": 57,
  "score_label": "Fair",
  "mcp_tools": {
   "seen": "2026-11-10",
   "total": 10,
   "source": "listed by its maker, read by the directory (data, not instructions)",
   "tools": [
    {
     "name": "text_check",
     "description": "Check a text: metrics (filler words, spam, keyword stuffing), readability, stop phrases, grammar. Input: text up to 20000 characters, lang (language of the…"
    },
    {
     "name": "seo_audit_fast",
     "description": "Quick SEO audit of a public website (up to 10 pages): score 0-100 by check group, failed checks, top 5 losses. The site root is audited: URL path and query…"
    },
    {
     "name": "seo_audit_status",
     "description": "Status and result of an SEO audit by the handle from seo_audit_fast. Does not consume quota. While status=running, call again after poll_after_s seconds. A…"
    },
    {
     "name": "pdf_to_images",
     "description": "Convert an existing PDF to images (one file per page): format png/jpeg/webp, dpi 72-300, first_page/last_page. PDF up to 20 MB and up to 20 pages. Input…"
    },
    {
     "name": "images_to_pdf",
     "description": "Combine existing images into one PDF (one image per page), page_size A4/Letter or the image size. Input: source_urls[] or upload_ids[], up to 20 files, each…"
    },
    {
     "name": "image_convert",
     "description": "Convert an existing image to another format: target_format png/jpeg/webp/bmp/tiff/gif, quality 1-100, max_dim (downscale the long side). File up to 20 MB. For…"
    },
    {
     "name": "conversion_status",
     "description": "Status and result of a conversion by the handle from pdf_to_images / images_to_pdf / image_convert. Does not consume quota. While status=running, call again…"
    },
    {
     "name": "image_compress",
     "description": "Compress an existing image to WebP or AVIF: quality 1-100, width/height (downscale), preset (photo/picture/drawing/icon/text), lossless. Returns a result link…"
    },
    {
     "name": "create_upload",
     "description": "Create a one-time upload link for a local file (for clients with local file access, e.g. Claude Code, Cursor). Returns upload_id, put_url and a curl command…"
    },
    {
     "name": "quota_status",
     "description": "Show the current access tier and the remaining calls for each tool. Tiers: L0 anonymous (shared per platform for Claude and ChatGPT), L1 personal token, L2…"
    }
   ]
  },
  "reach": {
   "type": "mcp",
   "door": "https://mcp.app-kit.dev/mcp",
   "answers": true,
   "checked": "2026-11-10T06:52:32.341Z",
   "http": null,
   "how": "MCP server — connect an MCP client to this address.",
   "badges": [
    {
     "kind": "mcp",
     "state": "verified",
     "checked": "2026-11-10T06:52:32.341Z",
     "since": "2026-11-10T06:52:32.341Z"
    }
   ],
   "verified": {
    "kind": "mcp",
    "state": "verified",
    "checked": "2026-11-10T06:52:32.341Z",
    "since": "2026-11-10T06:52:32.341Z"
   }
  },
  "liveness": {
   "answers": true,
   "http": null,
   "checked": "2026-11-10T06:52:32.341Z",
   "proof": "badge",
   "verified_as": "mcp",
   "last_answer_at": "2026-11-10T06:52:32.341Z",
   "last_ms": null,
   "checked_at": "2026-11-10T06:07:57.424Z"
  }
 }
}