mcp

Geekflare MCP server for scraping, search, screenshots, broken links, DNS lookup, and network tools.

使うべきか

品質と安全性

A
説明の品質
85%
スキーマの完全性
95%
命名の品質
83%
ポイズニングのリスク
100%
権限の一致
100%
プロトコルへの準拠
100%

検出事項(5)

  • LOWTool 'webScrape' description lacks action verbwebScrape 内
  • LOWTool 'metaScrape' description lacks action verbmetaScrape 内
  • LOWTool 'screenshot' description lacks action verbscreenshot 内
  • LOWTool 'tlsScan' description lacks action verbtlsScan 内
  • LOWTool 'ping' description lacks action verbping 内

ツール定義とプロトコルへの準拠に関する自動分析に基づいています。

コンテキストコスト

~2,670トークン数(ツール定義)
~1.7 KB一般的なレスポンスサイズ
注意への影響は大きい(128k コンテキストの 2.09%)

これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。

インストール

ワンクリックインストール

これを `claude_desktop_config.json` ファイルに追加してください:

{
  "mcpServers": {
    "mcp": {
      "command": "npx",
      "args": [
        "@geekflare/mcp"
      ]
    }
  }
}

実行可能なパッケージ

npm@geekflare/mcp0.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"
  ]
}

コミュニティ

このサーバーを評価する

エビデンス

最近の観測

検証済みバージョンは記録されていませんツール 18 件
検証済みバージョンは記録されていませんツール 18 件