> ## Documentation Index
> Fetch the complete documentation index at: https://cloro.dev/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# MCP server: give any agent cloro's monitoring tools

> Connect Claude, Cursor, or any MCP client to cloro's hosted MCP server and query ChatGPT, Perplexity, Gemini, Copilot, Google AI Mode, Google Search, and Google News as agent tools.

The cloro [MCP](https://modelcontextprotocol.io) server exposes cloro's [sync monitor endpoints](/docs/guides/making-requests/sync) as tools for any MCP-capable client: [Claude](https://claude.ai), [Claude Code](https://docs.claude.com/en/docs/claude-code), [Cursor](https://cursor.com), or your own agent. Once connected, you can ask your agent to "check whether ChatGPT recommends us for *best SERP API*" and it will call the cloro API and reason over the parsed result: the answer text and the sources it cited.

The server is a thin wrapper over `api.cloro.dev`. It holds no business logic and no secrets: each request carries your own cloro API key, which it forwards as a Bearer token, so the API itself enforces authentication, credit billing, rate limiting, and concurrency limits. Tool input schemas are the same schemas the API validates with, so the MCP contract can't drift from the [API reference](/docs/api-reference/introduction).

## Prerequisites

* An MCP-capable client (Claude Desktop, Claude Code, Cursor, or any other)
* A cloro API key from the [dashboard](https://dashboard.cloro.dev) (see [Authentication](/docs/guides/authentication))

## Connect your client

The hosted server speaks Streamable HTTP at `https://mcp.cloro.dev`. Pass your API key in the URL path so it works even in clients that can't set custom headers:

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

If your client can set headers, you can instead point it at `https://mcp.cloro.dev/mcp` and send your key as `Authorization: Bearer YOUR_CLORO_API_KEY`.

<Tip>
  In Claude Desktop and Cursor, add this block to the app's MCP settings (Settings → Developer / MCP). In Claude Code, run `claude mcp add --transport http cloro https://mcp.cloro.dev/YOUR_CLORO_API_KEY/mcp`.
</Tip>

## Available tools

| Tool                    | Endpoint                                                                      |
| ----------------------- | ----------------------------------------------------------------------------- |
| `scrape_chatgpt`        | [`POST /v1/monitor/chatgpt`](/docs/api-reference/endpoint/monitor-chatgpt)         |
| `scrape_gemini`         | [`POST /v1/monitor/gemini`](/docs/api-reference/endpoint/monitor-gemini)           |
| `scrape_copilot`        | [`POST /v1/monitor/copilot`](/docs/api-reference/endpoint/monitor-copilot)         |
| `scrape_perplexity`     | [`POST /v1/monitor/perplexity`](/docs/api-reference/endpoint/monitor-perplexity)   |
| `scrape_grok`           | [`POST /v1/monitor/grok`](/docs/api-reference/endpoint/monitor-grok)               |
| `scrape_google_ai_mode` | [`POST /v1/monitor/aimode`](/docs/api-reference/endpoint/monitor-aimode)           |
| `scrape_google`         | [`POST /v1/monitor/google`](/docs/api-reference/endpoint/monitor-google)           |
| `scrape_google_news`    | [`POST /v1/monitor/google/news`](/docs/api-reference/endpoint/monitor-google-news) |
| `list_countries`        | [`GET /v1/countries`](/docs/api-reference/endpoint/countries)                      |
| `list_states`           | [`GET /v1/states`](/docs/api-reference/endpoint/states)                            |

The AI assistant tools (`scrape_chatgpt`, `scrape_gemini`, `scrape_copilot`, `scrape_perplexity`, and `scrape_grok`) require a `prompt` and a `country` (ISO 3166-1 alpha-2), and accept an optional `state` for US state-level targeting. `scrape_google_ai_mode` also requires a `prompt` and a `country`, but targets sub-country with `location` or `uule` rather than `state`, and accepts `device`.

`scrape_google_news` requires a `query` and a `country`, and accepts `device` and `pages`.

`scrape_google` runs in one of two modes. Either pass a `query` with a `country` (plus optional `location` or `uule`, `device`, and `pages`), or pass a complete `google.com/search` `url`, which carries the query, location, and pagination itself; in url mode `country` can be derived from the URL's `gl` parameter. It also accepts `include.aioverview` to extract Google's AI Overview and `include.paaAioverview` to hydrate the AI answers in People Also Ask.

Every tool accepts an optional `include` object to add heavier payload fields; leave it unset for the leanest response. Use `list_countries` (optionally filtered by model) and `list_states` (with a `country`) to discover valid geo-targeting codes.

<Note>
  `scrape_grok` is registered, but Grok is [temporarily unavailable](/docs/guides/providers). Calls to it fail until the provider is restored.
</Note>

## Credits and limits

Each tool call runs synchronously and consumes credits at the standard per-provider rates. See [Providers](/docs/guides/providers) and [Billing & credits](/docs/guides/billing). Calls count against your [concurrency limits](/docs/guides/concurrency).

<Note>
  For large batches, such as tracking many prompts across engines, use the [async API](/docs/guides/making-requests/async) directly instead of looping tool calls.
</Note>

## Example prompts

Once connected, ask your agent directly:

* "Ask ChatGPT what the best SERP APIs are and list which vendors it cites."
* "Compare how Perplexity and Copilot answer 'best CRM for startups'. Which sources do they cite?"
* "Does Google's AI Overview for 'ai visibility tracking' mention cloro? Check in the US and Germany."
* "Pull the latest Google News articles about our brand."
