{"name":"dev.cloro/cloro","slug":"cloro","title":"cloro","description":"Scrape AI answer engines and Google Search/News with country and state-level geo-targeting.","url":"https://mcp.market/server/cloro","rating":null,"grade":"A","score":88,"certified":false,"status":"active","category":"seo","tags":["seo","search","maps"],"presence":{"score":23,"stars":0,"forks":1,"downloads_week":null,"last_push_at":"2026-11-03T16:38:29.000Z","license":"MIT"},"uptime":{"percent":100,"checks":28,"ok":28,"last_checked_at":"2026-11-05T16:25:24.379Z","last_ok_at":"2026-11-05T16:25:24.379Z","latency_ms":66},"claimed":false,"transport":"remote","callable_via_gateway":true,"default_price_micros":0,"repository":"https://github.com/cloro-dev/mcp-server","website":"https://cloro.dev/docs/integrations/mcp","version":"0.4.0","remotes":[{"type":"streamable-http","url":"https://mcp.cloro.dev/mcp","headers":[{"description":"Optional. Bearer <your cloro API key>, for clients that do not run the OAuth flow. Create a key at https://cloro.dev. Clients that support OAuth should omit this and complete the authorization flow instead — the server advertises its authorization server at /.well-known/oauth-protected-resource.","isSecret":true,"name":"Authorization"}]}],"packages":[],"tools":[{"name":"list_countries","description":"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).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"model":{"description":"Optionally filter to countries supported by a specific engine.","type":"string","enum":["aimode","aioverview","chatgpt","copilot","gemini","google","perplexity"]}},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"list_states","description":"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.","write_action":false,"price_micros":0,"input_schema":{"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#"}},{"name":"resolve_google_redirect","description":"Resolve one Google redirect link to its destination URL. Use it when a link or url field from scrape_google, scrape_google_news or scrape_google_ai_mode is empty, missing, or a google.com/goto URL: pass that result's redirectLink. Returns { url }. A link that does not resolve returns a 502; retry it later. Costs 1 credit, with no sync surcharge, and only when the destination is returned.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"url":{"description":"The redirectLink value: an absolute https://www.google.com/goto?url=... or https://www.google.com/url?... link.","type":"string","format":"uri"}},"required":["url"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"scrape_chatgpt","description":"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. Costs 7 credits (5 base + 2 sync surcharge); any of include.rawResponse, searchQueries, ads or shopping adds 2 once; include.productDetails adds 2 more; each prompt after the first adds 1; a state adds 2.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"prompt":{"description":"The prompt to submit to ChatGPT, or an array of up to 5 prompts asked in order as follow-ups in the same conversation (1 extra credit per prompt after the first). An array returns an array of results, one per prompt.","anyOf":[{"type":"string","minLength":1,"maxLength":10000},{"minItems":1,"maxItems":5,"type":"array","items":{"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; ChatGPT tends to serve ads on follow-up prompts, so pass prompt as an array to see them), productDetails (the What to know summary and reviews of each product; needs shopping, and has no effect without it). 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"},"productDetails":{"type":"boolean"}}},"legacy":{"description":"Serve ChatGPT's desktop UI instead of the default mobile-web UI. Defaults to false.","type":"boolean"},"disableWebSearch":{"description":"Stop cloro from forcing web search, to get the answer ChatGPT gives on its own. ChatGPT then searches only when it decides to, so expect empty sources, citationPills and searchQueries. Defaults to false (web search forced). Same cost.","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#"}},{"name":"scrape_copilot","description":"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. Costs 7 credits (5 base + 2 sync surcharge); a state adds 2.","write_action":true,"price_micros":0,"input_schema":{"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#"}},{"name":"scrape_gemini","description":"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. Costs 6 credits (4 base + 2 sync surcharge); a state adds 2.","write_action":true,"price_micros":0,"input_schema":{"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#"}},{"name":"scrape_google","description":"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 + gl, 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. A result link can come back empty with a redirectLink beside it; pass the redirectLink to resolve_google_redirect to get the destination. Costs 5 credits (3 base + 2 sync surcharge); include.aioverview and/or include.paaAioverview add 2 once; each page after the first adds 2.","write_action":true,"price_micros":0,"input_schema":{"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#"}},{"name":"scrape_google_ai_mode","description":"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. Costs 6 credits (4 base + 2 sync surcharge).","write_action":true,"price_micros":0,"input_schema":{"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). 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#"}},{"name":"scrape_google_news","description":"Run a Google News search from a chosen country and return news results. Supports desktop, mobile, iOS, and Android emulation and multi-page results. Costs 5 credits (3 base + 2 sync surcharge); each page after the first adds 2.","write_action":true,"price_micros":0,"input_schema":{"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 flag, off by default: html (the result page HTML). Leave unset for the leanest response.","type":"object","properties":{"html":{"type":"boolean"}}}},"required":["query"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"scrape_perplexity","description":"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. Costs 6 credits (4 base + 2 sync surcharge); a state adds 2.","write_action":true,"price_micros":0,"input_schema":{"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#"}}],"scan":{"score":88,"grade":"A","scanned_at":"2026-11-04T14:39:50.309Z","report":{"scannerVersion":"0.1.10","scannedAt":"2026-11-04T14:39:50.249Z","components":{"code":{"score":-1,"max":25,"notes":["remote-only server, no package to scan"]},"reliability":{"score":20,"max":20,"notes":["remote reachable in 349ms"]},"poisoning":{"score":15,"max":15,"notes":["10 tool descriptions checked"]},"auth":{"score":8,"max":15,"notes":["API key sent as a header"]},"maintenance":{"score":15,"max":15,"notes":["last push 1 days ago"]},"identity":{"score":8,"max":10,"notes":["namespace and repository owner differ","GitHub account older than a year","website matches verified namespace"]}},"findings":[],"inputs":{"probes":[{"url":"https://mcp.cloro.dev/mcp","reachable":true,"authRequired":false,"latencyMs":349,"serverInfo":{"name":"cloro","version":"0.4.0"}}],"packages":[],"repo":{"found":true,"owner":"cloro-dev","repo":"mcp-server","archived":false,"pushedAt":"2026-11-03T16:38:29Z","stars":0,"forks":1,"openIssues":0,"ownerType":"Organization","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/231516126?v=4","ownerCreatedAt":"2025-09-10T15:23:46Z","license":"MIT"},"icon":{"url":"https://cloro.dev/favicon-192.png","source":"registry","width":192,"height":192},"presence":{"stars":0,"forks":1,"downloadsWeek":null,"license":"MIT","lastPushAt":"2026-11-03T16:38:29.000Z","score":23}}}},"grade_history":[{"kind":"restore","fromGrade":"C","toGrade":"A","reason":"score 88","createdAt":"2026-11-04T14:39:52.363Z"}],"reviews":[]}