cloro

dev.cloro由 cloro.dev 发布官方发布者v0.5.0更新于 Nov 6, 2026

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

已验证Streamable HTTP可网页运行网页搜索与抓取AI 与机器学习

概览

AI 生成的概览

cloro 可按国家与州级地理定位抓取 ChatGPT、Gemini、Google AI Mode、Google 搜索与新闻的回答及引用来源。

可以做什么
  • 查询 AI 回答引擎:向 ChatGPT、Gemini 或 Google AI Mode 提交提示词,返回带引用来源的回答。
  • 运行 Google 搜索与新闻搜索:获取自然结果、AI Overview 与“其他人还问”的 AI 回答,支持桌面或移动端模拟与翻页。
  • 解析 Google 跳转链接:把结果中为空或 goto 形式的链接还原为真实目标地址。
  • 查询定位选项:列出支持的国家代码与州代码,可按引擎筛选。
适用场景
适合做 AI 可见度与品牌监测、比较不同回答引擎在同一提示词下于不同市场的表现,或为研究收集带地理定位的 Google 搜索与新闻结果。
运行要求
使用 mcp.cloro.dev 的远程 Streamable HTTP 端点,或自建 Node.js 版本以 stdio 或 HTTP 运行。需要 cloro 账号,并通过 OAuth 登录或 cloro API 密钥认证,密钥可放在 Authorization Bearer 头、URL 路径中,stdio 模式下用 CLORO_API_KEY。调用会消耗付费额度。
安装前请注意
每次抓取都会消耗付费组织账户的额度,结果中会返回已扣与剩余额度。把 API 密钥放在 URL 路径中可能经日志泄露,建议改用 Authorization 头或 OAuth。同步调用最长等待约五分钟,客户端超时为 320 秒。服务器会把你的凭证转发给 api.cloro.dev。

安装

在 SourceWeft 中

  1. 打开 控制台中的 cloro,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。

交给智能体安装

把这段提示词粘贴到 Claude Code、Codex、Cursor 等智能体,或 SourceWeft 对话中。智能体会读取该服务器的安装指南,先向你展示发布者、端点和登录方式,经你同意后再把它添加到你的客户端。密钥不会写进任何命令。

阅读 https://sourceweft.com/mcp/dev.cloro%2Fcloro/install.md,并按其中说明把这个 MCP 服务器接入我的客户端。修改任何配置之前,先告诉我它的发布者、端点和登录方式,等我确认。不要把 API 密钥写进命令或我会提交的文件;问我密钥应从哪里获取。

查看智能体所依据的安装指南

其他 MCP 客户端

把它添加到你客户端的 mcpServers 配置中。

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

README

cloro MCP Server

A Model Context Protocol (MCP) server for cloro, the LLM scraping API that includes a Google SERP API. It gives Claude, Codex, Cursor and any MCP client answers from ChatGPT, Gemini, Google AI Mode and Google AI Overview, plus Google web search and Google News results. Ask your agent "compare Google's top results for best LLM scraping API with ChatGPT's answer" and it calls cloro and reasons over the parsed results and cited sources.

Runs hosted at mcp.cloro.dev, or locally over stdio.

How do you connect an agent to the cloro MCP server?

In Claude, you sign in with OAuth and do not need a key:

  1. Go to Customize → Connectors and select Add custom connector.
  2. Enter https://mcp.cloro.dev/mcp. Under Authentication, choose Sign in when needed.
  3. Ask Claude to use a cloro tool. Sign in to cloro and select the organization whose credits pay for the calls.

Other clients use a cloro API key from the dashboard. The hosted server speaks Streamable HTTP. Put the key in the URL path so it works in clients that cannot set custom headers:

json
{  "mcpServers": {    "cloro": {      "type": "http",      "url": "https://mcp.cloro.dev/YOUR_CLORO_API_KEY/mcp"    }  }}

If your client can set headers, use https://mcp.cloro.dev/mcp with Authorization: Bearer YOUR_CLORO_API_KEY. In Claude Code:

bash
claude mcp add --transport http cloro https://mcp.cloro.dev/YOUR_CLORO_API_KEY/mcp

In Cursor

This repo is also a Cursor plugin. Install it from the Cursor marketplace, or point Cursor at the repo, and Cursor prompts for one variable:

VariableValue
CLORO_API_KEYYour key from the dashboard

Cursor stores the key on its side and sends it as Authorization: Bearer, so the key stays out of the URL and out of the repo. The manifest is .cursor-plugin/plugin.json and the server definition is mcp.json.

Running it yourself

bash
npm installnpm run buildMCP_TRANSPORT=stdio CLORO_API_KEY=your_key node dist/index.js

MCP_TRANSPORT is http (default) or stdio. In stdio mode the client spawns the process and the key comes from CLORO_API_KEY; in http mode keys arrive per request and no key is configured on the server. PORT defaults to 8095 and CLORO_API_URL to https://api.cloro.dev.

OAuth is off unless you set CLERK_ISSUER. The hosted server sets it to https://clerk.cloro.dev. api.cloro.dev accepts only tokens from that issuer, so a self-hosted server that forwards to it must use the same value. MCP_PUBLIC_URL (default https://mcp.cloro.dev) sets the resource URL in the protected resource metadata.

What tools does it expose?

ToolEndpoint
scrape_chatgptPOST /v1/monitor/chatgpt
scrape_geminiPOST /v1/monitor/gemini
scrape_google_ai_modePOST /v1/monitor/aimode
scrape_googlePOST /v1/monitor/google
scrape_google_newsPOST /v1/monitor/google/news
resolve_google_redirectPOST /v1/monitor/google/goto
list_countriesGET /v1/countries
list_statesGET /v1/states

The assistant tools take a prompt and a country (ISO 3166-1 alpha-2), plus an optional state for US state-level targeting. The Google tools take gl for the result geography and an optional hl for the interface language; country still works as a deprecated alias for gl. scrape_google_ai_mode targets sub-country with location or uule rather than state. scrape_google runs either from a query plus gl, or from a complete google.com/search URL that carries the query and pagination itself, and accepts include.aioverview for Google's AI Overview. Every tool takes an optional include object for heavier payload fields; leave it unset for the leanest response.

A Google result link can come back empty, or as a google.com/goto URL, with a redirectLink beside it. Pass the redirectLink to resolve_google_redirect to get the destination.

There is no Grok tool. Grok is discontinued: grok.com shows a sign-up wall to logged-out visitors, and the cloro API rejects Grok calls with a 400 (MODEL_UNAVAILABLE).

There are no Copilot or Perplexity tools. Both are discontinued: they block access for logged-out sessions, and the cloro API rejects their calls with a 400 (MODEL_UNAVAILABLE). These calls cost no credits.

How it works

The server holds no business logic and no secrets. Each request forwards the caller's own credential, an API key or an OAuth access token, to api.cloro.dev as a Bearer token, so authentication, credit billing, rate limiting and concurrency are all enforced by the API rather than here. In http mode every POST builds a fresh server and transport bound to that caller's credential, which is why one deployment serves everyone with no session state.

initialize and tools/list answer without a credential, so a client can list the tools before sign-in. The first tools/call without one returns 401 with a WWW-Authenticate header that points at /.well-known/oauth-protected-resource/mcp. An OAuth client reads the authorization server from there and runs the flow. The server checks a token's signature against the issuer's public JWKS (code in src/oauth-tokens/), so it needs no Clerk secret.

Tool input schemas are the same zod schemas the API validates with, vendored into src/schemas/ from cloro's backend. They are copied rather than imported because that package is not published. The API reference is authoritative if the two ever disagree.

FAQ

Do I need to self-host this?

No. mcp.cloro.dev is hosted and is the path most people should take. This repo exists so you can read what runs, and self-host if your setup calls for it.

Does it cost credits?

Yes. The scrape tools call the sync API, so each call costs the API rate plus a 2-credit sync surcharge. For example, a ChatGPT call costs 7 credits (5 + 2). Each tool description states its cost, and each result returns the credits charged and remaining. resolve_google_redirect costs 1 credit, with no surcharge. list_countries and list_states read fixed reference lists and charge nothing. See pricing.

Why is my API key in the URL?

Because several MCP clients cannot set custom headers. If yours can, use the Authorization header form instead and keep the key out of the path. If your client supports OAuth, use that and there is no key at all. The URL path accepts API keys only, never OAuth tokens.

What is the request timeout?

320 seconds. Sync scrapes can take up to five minutes server-side, so the client budget leaves headroom. For long-running batches use the async task API rather than MCP.

Are there agent skills for cloro?

Yes. cloro-dev/skills has one skill per surface (ChatGPT, Gemini, Google AI Mode, Google AI Overview, Google Search, Google News) and skills for SERP research, LLM answer monitoring and AI visibility tracking. Install them with npx skills add cloro-dev/skills. The skills tell the agent which tool or endpoint to call, what it costs, and how to read the result. They work with this server or with the REST API.

Learn more

License

MIT. See LICENSE.

来源:README.md,提交 6baf0df

工具

8

scrape_chatgpt

Scrape ChatGPT

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.

输入参数statelegacyprompt必填country必填includedisableWebSearch

scrape_gemini

Scrape Google Gemini

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.

输入参数stateprompt必填country必填include

scrape_google_ai_mode

Scrape Google AI Mode

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).

输入参数glhluuledeviceprompt必填countryincludelocation

scrape_google

Scrape Google Search

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.

输入参数glhlurluulepagesquerydevicecountryincludelocation

scrape_google_news

Scrape Google News

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.

输入参数glhlpagesquery必填devicecountryinclude

resolve_google_redirect

Resolve a Google redirect link

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.

输入参数url必填

list_countries

List supported countries

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).

输入参数model

list_states

List states for a 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.

输入参数country必填

版本历史

4
  1. v0.5.0最新Nov 6, 2026
  2. v0.4.0Nov 3, 2026
  3. v0.2.0Sep 29, 2026
  4. v0.1.0Sep 16, 2026

评分

已满足适用检查项的 100%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通必需25 分
  • 已声明认证方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分