Geekflare
OfficialThe Geekflare server provides a comprehensive suite of web intelligence and diagnostics tools for use with AI assistants.
Scraping & Content
webScrape– Scrape full page content in HTML, Markdown, JSON, or LLM-optimized formats, with JS rendering, stealth mode, and proxy optionsmetaScrape– Extract meta tags (title, description, Open Graph, Twitter card)screenshot– Capture screenshots with full-page, element-specific, Retina, dark mode, and link highlighting optionsurl2Pdf– Convert any webpage to a downloadable PDF
Search
search– Search the web, news, or images with structured results; supports AI-grounded answers, domain/time filtering, and result page scraping
DNS & Security
dnsRecord– Look up DNS records (A, AAAA, CNAME, MX, NS, SOA, TXT, CAA, SRV)dnsSec– Check if DNSSEC is enabled and properly configuredtlsScan– Inspect TLS/SSL protocols, ciphers, and certificate detailsopenPorts– Scan open ports using common top-N or custom ranges
Site Health
siteStatus– Check if a site is up or downredirectCheck– Trace the full redirect chain of a URLbrokenLink– Find all broken links on a webpagemixedContent– Detect HTTP resources on HTTPS pages
Performance & Network
loadTime– Measure full page load time from any locationttfb– Measure Time To First BytehttpHeader– Retrieve HTTP response headershttpProtocol– Check HTTP/1.1, HTTP/2, and HTTP/3 supportping– Ping a host and return latencymtr– Run an MTR (My Traceroute) network diagnostic
Auditing
lighthouse– Run a full Lighthouse audit covering performance, SEO, accessibility, and best practices
Run Lighthouse audits on websites to assess performance, accessibility, SEO, and best practices.
Perform network diagnostics using MTR (My TraceRoute) to analyze network paths and packet loss.
@geekflare/mcp
Official MCP (Model Context Protocol) server for the Geekflare. Connect Geekflare's web intelligence tools directly to Claude, Cursor, Windsurf, and other AI assistants.
Setup
Get an API Key
Sign up at geekflare.com/api and copy your API key from the dashboard.
Claude Desktop
Add this to your claude_desktop_config.json:
{
"mcpServers": {
"geekflare": {
"command": "npx",
"args": ["-y", "@geekflare/mcp"],
"env": {
"API_KEY": "your-api-key-here"
}
}
}
}Cursor / Windsurf
Add to your MCP settings:
{
"mcpServers": {
"geekflare": {
"command": "npx",
"args": ["-y", "@geekflare/mcp"],
"env": {
"API_KEY": "your-api-key-here"
}
}
}
}Docker
{
"mcpServers": {
"geekflare": {
"command": "docker",
"args": ["run", "-i", "--rm", "-e", "API_KEY=your-api-key-here", "geekflare/mcp"]
}
}
}Related MCP server: Forage-mcp
Available Tools
webScrape
Scrape full page content from any URL. Returns HTML, Markdown, JSON, or LLM-optimised text — including structured data via ready-made extraction templates, custom CSS/XPath schemas, or AI-powered extraction.
| Parameter | Type | Default | Description |
| ------------------ | --------- | -------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | --------- | --------------------------------------- |
| url * | string | — | Target URL |
| device | desktop | mobile | desktop | Device to emulate |
| format | array | ["markdown"] | Output formats (up to 3): html, markdown, json, markdown-llm, html-llm, text, text-llm |
| proxyMode | boolean | "auto" | false | false never uses a proxy, auto retries through one if the site blocks the request, true always uses one |
| proxyCountry | string | — | Route through a country ISO code (e.g. "us"), used when a proxy is active |
| renderJS | boolean | auto | Execute JavaScript before extracting. If omitted, resolved automatically based on whether the page needs it |
| fileOutput | boolean | false | Return a download URL instead of inline content |
| blockAds | boolean | true | Block ads during scrape |
| stealth | boolean | false | Bypass CAPTCHAs (slower) |
| waitTime | number | 0 | Seconds to wait after page load before capturing content |
| extractionMode | default | cssSchema | xpathSchema | template | default | Only used when format includes json |
| template | product | contact | — | Ready-made extraction template when extractionMode is template |
| extractionSchema | object | — | Custom field-extraction schema for cssSchema/xpathSchema modes |
| aiPrompt | object | — | AI-powered extraction/analysis of the scraped page. Supports prompt, schema, listing, summary, sentiment, and keywords modes. Adds +6 credits |
metaScrape
Scrape meta tags — title, description, Open Graph, Twitter cards, and more.
| Parameter | Type | Default | Description |
| -------------- | --------- | ---------- | ----------------------------------------------- | ----------------- |
| url * | string | — | Target URL |
| device | desktop | mobile | desktop | Device to emulate |
| format | json | markdown | json | Response format |
| proxyCountry | string | — | Country ISO code |
| renderJS | boolean | true | Whether to execute JavaScript |
| fileOutput | boolean | false | Return a download URL instead of inline content |
| blockAds | boolean | true | Block ads during scrape |
brand
Get structured brand information for a website domain, including brand identity, logos, colors, typography, social profiles, links, page metadata, and company information.
The brand tool supports two levels of brand intelligence:
standard— Returns structured brand information available from the website.enriched— Includes additional LLM-synthesized company intelligence when available.
| Parameter | Type | Default | Description |
| --------- | ---------- | ---------- | ---------------------------------------------------------- | --------------------------------------------------------------------------------------- |
| url * | string | — | Target URL |
| refresh | boolean | false | Force an on-demand fetch and refresh the cached brand data |
| mode | standard | enriched | standard | Depth of brand data to return. enriched includes LLM-synthesized company intelligence |
Example
{
"url": "https://example.com",
"mode": "enriched"
}To bypass cached data and fetch fresh information:
{
"url": "https://example.com",
"refresh": true,
"mode": "enriched"
}The response may include:
Brand name, tagline, description, and slogan
Logos and favicon
Brand colors and palette
Fonts and typography
UI component styles and spacing
Social profiles
Important website links
Page metadata and Open Graph information
Company information such as industry, founded year, employee range, revenue range, company type, and target audience when available
Enriched company information depends on the publicly available information for the domain, so individual fields may be omitted.
screenshot
Capture a screenshot of any website. Supports full-page, element-only, Retina, dark mode, transparent backgrounds, and AI-friendly link highlighting.
| Parameter | Type | Default | Description |
| ----------------------- | --------- | -------- | --------------------------------------------------------------- | ----------------- | ------------ |
| url * | string | — | Target URL |
| device | desktop | mobile | desktop | Device to emulate |
| type | png | jpeg | webp | png | Image format |
| proxyCountry | string | — | Country ISO code |
| fullPage | boolean | false | Capture the full page |
| selector | string | — | CSS selector for the element to capture |
| fallbackToFullPage | boolean | false | Fall back to a full-page capture if selector isn't found |
| blockAds | boolean | true | Block ads |
| hideCookie | boolean | true | Remove cookie banners |
| skipCaptcha | boolean | true | Bypass anti-bot challenges |
| addTimestamp | boolean | false | Add a timestamp |
| highlightLinks | boolean | false | Draw borders around links/buttons — useful for AI vision models |
| pageHeight | number | — | Custom page height in pixels |
| viewportWidth | number | — | Viewport width |
| viewportHeight | number | — | Viewport height |
| captureBeyondViewport | boolean | — | Capture content beyond the configured viewport |
| delay | number | — | Seconds to wait after page load |
| quality | number | 90 | Image quality for JPEG/WEBP |
| scaleFactor | number | — | Device pixel ratio |
| theme | light | dark | auto | auto | Color scheme |
| removeBackground | boolean | false | Remove page background (PNG only) |
| disableAnimations | boolean | false | Freeze CSS animations before capture |
| inline | boolean | false | Return image data inline instead of a CDN URL |
search
Search the web and return clean, structured results. Supports web, news, and image search with optional AI-grounded answers.
| Parameter | Type | Default | Description |
| ---------------- | --------- | ---------- | -------------------------------------------------- | ---------- | --------------- | ------ | --- | --------------- |
| query * | string | — | Search query |
| limit | number | 10 | Number of results |
| time | string | — | Time filter: any, d, w, m, y, d7, h6 |
| location | string | — | Country ISO code to localise results |
| source | web | news | images | web | Search source |
| category | general | code | pdf | research | linkedin | wiki | — | Search category |
| format | json | markdown | html | json | Response format |
| includeDomains | array | — | Only include these domains |
| excludeDomains | array | — | Exclude these domains |
| groundedAnswer | boolean | false | Generate an AI answer synthesised from results |
| scrape | boolean | false | Also scrape top result pages |
| scrapeLimit | number | 3 | How many pages to scrape when scrape is enabled |
dnsRecord
Look up DNS records for a domain.
Parameter | Type | Default |
| string | — |
| array | All supported types |
Supported DNS record types:
A, AAAA, CNAME, MX, NS, SOA, TXT, CAA, SRV
siteStatus
Check if a site is up or down.
Parameter | Type | Default |
| string | — |
| string | — |
| boolean |
|
redirectCheck
Trace the full redirect chain of a URL.
Parameter | Type |
| string |
| string |
brokenLink
Find all broken links on a webpage.
Parameter | Type | Default |
| string | — |
| string | — |
| boolean |
|
url2Pdf
Convert any URL to a downloadable PDF.
| Parameter | Type | Default | Description |
| --------------- | ---------- | ----------- | -------------------------- | ----------------- | -------- | ------- | --------- | ---- | ---------- |
| url * | string | — | Target URL |
| device | desktop | mobile | desktop | Device to emulate |
| format | a4 | a3 | a5 | a6 | letter | legal | a0–a2 | a4 | Paper size |
| orientation | portrait | landscape | portrait | Page orientation |
| proxyCountry | string | — | Country ISO code |
| scale | number | — | Zoom level |
| margin.top | number | 25 | Top margin in mm |
| margin.bottom | number | 25 | Bottom margin in mm |
| margin.left | number | 25 | Left margin in mm |
| margin.right | number | 25 | Right margin in mm |
| hideCookie | boolean | true | Remove cookie banners |
| skipCaptcha | boolean | true | Bypass anti-bot challenges |
| addTimestamp | boolean | false | Add a timestamp |
openPorts
Scan open ports on a host. Optionally perform service and version detection on ports found open.
| Parameter | Type | Description |
| ---------------- | ------- | ------------------------------------------------------------- | ----- | ------ | ------ | ----------------------- |
| url * | string | Target URL or hostname |
| topPorts | 50 | 100 | 500 | 1000 | 5000 | Scan top N common ports |
| portRanges | string | Custom ranges, e.g. "80,443,1000-1010" |
| detectServices | boolean | When true, also run service/version detection on open ports |
Service Detection
Set detectServices: true to perform Nmap service/version detection on ports found open.
{
"url": "example.com",
"topPorts": 100,
"detectServices": true
}When successful, the response includes a services array containing information such as:
Port number
Port state
Detected service name
Product name
Product version
Additional service information
Inferred OS type, when available
Example response structure:
{
"data": [22, 80, 443],
"services": [
{
"port": 22,
"state": "open",
"service": {
"name": "ssh",
"product": "OpenSSH",
"version": "9.6"
}
},
{
"port": 443,
"state": "open",
"service": {
"name": "https"
}
}
]
}Service detection is best-effort and can take longer than a standard port scan.
If service detection is requested but cannot be completed, the API can return a servicesError field. The data field containing the discovered open ports remains available.
tlsScan
Inspect TLS/SSL configuration — protocols, ciphers, certificate details.
Parameter | Type |
| string |
loadTime
Measure full page load time from any location. Optionally test reachability from multiple locations at once.
Parameter | Type | Default | Description |
| string | — | Target URL |
| string | — | Country ISO code |
| boolean |
| Follow redirects |
| array of string | — | Up to 3 ISO country codes to also test via proxy, alongside the default US test. Returns a per-location breakdown when set |
mixedContent
Detect mixed content issues (HTTP resources on HTTPS pages).
Parameter | Type | Default |
| string | — |
| string | — |
| boolean |
|
dnsSec
Check if DNSSEC is enabled and properly configured for a domain.
Parameter | Type |
| string |
mtr
Run an MTR (My Traceroute) network diagnostic test.
Parameter | Type | Default |
| string | — |
| string | — |
| boolean |
|
ping
Ping a host and return latency.
Parameter | Type |
| string |
lighthouse
Run a full Lighthouse audit — performance, SEO, accessibility, and best practices.
| Parameter | Type | Default | Description |
| ---------------- | --------------- | -------- | -------------------------- | ----------------- |
| url * | string | — | Target URL |
| device | desktop | mobile | desktop | Device to emulate |
| proxyCountry | string | — | Country ISO code |
| followRedirect | boolean | false | Follow redirects |
| parameters | array of string | — | Extra Lighthouse CLI flags |
Environment Variables
Variable | Required | Description |
| ✅ | Your Geekflare API key |
| — | Override the API base URL (default: |
Links
License
MIT
Available Tools
20 toolsbrokenLinkC
Find broken links on a webpage
Inputs: url (required), proxyCountry, followRedirect.
dnsRecordC
Retrieve DNS records for a domain
Inputs: url (required), types.
dnsSecB
Check if DNSSEC is enabled for a domain
Inputs: url (required).
httpHeaderB
Fetch HTTP response headers for a URL
Inputs: url (required), proxyCountry, followRedirect.
httpProtocolC
Detect HTTP protocol versions supported by a URL
Inputs: url (required), followRedirect.
lighthouseC
Run Lighthouse audit on a website
Inputs: url (required), device, proxyCountry, followRedirect, +1 more.
loadTimeC
Measure page load time for a URL
Inputs: url (required), proxyCountry, followRedirect.
metaScrapeC
Scrape meta tags from a URL
Inputs: url (required), device, renderJS, format, +3 more.
mixedContentC
Check for mixed content issues on a site
Inputs: url (required), proxyCountry, followRedirect.
mtrC
Perform MTR network diagnostic test
Inputs: url (required), proxyCountry, followRedirect.
openPortsC
Scan open ports on a host
Inputs: url (required), topPorts, portRanges.
pingC
Ping a host
Inputs: url (required).
redirectCheckB
Check the redirect chain of a URL
Inputs: url (required), proxyCountry.
screenshotC
Capture a screenshot of a website
Inputs: url (required), device, type, proxyCountry, +12 more.
searchB
Search the web and return clean results in JSON, Markdown, or HTML
Inputs: query (required), limit, time, location, +8 more.
siteStatusC
Check if a site is up or down
Inputs: url (required), proxyCountry, followRedirect.
tlsScanB
Scan TLS/SSL configuration of a domain
Inputs: url (required).
ttfbC
Measure Time To First Byte (TTFB) for a URL
Inputs: url (required), followRedirect.
url2PdfD
Convert a URL to PDF
Inputs: url (required), device, format, orientation, +6 more.
webScrapeC
Scrape a webpage with custom options
Inputs: url (required), device, format, proxyCountry, +4 more.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 20 tools
Each tool has a distinct purpose, ranging from DNS checks to performance measurements, with no apparent overlap. An agent can reliably select the correct tool for a given task.
Tools follow a consistent camelCase pattern (e.g., brokenLink, dnsRecord, httpHeader) with occasional single-word names (ping, search) that do not break consistency.
20 tools is on the higher side but justified by the broad scope of web and network diagnostics. Each tool serves a specific function, and the count feels appropriate rather than bloated.
The tool set covers a wide range of diagnostic and scraping tasks, including DNS, HTTP, security, performance, and network tools. Minor gaps exist (e.g., no whois lookup) but the surface is largely complete for its domain.
Maintenance
Related MCP Connectors
MCP server connecting AI agents to 100+ apps (Gmail, Slack, Notion, GitHub) via one-click OAuth.
Web search API and MCP server for developers building AI agents.
MCP server for building and testing AI agents with multi-model experimentation and insights.
Free web search for AI agents. No API key required. Hosted MCP in active development.
Related MCP Servers
AlicenseAqualityCmaintenanceA local MCP server that lets AI agents bypass bot detection, geo-restrictions, and JavaScript rendering challenges when scraping the web, backed by ScraperAPI's services285MIT- AlicenseNot gradedqualityDmaintenanceMCP server giving AI agents real-time web search, page scraping, company intelligence, email discovery, local lead generation, and a persistent knowledge graph. Pay only for what you use, no subscriptions.7 npmMIT
- AlicenseAqualityDmaintenanceA comprehensive MCP server providing 15 web tools including search, scraping, screenshots, SEO audits, and DNS/SSL checks through a single installation. It delivers clean, LLM-optimized outputs so AI agents can focus on reasoning rather than parsing raw HTML.1517 npmMIT
- AlicenseNot gradedqualityCmaintenanceMCP tool server that gives any AI agent the ability to search, scrape, and analyze content across the internet.42MIT