Dokumentacja · Serwer MCP

Pytaj Claude, Cursor i innych asystentów AI o swoje SEO

serp.ac udostępnia zdalny serwer Model Context Protocol (MCP). Połącz go raz, a Twój asystent odpowie na pytania typu „które słowa kluczowe spadły w tym tygodniu?”, „jak często ChatGPT nas poleca?” albo „które płatne linki mają problemy?” bezpośrednio na podstawie Twoich danych w serp.ac — a jeśli na to pozwolisz, doda za Ciebie słowa kluczowe, prompty i linki.

Adres URL serwera
https://serp.ac/api/mcp
Uwierzytelnianie
Authorization: Bearer sk_live_…
Transport
Streamable HTTP (bezstanowy, JSON)

1. Utwórz klucz API

W serp.ac otwórz Ustawienia → API i utwórz klucz (mogą to zrobić tylko właściciel konta i administratorzy). Skopiuj go — jest wyświetlany tylko raz. Serwer MCP korzysta z tych samych kluczy, limitu żądań (120 żądań na minutę na klucz) i limitów co REST API. Każdy klucz daje pełny dostęp do konta, które go utworzyło, więc trzymaj go w tajemnicy, a w razie wycieku unieważnij go na tej samej stronie.

2. Połącz Claude

Claude (claude.ai i aplikacje Claude) — własny konektor

Przejdź do Settings → Connectors → Add custom connector, nazwij go serp.ac i użyj adresu serwera https://serp.ac/api/mcp. Serwer uwierzytelnia każde żądanie Twoim kluczem API wysyłanym jako Authorization: Bearer sk_live_…; jeśli okno konektora w Twoim planie nie pozwala wysłać tego nagłówka, użyj zamiast tego poniższej konfiguracji Claude Desktop.

Claude Desktop — plik konfiguracyjny

Otwórz Settings → Developer → Edit config i dodaj serwer do claude_desktop_config.json. Uruchamia on mostek mcp-remote (wymaga Node.js), który przekazuje Twój klucz jako nagłówek. Następnie uruchom ponownie Claude Desktop.

{
  "mcpServers": {
    "serp-ac": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://serp.ac/api/mcp", "--header", "Authorization:${SERP_AC_AUTH}"],
      "env": { "SERP_AC_AUTH": "Bearer sk_live_..." }
    }
  }
}

Claude Code

claude mcp add --transport http serp-ac https://serp.ac/api/mcp \
  --header "Authorization: Bearer sk_live_..."

3. Połącz Cursor i innych klientów

Cursor: dodaj serwer do ~/.cursor/mcp.json (wszystkie projekty) lub do .cursor/mcp.json w projekcie, a następnie włącz go w Settings → MCP.

{
  "mcpServers": {
    "serp-ac": {
      "url": "https://serp.ac/api/mcp",
      "headers": { "Authorization": "Bearer sk_live_..." }
    }
  }
}

Każdy inny klient MCP (ChatGPT, VS Code, Windsurf, Twój własny agent) działa tak samo, o ile obsługuje transport Streamable HTTP i potrafi wysłać nagłówek Authorization. Klienci obsługujący tylko stdio mogą użyć pokazanego wyżej mostka mcp-remote.

Szybki test z terminala:

curl https://serp.ac/api/mcp \
  -H "Authorization: Bearer sk_live_..." \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

Tryb tylko do odczytu

Narzędzia oznaczone jako Zmienia dane dodają elementy do Twojego konta, a narzędzia oznaczone jako Zużywa limit wykorzystują Twoje miesięczne limity; asystenci są instruowani, by najpierw zapytać Cię o zgodę. Aby udostępnić tylko narzędzia do odczytu, połącz się przez https://serp.ac/api/mcp?readonly=1. Tryb tylko do odczytu to ustawienie połączenia, a nie klucza — klucz zawsze ma pełne uprawnienia konta.

Narzędzia

Każde narzędzie zwraca krótkie podsumowanie oraz te same dane w postaci ustrukturyzowanego JSON. Listy są ograniczone (do 200 wierszy) i zawierają wyłącznie dane Twojego konta. Do projektów można odwoływać się po id lub po domenie.

  • list_projectsOdczyt

    Zwraca listę projektów serp.ac (stron) na tym koncie z ich id, domenami oraz liczbą monitorowanych słów kluczowych, promptów AI i kupionych linków. Wywołaj to najpierw, aby uzyskać id projektów.

  • get_rankingsOdczyt

    Pozycje w Google monitorowanych słów kluczowych projektu: aktualna pozycja, zmiana od poprzedniego sprawdzenia (dodatnia = wzrost), rankujący URL, informacja, czy wyświetla się Google AI Overview i czy cytuje stronę, oraz czas ostatniego sprawdzenia. Opcjonalny filtr tekstu słowa kluczowego i filtr urządzenia.

  • get_ai_visibilityOdczyt

    Widoczność projektu w AI w ChatGPT, Perplexity, Gemini, Claude i Google AI Mode: odsetek odpowiedzi wymieniających markę, wskaźnik cytowań, średnia pozycja, dane dla każdego silnika, macierz prompt × silnik, najczęściej cytowane domeny źródłowe, share of voice oraz inne marki polecane przez asystentów AI.

  • get_backlinks_summaryOdczyt

    Przegląd backlinków projektu: łączna liczba backlinków i domen odsyłających, ranking domeny, udział linków dofollow, nowe linki z ostatnich 30 dni, utracone linki i najsilniejsze domeny odsyłające.

  • list_purchased_linksOdczyt

    Kupione (płatne) linki monitorowane w module Zarządzanie linkami: status (pending, active, issue, lost, expired, cancelled = wstrzymany), wykryte problemy, cena, cykl rozliczeniowy, data następnej płatności / odnowienia i dostawca, a także płatności przypadające w ciągu najbliższych 30 dni. Wszystkie projekty, chyba że podano projekt.

  • get_index_jobOdczyt

    Status zadania sprawdzania indeksacji uruchomionego przez check_index, ze statusem indeksacji każdego URL-a (indexed, not_indexed, queued, error).

  • get_usageOdczyt

    Plan konta i status subskrypcji, limity planu z bieżącym wykorzystaniem (projekty, słowa kluczowe, prompty AI, linki) oraz pozostałe miesięczne limity (zgłoszenia do indeksera, sprawdzenia indeksacji, wyszukiwania danych słów kluczowych).

  • get_maps_rankingsOdczyt

    Monitorowanie pozycji w Mapach Google (lokalna siatka geo) projektu: bez kampanii — każda kampania Maps z najnowszym wskaźnikiem obecności lokalnej (0–100), pokryciem top 10 i średnią pozycją; z kampanią (id lub tekst słowa kluczowego) — pozycja z najnowszego skanu w każdym punkcie siatki, historia skanów, konkurenci z wyższymi pozycjami i local pack.

  • track_keywordsZmienia dane

    rozpoczyna monitorowanie pozycji w Google nowych słów kluczowych w projekcie. Każde nowe słowo kluczowe wlicza się do limitu słów kluczowych SERP w planie; już monitorowane słowa pozostają bez zmian. Zapytaj użytkownika przed dodaniem wielu słów kluczowych.

  • add_ai_promptsZmienia dane

    dodaje prompty (pytania, które ludzie zadają asystentom AI) do monitorowania widoczności projektu w AI; następnie są one uruchamiane zgodnie z harmonogramem. Każdy nowy prompt wlicza się do limitu promptów AI w planie; już monitorowane prompty pozostają bez zmian.

  • add_purchased_linkZmienia dane

    dodaje kupiony (płatny) link do modułu Zarządzanie linkami w projekcie, aby serp.ac sprawdzał go codziennie i przypominał o płatnościach. Wlicza się do limitu monitorowanych linków w planie. Kończy się błędem already_tracked, jeśli taki sam link źródło → cel już istnieje.

  • check_indexZużywa limit

    uruchamia zadanie sprawdzające, czy URL-e są zaindeksowane w Google. Każdy URL zużywa 1 sprawdzenie indeksacji z miesięcznego limitu (potem z kupionych pakietów); jeśli limitu nie wystarcza, nic nie jest pobierane. Zwraca id zadania — wyniki pobierzesz przez get_index_job.

  • get_keyword_dataZużywa limit

    wolumen wyszukiwań, CPC, konkurencja, trudność słowa kluczowego, intencja wyszukiwania i trend z 12 miesięcy dla każdego słowa kluczowego. Każde słowo kluczowe, którego nie ma w pamięci podręcznej, wlicza się do płatnego miesięcznego limitu wyszukiwań danych słów kluczowych (słowa z pamięci podręcznej są darmowe); przy dużych listach najpierw sprawdź get_usage.

Limity i błędy

  • Narzędzia zapisu respektują Twój plan dokładnie tak jak panel i REST API: limity słów kluczowych, promptów i linków, silniki AI objęte planem oraz aktywny plan lub okres próbny.
  • check_index zużywa 1 sprawdzenie indeksacji na URL z miesięcznego limitu, a potem z pakietów; get_keyword_data zużywa miesięczny limit wyszukiwań danych słów kluczowych dla słów, których nie ma w pamięci podręcznej. Gdy limit jest niewystarczający, nic nie jest pobierane.
  • Problemy z wywołaniem (nieznany projekt, nieprawidłowe argumenty, osiągnięty limit) wracają jako błąd narzędzia, który asystent może odczytać. Brakujący lub unieważniony klucz zwraca HTTP 401, zawieszone konto 403, a zbyt wiele żądań 429.

Automatyzujesz bez asystenta AI? Zobacz dokumentację REST API w Ustawienia → API.