mcp
Geekflare MCP server for scraping, search, screenshots, broken links, DNS lookup, and network tools.
¿Debería usar esto?
Calidad y seguridad
Hallazgos (5)
- LOWen webScrape
- LOWen metaScrape
- LOWen screenshot
- LOWen tlsScan
- LOWen ping
Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.
Costo de contexto
Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.
Instalar
Instalación con un clic
Agrega esto a tu archivo `claude_desktop_config.json`:
{
"mcpServers": {
"mcp": {
"command": "npx",
"args": [
"@geekflare/mcp"
]
}
}
}Paquetes ejecutables
0.3.5stdioPuntos de conexión remotos
https://mcp.geekflare.com/{API_KEY}/mcpstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (18)
⚪webScrape(url, device, format, proxyMode, proxyCountry, ...)
Scrape a webpage with custom options
Esquema de entrada
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "Target URL"
},
"device": {
"type": "string",
"enum": [
"desktop",
"mobile"
],
"default": "desktop"
},
"format": {
"type": "array",
"items": {
"type": "string",
"enum": [
"html",
"markdown",
"json",
"markdown-llm",
"html-llm",
"text",
"text-llm"
]
},
"default": [
"markdown"
],
"description": "Output format(s). Up to 3."
},
"proxyMode": {
"oneOf": [
{
"type": "boolean"
},
{
"type": "string",
"enum": [
"auto"
]
}
],
"default": false,
"description": "false never uses a proxy (default), auto tries without a proxy first and retries through one if blocked, true always uses a proxy"
},
"proxyCountry": {
"type": "string",
"description": "Country code for proxy routing (used when a proxy is active)"
},
"renderJS": {
"type": "boolean",
"description": "Whether to render JavaScript. If omitted, resolved automatically: fetched without a browser first, then rendered only if the page needs it"
},
"fileOutput": {
"type": "boolean",
"default": false,
"description": "Return a download URL instead of inline data"
},
"blockAds": {
"type": "boolean",
"default": true
},
"stealth": {
"type": "boolean",
"default": false,
"description": "Bypass CAPTCHAs (slower)"
},
"waitTime": {
"type": "number",
"default": 0,
"description": "Seconds to wait after page load before capturing content"
},
"extractionMode": {
"type": "string",
"enum": [
"default",
"cssSchema",
"xpathSchema",
"template"
],
"default": "default",
"description": "Only used if format includes json"
},
"template": {
"type": "string",
"enum": [
"product",
"contact"
],
"description": "Ready-made extraction template when extractionMode is 'template'. product extracts title/brand/pricing/availability/images/ratings; contact extracts company/locations/emails/phones/social profiles"
},
"extractionSchema": {
"type": "object",
"description": "Extraction schema for cssSchema/xpathSchema modes: { name, baseSelector?, fields: [{ name, selector, type, attribute?, fields? }] }, or a flat { name, fields: [{ title, value }] } for default mode"
},
"aiPrompt": {
"type": "object",
"description": "AI-powered extraction/analysis of the scraped page, always run against the Markdown regardless of format. Shape depends on 'type': prompt (query), schema (schema), listing (itemSchema, maxItems), summary (style, focus, maxLength), sentiment (aspects), keywords (maxKeywords, includeEntities). Adds +6 credits"
}
},
"required": [
"url"
]
}⚪metaScrape(url, device, renderJS, format, proxyCountry, ...)
Scrape meta tags from a URL
Esquema de entrada
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "Target URL"
},
"device": {
"type": "string",
"enum": [
"desktop",
"mobile"
],
"default": "desktop"
},
"renderJS": {
"type": "boolean",
"default": true
},
"format": {
"type": "string",
"enum": [
"markdown",
"json"
],
"default": "json"
},
"proxyCountry": {
"type": "string",
"description": "Country code for proxy routing"
},
"fileOutput": {
"type": "boolean",
"default": false
},
"blockAds": {
"type": "boolean",
"default": true
}
},
"required": [
"url"
]
}⚪screenshot(url, device, type, theme, proxyCountry, ...)
Capture a screenshot of a website
Esquema de entrada
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "Target URL"
},
"device": {
"type": "string",
"enum": [
"desktop",
"mobile"
],
"default": "desktop"
},
"type": {
"type": "string",
"enum": [
"png",
"jpeg",
"webp"
],
"default": "png"
},
"theme": {
"type": "string",
"enum": [
"light",
"dark",
"auto"
],
"default": "auto",
"description": "Color scheme to render before capturing"
},
"proxyCountry": {
"type": "string",
"description": "Country code for proxy routing"
},
"selector": {
"type": "string",
"description": "CSS selector of the element to capture, instead of the full viewport/page"
},
"fallbackToFullPage": {
"type": "boolean",
"default": false,
"description": "If selector is not found, fall back to a full-page capture instead of failing"
},
"fullPage": {
"type": "boolean",
"default": false
},
"blockAds": {
"type": "boolean",
"default": true
},
"hideCookie": {
"type": "boolean",
"default": true,
"description": "Hide cookie consent banners"
},
"skipCaptcha": {
"type": "boolean",
"default": true
},
"removeBackground": {
"type": "boolean",
"default": false,
"description": "Remove page background for a transparent PNG (PNG only)"
},
"disableAnimations": {
"type": "boolean",
"default": false,
"description": "Freeze CSS/JS animations and transitions before capturing"
},
"addTimestamp": {
"type": "boolean",
"default": false
},
"highlightLinks": {
"type": "boolean",
"default": false,
"description": "Draw borders around links (useful for AI vision)"
},
"pageHeight": {
"type": "number",
"description": "Height of page for partial screenshot"
},
"viewportWidth": {
"type": "number",
"description": "Viewport width"
},
"viewportHeight": {
"type": "number",
"description": "Viewport height"
},
"captureBeyondViewport": {
"type": "boolean",
"description": "Allow the capture to include content beyond the configured viewport"
},
"delay": {
"type": "number",
"description": "Seconds to wait before screenshot"
},
"quality": {
"type": "number",
"default": 90,
"description": "Image quality for JPEG/WEBP"
},
"scaleFactor": {
"type": "number",
"description": "Device pixel ratio"
},
"inline": {
"type": "boolean",
"default": false,
"description": "Return image data inline instead of a CDN URL"
}
},
"required": [
"url"
]
}🟢search(query, limit, time, location, source, ...)
Search the web and return clean results in JSON, Markdown, or HTML
Esquema de entrada
{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Search query"
},
"limit": {
"type": "number",
"default": 10,
"description": "Number of results"
},
"time": {
"type": "string",
"description": "Time filter: any, d, w, m, y, d7, h6 etc."
},
"location": {
"type": "string",
"description": "Country code (ISO alpha-2)"
},
"source": {
"type": "string",
"enum": [
"web",
"news",
"images"
],
"default": "web"
},
"category": {
"type": "string",
"enum": [
"general",
"code",
"pdf",
"research",
"linkedin",
"wiki"
],
"default": "general"
},
"format": {
"type": "string",
"enum": [
"json",
"markdown",
"html"
],
"default": "json"
},
"includeDomains": {
"type": "array",
"items": {
"type": "string"
},
"description": "Only include these domains"
},
"excludeDomains": {
"type": "array",
"items": {
"type": "string"
},
"description": "Exclude these domains"
},
"groundedAnswer": {
"type": "boolean",
"default": false,
"description": "Generate AI-grounded answer from results"
},
"scrape": {
"type": "boolean",
"default": false,
"description": "Scrape content from result URLs"
},
"scrapeLimit": {
"type": "number",
"default": 3,
"description": "Number of URLs to scrape"
}
},
"required": [
"query"
]
}🟢dnsRecord(url, types)
Retrieve DNS records for a domain
Esquema de entrada
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "Target URL"
},
"types": {
"type": "array",
"items": {
"type": "string",
"enum": [
"A",
"AAAA",
"CNAME",
"MX",
"NS",
"SOA",
"TXT",
"CAA",
"SRV"
]
},
"default": [
"A",
"AAAA",
"CNAME",
"MX",
"CAA",
"NS",
"SOA",
"SRV",
"TXT"
]
}
},
"required": [
"url"
]
}🟢siteStatus(url, proxyCountry, followRedirect)
Check if a site is up or down
Esquema de entrada
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "Target URL"
},
"proxyCountry": {
"type": "string",
"description": "Country code for proxy routing"
},
"followRedirect": {
"type": "boolean",
"default": false
}
},
"required": [
"url"
]
}🟢redirectCheck(url, proxyCountry)
Check the redirect chain of a URL
Esquema de entrada
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "Target URL"
},
"proxyCountry": {
"type": "string",
"description": "Country code for proxy routing"
}
},
"required": [
"url"
]
}🟢brokenLink(url, proxyCountry, followRedirect)
Find broken links on a webpage
Esquema de entrada
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "Target URL"
},
"proxyCountry": {
"type": "string",
"description": "Country code for proxy routing"
},
"followRedirect": {
"type": "boolean",
"default": false
}
},
"required": [
"url"
]
}⚪url2Pdf(url, device, format, orientation, proxyCountry, ...)
Convert a URL to PDF
Esquema de entrada
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "Target URL"
},
"device": {
"type": "string",
"enum": [
"desktop",
"mobile"
],
"default": "desktop"
},
"format": {
"type": "string",
"enum": [
"letter",
"legal",
"a0",
"a1",
"a2",
"a3",
"a4",
"a5",
"a6"
],
"default": "a4"
},
"orientation": {
"type": "string",
"enum": [
"portrait",
"landscape"
],
"default": "portrait"
},
"proxyCountry": {
"type": "string",
"description": "Country code for proxy routing"
},
"scale": {
"type": "number",
"description": "Zoom level (0–2)"
},
"margin": {
"type": "object",
"description": "Margins in mm",
"properties": {
"top": {
"type": "number"
},
"bottom": {
"type": "number"
},
"left": {
"type": "number"
},
"right": {
"type": "number"
}
}
},
"hideCookie": {
"type": "boolean",
"default": true
},
"skipCaptcha": {
"type": "boolean",
"default": true
},
"addTimestamp": {
"type": "boolean",
"default": false
}
},
"required": [
"url"
]
}⚪openPorts(url, topPorts, portRanges, detectServices)
Scan open ports on a host and optionally detect running services
Esquema de entrada
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "Target URL"
},
"topPorts": {
"type": "number",
"enum": [
50,
100,
500,
1000,
5000
],
"description": "Scan top N ports"
},
"portRanges": {
"type": "string",
"description": "Custom port ranges e.g. 80,443,1000-1010"
},
"detectServices": {
"type": "boolean",
"default": false,
"description": "Detect the service, product, version, and OS information running on discovered open ports"
}
},
"required": [
"url"
]
}⚪tlsScan(url)
Scan TLS/SSL configuration of a domain
Esquema de entrada
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "Target URL"
}
},
"required": [
"url"
]
}🟢loadTime(url, proxyCountry, followRedirect, targetCountries)
Measure page load time for a URL
Esquema de entrada
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "Target URL"
},
"proxyCountry": {
"type": "string",
"description": "Country code for proxy routing"
},
"followRedirect": {
"type": "boolean",
"default": false
},
"targetCountries": {
"type": "array",
"items": {
"type": "string"
},
"description": "Up to 3 ISO alpha-2 country codes to also test reachability from via proxy, alongside the default US server test. When set, the response includes a per-location breakdown instead of a single result"
}
},
"required": [
"url"
]
}🟢mixedContent(url, proxyCountry, followRedirect)
Check for mixed content issues on a site
Esquema de entrada
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "Target URL"
},
"proxyCountry": {
"type": "string",
"description": "Country code for proxy routing"
},
"followRedirect": {
"type": "boolean",
"default": false
}
},
"required": [
"url"
]
}🟢dnsSec(url)
Check if DNSSEC is enabled for a domain
Esquema de entrada
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "Target URL"
}
},
"required": [
"url"
]
}⚪mtr(url, proxyCountry, followRedirect)
Perform MTR network diagnostic test
Esquema de entrada
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "Target URL"
},
"proxyCountry": {
"type": "string",
"description": "Country code for proxy routing"
},
"followRedirect": {
"type": "boolean",
"default": false
}
},
"required": [
"url"
]
}⚪ping(url)
Ping a host
Esquema de entrada
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "Target URL or IP"
}
},
"required": [
"url"
]
}⚪lighthouse(url, device, proxyCountry, followRedirect, parameters)
Run Lighthouse audit on a website
Esquema de entrada
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "Target URL"
},
"device": {
"type": "string",
"enum": [
"desktop",
"mobile"
],
"default": "desktop"
},
"proxyCountry": {
"type": "string",
"description": "Country code for proxy routing"
},
"followRedirect": {
"type": "boolean",
"default": false
},
"parameters": {
"type": "array",
"items": {
"type": "string"
},
"description": "Extra Lighthouse CLI parameters"
}
},
"required": [
"url"
]
}🟢brand(url, refresh, mode)
Extract brand identity and design information from a website
Esquema de entrada
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "Target URL"
},
"refresh": {
"type": "boolean",
"default": false,
"description": "Force refresh brand data instead of using cached data"
},
"mode": {
"type": "string",
"enum": [
"standard",
"enriched"
],
"default": "standard",
"description": "Brand extraction mode. Enriched mode includes additional company and brand intelligence"
}
},
"required": [
"url"
]
}Comunidad
Evidencia