polka
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@polkaSave this report as a new version and share a link"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Полка для работ агентов. Страница, прототип, дашборд или целая папка проекта — агент сохраняет её одной фразой. Работа открывается по ссылке без аккаунта и работает в песочнице; каждая правка — новая неизменяемая версия; другой чат или агент находит работу по словам из текста и продолжает.
Память сессий. На своей установке сессии Claude Code и Codex уходят на Полку: что делал агент, какие команды запускал, к какому пулл-реквесту пришёл. Секреты скрываются ещё на машине (AGENT_SESSIONS).
Для компаний. Своя установка на одной VM, полки отделов с ролями, вход через IdP. Коммерческая редакция добавляет центр управления агентами для службы ИБ: секреты, адреса и MCP-серверы, опасные команды, расход (COMMERCIAL.md).
Быстрый старт
Работу на Полку сохраняет ваш агент. Подключите его один раз — дальше просто скажите в чате «Сохрани это на Полку», и в ответе будет ссылка.
Claude (claude.ai и Claude Desktop): Settings → Connectors → Add custom connector, адрес
https://polochka.app/mcp→ Add → Connect → «Разрешить» в Полке.
Claude Code — плагин: MCP-сервер и скиллы Полки одной командой.
claude plugin marketplace add artkruglov/polka-plugin && claude plugin install polka@polkaЗатем в Claude Code: /mcp → plugin:polka:polka → Authenticate.
Codex — тот же плагин для Codex.
codex plugin marketplace add artkruglov/polka-plugin && codex plugin add polka@polka
codex mcp login polkaДругой MCP-клиент (Cursor, Gemini CLI, Windsurf…): удалённый сервер https://polochka.app/mcp (Streamable HTTP, вход OAuth) и скилл npx skills add artkruglov/polka-plugin.
Везде откроется Полка: войдите в свою полку (или «Начать без регистрации») и нажмите «Разрешить» — токены и пароли через агента не проходят. Или просто скажите агенту в терминале: Подключи Полку: https://polochka.app/connect. Файл с компьютера можно загрузить и без агента. Подробно — подключение агентов.
Related MCP server: Undisk MCP
Что умеет
Как это выглядит
Как это работает
flowchart LR
A["Агент<br/>Claude.ai · ChatGPT<br/>Claude Code · Codex"] -- "MCP /mcp<br/>(OAuth 2.1 или токен)" --> P
S["Скрипт, CI"] -- "POST /api/v1/publish" --> P
U["Вы в браузере"] -- "загрузка, «Вставить код»" --> P
P["Полка · polochka.app<br/>версии, ссылки, шаблоны"] --> DB[("PostgreSQL")]
P --> S3[("Versioned S3")]
P -- "ссылка /s#…" --> R["Получатель"]
R -. "iframe, песочница без сети" .-> V["Просмотр · polochka.page"]Агент передаёт код работы сам — Полка ничего не забирает из чата. Каждое сохранение становится неизменяемой версией; ссылка привязана к версии. Чужой HTML считается враждебным: интерактивная страница открывается на отдельном домене, без cookies, API Полки и сети. Подробно: архитектура, модель угроз.
Пять способов сохранить работу
Откуда | Как | Подробно |
Claude (claude.ai, Claude Desktop), ChatGPT (проверка идёт) | Коннектор | |
Claude Code, Codex | Плагин Полки одной командой: MCP-сервер и скиллы. Вход и «Разрешить» в браузере — без токена | |
Другие MCP-клиенты | Токен со страницы «Агенты», Streamable HTTP на | |
Скрипты, CI, внутренние агенты |
| |
Вручную | Загрузка файла (HTML, текст, PNG/JPEG/WebP до 5 МБ) или «Вставить код» на странице «Сохранить» |
С Claude.ai сохранение и ссылка проверены вручную, с ChatGPT — ещё нет (состояние). Сохранения по ссылке на артефакт Claude или ChatGPT нет: сервер не может забрать его сам (FAQ), поэтому работу передаёт агент.
Для разработчиков агентов: плагин Claude Code и Codex (.claude-plugin/, .codex-plugin/, .mcp.json, skills/) лежит здесь, а ставится из лёгкой копии artkruglov/polka-plugin, её собирает scripts/plugin-repo.mjs, скилл отдельно — npx skills add artkruglov/polka-plugin, справка для агентов — /llms.txt, HTTP API — /openapi.json.
Быстрый запуск
Нужны Node.js ≥ 22.16, npm и запущенный Docker.
git clone https://github.com/artkruglov/polka.git && cd polka
npm ci
npm run local:setup # .env с уникальными секретами и локальным интерактивным просмотром (HTML_LIVE_MODE=local)
npm run infra:up # PostgreSQL 16 + MinIO, только 127.0.0.1; первый раз MinIO собирается из исходников, ~10 минут
npm run db:migrate
npm run storage:bootstrap-local # versioned bucket и проверка его возможностей
npm run admin -- account create demo --generate # логин и пароль в .local/demo-account.txt
npm run build
npm run dev # http://127.0.0.1:4390local:setup в конце печатает эту же последовательность. Если порты по умолчанию заняты (или это второй клон), задайте свои при создании .env: POLKA_LOCAL_PROJECT=polka-two POLKA_LOCAL_PG_PORT=55432 POLKA_LOCAL_S3_PORT=9138 PORT=4490 VIEWER_PORT=4491 npm run local:setup.
Еслиdb:migrate падает с ошибкой аутентификации, остались volumes от прошлой установки со старым паролем. Сброс с удалением локальных данных: docker compose --env-file=.env -f deploy/compose.local.yml down -v, затем снова с npm run infra:up (подробнее).
Интерактивный просмотр, вход по коду и отдельные наборы тестов описаны в docs/local-development.md.
npm run check # слои frontend + TypeScript
npm run build
npm test # временные БД и bucket, после прогона удаляются
npm test -- --live # наборы с включённым локальным viewer
npm run verify # всё перед push; то же проверяет GitHub Actions на каждый pull requestСвоя установка
Поставка состоит из одного Docker-образа и внешних PostgreSQL и versioned S3. Образ собирается из исходников (docker build), опубликованного образа пока нет. Интерактивный viewer должен работать на отдельном registrable domain. Рекомендуемый путь — deploy/hosted/README.md (одна VM с Caddy, как на polochka.app; там же обновление и откат). deploy/BASE.md, deploy/RESTORE.md и deploy/VIEWER_STAGING.md — черновики для опытных операторов. Как устроена система: docs/architecture.md.
Для компаний
Облако polochka.app | Своя установка (открытое ядро) | Коммерческая редакция (не в этом репозитории) | |
Цена | Бесплатно на время пилота | Бесплатно по AGPL-3.0 | По договору |
Где данные | Yandex Cloud, Россия | На ваших серверах | На ваших серверах |
Что есть | Открытое ядро: полки отделов с ролями (администратора компании назначаем по письму на hello@polochka.app), сервисные доступы для cron и CI | Всё открытое ядро: полки отделов, роли, агенты по полкам, администратор компании, вход через IdP | Ядро и закрытое расширение для организаций: центр управления агентами (сессии сотрудников, секреты, адреса и MCP, опасные команды, расход), ссылки только для сотрудников, политика ссылок, агент только к папке, журнал агентов с выгрузкой в SIEM, комментарии в Jira и Битрикс24, выгрузка принятых версий; дальше — SAML и SCIM, установка без интернета |
Свои изменения кода | — | Даёте пользоваться изменённой Полкой — публикуете их по AGPL-3.0 | Можно не публиковать |
Поддержка и SLA | — | — | По договору |
Подробнее — на странице «Для компаний» и в COMMERCIAL.md: открытое ядро, коммерческая редакция и коммерческая лицензия на ядро. Вход через OpenID Connect (IdP компании), Яндекс ID, VK ID и Google и доступ к библиотеке шаблонов по домену почты уже есть; SAML, SCIM и командных аккаунтов пока нет (дорожная карта).
Ограничения
Страница до 5 МБ, без сети. Всё нужное должно быть внутри одного HTML или пакета: стили, картинки и шрифты в
data:. Внешние скрипты,fetchи формы у получателя не работают.Интерактивный режим требует отдельного домена для viewer. Без него (
HTML_LIVE_MODE=disabled) получатель видит статичную страницу без скриптов.Ссылки Claude/ChatGPT не импортируются. Нужно сохранить работу через коннектор, скачать файл или вставить код.
Скачанные копии нельзя отозвать. Отзыв закрывает ссылку, но не удаляет то, что получатель уже скачал.
Вход — по коду из письма (нужен SMTP), по паролю от оператора, через Яндекс ID, VK ID, Google или IdP компании по OpenID Connect (SIGN_IN_PROVIDERS). Регистрацию можно открыть, ограничить списком адресов, почтовыми доменами или суточным потолком. SAML и SCIM нет.
Импорт по URL (
URL_IMPORT_ENABLED) и удаление аккаунта (ACCOUNT_DELETION_ENABLED) по умолчанию выключены.
Подробнее: docs/faq.md.
Статус
Текущий релиз — v0.15.1 (CHANGELOG). Hosted-пилот работает на https://polochka.app; регистрация по почте открыта для любого адреса, до 50 новых полок в сутки. API, схема БД и интерфейс ещё могут меняться.
Что сделано и что нет — docs/status.md; что дальше — docs/roadmap.md: эксплуатация пилота (проверка восстановления на отдельной VM, алерты мониторинга), публикация расширения браузера и проверка коннектора ChatGPT, затем варианты работы, снимок полки на дату и polka pull/push; позже — Telegram-бот, SAML и SCIM.
Документация
Карта документов · Архитектура · Подключение агентов · Коннектор · HTTP API · FAQ · Состояние · Дорожная карта · Изменения
Участие
Issues и pull requests принимаются на русском и на английском. Как запустить проект, какие проверки нужны и какие правила действуют — в CONTRIBUTING.md. Pull requests принимаются по CLA: достаточно один раз написать в описании «Я принимаю CLA (CLA.md)». Участники следуют кодексу поведения. Где задать вопрос — SUPPORT.md.
Безопасность
Об уязвимостях сообщайте приватно через GitHub Security Advisories, не в публичном issue. Порядок и модель угроз — в SECURITY.md.
Лицензия
GNU AGPL-3.0 или коммерческая лицензия (двойное лицензирование). С версии 0.1.0 — AGPL-3.0; версии до v0.1.0-rc.5 включительно — Apache-2.0, и для них это не меняется.
Пользоваться Полкой без изменений, в том числе как сервисом для своей команды, и дорабатывать её открыто можно бесплатно по AGPL-3.0. Кто даёт пользоваться изменённой Полкой по сети, должен предложить пользователям её исходный код: укажите ссылку на него в настройке SOURCE_URL (deploy/hosted). Коммерческая лицензия нужна, чтобы не публиковать свои изменения, встроить Полку в закрытый продукт или получить поддержку и SLA; подробности в COMMERCIAL.md.
См. также NOTICE и THIRD_PARTY_NOTICES.md. Проект вырос из опыта Lanka, подробнее в ACKNOWLEDGEMENTS.md.
This server cannot be deployed
Maintenance
Related MCP Connectors
Artifact store for AI agents — read, write, and search files by path; share by rendered URL.
Private, expiring artifact hosting for AI agents. Upload via API or MCP; links die on their own.
- KytheneOAuthcom.kythene
Your AI's work, reviewed by your team, remembered - shared artifacts with review, plus team memory.
Cross-agent artifact workspace with provenance across Claude Code, Codex, Cursor, LangGraph.
Related MCP Servers
- AlicenseAqualityDmaintenanceEnables users to upload files and generate tracked, shareable links directly from AI agents like Claude Desktop or Cursor. It supports publishing various file formats including text, PDFs, and images, while providing tools for artifact management and analytics.839 npmMIT
- FlicenseNot gradedqualityDmaintenanceProvides versioned file storage for AI agents with immutable writes, auditing, and rollback capabilities.1-
- AlicenseAqualityDmaintenanceProvides a shared, persistent workspace with versioned files, semantic search, run logging, and cross-agent provenance, allowing agents to maintain context across sessions and tools.2013 npmApache 2.0
- FlicenseNot gradedqualityDmaintenanceEnables multi-agent systems to store large tool outputs and share only artifact IDs between agents, with access control, TTL, and audit logging.-