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_user | scanned-users:lookup | Запрос полной истории сканирований, детектов, статуса бана и предупреждений и связанных аккаунтов пользователя Discord |
| get_user_risk_score | user:risk-score | Получение рассчитанной оценки и уровня риска пользователя Discord |
| create_scan_pin | pins:create | Программное создание PIN сканирования. Только для владельцев Enterprise, принимает аргумент enterpriseId |
| get_scan_pin_status | pins:status | Получение хода сканирования в реальном времени, процента статуса и сводки результатов по вашим PIN |
| get_scan_pin_results | pins:results | Получение результатов сканирования по вашим PIN |
| query_cheater_database | db: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-токены | Ротируются при каждом использовании |