# Claude Desktop, Cursor ve diğer MCP client'ları için Google arama MCP sunucusu

> Claude Desktop, Claude Code, Cursor ve diğer MCP client'larına Google araması ekleyin: SerpCrypto SERP API ile 40 satırlık Python MCP sunucusu.

- URL: https://serpcrypto.com/tr/docs/mcp/
- Son güncelleme: 2026-10-22
- Yayıncı: SerpCrypto (https://serpcrypto.com)

Herhangi bir MCP client'a canlı Google sonuçları döndüren bir `google_search` aracı verin. Sunucu, kendiniz çalıştırdığınız tek bir Python dosyasıdır; SerpCrypto API'sini çağırır ve bir modelin okuyabileceği kısa metin döndürür.

**Hızlı yanıt — Bir MCP sunucusuyla Claude Desktop veya Cursor'a Google aramasını nasıl eklerim?**

Aşağıdaki 40 satırlık Python sunucusunu kaydedin, `mcp[cli]` ve `httpx` kurun ve client'ınızın MCP ayarlarında bunu **SerpCrypto** API anahtarınızla `env` içinde kaydedin. Client daha sonra canlı Google sonuçları döndüren bir `google_search` aracı alır. Her araç çağrısı $0,30/1K arama itibarıyla 1 kredilik bir aramadır; krediler KYC olmadan kripto ile ödenir.

## MCP sunucusuna genel bakış

| Özellik | Değer |
| --- | --- |
| Dil | Resmi `mcp` SDK (FastMCP) ve `httpx` ile Python 3.10+ |
| Taşıma | stdio: client betiği başlatır ve onunla konuşur |
| Araç | `google_search(query, gl, hl, num_results)` |
| Çıktı | Gösterildiğinde AI Overview metni, ardından her sonuç için başlık, bağlantı ve snippet |
| Anahtar | Client yapılandırmasında ayarlanan `SERPCRYPTO_API_KEY` ortam değişkeni |
| Maliyet | Başarılı her araç çağrısı için 1 kredi; hatalar ücretsizdir |

## Sunucu ne yapar?

Model Context Protocol üzerinden tek bir aracı, `google_search` aracını sunar. Model bunu çağırdığında, sunucu `https://serpcrypto.com/api/v1/search` adresine bir istek gönderir, ardından JSON'u kısa düz metne dönüştürür: Google bir tane gösterdiyse AI Overview ve her biri başlık, bağlantı ve snippet ile en iyi sonuçlar.

Kısa metin önemlidir. JSON biçimindeki tam bir sonuç sayfası uzundur ve modele geri gönderilen her karakter context kullanır. Sunucu en fazla on sonuç tutar ve overview'ı 800 karakterde keser; client'ınızda daha fazla yer varsa kodda bu sınırları değiştirin.

Bu, yayımlanmış bir paket değil, kopyala-yapıştır koddur: yüklenecek resmi bir SerpCrypto MCP paketi yoktur. Dosya size aittir ve örneğin `engine=google_news` için bir araç ekleyebilirsiniz.

*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
```

## Araç neden web_search değil de google_search olarak adlandırılmış?

Birkaç client zaten kendi sağlayıcısını kullanan `web_search` adında bir araç sunuyor. Farklı bir ad çakışmayı önler ve modele ne aldığını söyler: kendi seçtiği bir ülke ve dil için Google sonuçları. Docstring, modelin okuduğu açıklamadır; bu nedenle parameter'leri ve bir çağrının maliyetini belirtir.

## Claude Desktop'a nasıl eklerim?

Yapılandırma dosyasını, `claude_desktop_config.json` dosyasını açın: macOS'te `~/Library/Application Support/Claude/` içindedir, Windows'ta `%APPDATA%\Claude\` içinde. Sunucuyu `mcpServers` altına, betiğin mutlak yolu ve anahtarınız `env` içinde olacak şekilde ekleyin, ardından Claude Desktop'ı yeniden başlatın.

`python`, Claude Desktop'ın gördüğü path üzerinde değilse, yorumlayıcının tam yolunu kullanın, örneğin sanal ortamınızın içindekini.

*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"
      }
    }
  }
}
```

## Claude Code ve Cursor'a nasıl eklerim?

Claude Code'da terminalden `claude mcp add` ile kaydedin; `-e` ortam değişkenini ayarlar ve `--` sonrasındaki her şey çalıştırılacak komuttur. Cursor'da yukarıdaki aynı `mcpServers` bloğunu her proje için `~/.cursor/mcp.json` içine veya tek bir projede `.cursor/mcp.json` içine koyun.

stdio sunucuları başlatan diğer MCP istemcileri de aynı üç şeyi alır: bir komut, argümanları ve ortam değişkenleri. [OpenClaw sayfası](https://serpcrypto.com/tr/docs/openclaw/) OpenClaw için komutları gösterir.

*Claude Code*

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

## API anahtarını nasıl güvende tutarım?

İstemci yapılandırmasının `env` bloğunda veya kabuk profilinizde tutun, asla `serpcrypto_mcp.py` içinde tutmayın. Böylece betik anahtar olmadan paylaşılabilir veya commit edilebilir. Bir anahtar sızarsa panelden iptal edin ve yeni bir tane oluşturun: Dashboard'ınızdan istediğiniz zaman oluşturup iptal edebileceğiniz API anahtarları.

MCP sunucusuna kendi anahtarını verin. Böylece anahtar başına kullanım, betiklerinizden ayrı olarak asistanın kaç arama yaptığını gösterir.

## Bir asistan kaç kredi kullanır?

Başarılı olan her tool çağrısı için bir tane. Modelin üç kez arama yaptığı bir sohbet üç krediye mal olur. $18,75 fiyatlı 25.000 arama paketinde bu binlerce destekli soru demektir ve Ön ödemeli arama kredileri hiçbir zaman sona ermez: kullanılmayan aramalar siz kullanana kadar hesabınızda kalır.

Kullanımı sınırlamak için `num_results` değerini düşürün (fiyatı değiştirmez ama yanıtları kısaltır) ve talimatlarınızda modele yalnızca güncel bilgilere ihtiyaç duyduğunda arama yapmasını söyleyin.

## MCP soruları

### Sunucu uzak MCP istemcileriyle çalışır mı?

Bu sürüm stdio kullanır, dolayısıyla istemci onu aynı makinede çalıştırmalıdır. FastMCP ayrıca HTTP üzerinden de hizmet verebilir; bir ağda açığa çıkarırsanız önüne kimlik doğrulama koyun, çünkü ona ulaşan herkes kredilerinizi harcar.

### Tool bunun yerine Bing veya Google News'te arama yapabilir mi?

Evet. Bir `engine` argümanı veya `params` içinde `engine=bing` ya da `engine=google_news` gönderen ikinci bir tool ekleyin. Her engine arama başına aynı 1 krediye mal olur.

### İstemci neden tool başarısız oldu diyor?

Hataları görmek için betiği aynı Python ile elle çalıştırın. Olağan nedenler eksik bir `mcp` veya `httpx` paketi, yapılandırmada yanlış bir yol veya API'nin `401` yanıtını vermesine yol açan boş bir `SERPCRYPTO_API_KEY` değeridir.

### API anahtarı için kredi kartı veya KYC gerekiyor mu?

Hayır. SerpCrypto, BTC, USDT, USDC, ETH, SOL, LTC ile ödenen ön ödemeli krediler satar; kimlik yok, selfie yok, belge yok. Hesap numarasıyla giriş; email isteğe bağlı.

---

SerpCrypto: SerpCrypto, Google ve Bing sonuçlarını JSON olarak döndüren, geliştiriciler ve AI agent'lar için bir SERP API'dir; kripto ile ödeme yapılır, kimlik yüklemek gerekmez. $0,30/1K arama ön ödemeli arama kredisinin süresi asla dolmaz. KYC olmadan — kimlik yok, selfie yok, belge yok. Kripto ile ödeme yapın.
