API / Auth / MCP Сложно

WebMCP: MCP поверх HTTP без локальной установки

Что такое WebMCP (MCP over HTTP/SSE), зачем удалённый MCP без установки, минимальный пример, ошибки и как проверить.

Обновлено:

Что это

WebMCP — реализация Model Context Protocol поверх стандартных HTTP/SSE-запросов. В отличие от локального MCP (stdio-транспорт), WebMCP позволяет Claude и другим MCP-клиентам подключаться к удалённому серверу по URL — без установки на машину пользователя. Endpoint обычно публикуется по /mcp или /.well-known/mcp.

Зачем это AI-агентам

Локальный MCP нужно ставить на каждой машине. WebMCP отдаёт MCP-функциональность как SaaS: пользователь добавляет URL в настройки клиента и сразу получает инструменты. Плюсы: единая точка обновления (новые tools прилетают всем сразу), стандартный OAuth 2.0 discovery для авторизации, масштабируемость на всех клиентов.

Минимальный рабочий пример

MCP TypeScript SDK с HTTP/SSE-транспортом:

import { Server } from '@modelcontextprotocol/sdk/server/index.js';
import { SSEServerTransport } from '@modelcontextprotocol/sdk/server/sse.js';

const server = new Server({ name: 'my-mcp', version: '1.0.0' },
  { capabilities: { tools: {} } });

// HTTP endpoint (например, /mcp)
const transport = new SSEServerTransport('/mcp', res);
await server.connect(transport);

Для авторизованного WebMCP добавьте OAuth discovery (/.well-known/oauth-protected-resource) — см. гайд по OAuth Protected Resource.

Правильно vs неправильно

ПравильноНеправильно
Удалённый endpoint по HTTPS (/mcp)Только локальный stdio — недоступен по сети
Анонсирован через MCP Server CardEndpoint есть, но не обнаружить
OAuth discovery для защищённого сервераЗащита есть, но агент не знает, где логиниться
Корректный SSE/HTTP-транспортНестандартный транспорт — клиенты не подключатся

Типичные ошибки

  • Нет MCP Server Card — endpoint работает, но агент его не находит.
  • Защищённый сервер без OAuth discovery — авторизацию не пройти автономно.
  • CORS не настроен — браузерные MCP-клиенты не подключаются.
  • Только stdio — не WebMCP по определению.

Как проверить

⚠️ Проверка webmcp в сканере сейчас в статусе coming soon: полная верификация требует headless-браузера (проверка navigator.modelContext), запланирована на v2. Сейчас чек информационный (вес 0, на балл не влияет). Пока опирайтесь на смежные — MCP Server Card и OAuth Protected Resource, — они уже проверяются.

Источники