Skip to main content
Glama

sncro-relay

sncroのオープンソースコンポーネント — MCPリレー、ブラウザ側エージェント、およびAIコーディングアシスタントがライブブラウザを検査できるようにするフレームワークプラグインです。

このリポジトリの内容

パス

内容

relay/

MCPサーバーとagent.js用のロングポーリングエンドポイントを公開するFastAPIアプリ

relay/static/agent.js

ミドルウェアによって注入されるブラウザ側スクリプト。コンソールとDOMデータをリレーにプッシュします

middleware/sncro_middleware.py

FastAPI / Starletteプラグイン — FastAPIアプリ用のドロップインミドルウェア

middleware/sncro_flask.py

Flaskプラグイン — Flaskアプリ用のドロップインミドルウェア

trysncro/

try.sncro.net — sncroをエンドツーエンドで試すための、意図的に壊されたデモアプリ

Related MCP server: agnt

仕組み

 ┌──────────────┐    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) │
                                                       └─────────────┘
  1. Claudeが create_session (MCPツール) を呼び出す → リレーが9桁のセッションキーとURLを返す

  2. ユーザーがアプリを実行しているブラウザでそのURLにアクセスし、「sncroデバッグを許可しますか?」を確認する

  3. プラグインがクッキーをドロップし、そのオリジンへの後続のHTMLレスポンスにagent.jsが注入される

  4. agent.jsがベースラインデータ (コンソール、エラー) をプッシュし、オンデマンドクエリ (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")

どちらのミドルウェアもデバッグモードでのみアクティブになり、本番環境でのオーバーヘッドはゼロです。

コントリビューション

新しいフレームワークプラグインを歓迎します。CONTRIBUTING.md に、プラグインが実行すべきこと(クッキー、ルート、セキュリティヘッダー)とテストテンプレートの完全な仕様が記載されています。Django、Rails、Express、Next.js、ASP.NET、Goなど、すべて歓迎します。

バグ報告やセキュリティの問題については、SECURITY.md を参照してください。

ライセンス

MIT。LICENSE を参照してください。

sncro.net のダッシュボード(プロジェクト管理、請求、管理)は、別のプロプライエタリなリポジトリにあります。

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI assistants to debug frontend applications by providing direct access to browser DevTools, React state, DOM inspection, and runtime debugging capabilities. Bridges the gap between AI and complex web applications for autonomous debugging and issue resolution.
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Bridges AI coding agents with the browser to provide visual debugging, real-time error capture, screenshot capabilities, DOM inspection, and interactive wireframing through a reverse proxy with injected developer tools.
    34 npm
    21
    Apache 2.0