> Searlo API Docs — MCP Server
> Source: https://searlo.tech/docs#mcp-server
> Full docs: https://searlo.tech/docs/full.md

# MCP Server

Connect AI agents like Claude, Cursor, VS Code Copilot, and Windsurf to Searlo via Model Context Protocol (MCP).

### Endpoint

```
https://api.searlo.tech/api/v1/mcp
```

### Transport

Streamable HTTP — the latest MCP specification. No stdio, no Docker, no local bridge needed.

### Authentication

Use your API key in the `X-API-Key` header. The same key works for both MCP and the REST API.

### Server Info

`GET /mcp/info` (no key needed) returns the server's name, version and transport, and the tools it exposes with their credit costs. Read it rather than hard-coding the list below.

### Available Tools

| Tool | Credits | Description |
|------|---------|-------------|
| `web_search` | 1 | Google web search: organic results, knowledge panel, featured snippet |
| `news_search` | 1 | Google News articles with publisher and date |
| `image_search` | 1 | Google Images: image URL, thumbnail, dimensions, format and source page |
| `shopping_search` | 1 | Google Shopping listings: price, merchant, shipping, rating |
| `maps_search` | 1 | Google Maps places: rating, reviews, address, phone, hours, booking link |
| `scholar_search` | 1 | Google Scholar works, with citation counts and the ids to walk the citation graph |
| `ai_answer` | 4–8 | An AI answer engine's answer and the sources it cited: chatgpt 8 (default), gemini 4, copilot 8 |
| `scrape` | 1 | One page as markdown, text, html, links, images, headings, tables or JSON-LD |
| `site_map` | 1 | The URLs a site publishes, from robots.txt and its sitemaps |
| `search_and_scrape` | 1 + 1 per page read | Web search, then the top results read as markdown |
| `check_balance` | 0 | Current credit balance and low-balance status |
| `get_usage_stats` | 0 | Credit usage for a period |
| `get_search_history` | 0 | Your past searches |
| `get_search_stats` | 0 | Search analytics: timeline, top queries, type distribution |
| `get_transaction_history` | 0 | Credit transactions |
| `list_api_keys` | 0 | Your API keys, masked |

A failed tool call is not charged. `toon` output (the default on the search tools) is a compact tabular format that takes about 63% fewer tokens than the same results as JSON.

### Tool Parameters

- `web_search`: `query` (required, 1–2048 chars), `num` (1–10, default 10), `page` (default 1), `gl` (2-letter country), `lr` (results language, e.g. `en`), `safe` (`off`, `medium`, `high`), `format` (`toon`, `json` or `enhanced`)
- `news_search`: `query` (required), `num` (1–10), `page` (1–100), `gl`, `hl`, `dateRestrict` (`d7` = last 7 days; also `w`, `m`, `y`), `format` (`toon` or `json`)
- `image_search`: `query` (required), `num` (1–10), `page` (1–100), `size` (`icon` to `huge`), `imgType` (`photo`, `clipart`, `lineart`, `face`, `stock`, `animated`), `imgColorType` (`color`, `gray`, `mono`, `trans`), `gl`, `hl`, `format`
- `shopping_search`: `query` (required, 1–500 chars), `num` (1–60, default 55), `gl`, `hl`, `format`
- `maps_search`: `query` (required, 1–500 chars), `num` (1–20, default 20), `page`, `gl`, `hl`, `ll` (Google's `@lat,lng,zoomz` form, e.g. `@30.27,-97.74,13z`) or `lat` / `lng` / `zoom` (1–21), `format`
- `scholar_search`: `query` (required, 1–500 chars), `num` (1–20, default 10), `page`, `hl`, `yearFrom`, `yearTo`, `sortByDate`, `includePatents`, `includeCitations`, `cluster` (all versions of a work), `cites` (works citing it), `format`
- `ai_answer`: `query` (required, 1–500 chars), `engine` (`chatgpt`, the default, `copilot` or `gemini`; `perplexity` is paused, and `aimode` and `grok` are switched off), `cache` (default true)
- `scrape`: `url` (required), `formats` (up to 8 of `markdown`, `text`, `html`, `links`, `images`, `headings`, `tables`, `json_ld`; default `["markdown"]`), `onlyMainContent` (default true), `render`, `includeLinks`, `includeImages`, `excludeSelectors` (up to 20), `waitForSelector`, `timeout` (1000–60000 ms), `cache` (default true), `maxChars` (500–200000)
- `site_map`: `url` (required), `limit` (1–5000, default 1000), `search` (keep URLs containing this), `includeSubdomains`, `sitemapOnly`, `cache`
- `search_and_scrape`: `query` (required, 1–500 chars), `limit` (results to read, 1–20, default 5), `scrape` (`false` returns the search only, for 1 credit), `formats` (`markdown`, `text`, `html`, `json_ld`), `onlyMainContent`, `render`, `gl`, `hl`, `cache`, `maxChars`
- `get_usage_stats`: `days` (1–365, default 30)
- `get_search_history`: `limit` (1–10, default 10), `page` (default 1), `searchType` (`web`, `image` or `news`)
- `get_search_stats`: `startDate`, `endDate` (ISO dates), `groupBy` (`hour`, `day`, `week` or `month`; default `day`)
- `get_transaction_history`: `limit` (1–10, default 10), `page` (default 1), `type` (`deduction`, `grant`, `refund` or `purchase`)
- `check_balance`, `list_api_keys`: no parameters

### Quick Setup

Paste the config into your AI client's MCP settings file and replace `sk_your_api_key` with your key.

## Code Examples

### Claude Desktop

```json
{
  "mcpServers": {
    "searlo": {
      "url": "https://api.searlo.tech/api/v1/mcp",
      "headers": {
        "X-API-Key": "sk_your_api_key"
      }
    }
  }
}
```

### Cursor

```json
{
  "mcpServers": {
    "searlo": {
      "url": "https://api.searlo.tech/api/v1/mcp",
      "headers": {
        "X-API-Key": "sk_your_api_key"
      }
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "searlo": {
      "type": "http",
      "url": "https://api.searlo.tech/api/v1/mcp",
      "headers": {
        "X-API-Key": "sk_your_api_key"
      }
    }
  }
}
```

### Windsurf

```json
{
  "mcpServers": {
    "searlo": {
      "serverUrl": "https://api.searlo.tech/api/v1/mcp",
      "headers": {
        "X-API-Key": "sk_your_api_key"
      }
    }
  }
}
```


---
*From https://searlo.tech/docs — see full docs at https://searlo.tech/docs/full.md*