关于 cloro
cloro MCP 服务为 Agent 提供查询 AI 答案引擎、Google Search 和 Google News 的工具,并支持国家及美国州级地理定位。适合监测不同地区的搜索结果、AI 回答及其引用来源。
主要功能
- 01抓取多个 AI 答案引擎结果
- 02查询 Google Search 与 Google News
- 03按国家定位查询
- 04按美国州或地点细化定位
- 05列出可用国家和州
适用场景
- 01检查不同国家的 AI 引擎如何回答某个提示词
- 02查看 Google 搜索或新闻的地区结果
- 03比较美国不同州的搜索或 AI 回答
- 04获取结果中解析出的引用来源
MCP 相关
它向 MCP 客户端提供抓取 AI 答案引擎、Google Search 和 Google News 的工具,以及国家和州列表。托管服务使用 Streamable HTTP,也可在本地通过 stdio 运行;请求需使用 OAuth 或 API 密钥。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://mcp.cloro.dev/mcpclaude mcp add --transport http dev-cloro-cloro https://mcp.cloro.dev/mcp{"mcpServers":{"dev-cloro-cloro":{"type":"http","url":"https://mcp.cloro.dev/mcp"}}}在 Cursor 中打开{"servers":{"dev-cloro-cloro":{"type":"http","url":"https://mcp.cloro.dev/mcp"}}}在 VS Code 中打开{"mcpServers":{"dev-cloro-cloro":{"type":"http","url":"https://mcp.cloro.dev/mcp"}}}{"mcpServers":{"dev-cloro-cloro":{"serverUrl":"https://mcp.cloro.dev/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
https://mcp.cloro.dev/mcp需要授权工具
10| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| state | string | 否 | 用于州级定位的可选州代码(例如 country 为 "US" 时使用 "CA")。州代码仅在部分国家/地区受支持;请调用 list_states 查看支持的国家/地区及其代码。 |
| legacy | boolean | 否 | 使用 ChatGPT 桌面 UI,而非默认的移动 Web UI。默认值为 false。 |
| prompt | any | 是 | 要提交给 ChatGPT 的提示词;也可以是一个数组,包含最多 5 条按顺序在同一对话中作为后续问题提出的提示词(首条之后每条提示词额外消耗 1 个额度)。数组会返回结果数组,每条提示词对应一个结果。 |
| country | string | 是 | 用于对请求来源进行地理定位的 ISO 3166-1 alpha-2 国家/地区代码(例如 "US")。使用 list_countries 查看各模型支持的代码。 |
| include | object | 否 | 用于较大负载字段的可选标志,默认均为关闭:markdown(以 Markdown 格式呈现的回答)、html(回答页面 HTML)、rawResponse(引擎未经处理的响应负载)、searchQueries(ChatGPT 回答时执行的网页搜索)、ads 和 shopping(赞助内容和商品结果;ChatGPT 往往会在后续提示词中展示广告,因此请将 prompt 作为数组传入以查看这些内容)。不设置可获得最精简的响应。 |
| include.ads | boolean | 否 | |
| include.html | boolean | 否 | |
| include.markdown | boolean | 否 | |
| include.shopping | boolean | 否 | |
| include.rawResponse | boolean | 否 | |
| include.searchQueries | boolean | 否 | |
| disableWebSearch | boolean | 否 |
详细介绍
cloro MCP 服务
cloro MCP 服务的源代码,为任何支持 MCP 的 Agent 提供查询 ChatGPT、Perplexity、Gemini、Copilot、Grok、Google AI Mode、Google Search 和 Google News 的工具。向 Agent 提问 “检查 ChatGPT 是否推荐我们作为最佳 SERP API”,它就会调用 cloro API,并基于解析后的答案及其引用来源进行推理。
可托管运行于 mcp.cloro.dev,也可在本地通过 stdio 运行。
如何将 Agent 连接到 cloro MCP 服务?
在 Claude 中,你可以通过 OAuth 登录,无需密钥:
- 前往 Customize → Connectors,然后选择 Add custom connector。
- 输入
https://mcp.cloro.dev/mcp。在 Authentication 下,选择 Sign in when needed。 - 让 Claude 使用 cloro 工具。登录 cloro,并选择用于支付调用费用的组织。
其他客户端使用来自控制面板的 cloro API 密钥。托管服务使用 Streamable HTTP。将密钥放在 URL 路径中,以便无法设置自定义标头的客户端使用:
{
"mcpServers": {
"cloro": {
"type": "http",
"url": "https://mcp.cloro.dev/YOUR_CLORO_API_KEY/mcp"
}
}
}
如果你的客户端可以设置标头,请使用 https://mcp.cloro.dev/mcp,并设置 Authorization: Bearer YOUR_CLORO_API_KEY。在 Claude Code 中:
claude mcp add --transport http cloro https://mcp.cloro.dev/YOUR_CLORO_API_KEY/mcp
在 Cursor 中
此代码库也提供 Cursor 插件。可从 Cursor 插件市场安装,或让 Cursor 指向此代码库,Cursor 会提示你设置一个变量:
| 变量 | 值 |
|---|---|
CLORO_API_KEY | 来自控制面板的密钥 |
Cursor 会在自身端存储密钥,并以 Authorization: Bearer 的形式发送,因此密钥不会出现在 URL 或代码库中。清单文件为 .cursor-plugin/plugin.json,服务定义文件为 mcp.json。
自行运行
npm install
npm run build
MCP_TRANSPORT=stdio CLORO_API_KEY=your_key node dist/index.js
MCP_TRANSPORT 可设为 http(默认值)或 stdio。在 stdio 模式下,客户端会启动进程,密钥来自 CLORO_API_KEY;在 http 模式下,密钥随请求传入,服务端不配置密钥。PORT 默认为 8095,CLORO_API_URL 默认为 https://api.cloro.dev。
除非设置 CLERK_ISSUER,否则 OAuth 默认关闭。托管服务将其设为 https://clerk.cloro.dev。api.cloro.dev 只接受来自该签发方的令牌,因此,将请求转发到该服务的可自托管服务端必须使用相同的值。MCP_PUBLIC_URL(默认值为 https://mcp.cloro.dev)用于设置受保护资源元数据中的资源 URL。
它提供哪些工具?
| 工具 | 端点 |
|---|---|
scrape_chatgpt | POST /v1/monitor/chatgpt |
scrape_gemini | POST /v1/monitor/gemini |
scrape_copilot | POST /v1/monitor/copilot |
scrape_perplexity | POST /v1/monitor/perplexity |
scrape_grok | POST /v1/monitor/grok |
scrape_google_ai_mode | POST /v1/monitor/aimode |
scrape_google | POST /v1/monitor/google |
scrape_google_news | POST /v1/monitor/google/news |
list_countries | GET /v1/countries |
list_states | GET /v1/states |
助手工具接受 prompt 和 country(ISO 3166-1 alpha-2),还可选接受 state,用于定位美国的州级区域。Google 工具接受 gl 来指定结果地理位置,并可选接受 hl 来指定界面语言;country 仍可作为 gl 的已弃用别名使用。scrape_google_ai_mode 使用 location 或 uule 定位国家/地区以下的区域,而不是使用 state。scrape_google 可以通过 query 和 gl 运行,也可以使用包含查询内容和分页信息的完整 google.com/search URL;它还接受 include.aioverview,用于获取 Google 的 AI Overview。每个工具都可选接受 include 对象,以返回较大的负载字段;若要获得最精简的响应,请不要设置该对象。
scrape_grok 已注册,但 Grok 已停止服务:未登录访客访问 grok.com 时会看到注册墙。cloro API 会以 400(MODEL_UNAVAILABLE)拒绝对此工具的调用,且这些调用不消耗额度。
工作原理
该服务不包含业务逻辑,也不保存任何密钥。每个请求都会将调用者自己的凭证(API 密钥或 OAuth 访问令牌)作为 Bearer 令牌转发给 api.cloro.dev,因此身份验证、额度计费、速率限制和并发控制都由 API 而非本服务执行。在 http 模式下,每个 POST 请求都会创建一个绑定到调用者凭证的新服务和传输,因此同一部署可供所有人使用,且无需保存会话状态。
initialize 和 tools/list 无需凭证即可响应,因此客户端可以在登录前列出工具。首次在未提供凭证时调用 tools/call,会返回 401,并附带指向 /.well-known/oauth-protected-resource/mcp 的 WWW-Authenticate 标头。OAuth 客户端从该地址读取授权服务器信息并执行授权流程。服务会根据颁发者的公开 JWKS 验证令牌签名(代码位于 src/oauth-tokens/),因此无需 Clerk 密钥。
工具输入架构与 API 用于验证的 zod 架构相同,这些架构从 cloro 后端复制到 src/schemas/ 中。由于该软件包未发布,因此采用复制而非导入的方式。如果两者出现不一致,请以API 参考为准。
常见问题
我需要自行托管吗?
不需要。mcp.cloro.dev 已托管,也是大多数人应该选择的方式。此代码库的作用是让你查看实际运行的内容,并在你的配置需要时自行托管。
会消耗额度吗?
抓取工具会调用计费端点,所以会消耗额度,费率与 API 相同。list_countries 和 list_states 读取固定的参考列表,不收费。请参阅定价。
为什么 API 密钥在 URL 中?
因为有几个 MCP 客户端无法设置自定义标头。如果你的客户端支持,请改用 Authorization 标头形式,并避免将密钥放在路径中。如果你的客户端支持 OAuth,请使用 OAuth,这样就无需密钥。URL 路径只接受 API 密钥,不接受 OAuth 令牌。
请求超时时间是多少?
320 秒。同步抓取在服务器端最长可能需要五分钟,因此为客户端预留了充足的时间。对于长时间运行的批处理,请使用异步任务 API,而不是 MCP。
了解更多
- 集成指南: cloro.dev/docs/integrations/mcp
- API 参考: cloro.dev/docs
许可证
MIT。请参阅 LICENSE。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。