Przejdź do głównej treści

Serwer MCP Ocean

Serwer MCP Ocean udostępnia te same dane co REST API przez Model Context Protocol, dzięki czemu agenci AI i klienty obsługujące MCP (Claude Code, Claude.ai, Cursor) mogą wyszukiwać przeskanowanych użytkowników, wyniki ryzyka i rekordy bazy oszustów bez ręcznego pisania wywołań REST.

Endpoint
https://api.anticheat.ac/mcp
Transport
Streamable HTTP (POST tylko, odpowiedzi JSON)
Uwierzytelnianie
OAuth 2.1 z PKCE

Łączenie

Serwer obsługuje Streamable HTTP, więc połączyć się może każdy klient MCP z obsługą tego transportu. Każdy z poniższych klientów sam obsługuje logowanie OAuth - przy pierwszej próbie połączenia otwiera przeglądarkę na stronie autoryzacji Ocean (https://api.anticheat.ac/oauth/authorize, która prowadzi do ekranu zgody), gdzie się logujesz i wybierasz, jakie zakresy przyznać.

Claude Code

Dodaj serwer, a następnie uwierzytelnij się przez /mcp w Claude Code:

claude mcp add --transport http ocean https://api.anticheat.ac/mcp

Albo dodaj go do .mcp.json w swoim projekcie:

{
  "mcpServers": {
    "ocean": {
      "type": "http",
      "url": "https://api.anticheat.ac/mcp"
    }
  }
}

Claude.ai / Claude Desktop

Ustawienia → Konektory → Dodaj własny konektor. Nadaj nazwę Ocean, ustaw URL na https://api.anticheat.ac/mcp, następnie Połącz i dokończ logowanie do Ocean. Konfiguracja JSON nie jest potrzebna.

Cursor

Dodaj do ~/.cursor/mcp.json (globalnie) lub .cursor/mcp.json (projekt):

{
  "mcpServers": {
    "ocean": {
      "url": "https://api.anticheat.ac/mcp"
    }
  }
}

Następnie w Ustawieniach Cursor → MCP kliknij Zaloguj się obok serwera, gdy pokaże „Needs login”.

VS Code (GitHub Copilot agent mode)

Dodaj do .vscode/mcp.json:

{
  "servers": {
    "ocean": {
      "type": "http",
      "url": "https://api.anticheat.ac/mcp"
    }
  }
}

Uruchom serwer z edytora; VS Code poprosi o logowanie OAuth.

Windsurf

Dodaj do ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "ocean": {
      "serverUrl": "https://api.anticheat.ac/mcp"
    }
  }
}

Gemini CLI

Dodaj do ~/.gemini/settings.json:

{
  "mcpServers": {
    "ocean": {
      "httpUrl": "https://api.anticheat.ac/mcp"
    }
  }
}

Dowolny inny klient MCP

Wskaż na https://api.anticheat.ac/mcp. Klient musi obsługiwać Streamable HTTP oraz OAuth 2.1 z PKCE, a także Dynamic Client Registration lub Client ID Metadata Documents - wykrywanie zaczyna się od https://api.anticheat.ac/.well-known/oauth-protected-resource/mcp. Aby ręcznie debugować połączenie, użyj MCP Inspector:

npx @modelcontextprotocol/inspector

Następnie wybierz transport Streamable HTTP i wpisz powyższy URL.

Narzędzia

Każde narzędzie odpowiada temu samemu zakresowi uprawnień co jego endpoint REST. Wywołanie narzędzia kończy się błędem, jeśli konto stojące za połączeniem nie przyznało odpowiedniego zakresu.

NarzędzieZakresOpis
lookup_scanned_userscanned-users:lookupPobierz pełną historię skanowań, wykrycia, status bana/ostrzeżenia i powiązane konta użytkownika Discord
get_user_risk_scoreuser:risk-scorePobierz obliczony wynik i poziom ryzyka użytkownika Discord
create_scan_pinpins:createTwórz PIN-y skanowania programowo. Tylko dla właścicieli Enterprise, przyjmuje argument enterpriseId
get_scan_pin_statuspins:statusPobierz postęp skanowania w czasie rzeczywistym, procent statusu i podsumowanie wyników dla swoich PIN-ów
get_scan_pin_resultspins:resultsPobierz wyniki skanowania własnych PIN-ów
query_cheater_databasedb:query (dostęp do bazy)Przeszukaj bazę oszustów po ID Discord: profil społeczności, wyszukiwanie w sieci i dopasowania skanowań Ocean
get_client_versionbrakOdczytaj aktualnie aktywną wersję klienta Ocean

Zakresy podlegają tym samym zasadom licencji co klucze API

Przyznanie zakresu na ekranie zgody OAuth nie omija sprawdzenia licencji. db:query można przyznać tylko kontom z aktywnym planem DB Access, miejscem w bazie Enterprise lub rolą staff, a pins:create można przyznać tylko kontom będącym właścicielami aktywnego Enterprise, wymaga też argumentu enterpriseId przy każdym wywołaniu.

Limity i rozłączanie

LimitWartość
Limit żądań1000 żądań na godzinę na konto (liczy się każdy POST do /mcp w tym initialize i tools/list; 429 po przekroczeniu)

Połączenie MCP możesz w każdej chwili odwołać w Ustawienia → Połączone aplikacje w panelu Ocean.

Rozwiązywanie problemów

ObjawZnaczenie
401 z nagłówkiem WWW-Authenticate Brak access tokena lub wygasł. Połącz serwer ponownie (większość klientów odświeża token automatycznie; jeśli nie, usuń serwer i dodaj go ponownie)
Wywołanie narzędzia zwraca isError ze wskazaniem zakresuPołączenie autoryzowano bez tego zakresu. Rozłącz i połącz ponownie, przyznając uprawnienie na ekranie zgody
create_scan_pin kończy się błędem uprawnieńWymaga argumentu enterpriseId i działa tylko dla kont będących właścicielami tego aktywnego Enterprise
429Osiągnięto limit 1000 żądań na godzinę na konto; poczekaj na reset okna

Szczegóły OAuth dla implementujących

Budujesz własnego klienta MCP dla Ocean? Serwer implementuje OAuth 2.1 z obowiązkowym PKCE (S256) i jest zgodny ze specyfikacją autoryzacji MCP.

SzczegółyWartość
Metadane serwera autoryzacjihttps://api.anticheat.ac/.well-known/oauth-authorization-server
Metadane chronionego zasobuhttps://api.anticheat.ac/.well-known/oauth-protected-resource/mcp
Rejestracja klientaDynamic Client Registration dla klientów publicznych lub Client ID Metadata Documents
PKCEWymagane, S256
Czas życia access tokena15 minut
Refresh tokenyRotowane przy każdym użyciu