Перейти к основному содержимому

MCP-сервер Ocean

MCP-сервер Ocean предоставляет те же данные, что и REST API, через Model Context Protocol, поэтому ИИ-агенты и клиенты с поддержкой MCP (Claude Code, Claude.ai, Cursor) могут запрашивать проверенных пользователей, оценки риска и записи базы читеров без ручных REST-вызовов.

Эндпоинт
https://api.anticheat.ac/mcp
Транспорт
Streamable HTTP (POST только, ответы в JSON)
Аутентификация
OAuth 2.1 с PKCE

Подключение

Сервер работает по Streamable HTTP, поэтому подключиться может любой клиент MCP с поддержкой этого транспорта. Каждый клиент ниже сам проводит вход через OAuth: при первой попытке подключения в браузере открывается страница авторизации Ocean (https://api.anticheat.ac/oauth/authorize, которая ведёт на экран согласия), где вы входите и выбираете, какие области доступа предоставить.

Claude Code

Добавьте сервер, затем пройдите аутентификацию с помощью /mcp внутри Claude Code:

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

Или добавьте его в .mcp.json в вашем проекте:

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

Claude.ai / Claude Desktop

Настройки → Коннекторы → Добавить пользовательский коннектор. Назовите его Ocean, укажите URL https://api.anticheat.ac/mcp, затем нажмите Подключить и завершите вход в Ocean. Настраивать JSON не нужно.

Cursor

Добавьте в ~/.cursor/mcp.json (глобально) или .cursor/mcp.json (проект):

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

Затем в Настройки Cursor → MCP нажмите Вход рядом с сервером, когда он покажет «Needs login».

VS Code (GitHub Copilot agent mode)

Добавьте в .vscode/mcp.json:

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

Запустите сервер из редактора; VS Code предложит войти через OAuth.

Windsurf

Добавьте в ~/.codeium/windsurf/mcp_config.json:

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

Gemini CLI

Добавьте в ~/.gemini/settings.json:

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

Любой другой клиент MCP

Укажите https://api.anticheat.ac/mcp. Клиенту нужны поддержка Streamable HTTP и OAuth 2.1 с PKCE, а также Dynamic Client Registration или Client ID Metadata Documents; обнаружение начинается с https://api.anticheat.ac/.well-known/oauth-protected-resource/mcp. Чтобы отладить подключение вручную, используйте MCP Inspector:

npx @modelcontextprotocol/inspector

Затем выберите транспорт Streamable HTTP и введите URL выше.

Инструменты

Каждый инструмент соответствует той же области доступа, что и его REST-эндпоинт. Вызов инструмента завершится ошибкой, если аккаунт, стоящий за подключением, не предоставил нужную область.

ИнструментОбластьОписание
lookup_scanned_userscanned-users:lookupЗапрос полной истории сканирований, детектов, статуса бана и предупреждений и связанных аккаунтов пользователя Discord
get_user_risk_scoreuser:risk-scoreПолучение рассчитанной оценки и уровня риска пользователя Discord
create_scan_pinpins:createПрограммное создание PIN сканирования. Только для владельцев Enterprise, принимает аргумент enterpriseId
get_scan_pin_statuspins:statusПолучение хода сканирования в реальном времени, процента статуса и сводки результатов по вашим PIN
get_scan_pin_resultspins:resultsПолучение результатов сканирования по вашим PIN
query_cheater_databasedb:query (доступ к БД)Поиск в базе читеров по Discord ID: профиль сообщества, сетевой поиск и совпадения сканирований Ocean
get_client_versionнетЧтение текущей активной версии клиента Ocean

Области доступа подчиняются тем же правилам лицензий, что и API-ключи

Предоставление области на экране согласия OAuth не обходит проверку лицензии. db:query можно предоставить только аккаунтам с активным планом DB Access, местом базы данных Enterprise или ролью сотрудника, а pins:create можно предоставить только аккаунтам, владеющим активным Enterprise, и требуется аргумент enterpriseId при каждом вызове.

Лимиты и отключение

ЛимитЗначение
Лимит запросов1 000 запросов в час на аккаунт (учитывается каждый POST на /mcp , включая initialize и tools/list; 429 при превышении)

Отозвать подключение MCP можно в любой момент в разделе Настройки → Подключённые приложения в дашборде Ocean.

Устранение неполадок

СимптомЗначение
401 с заголовком WWW-Authenticate Токен доступа отсутствует или истёк. Переподключите сервер (большинство клиентов обновляют его автоматически; если нет, удалите сервер и добавьте заново)
Вызов инструмента возвращает isError с названием области доступаПодключение было авторизовано без этой области. Отключитесь и подключитесь заново, предоставив разрешение на экране согласия
create_scan_pin завершается ошибкой разрешенияТребуется аргумент enterpriseId и работает только для аккаунтов, владеющих этим активным Enterprise
429Достигнут лимит 1 000 запросов в час на аккаунт; дождитесь сброса окна

Сведения об OAuth для разработчиков

Создаёте собственный клиент MCP для Ocean? Сервер реализует OAuth 2.1 с обязательным PKCE (S256) и следует спецификации авторизации MCP.

ПодробностиЗначение
Метаданные сервера авторизацииhttps://api.anticheat.ac/.well-known/oauth-authorization-server
Метаданные защищённого ресурсаhttps://api.anticheat.ac/.well-known/oauth-protected-resource/mcp
Регистрация клиентаDynamic Client Registration для публичных клиентов или Client ID Metadata Documents
PKCEОбязательно, S256
Срок жизни токена доступа15 минут
Refresh-токеныРотируются при каждом использовании