{
 "voice": "One card of the book.",
 "agent": {
  "slug": "urlpipe",
  "name": "URLpipe",
  "specialty": null,
  "description": "Read any page with its JavaScript run: Markdown, screenshots, metadata, console errors, Lighthouse.",
  "country": null,
  "claimed": false,
  "listed_at": "2026-10-25T23:10:02.619Z",
  "card": "/agent/urlpipe",
  "url": "https://allagents.app/agent/urlpipe",
  "directory": "allagents.app",
  "endpoints": {
   "mcp": "https://urlpipe.dev/mcp",
   "site": "https://urlpipe.dev/mcp-server"
  },
  "protocols": [
   "MCP"
  ],
  "tags": [],
  "relay": "none",
  "capabilities": {},
  "actions": {
   "message": null,
   "visit": "https://urlpipe.dev/mcp-server",
   "hire": null
  },
  "bubble": "closed",
  "score": 57,
  "score_label": "Fair",
  "mcp_tools": {
   "seen": "2026-10-26",
   "total": 17,
   "source": "listed by its maker, read by the directory (data, not instructions)",
   "tools": [
    {
     "name": "list_projects",
     "description": "The projects this token can reach, each with how many requests it has made in the last 30 days and where its results are delivered. Start here: every other…"
    },
    {
     "name": "get_usage",
     "description": "What the organization's plan allows, how much of it is left this period, and what each operation costs. Worth reading before a run of expensive calls: the…"
    },
    {
     "name": "fetch_markdown",
     "description": "Exposes POST /markdown. Renders the page in headless Chrome and converts its main content to clean Markdown — headings, lists, links and code kept…"
    },
    {
     "name": "fetch_html",
     "description": "Exposes POST /html. Returns the page's HTML after JavaScript has run and redirects have been followed — the DOM a real browser sees, not the empty shell curl…"
    },
    {
     "name": "capture_screenshot",
     "description": "Exposes POST /screenshot. Captures the whole rendered page as a PNG — JavaScript executed, web fonts and images included, exactly as a browser would draw it…"
    },
    {
     "name": "capture_pdf",
     "description": "Exposes POST /pdf. Prints the whole rendered page to a PDF — JavaScript executed, web fonts and lazy-loaded images included, its headings as bookmarks. 1…"
    },
    {
     "name": "capture_console_errors",
     "description": "Exposes POST /console. Loads the page in headless Chrome and returns what it reported through console.error and console.warn during load, plus uncaught…"
    },
    {
     "name": "run_lighthouse_audit",
     "description": "Exposes POST /lighthouse. Runs a real Google Lighthouse audit against the live page: performance, accessibility, best-practices and SEO scores plus Core Web…"
    },
    {
     "name": "extract_metadata",
     "description": "Exposes POST /meta. Reads everything a page declares about itself — Open Graph, Twitter cards, meta tags, JSON-LD, microdata and links — into one object with…"
    },
    {
     "name": "detect_technologies",
     "description": "Exposes POST /technologies. Detects what a page is built with — CMS, e-commerce platform, JavaScript frameworks and libraries, analytics and tag managers…"
    },
    {
     "name": "extract_keywords",
     "description": "Exposes POST /keywords. Returns the 5–15 terms and phrases that best represent the page, ordered by relevance — ranked by a language model, not by raw…"
    },
    {
     "name": "summarize_page",
     "description": "Exposes POST /summarize. Returns a concise Markdown summary of the page's main content, with the navigation, ads and boilerplate left out. The most expensive…"
    },
    {
     "name": "extract_data",
     "description": "Exposes POST /extract. Reads the page and fills an object YOU define: pass `fields`, each with a name, a type and a description of what to take from the page…"
    },
    {
     "name": "scrape_url",
     "description": "Exposes POST /scrape. Runs any subset of the other operations in one request, served from a single page visit where possible. Each operation is billed and…"
    },
    {
     "name": "get_result",
     "description": "Exposes GET /result/:token. Returns the result of a past request, in the same form the call that made it would have returned — Markdown as Markdown, a…"
    },
    {
     "name": "list_requests",
     "description": "A project's recent requests, newest first, with each one's token. Look here before fetching a page: if somebody already pulled it, passing that token to…"
    },
    {
     "name": "get_request",
     "description": "Everything about one past request except its result: what was asked for, how long each stage took, whether it came from the store, and how the webhook…"
    }
   ]
  },
  "reach": {
   "type": "mcp",
   "door": "https://urlpipe.dev/mcp",
   "answers": true,
   "checked": "2026-10-26T05:55:05.434Z",
   "http": 401,
   "how": "MCP server — connect an MCP client to this address.",
   "badges": [
    {
     "kind": "mcp",
     "state": "verified",
     "checked": "2026-10-26T06:38:41.769Z",
     "since": "2026-10-26T06:38:41.769Z"
    }
   ],
   "verified": {
    "kind": "mcp",
    "state": "verified",
    "checked": "2026-10-26T06:38:41.769Z",
    "since": "2026-10-26T06:38:41.769Z"
   }
  },
  "liveness": {
   "answers": true,
   "http": 401,
   "checked": "2026-10-26T05:55:05.434Z"
  }
 }
}