Skip to main content
Glama

cnvs-whiteboard-skills

Набор навыков агента (Agent Skills) и обнаружение MCP-сервера для cnvs.app — бесплатной совместной онлайн-доски в реальном времени без регистрации. Любой ИИ-агент может читать, писать, рисовать, создавать диаграммы и подписываться на живые правки людей на общей канве — либо через размещённый MCP-сервер, либо через REST-фолбэк.

Работает с Claude Code, Claude Desktop, Cursor, OpenCode / OpenAI Codex, Aider (с MCP-плагином), любым другим клиентом, поддерживающим MCP, и агентами семейства Hermes.

MCP-сервер

Конечная точка: https://cnvs.app/mcp (Streamable HTTP, протокол 2025-06-18, без аутентификации — идентификатор доски является ключом доступа).

Зарегистрирован в официальном реестре MCP как app.cnvs/whiteboard.

Возможности

  • Инструменты (25): создание и проверка досок; визуальные превью; редактирование текста, ссылок, изображений и штрихов; перемещение и удаление; ожидание живых обновлений; полные рабочие процессы канбана: колонки, дорожки, задачи, запросы и экспорт. Точный производственный список опубликован в /.well-known/mcp.json. Операции, изменяющие состояние, также имеют REST-зеркала по адресу https://cnvs.app/api/boards/<id>/… для сред выполнения, которые не умеют работать с MCP.

  • Ресурсы (3): cnvs://board/{id}/state.json (полный снимок), cnvs://board/{id}/preview.svg (визуальный рендер) и cnvs://board/{id}/tasks.json (состояние канбана). Все три поддерживают подписку.

  • Подписки: поддерживается resources/subscribe с отправкой notifications/resources/updated через SSE, с дебаунсом ~3 с после завершения активности.

  • Живые машиночитаемые манифесты: /quotas.json, /openapi.json, /llms.txt, /.well-known/mcp.json, /.well-known/mcp/server.json.

Related MCP server: excalidraw-mcp

Установка

Пакеты для Codex / ChatGPT и Cursor

Этот репозиторий является публичным исходным пакетом для обеих интеграций с маркетплейсами:

Оба пакета подключаются только к размещённой производственной конечной точке; локального серверного процесса или секрета для настройки нет.

Claude Desktop / Cursor / любой MCP-клиент

Однострочная конфигурация — добавьте это в объект mcpServers вашего клиента:

{
  "mcpServers": {
    "cnvs": {
      "type": "http",
      "url": "https://cnvs.app/mcp"
    }
  }
}

Claude Code CLI

claude mcp add --transport http cnvs https://cnvs.app/mcp

Только REST (без MCP-клиента)

# Create a board
curl -X POST https://cnvs.app/api/boards

# Add text
curl -X POST https://cnvs.app/api/boards/<id>/texts \
  -H 'Content-Type: application/json' \
  -d '{"x":100,"y":200,"content":"# Hello","author":"ai:myagent"}'

# Long-poll for live changes
curl "https://cnvs.app/api/boards/<id>/wait?timeout_ms=25000"

Полная REST-справка: /llms.txt, /openapi.json.

Модель доступа

Учётной записи или OAuth-процесса нет. URL доски или идентификатор доски — это учётные данные в стиле bearer: любой, кто знает URL незаблокированной доски, может её открыть. Доски могут опционально требовать 8-символьный строчный буквенно-цифровой ключ доступа для записи или для чтения и записи; устаревшие 6-символьные ключи по-прежнему принимаются. Передавайте ключ только через аргумент access_key инструмента MCP или HTTP-заголовок X-Board-Key.

Не вставляйте приватные URL досок или ключи доступа в публичные issue, журналы или репозитории.

Полезные промпты

  • Создай новую доску для нашей мозговой сессии и верни её URL.

  • Открой эту доску cnvs.app, проверь её превью и обобщи раскладку.

  • Преврати этот список в общую канбан-доску с приоритетами и владельцами.

Включённые навыки

В этом репозитории находятся два связанных навыка агента, опубликованных по открытому стандарту agentskills.io, чтобы они работали в любой совместимой среде выполнения. Установите их в ~/.claude/skills/, чтобы научить агента хорошо использовать MCP-сервер (превью перед JSON, REST вместо MCP для записи, соглашения о тегах автора, цикл «подпишись, затем реагируй»).

cnvs-whiteboard/ — ОСНОВНОЙ

Обучает ИИ-агента совместной работе на доске cnvs.app в реальном времени:

  • Читать состояние общей канвы

  • Рисовать / создавать диаграммы / блок-схемы / аннотации — добавлять, обновлять, перемещать и удалять текст, ссылки, стикеры, штрихи, изображения и диаграммы Mermaid (блок-схемы, диаграммы последовательности / классов / ER, интеллект-карты, диаграммы Ганта, карты понятий)

  • Рендерить SVG-превью, когда доска содержит рисунки

  • Подписываться на живые правки людей через MCP, реагировать через REST

Активируется при любой ссылке на доску cnvs.app (URL https://cnvs.app/#<id>, cnvs://board/<id>/... или просто идентификатор доски) или по фразам вроде «совместно работать / рисовать / создавать диаграммы / аннотировать / наблюдать за общей доской или канвой».

mcp-listen/ — ВСПОМОГАТЕЛЬНЫЙ (v0.3.0)

Push-to-model насос для Streamable-HTTP MCP-серверов с capabilities.resources.subscribe: true. Открывает сессию, подписывается на URI ресурсов, переданные вызывающей стороной, и выводит по одной JSON-строке на каждое событие notifications/resources/updated в stdout — предназначен для обёртки инструментом Monitor в Claude Code, чтобы каждый push сервера становился уведомлением в чате (без опроса, без хвоста журнала).

Активация только как вспомогательный с v0.3. Срабатывает только когда вызывающая сторона — пользователь или другой навык — предоставила и URL MCP-сервера, и хотя бы один URI ресурса. НЕ активируется автоматически по общим фразам вроде «следи за этим файлом» или «оставайся в курсе». cnvs-whiteboard — канонический вызывающий и делегирует сюда свой канал push-уведомлений.

Разделение вывода с v0.3. В stdout по умолчанию попадает только действенное событие resource_updated. События соединения / подписки / heartbeat / временных ошибок идут в stderr, чтобы обёртка Monitor не срабатывала на собственные служебные сообщения слушателя. Передайте --verbose (или -v), чтобы объединить всё в stdout для отладки или одноканального журналирования (поведение устаревшей v0.2).

Статус в реестре. Намеренно не включён в централизованные реестры навыков. Текущие конвейеры реестров (например, majiayu000/claude-skill-registry-core по состоянию на 2026-05-03) архивируют только SKILL.md + сгенерированные метаданные; они не зеркалируют вложенные scripts/** или package.json, поэтому запись для mcp-listen опубликовала бы сломанный навык. Он будет (повторно) подан, как только основные реестры начнут поддерживать архив навыков в виде каталога с зеркалированием вложенных файлов и проверкой безопасности — см. PR majiayu000/claude-skill-registry-core#40 с только что добавленным примитивом архива каталога и открытым вопросом о сканировании вложенных скриптов. До тех пор устанавливайте его через curl с cnvs.app (ниже) или git clone этого репозитория.

Установка навыков

# cnvs-whiteboard (SKILL.md only — no deps)
mkdir -p ~/.claude/skills/cnvs-whiteboard && cd ~/.claude/skills/cnvs-whiteboard
curl -O https://cnvs.app/cnvs-whiteboard/SKILL.md

# mcp-listen (SKILL.md + scripts/ + npm install)
mkdir -p ~/.claude/skills/mcp-listen && cd ~/.claude/skills/mcp-listen
curl -O https://cnvs.app/mcp-listen/SKILL.md \
     -O https://cnvs.app/mcp-listen/package.json \
     --create-dirs -o scripts/listen.mjs https://cnvs.app/mcp-listen/scripts/listen.mjs
npm install

Либо git clone этого репозитория и cp -r .claude/skills/* ~/.claude/skills/ — каталог .claude/skills/ содержит симлинки на cnvs-whiteboard/ и mcp-listen/ для ожидаемой раскладки Claude Code.

Соответствие спецификации

Оба навыка следуют спецификации agentskills.io:

  • name совпадает с именем содержащего каталога

  • description короче 1024 символов, повелительное наклонение, явные ключевые слова для активации

  • подкаталог scripts/ для вложенного кода (mcp-listen)

  • license: MIT, объявлено поле compatibility, перекрёстные ссылки в разделе «Related skills» каждого навыка для предотвращения пересечения активаций

Зачем два навыка

В более ранних версиях была одна страница (/skill-cnvs.md на cnvs.app — теперь устаревший редирект). Разделение на два связных блока следует лучшей практике спецификации «проектируйте связные блоки»:

  • cnvs-whiteboard владеет специфичным для cnvs.app рабочим процессом (чтение / запись / рендер / подводные камни).

  • mcp-listen владеет общим паттерном push-to-model (применим к любому MCP-серверу).

Перекрёстные ссылки обеспечивают их аккуратное сочетание: cnvs-whiteboard упоминает mcp-listen как свой делегированный канал push-уведомлений; mcp-listen упоминает cnvs-whiteboard как компаньона для работы, специфичной для cnvs. На практике пересечения активаций нет.

Канонические источники

Навыки также обслуживаются вживую по адресам:

URL-адреса cnvs.app — канонические цели установки для установщиков на основе curl; этот GitHub-репозиторий — справочник для агрегаторов, которые сканируют публичные источники (skills.sh и т. п.), и для пользователей, предпочитающих git clone.

Поверхности обнаружения

Живые

  • Официальный реестр MCP: app.cnvs/whiteboard — просмотр

  • cnvs.app /.well-known/mcp.json — ссылается на оба навыка

  • cnvs.app /.well-known/mcp/server.json — запись в реестре MCP с предоставленным издателем _meta.skills[]

  • cnvs.app /llms.txt — полная справка, дружественная к LLM

  • majiayu000/claude-skill-registry-core — cnvs-whiteboard включён (PR #31 объединён 2026-05-04). mcp-listen намеренно придержан; см. Статус в реестре в разделе mcp-listen/ выше.

  • Lobehub (используется агентом Hermes) — импортированы оба навыка; MCP-сервер подан

Планируется / рассматривается

Заметки для будущего расширения дистрибуции. Пока не активно — оставлено здесь, чтобы следующее окно обслуживания не пришлось заново исследовать ландшафт.

  • majiayu000/claude-skill-registry-core — повторно подать mcp-listen отдельным PR, теперь когда PR #40 (архивы каталогов + проверка безопасности вложенных скриптов) объединён. scripts/listen.mjs даже жёстко прописан в их тестовых утверждениях, так что конвейер уже прогоняет именно наш случай.

  • daymade/claude-code-skills (модель с вендором) — форк, скопировать cnvs-whiteboard/ и mcp-listen/ прямо в их дерево (их раскладка уже ожидает scripts//references//assets/), обновить marketplace.json, один PR на оба навыка. Проблемы с вложенными файлами нет, потому что файлы копируются.

  • VoltAgent/awesome-agent-skills (курируемый awesome-список, 20k ⭐) — markdown-ссылка, описание ≤10 слов. Их CONTRIBUTING явно исключает совсем новые навыки («дайте вашему навыку время созреть и набрать пользователей перед подачей»); вернуться, когда появится задокументированное внешнее использование.

  • sickn33/antigravity-awesome-skills (36k ⭐) — ручной путь: форк, добавить skills/<name>/SKILL.md, запустить npm run validate. Их заголовок <!-- registry-sync: ... --> в README предполагает автоматическую синхронизацию из вышестоящих реестров, так что успешная запись в majiayu000/claude-skill-registry-core может распространиться сюда без отдельного PR — подтвердите перед двойной подачей.

  • agentskills/agentskills (17.8k ⭐, организация-спецификация за agentskills.io) — выяснить, принимают ли они эталонные реализации; mcp-listen как проработанный пример потребления MCP resources/subscribe мог бы подойти.

  • vercel-labs/agent-skills / vercel-labs/skills — почти наверняка курируемые, но прочитайте CONTRIBUTING, прежде чем исключать.

Намеренно пропущено: anthropics/skills (курируемый, без PR от сообщества); личные коллекции ниже ~100 ⭐; списки, специфичные для языков, если не появится соответствующая аудитория.

Лицензия

MIT. См. LICENSE.

Related MCP Connectors

Related MCP Servers