mcp
Geekflare MCP server for scraping, search, screenshots, broken links, DNS lookup, and network tools.
使うべきか
品質と安全性
検出事項(5)
- LOWwebScrape 内
- LOWmetaScrape 内
- LOWscreenshot 内
- LOWtlsScan 内
- LOWping 内
ツール定義とプロトコルへの準拠に関する自動分析に基づいています。
コンテキストコスト
これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。
インストール
ワンクリックインストール
これを `claude_desktop_config.json` ファイルに追加してください:
{
"mcpServers": {
"mcp": {
"command": "npx",
"args": [
"@geekflare/mcp"
]
}
}
}実行可能なパッケージ
0.3.5stdioリモートエンドポイント
https://mcp.geekflare.com/{API_KEY}/mcpstreamable-httpできること
ツール一覧
ツール(18)
⚪webScrape(url, device, format, proxyMode, proxyCountry, ...)
Scrape a webpage with custom options
入力スキーマ
{
"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
入力スキーマ
{
"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
入力スキーマ
{
"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
入力スキーマ
{
"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
入力スキーマ
{
"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
入力スキーマ
{
"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
入力スキーマ
{
"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
入力スキーマ
{
"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
入力スキーマ
{
"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
入力スキーマ
{
"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
入力スキーマ
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "Target URL"
}
},
"required": [
"url"
]
}🟢loadTime(url, proxyCountry, followRedirect, targetCountries)
Measure page load time for a URL
入力スキーマ
{
"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
入力スキーマ
{
"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
入力スキーマ
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "Target URL"
}
},
"required": [
"url"
]
}⚪mtr(url, proxyCountry, followRedirect)
Perform MTR network diagnostic test
入力スキーマ
{
"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
入力スキーマ
{
"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
入力スキーマ
{
"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
入力スキーマ
{
"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"
]
}コミュニティ
エビデンス