Skip to main content
Glama

@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 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

url *

string

—

types

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

url *

string

—

proxyCountry

string

—

followRedirect

boolean

false


redirectCheck

Trace the full redirect chain of a URL.

Parameter

Type

url *

string

proxyCountry

string


Find all broken links on a webpage.

Parameter

Type

Default

url *

string

—

proxyCountry

string

—

followRedirect

boolean

false


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

url *

string


loadTime

Measure full page load time from any location. Optionally test reachability from multiple locations at once.

Parameter

Type

Default

Description

url *

string

—

Target URL

proxyCountry

string

—

Country ISO code

followRedirect

boolean

false

Follow redirects

targetCountries

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

url *

string

—

proxyCountry

string

—

followRedirect

boolean

false


dnsSec

Check if DNSSEC is enabled and properly configured for a domain.

Parameter

Type

url *

string


mtr

Run an MTR (My Traceroute) network diagnostic test.

Parameter

Type

Default

url *

string

—

proxyCountry

string

—

followRedirect

boolean

false


ping

Ping a host and return latency.

Parameter

Type

url *

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

API_KEY

✅

Your Geekflare API key

API_BASE_URL

—

Override the API base URL (default: https://api.geekflare.com)

License

MIT

Available Tools

20 tools
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.

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

    B3/5.0

    Scored across 20 tools

    Disambiguation5/5

    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.

    Naming Consistency5/5

    Tools follow a consistent camelCase pattern (e.g., brokenLink, dnsRecord, httpHeader) with occasional single-word names (ping, search) that do not break consistency.

    Tool Count4/5

    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.

    Completeness4/5

    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

    ActivityActive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      A
      quality
      C
      maintenance
      A local MCP server that lets AI agents bypass bot detection, geo-restrictions, and JavaScript rendering challenges when scraping the web, backed by ScraperAPI's services
      28
      5
      MIT
    • A
      license
      Not graded
      quality
      D
      maintenance
      MCP 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 npm
      MIT
    • A
      license
      A
      quality
      D
      maintenance
      A 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.
      15
      17 npm
      MIT
    • A
      license
      Not graded
      quality
      C
      maintenance
      MCP tool server that gives any AI agent the ability to search, scrape, and analyze content across the internet.
      42
      MIT