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 (
POSTtylko, 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ędzie | Zakres | Opis |
|---|---|---|
| lookup_scanned_user | scanned-users:lookup | Pobierz pełną historię skanowań, wykrycia, status bana/ostrzeżenia i powiązane konta użytkownika Discord |
| get_user_risk_score | user:risk-score | Pobierz obliczony wynik i poziom ryzyka użytkownika Discord |
| create_scan_pin | pins:create | Twórz PIN-y skanowania programowo. Tylko dla właścicieli Enterprise, przyjmuje argument enterpriseId |
| get_scan_pin_status | pins:status | Pobierz postęp skanowania w czasie rzeczywistym, procent statusu i podsumowanie wyników dla swoich PIN-ów |
| get_scan_pin_results | pins:results | Pobierz wyniki skanowania własnych PIN-ów |
| query_cheater_database | db: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_version | brak | Odczytaj 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
| Limit | Wartość |
|---|---|
| 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
| Objaw | Znaczenie |
|---|---|
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 zakresu | Połą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 |
429 | Osią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óły | Wartość |
|---|---|
| Metadane serwera autoryzacji | https://api.anticheat.ac/.well-known/oauth-authorization-server |
| Metadane chronionego zasobu | https://api.anticheat.ac/.well-known/oauth-protected-resource/mcp |
| Rejestracja klienta | Dynamic Client Registration dla klientów publicznych lub Client ID Metadata Documents |
| PKCE | Wymagane, S256 |
| Czas życia access tokena | 15 minut |
| Refresh tokeny | Rotowane przy każdym użyciu |