sncro.net MCP Server

ทางการ

การดีบักเบราว์เซอร์แบบสดสำหรับผู้ช่วย AI — DOM, คอนโซล, เครือข่ายผ่าน MCP

เอกสาร

sncro-relay

ส่วนประกอบโอเพนซอร์สของ sncro — MCP relay, เอเจนต์ฝั่งเบราว์เซอร์ และปลั๊กอินเฟรมเวิร์กที่ช่วยให้ผู้ช่วยเขียนโค้ด AI ตรวจสอบเบราว์เซอร์ที่ทำงานอยู่ได้

สิ่งที่อยู่ใน repo นี้

Pathรายละเอียด
relay/แอป FastAPI ที่เปิดเผยเซิร์ฟเวอร์ MCP พร้อมด้วย long-poll endpoints สำหรับ agent.js
relay/static/agent.jsสคริปต์ฝั่งเบราว์เซอร์ที่ถูกฉีดโดยมิดเดิลแวร์; ส่งข้อมูล console + DOM ไปยัง relay
middleware/sncro_middleware.pyปลั๊กอิน FastAPI / Starlette — มิดเดิลแวร์แบบ drop-in สำหรับแอป FastAPI
middleware/sncro_flask.pyปลั๊กอิน Flask — มิดเดิลแวร์แบบ drop-in สำหรับแอป Flask
trysncro/try.sncro.net — แอปเดโมที่จงใจทำให้พังเพื่อทดสอบ sncro แบบ end-to-end

วิธีการทำงาน

 ┌──────────────┐    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) → relay ส่งคืน session key 9 หลัก + URL
  2. ผู้ใช้เข้าชม URL ในเบราว์เซอร์ที่แอปของพวกเขาทำงานอยู่ → ยืนยันผ่าน "Allow sncro debugging?"
  3. ปลั๊กอินวาง cookie, agent.js จะถูกฉีดเข้าไปใน HTML response ที่ตามมาบน origin นั้น
  4. agent.js ส่งข้อมูลพื้นฐาน (console, errors) และ long-poll สำหรับคำขอตามต้องการ (query_element, get_page_snapshot, ฯลฯ)

การใช้ sncro

ผู้ใช้ส่วนใหญ่ไม่จำเป็นต้องรัน relay ด้วยตัวเอง — เวอร์ชันโฮสต์ที่ relay.sncro.net เป็นมิตรกับผู้ใช้แบบฟรี ลงทะเบียนโปรเจกต์ของคุณที่ sncro.net และรับ project key ของคุณ

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")

มิดเดิลแวร์ทั้งสองจะทำงานเฉพาะในโหมด debug — ไม่มี overhead ใน production

การมีส่วนร่วม

เราชื่นชอบปลั๊กอินเฟรมเวิร์กใหม่ๆ CONTRIBUTING.md มีข้อกำหนดทั้งหมดสำหรับสิ่งที่ปลั๊กอินต้องทำ — cookies, routes, security headers — พร้อมด้วยเทมเพลตทดสอบ Django, Rails, Express, Next.js, ASP.NET, Go — ยินดีต้อนรับทั้งหมด

รายงานบั๊กและปัญหาด้านความปลอดภัย: ดู SECURITY.md

ใบอนุญาต

MIT ดู LICENSE

แดชบอร์ดที่ sncro.net (การจัดการโปรเจกต์, การเรียกเก็บเงิน, ผู้ดูแลระบบ) อยู่ใน repo แบบ proprietary แยกต่างหาก