मुख्य सामग्री पर जाएँ

MCP और AI एजेंट

यह पृष्ठ अंग्रेज़ी से अनुवादित है। अंग्रेज़ी पृष्ठ पढ़ें

Zeyn दो तरफ़ के एजेंट के लिए बना है: वे एजेंट जो Zeyn ऐप लिखते हैं, और वे एजेंट जो चलते हुए ऐप को उपयोगकर्ता की ओर से इस्तेमाल करते हैं।

ऐप लिखने वाले एजेंट

जिस प्रोजेक्ट में एजेंट काम करता है उसके पास अपने नियम और टूल होते हैं:

  • AGENTS.md और CLAUDE.md कमांड, प्रोजेक्ट संरचना, भाषा के नियम और फ्रेमवर्क सूची बताते हैं।
  • .mcp.json zeyn mcp पंजीकृत करता है, stdio पर MCP सर्वर, इन टूल के साथ:
टूलक्या करता है
zeyn_docsविषय के अनुसार फ्रेमवर्क संदर्भ: rules, language, protocol
zeyn_describeऐप के feature, Screen, रूट, एक्सेस, API, समस्याएँ और छूटे अनुवाद
zeyn_checkकंपाइल करता है और समस्याएँ बताता है; fix: true पहले नाम बदले गए API को फिर से लिखता है
zeyn_testcargo test चलाता है और आउटपुट का अंत लौटाता है
zeyn_new_featurefeature फ़ोल्डर बनाता है और उसे पंजीकृत करता है

कंपाइलर मुख्य रक्षक है। जो भी नियम वह लागू कर सकता है उसके लिए compile_fail टेस्ट और एजेंट के अमल करने लायक लिखा #[diagnostic::on_unimplemented] संदेश है, जैसे:

error[E0277]: `min()` and `max()` cannot be used on a `bool` column
  = note: `min()` and `max()` work on i32, i64, Money, Date, Time, DateTime, LocalDateTime and their Option forms

ZEYN_DESCRIBE=1 cargo run वही विवरण छापता है जो zeyn_describe लौटाता है और बाहर निकल जाता है।

ऐप इस्तेमाल करने वाले एजेंट

App::new(t!("app.name")).mcp(Mcp::read_only())

agents के साथ ऐप की Screen टूल बन जाती हैं:

  • हर ग्रिड के लिए एक खोज टूल,
  • हर फ़ॉर्म के लिए एक सेव टूल, जिसके स्कीमा के रूप में फ़ॉर्म के फ़ील्ड और नियम हैं (केवल Mcp::read_write() के साथ)।

एजेंट इन तक दो तरह से पहुँचते हैं:

  • ब्राउज़र में WebMCP (document.modelContext.registerTool) से, जब ब्राउज़र इसका समर्थन करे। मौजूदा Screen के टूल उसके खुलते समय पंजीकृत होते हैं और बंद होने पर हटा दिए जाते हैं।
  • सर्वर पर POST /_zeyn/mcp (JSON-RPC) पर। इसे Authorization हेडर चाहिए, इसलिए अकेला ब्राउज़र सत्र इसे कभी नहीं चला सकता।

लोगों जैसे ही नियम

  • एजेंट को ठीक उस उपयोगकर्ता की अनुमतियाँ मिलती हैं जिसकी ओर से वह काम करता है। जिन Screen और action को उपयोगकर्ता नहीं खोल सकता, उनके टूल सूचीबद्ध नहीं होते।
  • कॉल सामान्य कॉल के गार्ड, इंटरसेप्टर, सत्यापन और दर सीमाएँ चलाती हैं।
  • ऑडिट रिकॉर्ड एजेंट की की गई कॉल को चिह्नित करते हैं, ताकि समीक्षक उन्हें अलग पहचान सके।
  • Mcp::read_only() एजेंट को खोजने देता है पर सहेजने नहीं। read_write() केवल उन ऐप के लिए चुनें जहाँ एजेंट को डेटा बदलना चाहिए।