sncro.net MCP Server
आधिकारिकAI सहायकों के लिए लाइव ब्राउज़र डिबगिंग — DOM, कंसोल, नेटवर्क MCP के माध्यम से।
दस्तावेज़
sncro-relay
sncro के ओपन-सोर्स घटक — MCP रिले, ब्राउज़र-साइड एजेंट, और फ्रेमवर्क प्लगइन्स जो AI कोडिंग असिस्टेंट को एक लाइव ब्राउज़र का निरीक्षण करने देते हैं।
इस रेपो में क्या है
| पथ | क्या |
|---|---|
relay/ | FastAPI ऐप जो एक MCP सर्वर और 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 को ब्राउज़र में खोलता है जहाँ उनका ऐप चल रहा है → "Allow sncro debugging?" के माध्यम से पुष्टि करता है
- प्लगइन एक कुकी डालता है, agent.js उस ऑरिजिन पर आने वाले HTML प्रतिक्रियाओं में इंजेक्ट हो जाता है
- 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 पर डैशबोर्ड (प्रोजेक्ट प्रबंधन, बिलिंग, व्यवस्थापक) एक अलग मालिकाना रेपो में रहता है।