sncro.net MCP Server
официальныйЖивая отладка браузера для ИИ-ассистентов — DOM, консоль, сеть через MCP.
Документация
sncro-relay
Компоненты с открытым исходным кодом sncro — MCP-ретранслятор, браузерный агент и плагины фреймворка, позволяющие AI-ассистентам для написания кода инспектировать работающий браузер.
Содержимое репозитория
| Путь | Описание |
|---|---|
relay/ | Приложение FastAPI, предоставляющее сервер MCP и конечные точки long-poll для agent.js |
relay/static/agent.js | Скрипт на стороне браузера, внедряемый промежуточным ПО; отправляет данные консоли и DOM ретранслятору |
middleware/sncro_middleware.py | Плагин FastAPI / Starlette — встраиваемое промежуточное ПО для приложений FastAPI |
middleware/sncro_flask.py | Плагин Flask — встраиваемое промежуточное ПО для приложений Flask |
trysncro/ | try.sncro.net — намеренно сломанное демо-приложение для сквозного тестирования sncro |
Как это работает
┌──────────────┐ MCP ┌──────────┐ long-poll ┌─────────────┐
│ Claude Code │──tools────▶│ relay │◀──────────────│ agent.js │
│ (or other │ │ (relay/) │ snapshots │ (injected │
│ MCP client) │◀──results──│ │──────────────▶│ by plugin) │
└──────────────┘ └──────────┘ └─────────────┘
▲
│ same-origin
│ cookies
┌─────────────┐
│ your app │
│ (plugin is │
│ installed) │
└─────────────┘
- Claude вызывает
create_session(инструмент MCP) → ретранслятор возвращает 9-значный ключ сессии + URL - Пользователь переходит по URL в браузере, где запущено его приложение → подтверждает через «Разрешить отладку sncro?»
- Плагин устанавливает cookie, agent.js внедряется в последующие HTML-ответы для этого источника
- agent.js отправляет базовые данные (консоль, ошибки) и выполняет long-poll для запросов по требованию (
query_element,get_page_snapshotи т. д.)
Использование sncro
Большинству пользователей не нужно запускать ретранслятор самостоятельно — размещённая версия на relay.sncro.net подходит для бесплатного использования. Зарегистрируйте свой проект на sncro.net и получите ключ проекта.
FastAPI: добавьте middleware/sncro_middleware.py в свой проект, затем:
from middleware.sncro_middleware import SncroMiddleware, sncro_routes
app = FastAPI(debug=True) # sncro only loads when debug=True
if app.debug:
app.include_router(sncro_routes)
app.add_middleware(SncroMiddleware, relay_url="https://relay.sncro.net")
Flask: добавьте middleware/sncro_flask.py в свой проект, затем:
from sncro_flask import init_sncro
app = Flask(__name__)
if app.debug:
init_sncro(app, relay_url="https://relay.sncro.net")
Оба промежуточных ПО активируются только в режиме отладки — нулевые накладные расходы в production.
Участие в разработке
Мы приветствуем новые плагины для фреймворков. В CONTRIBUTING.md содержится полная спецификация того, что должен делать плагин — cookies, маршруты, заголовки безопасности — а также шаблон для тестирования. Django, Rails, Express, Next.js, ASP.NET, Go — все приветствуются.
Отчёты об ошибках и вопросы безопасности: смотрите SECURITY.md.
Лицензия
MIT. Смотрите LICENSE.
Панель управления на sncro.net (управление проектами, биллинг, администрирование) находится в отдельном проприетарном репозитории.