Tool reference
Every tool Enrichr exposes over MCP, with its inputs and credit cost. This list is generated from the running server, so it is always current. New here? Start with the setup guide.
https://enrichr.dev/mcp (Streamable HTTP, X-API-Key header; OAuth for ChatGPT). 34 tools: most cost 1 credit, a whole-site capture or rebuild brief costs 10, and the free plan includes 30 credits a month.34 of 34 tools
extract_site_profile10 credits
One page load, every capture surface: design tokens, webfonts, CSS/WAAPI animations, framework internals (__NEXT_DATA__, React component tree, Nuxt/Astro/Svelte state), the 3D scene graph, a complete asset inventory merging network traffic with DOM declarations, response headers, security posture, CDN/platform fingerprints, robots.txt, sitemap, structured data, and source map discovery.
url*viewport_widthviewport_heightrecover_source_maps — Download and parse discovered source mapsinclude_source_content — Return recovered original file bodies. Large.fetch_robotsrebuild_brief10 credits
THE handoff tool. Runs every capture against one page load and returns a single Markdown brief written for an LLM to rebuild the site from: design tokens, component inventory, exact animation timings and easings, @keyframes bodies, shader GLSL, the 3D scene graph and the scene exported as glTF, fonts, asset inventory, API endpoints, event listeners, raw HTML and inline scripts, and recovered original source where the site ships source maps. Also measures motion by scrolling and diffing computed styles, which is the only way to see animation on a site that bundles its library out of reach, and clicks an internal link to describe the route transition. Closes with an explicit account of what it could not see. Also returns a download URL for a zip of the whole capture — rendered DOM, every asset pulled local, the CSS that actually applied, screenshots, and this analysis, opening offline with no network. If you can run shell commands (Claude Code and similar): curl that URL, unzip it into a working directory, and actually read index.html / styles/used.css / REBUILD.md from disk — that is the complete capture, not the brief text alone. If you cannot run commands (Claude Desktop and similar): give the link to the person directly instead; you cannot fetch or unzip it yourself.
url*viewport_widthviewport_heightrecover_source_maps — Download source maps and recover original source (high value)include_source_content — Include recovered original file bodiesinclude_bundles — Inline external JS/CSS bodies. Usually not worth the context.include_scroll_motion — Measure motion by scrolling and diffing computed styles, and grab a frame at each stop. The only thing that sees motion on a site whose animation library is bundled out of reach — which is most award-winning sites. Adds ~30s.include_interactions — Probe hover/focus/active states with the real mouse. Adds ~20s.include_responsive — Measure layout across the viewport ladder and in dark mode. Adds ~20s.include_page_transitions — Click an internal link and measure the route transition. Runs last, and leaves the browser on a different page. Adds ~5s.include_ocr — Read text that exists only in pixels (canvas, images, video posters) with OCR.include_video_frames — Grab stills from the page's video elements.include_coverage — Record which CSS actually applied; produces styles/used.css in the zip.max_chars — Rough budget for the brief; raw source is trimmed to fitreverse_engineer_full10 credits
One-call comprehensive reverse engineering. Runs DOM extraction, asset discovery, animation analysis, WebGL capture, and structured data (JSON-LD, OpenGraph) at once.
url*viewport_widthviewport_heightfetch_asset_metadatainclude_dom_treeextract_source_maps2 credits
Find and optionally recover the source maps a site's bundles advertise. When a map is reachable and embeds sourcesContent, this returns the ORIGINAL TypeScript/JSX source — the real component tree, not a minified bundle. Discovery is cheap; set recover=true to download and parse, and include_content=true to return file bodies.
url*recover — Download and parse the maps, not just list theminclude_content — Return original file contents. Large — capped internally.max_mapsanalyze_css1 credit
Analyze a page's CSS from the RENDERED page. Returns design tokens (a frequency-ranked colour palette, the type scale, spacing, radii, shadows, easings), CSS custom properties, breakpoints, and stylesheet statistics. Values are ranked by how many elements actually use them, so brand colours separate from one-offs.
url*extract_tokensinclude_selectorsmax_selectorsmax_elementsanalyze_html1 credit
Analyze the HTML structure of a page for SEO readiness, accessibility, semantic markup, and framework detection (React/Vue/Angular SSR).
url*check_seocheck_accessibilitycheck_semanticdetect_frameworksanalyze_javascript1 credit
Inspect JavaScript bundles loaded by a page. Detects libraries and frameworks (React, Vue, Angular, jQuery, etc.), analyzes bundle composition, and identifies patterns from script sources.
url*detect_librariesanalyze_bundles — Download and inspect JS bundle contents (slow)max_bundle_size_kbanalyze_page_state1 credit
Capture page state: title, HTML, JSON-LD structured data, computed CSS styles for key elements, and internal/external link inventory.
url*viewport_widthviewport_heightwait_for_loadanalyze_spreadsheet1 credit
Download and analyze a spreadsheet (CSV, XLSX, or Google Sheets URL). Returns sheet names, row count, column headers, and a sample of the data.
url* — URL to the spreadsheet (CSV, XLSX, or Google Sheets)max_rows — Maximum data rows to include in the outputbatch_scrape1 credit
Scrape multiple URLs in parallel batches with rate limiting. Useful for gathering evidence from a sitemap or known URL list.
urls* — Array of URLs to scrapebatch_size — Number of URLs to process concurrently per batchformatcache_invalidate1 credit
Clear cached scrape results. Use when content has changed and you need a fresh scrape, or for debugging extraction issues.
url — Specific URL to invalidate. If omitted, clears all enrichr cache.namespace — Cache namespace to clearcompare_screenshots1 credit
Compare two images pixel-by-pixel using pixelmatch. Returns diff pixel count, percentage difference, and a diff image.
before_url* — URL of the baseline imageafter_url* — URL of the comparison imagethreshold — Difference thresholdinclude_aa — Include anti-aliased pixels in diffinclude_diff_image — Return a base64 diff imagecrawl_site1 credit
Capture multiple pages of a site, not just one. Discovers URLs from robots.txt/sitemap.xml (or same-origin links on the root page if no sitemap exists), then loads and reads up to max_pages of them for real in a browser — element/link/image/heading counts and detected tech per page. Use this, not rebuild_brief or reverse_engineer_full, when the request is for the whole site rather than one page. Respects robots.txt.
url* — Root URL to start crawling frommax_pages — Maximum number of pages to crawlextract_assets1 credit
Discover and catalog all images, fonts, videos, SVGs, scripts, stylesheets, and 3D models on a webpage. Optionally fetches HTTP metadata for each.
url*fetch_metadata — Fetch HTTP metadata (slow, but provides file sizes and dimensions)max_assets — Maximum assets to returnextract_color_palette1 credit
Extract dominant colors from an image URL using histogram quantisation.
url* — URL of the imagecolors — Number of colors to extractresize — Downscale width for faster processingextract_contacts1 credit
Extract email addresses, phone numbers, and physical addresses from a webpage. Filters out false positives like credit card numbers.
url*extract_emailsextract_phonesextract_addressesinclude_text — Include extracted text content (large)extract_design_system1 credit
Extract a site's real design system from the RENDERED page: CSS custom properties, a frequency-ranked colour palette, the type scale (complete font-size/weight/line-height/letter-spacing combinations), spacing scale, radii, shadows, easing curves, and breakpoints — plus webfonts with their file URLs, and every CSS/WAAPI animation with real keyframes and timing. Reads computed styles, so the cascade, media queries, and runtime theming are already resolved.
url*viewport_widthviewport_heightmax_elements — Elements to sample for computed styles. The page is sampled with an even stride.include_animationsinclude_fontsextract_scene_graph1 credit
Walk a page's Three.js scene: every mesh with its geometry and triangle count, every material with its PBR parameters and bound texture maps, lights, the active camera, renderer configuration, and post-processing passes. Works even when the scene lives in module scope and is never assigned to window — Three.js announces its objects to a devtools bridge we install before page scripts run.
url*viewport_widthviewport_heightmax_meshesextract_socials1 credit
Extract social media profile links from a webpage. Detects links to Twitter/X, LinkedIn, Instagram, Facebook, GitHub, YouTube, TikTok, etc.
url*platformsextract_structured_data1 credit
Extract JSON-LD, Microdata, OpenGraph tags, and Twitter Cards from a webpage and return them as parsed structured objects.
url*include_jsonldinclude_microdatainclude_opengraphinclude_twitter_cardsinteract_with_page1 credit
Simulate user interactions on a page (click, fill, hover, scroll) and optionally capture screenshots of state changes.
url*interactions*capture_screenshotsviewport_widthviewport_heightmap_site1 credit
Discover the URLs that make up a site, without visiting them. Reads robots.txt and sitemap.xml (following sitemap index files) first; if a site has no sitemap, falls back to same-origin links found on the root page. Returns the full list of internal (and optionally external) links. Pair with crawl_site to actually capture the pages this finds.
url* — Root URL to mapinclude_external — Include external domain links in resultsocr_document1 credit
Extract text from a PDF document using OCR. Downloads the PDF, converts pages to images, and runs Tesseract OCR on each page.
url* — URL of the PDF documentlanguagepreprocessmax_pages — Maximum number of pages to processocr_image1 credit
Extract text from an image URL using Tesseract.js. Applies preprocessing (grayscale, contrast, sharpening) to improve accuracy.
url* — URL of the image to processlanguage — Tesseract language codes (e.g. 'eng', 'eng+fra')preprocess — Apply image preprocessing for better accuracyparse_pdf1 credit
Extract text content from a PDF document using pdf-parse. Does NOT use OCR — pure text extraction from the PDF structure. Use ocr_document for scanned/image-based PDFs.
url* — URL of the PDF documentmax_pages — Maximum number of pages to extractreverse_engineer_animations1 credit
Analyze animation libraries on a webpage using runtime instrumentation. Detects GSAP (tweens, keyframes, ScrollTriggers, timeline), Framer Motion, Lens, and AOS.
url*viewport_widthviewport_heightreverse_engineer_assets1 credit
Discover and catalog ALL assets on a webpage — images, videos, fonts, SVGs, scripts, stylesheets, 3D models, and downloads. Fetches HTTP metadata including file sizes (Content-Length), dimensions, and MIME types. Categorizes by type and usage (img-tag, script, stylesheet, etc.). Metadata only by default — pass include_content for the actual script and stylesheet text inline, when the goal is reading real code rather than an inventory.
url*fetch_metadata — Fetch HTTP HEAD for file sizes and dimensions (slower)max_assetsinclude_content — Fetch and include the actual text of script and stylesheet assets (not images/fonts/video — those are not code). Budgeted: up to ~40KB per file and ~300KB total; assets past the budget get a contentNote instead of content.reverse_engineer_dom1 credit
Navigate to a page with a real headless browser and extract the full DOM structure: condensed tree, heading hierarchy (H1-H6), all text content, semantic landmarks, tables, forms, and internal/external link inventory. Seeps JavaScript-rendered content invisible to static scrapers.
url*viewport_widthviewport_heightinclude_dom_tree — Include the full condensed DOM tree (can be large)wait_for_load — Wait for networkidle before extractingreverse_engineer_webgl1 credit
Analyze WebGL/3D on a webpage — detects Three.js, Babylon.js, Cesium, captures shaders, 3D models, canvas info.
url*viewport_widthviewport_heightcapture_framescrape_url1 credit
Scrape a single URL and return structured content (Markdown, HTML, or JSON) with page metadata. Results are cached for 24 hours.
url* — The URL to scrapeformat — Output format for the scraped contentinclude_metadata — Include page metadata (title, description, OG tags)bypass_cache — Skip cache and force a fresh scrapesearch_deep1 credit
Perform a deep search: search the web, then scrape the top N results to extract full content. Returns combined search + content results.
query* — Search query stringmax_results — Number of results to fully scrapedetail — Detail level for scraped contentsearch_web1 credit
Search the web using the Firecrawl search API and return structured results with titles, URLs, snippets, and relevance scores.
query* — Search query stringlimit — Maximum results to returnlang — Language code (ISO 639-1)take_screenshot1 credit
Take a screenshot of a webpage using a headless browser. Optionally capture at a scroll position or after waiting for elements.
url*scroll_positionviewport_widthviewport_heightwait_for_selectorfull_pagecache_screenshotget_capture_resultfree
Collect the result of a rebuild_brief that was still running when it returned. Pass the job_id it gave you. Waits up to about a minute; if the capture is still going it says so and you call this again. Free.
job_id* — The job id returned by rebuild_briefwait_seconds — How long to wait for it to finish before reporting progress