sncro.net MCP Server
chính thứcGỡ lỗi trình duyệt trực tiếp cho trợ lý AI — DOM, console, mạng qua MCP.
Tài liệu
sncro-relay
Các thành phần mã nguồn mở của sncro — relay MCP, agent phía trình duyệt, và các plugin framework cho phép trợ lý lập trình AI kiểm tra trình duyệt trực tiếp.
Nội dung repo này
| Đường dẫn | Mô tả |
|---|---|
relay/ | Ứng dụng FastAPI cung cấp máy chủ MCP cùng các endpoint long-poll cho agent.js |
relay/static/agent.js | Script phía trình duyệt được middleware tiêm vào; đẩy dữ liệu console + DOM đến relay |
middleware/sncro_middleware.py | Plugin FastAPI / Starlette — middleware thả vào là dùng được cho ứng dụng FastAPI |
middleware/sncro_flask.py | Plugin Flask — middleware thả vào là dùng được cho ứng dụng Flask |
trysncro/ | try.sncro.net — một ứng dụng demo cố tình có lỗi để kiểm thử sncro từ đầu đến cuối |
Cách hoạt động
┌──────────────┐ 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 gọi
create_session(công cụ MCP) → relay trả về khóa phiên 9 chữ số và URL - Người dùng truy cập URL đó trong trình duyệt nơi ứng dụng của họ đang chạy → xác nhận qua "Cho phép sncro debugging?"
- Plugin đặt một cookie, agent.js được tiêm vào các phản hồi HTML tiếp theo trên origin đó
- agent.js đẩy dữ liệu cơ bản (console, errors) và long-poll cho các truy vấn theo yêu cầu (
query_element,get_page_snapshot, v.v.)
Sử dụng sncro
Hầu hết người dùng không cần tự chạy relay — phiên bản được lưu trữ tại relay.sncro.net thân thiện với gói miễn phí. Đăng ký dự án của bạn tại sncro.net và lấy khóa dự án.
FastAPI: thả middleware/sncro_middleware.py vào dự án của bạn, sau đó:
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: thả middleware/sncro_flask.py vào dự án của bạn, sau đó:
from sncro_flask import init_sncro
app = Flask(__name__)
if app.debug:
init_sncro(app, relay_url="https://relay.sncro.net")
Cả hai middleware chỉ kích hoạt trong chế độ debug — không tốn tài nguyên trong môi trường production.
Đóng góp
Chúng tôi rất thích các plugin framework mới. CONTRIBUTING.md có đặc tả đầy đủ về những gì một plugin phải làm — cookie, route, security header — cùng với mẫu kiểm thử. Django, Rails, Express, Next.js, ASP.NET, Go — tất cả đều được chào đón.
Báo cáo lỗi và vấn đề bảo mật: xem SECURITY.md.
Giấy phép
MIT. Xem LICENSE.
Bảng điều khiển tại sncro.net (quản lý dự án, thanh toán, quản trị) nằm trong một repo độc quyền riêng biệt.