cloro

Scrape AI answer engines and Google Search/News with country and state-level geo-targeting.

我该使用它吗

质量与安全性

A
描述质量
100%
模式完整度
98%
命名质量
84%
投毒风险
100%
权限匹配度
100%
协议合规性
100%

基于对工具定义和协议合规性的自动分析。

上下文开销

~3,645token 数(工具定义)
~3.7 KB典型响应大小
对注意力有显著影响(占 128k 上下文窗口的 2.85%)

这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。

安装

一键安装

将以下内容添加到你的 `claude_desktop_config.json` 文件中:

{
  "mcpServers": {
    "cloro": {
      "url": "https://mcp.cloro.dev/mcp"
    }
  }
}

远程端点

https://mcp.cloro.dev/mcpstreamable-http

它能做什么

工具清单

工具(10)

🟢 只读🟡 写入🔴 删除⚪ 未知
🟢scrape_chatgpt(prompt, country, include, legacy, disableWebSearch, ...)

Submit a prompt to ChatGPT from a chosen country (and optionally US state) and return the full answer: text, cited sources, and optionally markdown, search queries, shopping results, and ads. Use this to see how ChatGPT answers a prompt and which brands/sources it mentions.

输入模式

{
  "type": "object",
  "properties": {
    "prompt": {
      "description": "The prompt to submit to ChatGPT.",
      "type": "string",
      "minLength": 1,
      "maxLength": 10000
    },
    "country": {
      "description": "ISO 3166-1 alpha-2 country code to geo-target the request from (e.g. \"US\"). Use list_countries to see supported codes per model.",
      "type": "string"
    },
    "include": {
      "description": "Optional flags for heavier payload fields, each off by default: markdown (the answer rendered as markdown), html (the answer page HTML), rawResponse (the engine's unprocessed response payload), searchQueries (the web searches ChatGPT issued while answering), ads and shopping (sponsored and product results; these render only on the desktop UI, so pair them with legacy: true). Leave unset for the leanest response.",
      "type": "object",
      "properties": {
        "markdown": {
          "type": "boolean"
        },
        "rawResponse": {
          "type": "boolean"
        },
        "searchQueries": {
          "type": "boolean"
        },
        "html": {
          "type": "boolean"
        },
        "ads": {
          "type": "boolean"
        },
        "shopping": {
          "type": "boolean"
        }
      }
    },
    "legacy": {
      "description": "Serve ChatGPT's desktop UI instead of the default mobile-web UI. Needed for include.ads and include.shopping, which only render on desktop. Defaults to false.",
      "type": "boolean"
    },
    "disableWebSearch": {
      "type": "boolean"
    },
    "state": {
      "description": "Optional state code for state-level targeting (e.g. \"CA\" when country is \"US\"). Only some countries support this — call list_states for the supported countries and their codes.",
      "type": "string"
    }
  },
  "required": [
    "prompt",
    "country"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢scrape_gemini(prompt, country, include, state)

Submit a prompt to Google Gemini from a chosen country (and optionally US state) and return the answer with cited sources. Use this to see how Google Gemini answers a prompt and which brands/sources it mentions.

输入模式

{
  "type": "object",
  "properties": {
    "prompt": {
      "description": "The prompt to submit to Google Gemini.",
      "type": "string",
      "minLength": 1,
      "maxLength": 10000
    },
    "country": {
      "description": "ISO 3166-1 alpha-2 country code to geo-target the request from (e.g. \"US\"). Use list_countries to see supported codes per model.",
      "type": "string"
    },
    "include": {
      "description": "Optional flags for heavier payload fields, each off by default: markdown (the answer rendered as markdown), html (the answer page HTML), rawResponse (the engine's unprocessed response payload). Leave unset for the leanest response.",
      "type": "object",
      "properties": {
        "html": {
          "type": "boolean"
        },
        "markdown": {
          "type": "boolean"
        },
        "rawResponse": {
          "type": "boolean"
        }
      }
    },
    "state": {
      "description": "Optional state code for state-level targeting (e.g. \"CA\" when country is \"US\"). Only some countries support this — call list_states for the supported countries and their codes.",
      "type": "string"
    }
  },
  "required": [
    "prompt",
    "country"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢scrape_copilot(prompt, country, include, state)

Submit a prompt to Microsoft Copilot from a chosen country (and optionally US state) and return the answer with cited sources. Use this to see how Microsoft Copilot answers a prompt and which brands/sources it mentions.

输入模式

{
  "type": "object",
  "properties": {
    "prompt": {
      "description": "The prompt to submit to Microsoft Copilot.",
      "type": "string",
      "minLength": 1,
      "maxLength": 10000
    },
    "country": {
      "description": "ISO 3166-1 alpha-2 country code to geo-target the request from (e.g. \"US\"). Use list_countries to see supported codes per model.",
      "type": "string"
    },
    "include": {
      "description": "Optional flags for heavier payload fields, each off by default: markdown (the answer rendered as markdown), html (the answer page HTML), rawResponse (the engine's unprocessed response payload). Leave unset for the leanest response.",
      "type": "object",
      "properties": {
        "markdown": {
          "type": "boolean"
        },
        "html": {
          "type": "boolean"
        },
        "rawResponse": {
          "type": "boolean"
        }
      }
    },
    "state": {
      "description": "Optional state code for state-level targeting (e.g. \"CA\" when country is \"US\"). Only some countries support this — call list_states for the supported countries and their codes.",
      "type": "string"
    }
  },
  "required": [
    "prompt",
    "country"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢scrape_perplexity(prompt, country, include, state)

Submit a prompt to Perplexity from a chosen country (and optionally US state) and return the answer with cited sources. Use this to see how Perplexity answers a prompt and which brands/sources it mentions.

输入模式

{
  "type": "object",
  "properties": {
    "prompt": {
      "description": "The prompt to submit to Perplexity.",
      "type": "string",
      "minLength": 1,
      "maxLength": 10000
    },
    "country": {
      "description": "ISO 3166-1 alpha-2 country code to geo-target the request from (e.g. \"US\"). Use list_countries to see supported codes per model.",
      "type": "string"
    },
    "include": {
      "description": "Optional flags for heavier payload fields, each off by default: markdown (the answer rendered as markdown), html (the answer page HTML), rawResponse (the engine's unprocessed response payload). Leave unset for the leanest response.",
      "type": "object",
      "properties": {
        "markdown": {
          "type": "boolean"
        },
        "html": {
          "type": "boolean"
        },
        "rawResponse": {
          "type": "boolean"
        }
      }
    },
    "state": {
      "description": "Optional state code for state-level targeting (e.g. \"CA\" when country is \"US\"). Only some countries support this — call list_states for the supported countries and their codes.",
      "type": "string"
    }
  },
  "required": [
    "prompt",
    "country"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢scrape_grok(prompt, country, include, state)

Submit a prompt to Grok (xAI) from a chosen country (and optionally US state) and return the answer with cited sources. Use this to see how Grok (xAI) answers a prompt and which brands/sources it mentions.

输入模式

{
  "type": "object",
  "properties": {
    "prompt": {
      "description": "The prompt to submit to Grok (xAI).",
      "type": "string",
      "minLength": 1,
      "maxLength": 10000
    },
    "country": {
      "description": "ISO 3166-1 alpha-2 country code to geo-target the request from (e.g. \"US\"). Use list_countries to see supported codes per model.",
      "type": "string"
    },
    "include": {
      "description": "Optional flags for heavier payload fields, each off by default: markdown (the answer rendered as markdown), html (the answer page HTML), rawResponse (the engine's unprocessed response payload). Leave unset for the leanest response.",
      "type": "object",
      "properties": {
        "markdown": {
          "type": "boolean"
        },
        "html": {
          "type": "boolean"
        },
        "rawResponse": {
          "type": "boolean"
        }
      }
    },
    "state": {
      "description": "Optional state code for state-level targeting (e.g. \"CA\" when country is \"US\"). Only some countries support this — call list_states for the supported countries and their codes.",
      "type": "string"
    }
  },
  "required": [
    "prompt",
    "country"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢scrape_google_ai_mode(prompt, country, gl, hl, location, ...)

Submit a prompt to Google AI Mode from a chosen country and return the AI answer with cited sources. Supports location or UULE targeting and desktop/mobile emulation.

输入模式

{
  "type": "object",
  "properties": {
    "prompt": {
      "description": "The prompt to submit to Google AI Mode.",
      "type": "string",
      "minLength": 1,
      "maxLength": 10000
    },
    "country": {
      "description": "ISO 3166-1 alpha-2 country code to geo-target the request from (e.g. \"US\"). Use list_countries to see supported codes per model. Deprecated — use gl instead; country is kept for compatibility and must not disagree with gl.",
      "type": "string"
    },
    "gl": {
      "description": "ISO 3166-1 alpha-2 code for the result geography, sent to Google as gl (e.g. \"us\"). Use list_countries to see supported codes per model.",
      "type": "string"
    },
    "hl": {
      "description": "Optional Google interface-language code, sent as hl (e.g. \"de\", \"pt-br\"). Defaults to the language derived from gl — set it when the geography's dominant language is not the one you want.",
      "type": "string"
    },
    "location": {
      "description": "Optional location name to target search results (e.g. \"Austin, Texas, United States\"). Mutually exclusive with uule.",
      "type": "string"
    },
    "uule": {
      "description": "Optional Google UULE location parameter. Mutually exclusive with location.",
      "type": "string"
    },
    "device": {
      "description": "Device type to emulate. Defaults to desktop.",
      "default": "desktop",
      "type": "string",
      "enum": [
        "desktop",
        "mobile"
      ]
    },
    "include": {
      "description": "Optional flags for heavier payload fields, each off by default: markdown (the answer rendered as markdown), html (the answer page HTML), rawResponse (the engine's unprocessed response payload). Leave unset for the leanest response.",
      "type": "object",
      "properties": {
        "markdown": {
          "type": "boolean"
        },
        "html": {
          "type": "boolean"
        },
        "expandProducts": {
          "type": "boolean"
        }
      }
    }
  },
  "required": [
    "prompt"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢scrape_google(query, url, country, gl, hl, ...)

Run a Google search from a chosen country and return organic results, with optional AI Overview extraction (include.aioverview) and People-Also-Ask AI answers (include.paaAioverview). Two modes: structured (query + country, with optional location/uule/pages) or url (a complete google.com/search URL that owns query, location, and pagination). Supports desktop, mobile, iOS, and Android emulation and multi-page results.

输入模式

{
  "type": "object",
  "properties": {
    "query": {
      "description": "The search query. Required unless url is provided.",
      "type": "string",
      "minLength": 1,
      "maxLength": 10000
    },
    "url": {
      "description": "A complete google.com/search URL to fetch instead of building one from structured fields. When set, query/location/uule/pages must be omitted (the URL owns them); gl and hl are read from the URL's gl/hl parameters; an explicit gl or hl must agree with the URL's copy.",
      "type": "string"
    },
    "country": {
      "description": "ISO 3166-1 alpha-2 country code to geo-target the request from (e.g. \"US\"). Use list_countries to see supported codes per model. Deprecated — use gl instead; country is kept for compatibility and must not disagree with gl.",
      "type": "string"
    },
    "gl": {
      "description": "ISO 3166-1 alpha-2 code for the result geography, sent to Google as gl (e.g. \"us\"). Use list_countries to see supported codes per model. Required in query mode; in url mode it is read from the URL's gl parameter unless supplied here, and an explicit value wins.",
      "type": "string"
    },
    "hl": {
      "description": "Optional Google interface-language code, sent as hl (e.g. \"de\", \"pt-br\"). Defaults to the language derived from gl — set it when the geography's dominant language is not the one you want. In url mode it is read from the URL's hl parameter unless supplied here, and an explicit value wins.",
      "type": "string"
    },
    "location": {
      "description": "Optional location name to target search results (e.g. \"Austin, Texas, United States\"). Mutually exclusive with uule.",
      "type": "string"
    },
    "uule": {
      "description": "Optional Google UULE location parameter. Mutually exclusive with location.",
      "type": "string"
    },
    "device": {
      "description": "Device to emulate: desktop, mobile, ios (Safari on iPhone), or android (Chrome on Android). mobile is an alias for android. Defaults to desktop.",
      "default": "desktop",
      "type": "string",
      "enum": [
        "desktop",
        "mobile",
        "ios",
        "android"
      ]
    },
    "pages": {
      "description": "Number of result pages to fetch (1-10). Defaults to 1.",
      "type": "number",
      "exclusiveMinimum": 0,
      "maximum": 10
    },
    "include": {
      "description": "Optional flags. Set aioverview: true to extract Google's AI Overview (or { markdown: true } for markdown), paaAioverview: true to hydrate AI answers in People Also Ask. Leave unset for organic results only.",
      "type": "object",
      "properties": {
        "html": {
          "type": "boolean"
        },
        "aioverview": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "object",
              "properties": {
                "markdown": {
                  "type": "boolean"
                }
              }
            }
          ]
        },
        "paaAioverview": {
          "type": "boolean"
        }
      }
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢scrape_google_news(query, country, gl, hl, device, ...)

Run a Google News search from a chosen country and return news results. Supports desktop, mobile, iOS, and Android emulation and multi-page results.

输入模式

{
  "type": "object",
  "properties": {
    "query": {
      "description": "The search query.",
      "type": "string",
      "minLength": 1,
      "maxLength": 10000
    },
    "country": {
      "description": "ISO 3166-1 alpha-2 country code to geo-target the request from (e.g. \"US\"). Use list_countries to see supported codes per model. Deprecated — use gl instead; country is kept for compatibility and must not disagree with gl.",
      "type": "string"
    },
    "gl": {
      "description": "ISO 3166-1 alpha-2 code for the result geography, sent to Google as gl (e.g. \"us\"). Use list_countries to see supported codes per model.",
      "type": "string"
    },
    "hl": {
      "description": "Optional Google interface-language code, sent as hl (e.g. \"de\", \"pt-br\"). Defaults to the language derived from gl — set it when the geography's dominant language is not the one you want.",
      "type": "string"
    },
    "device": {
      "description": "Device to emulate: desktop, mobile, ios (Safari on iPhone), or android (Chrome on Android). mobile is an alias for android. Defaults to desktop.",
      "default": "desktop",
      "type": "string",
      "enum": [
        "desktop",
        "mobile",
        "ios",
        "android"
      ]
    },
    "pages": {
      "description": "Number of result pages to fetch (1-10). Defaults to 1.",
      "default": 1,
      "type": "number",
      "exclusiveMinimum": 0,
      "maximum": 10
    },
    "include": {
      "description": "Optional flags for heavier payload fields, each off by default: markdown (the answer rendered as markdown), html (the answer page HTML), rawResponse (the engine's unprocessed response payload). Leave unset for the leanest response.",
      "type": "object",
      "properties": {
        "html": {
          "type": "boolean"
        }
      }
    }
  },
  "required": [
    "query"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢list_countries(model)

List the ISO 3166-1 alpha-2 country codes supported for geo-targeting. Pass a model to get the codes available for that specific engine (some engines block certain countries).

输入模式

{
  "type": "object",
  "properties": {
    "model": {
      "description": "Optionally filter to countries supported by a specific engine.",
      "type": "string",
      "enum": [
        "aimode",
        "aioverview",
        "chatgpt",
        "copilot",
        "gemini",
        "google",
        "grok",
        "perplexity"
      ]
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}

输出模式

{
  "type": "object",
  "properties": {
    "countries": {
      "description": "ISO 3166-1 alpha-2 country codes.",
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "required": [
    "countries"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟢list_states(country)

List the state codes available for state-level geo-targeting in a country (used as the "state" parameter on the scrape tools). Only countries with state-level targeting are accepted.

输入模式

{
  "type": "object",
  "properties": {
    "country": {
      "description": "ISO 3166-1 alpha-2 country code to list states for. Only countries with state-level targeting are supported.",
      "type": "string",
      "enum": [
        "US"
      ]
    }
  },
  "required": [
    "country"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

输出模式

{
  "type": "object",
  "properties": {
    "states": {
      "description": "States available for state-level targeting.",
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string"
          },
          "name": {
            "type": "string"
          }
        },
        "required": [
          "code",
          "name"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": [
    "states"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}

社区

评价此服务器

证据

最近观测

已验证未记录版本10 个工具
已验证未记录版本10 个工具
已验证未记录版本10 个工具