# Serwer MCP do wyszukiwania Google dla Claude Desktop, Cursor i innych klientów MCP

> Dodaj wyszukiwanie Google do Claude Desktop, Claude Code i Cursor: 40-liniowy serwer MCP w Pythonie na API SERP SerpCrypto. Bez KYC, płatność kryptowalutą.

- URL: https://serpcrypto.com/pl/docs/mcp/
- Ostatnia aktualizacja: 2026-10-22
- Wydawca: SerpCrypto (https://serpcrypto.com)

Daj dowolnemu klientowi MCP narzędzie `google_search`, które zwraca aktualne wyniki wyszukiwania Google. Serwer to jeden plik Python, który uruchamiasz sam; wywołuje API SerpCrypto i zwraca zwięzły tekst, który model może odczytać.

**Szybka odpowiedź — Jak dodać wyszukiwanie Google do Claude Desktop lub Cursor za pomocą serwera MCP?**

Zapisz poniższy 40-liniowy serwer w Pythonie, zainstaluj `mcp[cli]` i `httpx`, a następnie zarejestruj go w ustawieniach MCP swojego klienta z kluczem API **SerpCrypto** w `env`. Klient otrzyma wtedy narzędzie `google_search`, które zwraca aktualne wyniki wyszukiwania Google. Każde wywołanie narzędzia to jedno wyszukiwanie za 1 kredyt, od 0,30 USD/1K wyszukiwań; kredyty są opłacane kryptowalutą bez KYC.

## Serwer MCP w skrócie

| Atrybut | Wartość |
| --- | --- |
| Język | Python 3.10+ z oficjalnym SDK `mcp` (FastMCP) i `httpx` |
| Transport | stdio: klient uruchamia skrypt i rozmawia z nim |
| Narzędzie | `google_search(query, gl, hl, num_results)` |
| Wyjście | Tekst AI Overview, gdy jest wyświetlany, a następnie tytuł, link i snippet dla każdego wyniku |
| Klucz | Zmienna środowiskowa `SERPCRYPTO_API_KEY`, ustawiana w konfiguracji klienta |
| Koszt | 1 kredyt za każde udane wywołanie narzędzia; błędy są bezpłatne |

## Co robi serwer?

Udostępnia jedno narzędzie, `google_search`, przez Model Context Protocol. Gdy model je wywoła, serwer wysyła jedno zapytanie do `https://serpcrypto.com/api/v1/search`, a następnie zamienia JSON na krótki zwykły tekst: AI Overview, jeśli Google go wyświetliło, oraz najważniejsze wyniki z tytułem, linkiem i snippetem.

Krótki tekst ma znaczenie. Pełna strona wyników w JSON jest długa, a każdy znak odesłany do modelu zużywa kontekst. Serwer zachowuje do dziesięciu wyników i przycina overview do 800 znaków; zmień te limity w kodzie, jeśli Twój klient ma na więcej miejsca.

To kod do skopiowania i wklejenia, nie opublikowany pakiet: nie ma oficjalnego pakietu MCP SerpCrypto do zainstalowania. Plik należy do Ciebie i możesz dodawać narzędzia, na przykład do `engine=google_news`.

*serpcrypto_mcp.py*

```python
"""serpcrypto_mcp.py: an MCP server that gives AI clients a Google search tool.

Install once:  pip install "mcp[cli]" httpx
Run by your MCP client over stdio; the API key comes from the environment.
"""
import os

import httpx
from mcp.server.fastmcp import FastMCP

API_URL = "https://serpcrypto.com/api/v1/search"
mcp = FastMCP("serpcrypto-search")


@mcp.tool()
async def google_search(query: str, gl: str = "us", hl: str = "en", num_results: int = 5) -> str:
    """Search Google and return the top results (title, link, snippet) and the AI Overview text if any.

    gl is a two-letter country code (us, gb, de...), hl a language code (en, de, pt-BR...).
    Each call uses one SerpCrypto search credit.
    """
    headers = {"Authorization": "Bearer " + os.environ["SERPCRYPTO_API_KEY"]}
    params = {"q": query, "gl": gl, "hl": hl}
    async with httpx.AsyncClient(timeout=90) as client:
        r = await client.get(API_URL, params=params, headers=headers)
    if r.status_code != 200:
        return f"Search failed with HTTP {r.status_code}: {r.text[:300]}"
    data = r.json()
    lines = []
    overview = data.get("ai_overview") or {}
    if overview.get("text"):
        lines.append("AI Overview: " + overview["text"][:800])
    for item in data.get("organic_results", [])[: max(1, min(num_results, 10))]:
        lines.append(f"{item['position']}. {item['title']}\n{item['link']}\n{item.get('snippet', '')}")
    return "\n\n".join(lines) or "No results."


if __name__ == "__main__":
    mcp.run()  # stdio transport
```

## Dlaczego narzędzie nazywa się google_search, a nie web_search?

Kilku klientów ma już narzędzie o nazwie `web_search`, które korzysta z własnego dostawcy. Odmienna nazwa pozwala uniknąć kolizji i mówi modelowi, co otrzymuje: wyniki wyszukiwania Google dla wybranego przez siebie kraju i języka. Docstring to opis, który czyta model, więc podaje parametry i koszt wywołania.

## Jak dodać go do Claude Desktop?

Otwórz plik konfiguracyjny `claude_desktop_config.json`: w macOS znajduje się w `~/Library/Application Support/Claude/`, w Windows w `%APPDATA%\Claude\`. Dodaj serwer w sekcji `mcpServers`, z bezwzględną ścieżką do skryptu i swoim kluczem w `env`, a następnie uruchom ponownie Claude Desktop.

Jeśli `python` nie ma na ścieżce widocznej dla Claude Desktop, użyj pełnej ścieżki do interpretera, na przykład tej wewnątrz Twojego środowiska wirtualnego.

*claude_desktop_config.json*

```json
{
  "mcpServers": {
    "serpcrypto-search": {
      "command": "python",
      "args": ["/absolute/path/to/serpcrypto_mcp.py"],
      "env": {
        "SERPCRYPTO_API_KEY": "paste-your-key-here"
      }
    }
  }
}
```

## Jak dodać go do Claude Code i Cursor?

W Claude Code zarejestruj go z terminala poleceniem `claude mcp add`; `-e` ustawia zmienną środowiskową, a wszystko po `--` to polecenie do uruchomienia. W Cursor umieść ten sam blok `mcpServers` co powyżej w `~/.cursor/mcp.json` dla każdego projektu albo w `.cursor/mcp.json` w obrębie jednego projektu.

Inne klienty MCP, które uruchamiają serwery stdio, przyjmują te same trzy rzeczy: polecenie, jego argumenty i zmienne środowiskowe. [Strona OpenClaw](https://serpcrypto.com/pl/docs/openclaw/) pokazuje polecenia dla OpenClaw.

*Claude Code*

```bash
claude mcp add serpcrypto-search \
  -e SERPCRYPTO_API_KEY=paste-your-key-here \
  -- python /absolute/path/to/serpcrypto_mcp.py
```

## Jak bezpiecznie przechowywać klucz API?

Trzymaj go w bloku `env` konfiguracji klienta lub w profilu powłoki, nigdy wewnątrz `serpcrypto_mcp.py`. Dzięki temu skrypt można udostępniać lub zatwierdzać w repozytorium bez klucza. Jeśli klucz wycieknie, unieważnij go w panelu i utwórz nowy: Klucze API, które możesz tworzyć i unieważniać w dowolnym momencie z panelu.

Daj serwerowi MCP osobny klucz. Zużycie na klucz pokaże wtedy, ile wyszukiwań wykonuje asystent, oddzielnie od Twoich skryptów.

## Ile kredytów zużyje asystent?

Jeden za każde udane wywołanie narzędzia. Czat, w którym model wyszukuje trzy razy, kosztuje trzy kredyty. Przy pakiecie 25 000 wyszukiwań za 18,75 USD to tysiące wspomaganych pytań, a Prepaid kredyty wyszukiwania nigdy nie wygasają: niewykorzystane wyszukiwania pozostają na Twoim koncie, dopóki ich nie wykorzystasz.

Aby ograniczyć zużycie, obniż `num_results` (nie zmienia to ceny, ale skraca odpowiedzi) i poleć modelowi w instrukcjach, by wyszukiwał tylko wtedy, gdy potrzebuje świeżych faktów.

## Pytania o MCP

### Czy serwer działa ze zdalnymi klientami MCP?

Ta wersja korzysta ze stdio, więc klient musi uruchamiać go na tej samej maszynie. FastMCP może też serwować przez HTTP; jeśli wystawisz go w sieci, postaw przed nim uwierzytelnianie, bo każdy, kto do niego dotrze, wydaje Twoje kredyty.

### Czy narzędzie może zamiast tego przeszukiwać Bing lub Google News?

Tak. Dodaj argument `engine` lub drugie narzędzie, które wysyła `engine=bing` albo `engine=google_news` w `params`. Każda wyszukiwarka kosztuje tyle samo: 1 kredyt za wyszukiwanie.

### Dlaczego klient zgłasza, że narzędzie zawiodło?

Uruchom skrypt ręcznie tym samym Pythonem, aby zobaczyć błędy. Typowe przyczyny to brakujący pakiet `mcp` lub `httpx`, zła ścieżka w konfiguracji albo pusty `SERPCRYPTO_API_KEY`, przez co API odpowiada `401`.

### Czy do klucza API potrzebuję karty kredytowej lub KYC?

Nie. SerpCrypto sprzedaje przedpłacone kredyty opłacane w BTC, USDT, USDC, ETH, SOL, LTC, bez dowodu, bez selfie i bez dokumentów. Logowanie numerem konta; email jest opcjonalny.

---

SerpCrypto: SerpCrypto to API SERP dla deweloperów i agentów AI, które zwraca wyniki wyszukiwania Google i Bing w formacie JSON, z płatnością kryptowalutą i bez przesyłania dokumentów tożsamości. Przedpłacone kredyty wyszukiwania od 0,30 USD/1K wyszukiwań nigdy nie wygasają. Bez KYC — bez dokumentu, bez selfie, bez dokumentów. Płatność kryptowalutą.
