← Clip IntentКоманды → REST ≠ MCP

В чём проблема, если «очевидно REST»

Связать «Команды» с классификатором по HTTP — правильно и так уже сделано. Связать «Команды» с моделью Cursor Auto через MCP нельзя: MCP — не REST и не модель. Это два разных разъёма.

Что вы хотите

В буфере новость, цитата из книги или абзац из технической статьи. Вы запускаете команду: система понимает, что это, и предлагает (или сразу делает) событие в Календаре, напоминание или заметку. Мозг для «что это за текст» хочется взять из Cursor в режиме Auto.

REST из «Команд» — это не проблема

Приложение «Команды» умеет только HTTP: «Получить содержимое URL». Поэтому мост такой:

Буфер обмена
   → Команда (iPhone / Mac / Watch)
   → POST /api/classify   { "text": "…" }
   → JSON: calendar | reminder | note
   → «Добавить событие» / «Напоминание» / «Заметка»

Этот REST уже есть в этом проекте. Телефон не обязан знать про MCP.

Где ломается схема «Команды → REST → MCP → Auto»

Три разных вещи часто склеивают в одну:

  1. Модель Auto — «мозг» внутри окна Cursor. У неё нет публичного URL. Её нельзя вызвать действием «Получить содержимое URL».
  2. MCP-сервер — ящик с инструментами (классифицируй текст, верни план для «Команд»). Он не вызывает Auto. Наоборот: Auto, сидя в Cursor, вызывает инструменты MCP.
  3. REST API — то, что понимают «Команды». Это отдельная дверь в ваш классификатор, не в чат Cursor.

Поэтому цепочка

Команды  →  REST  →  MCP-сервер  →  модель Auto

не собирается. REST достучится до MCP-сервера, только если вы сами обернёте его в HTTP. Сервер при этом по-прежнему не «достанет» Auto: модели в нём нет. Auto появляется, только когда открыт Cursor и модель сама решает вызвать инструмент.

MCP по умолчанию — JSON-RPC по stdio (процесс, который запускает Cursor), а не https://…/mcp. Даже если поднять MCP over HTTP/SSE, клиентом всё равно должен быть хост с моделью (Cursor), а не «Команды».

Как тогда получить «мозг», как у Auto, с телефона

  • С телефона всегда: «Команды» → POST /api/classify. Сейчас это правила (даты, «купить…», длинный текст = заметка). Для новости и цитаты из книги это как раз заметка.
  • Мозг уровня Auto на этом же HTTP: не Cursor Auto, а любая chat-модель с ключом (CLIP_INTENT_LLM_URL) и useModel: true. Тот же JSON для «Команд».
  • Именно Auto: только внутри Cursor. Вставляете текст в чат, Auto дергает MCP-инструменты suggest_shortcut_plan / commit_shortcut_plan. С iPhone этот путь недоступен, пока Cursor не даст отдельный Agent API (сейчас это не синхронный classify за 300 мс).

Что делать на практике

  1. Команда на всех устройствах: буфер → POST на этот сервер → создать заметку / событие / напоминание.
  2. Если нужен умный разбор цитат — подключить свою LLM к тому же REST, не MCP.
  3. MCP оставить для работы в Cursor: отладка планов и те же JSON-схемы, что ест команда.

Пошаговая команда: рецепт для «Команд». Живой разбор текста: классификатор.