Ocean MCP Server
Der Ocean-MCP-Server stellt dieselben Daten wie die REST API bereit, über das Model Context Protocol, sodass KI-Agenten und MCP-fähige Clients (Claude Code, Claude.ai, Cursor) gescannte Nutzer, Risikowerte und Cheater-Datenbank-Einträge nachschlagen können, ohne REST-Aufrufe von Hand zu schreiben.
- Endpunkt
https://api.anticheat.ac/mcp- Transport
- Streamable HTTP (
POSTnur, JSON-Antworten) - Authentifizierung
- OAuth 2.1 mit PKCE
Verbinden
Der Server spricht Streamable HTTP, daher kann sich jeder MCP-Client verbinden, der diesen Transport unterstützt. Jeder der folgenden Clients übernimmt den OAuth-Login selbst – der erste Verbindungsversuch öffnet deinen Browser auf der Autorisierungsseite von Ocean (https://api.anticheat.ac/oauth/authorizedie dich zum Zustimmungsbildschirm weiterleitet), wo du dich anmeldest und auswählst, welche Geltungsbereiche du erteilst.
Claude Code
Füge den Server hinzu und authentifiziere dich dann mit /mcp in Claude Code:
claude mcp add --transport http ocean https://api.anticheat.ac/mcp
Oder füge ihn hinzu zu .mcp.json in deinem Projekt:
{
"mcpServers": {
"ocean": {
"type": "http",
"url": "https://api.anticheat.ac/mcp"
}
}
}Claude.ai / Claude Desktop
Einstellungen → Connectors → Benutzerdefinierten Connector hinzufügen. Nenne ihn Oceansetze die URL auf https://api.anticheat.ac/mcp, dann Verbinden und schließe den Ocean-Login ab. Keine JSON-Konfiguration nötig.
Cursor
Hinzufügen zu ~/.cursor/mcp.json (global) oder .cursor/mcp.json (Projekt):
{
"mcpServers": {
"ocean": {
"url": "https://api.anticheat.ac/mcp"
}
}
}Klicke dann in den Cursor-Einstellungen unter MCP auf Anmeldung neben dem Server, sobald er „Needs login“ anzeigt.
VS Code (GitHub Copilot agent mode)
Hinzufügen zu .vscode/mcp.json:
{
"servers": {
"ocean": {
"type": "http",
"url": "https://api.anticheat.ac/mcp"
}
}
}Starte den Server aus dem Editor; VS Code fordert zum OAuth-Login auf.
Windsurf
Hinzufügen zu ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"ocean": {
"serverUrl": "https://api.anticheat.ac/mcp"
}
}
}Gemini CLI
Hinzufügen zu ~/.gemini/settings.json:
{
"mcpServers": {
"ocean": {
"httpUrl": "https://api.anticheat.ac/mcp"
}
}
}Jeder andere MCP-Client
Richte ihn auf https://api.anticheat.ac/mcpaus. Der Client benötigt Streamable-HTTP-Unterstützung und OAuth 2.1 mit PKCE und muss entweder Dynamic Client Registration oder Client ID Metadata Documents unterstützen – die Discovery beginnt bei https://api.anticheat.ac/.well-known/oauth-protected-resource/mcpUm eine Verbindung von Hand zu debuggen, nutze den MCP Inspector:
npx @modelcontextprotocol/inspector
Wähle dann den Transport Streamable HTTP und gib die obige URL ein.
Tools
Jedes Tool entspricht demselben Berechtigungsumfang wie sein REST-Endpunkt. Ein Tool-Aufruf schlägt fehl, wenn das Konto hinter der Verbindung den passenden Geltungsbereich nicht erteilt hat.
| Tool | Geltungsbereich | Beschreibung |
|---|---|---|
| lookup_scanned_user | scanned-users:lookup | Vollständigen Scan-Verlauf, Erkennungen, Bann-/Warnstatus und verwandte Konten eines Discord-Nutzers abfragen |
| get_user_risk_score | user:risk-score | Berechneten Risikowert und die Stufe eines Discord-Nutzers abrufen |
| create_scan_pin | pins:create | Scan-PINs programmatisch erstellen. Nur für Enterprise-Eigentümer, erwartet ein enterpriseId |
| get_scan_pin_status | pins:status | Scan-Fortschritt in Echtzeit, Statusprozentsatz und Ergebniszusammenfassung für deine PINs abrufen |
| get_scan_pin_results | pins:results | Scan-Ergebnisse deiner eigenen PINs abrufen |
| query_cheater_database | db:query (DB-Zugriff) | Cheater-Datenbank per Discord-ID durchsuchen: Community-Profil, Netzwerkabfrage und Ocean-Scan-Treffer |
| get_client_version | keine | Aktuell aktive Ocean-Client-Version lesen |
Geltungsbereiche folgen denselben Lizenzregeln wie API-Schlüssel
Das Erteilen eines Geltungsbereichs auf dem OAuth-Zustimmungsbildschirm umgeht die zugrunde liegende Lizenzprüfung nicht. db:query kann nur Konten erteilt werden, die einen aktiven DB-Access-Plan, einen Enterprise-Datenbankplatz oder eine Staff-Rolle haben, und pins:create kann nur Konten erteilt werden, die ein aktives Enterprise besitzen, und erfordert bei jedem Aufruf das enterpriseId Argument.
Limits und Trennen
| Limit | Wert |
|---|---|
| Rate-Limit | 1.000 Anfragen pro Stunde und Konto (jeder POST an /mcp zählt, einschließlich initialize und tools/list; 429 bei Überschreitung) |
Widerrufe eine MCP-Verbindung jederzeit unter Einstellungen → Verbundene Apps im Ocean-Dashboard.
Fehlerbehebung
| Symptom | Bedeutung |
|---|---|
401 mit einem WWW-Authenticate | Zugriffstoken fehlt oder ist abgelaufen. Verbinde den Server neu (die meisten Clients aktualisieren automatisch; falls nicht, entferne ihn und füge ihn erneut hinzu) |
Tool-Aufruf liefert isError mit Nennung eines Geltungsbereichs | Die Verbindung wurde ohne diesen Geltungsbereich autorisiert. Trenne sie und verbinde dich neu, wobei du die Berechtigung auf dem Zustimmungsbildschirm erteilst |
create_scan_pin schlägt mit einem Berechtigungsfehler fehl | Es erfordert das Argument enterpriseId und funktioniert nur für Konten, die dieses aktive Enterprise besitzen |
429 | Das Limit von 1.000 Anfragen pro Stunde und Konto ist erreicht; warte, bis das Zeitfenster zurückgesetzt wird |
OAuth-Details für Implementierer
Du baust deinen eigenen MCP-Client für Ocean? Der Server implementiert OAuth 2.1 mit verpflichtendem PKCE (S256) und folgt der MCP-Autorisierungsspezifikation.
| Detail | Wert |
|---|---|
| Metadaten des Autorisierungsservers | https://api.anticheat.ac/.well-known/oauth-authorization-server |
| Metadaten der geschützten Ressource | https://api.anticheat.ac/.well-known/oauth-protected-resource/mcp |
| Client-Registrierung | Dynamic Client Registration für öffentliche Clients oder Client ID Metadata Documents |
| PKCE | Erforderlich, S256 |
| Lebensdauer des Zugriffstokens | 15 Minuten |
| Refresh-Tokens | Bei jeder Verwendung rotiert |