MCP Server (claude.ai / Claude Desktop / Code / Cursor) - Entity Enricher दस्तावेज़

MCP Server (Claude Desktop / Code / Cursor)

Entity Enricher /api/mcp पर एक एम्बेडेड Model Context Protocol सर्वर के साथ आता है — अपने स्कीमा सूचीबद्ध करें, किसी एंटिटी को समृद्ध करें, परिणाम का निरीक्षण करें, और किसी वर्गीकरण चेतावनी का समाधान करें सब कुछ एक ही Claude चैट के भीतर से। किसी वर्कफ़्लो एडिटर की आवश्यकता नहीं।

जब पहले से n8n + Make मौजूद हैं, तो MCP क्यों?

अलग आकार, अलग उपयोग केस। n8n और Make कनेक्टर API को वर्कफ़्लो ऑटोमेशन के लिए रैप करते हैं: ट्रिगर, शेड्यूल्ड रन, मल्टी-स्टेप पाइपलाइन, परसिस्टेंट स्टेट। MCP इसे इंटरैक्टिव चैट के लिए रैप करता है: तदर्थ प्रश्न, अन्वेषणात्मक एनरिचमेंट, फ़ॉलो-अप स्पष्टीकरण। वर्कफ़्लो बैच-आकार के होते हैं, चैट वार्तालाप-आकार की — सतह अलग होती है और UX भी।

वह किलर फ़ीचर जिसे केवल MCP अनलॉक करता है: इंटरैक्टिव क्लासिफिकेशन रिज़्यूम। जब प्री-फ़्लाइट क्लासिफ़ायर आपकी एंटिटी को रिजेक्ट करता है (उदा. आपने "Titan" को Planet स्कीमा के विरुद्ध एनरिच करने को कहा, लेकिन Titan एक चंद्रमा है), तो n8n/Make को अपने-आप कैंसल करना पड़ता है क्योंकि वे नॉन-इंटरैक्टिव हैं। MCP यह चेतावनी Claude के सामने लाता है, Claude आपसे पुष्टि माँगता है, और "yes" पर टूल क्लासिफ़ायर के बिना दोबारा चलता है। न बीच-पाइपलाइन फेल्योर, न शुरू से दोबारा चलाना।

त्वरित शुरुआत

विकल्प 1 — OAuth (अनुशंसित)

claude.ai, Claude Code, Cursor, और किसी भी ऐसे MCP क्लाइंट के लिए जो स्टैंडर्ड OAuth फ़्लो को सपोर्ट करता है। कोई API key बनाने या पेस्ट करने की ज़रूरत नहीं — क्लाइंट अपने आप ऑथराइज़ेशन सर्वर खोज लेता है।

  1. Entity Enricher को एक कनेक्टर के रूप में जोड़ें (claude.ai में: Settings → Connectors → Add custom connector, या इसे डायरेक्टरी से चुनें) URL https://entityenricher.ai/api/mcp/ के साथ।
  2. आपका ब्राउज़र Entity Enricher की सहमति स्क्रीन खोलता है — ज़रूरत हो तो साइन इन करें और Authorize पर क्लिक करें। यह कनेक्शन आपकी अपनी भूमिका के साथ आपकी ओर से काम करता है।
  3. कनेक्शन को कभी भी API Keys → Connected Apps के अंतर्गत मैनेज या रद्द करें — रद्द करने पर एक्सेस तुरंत बंद हो जाता है।

विकल्प 2 — API key (स्टैटिक JSON कॉन्फ़िगरेशन)

उन क्लाइंट्स के लिए जो इंटरैक्टिव साइन-इन के बजाय JSON फ़ाइल के ज़रिए कॉन्फ़िगर किए जाते हैं (Claude Desktop, Continue, Zed)।

  1. 1. एक API की बनाएँ
    Entity Enricher वेब UI में: Settings → API Keys → New organization access key। एक भूमिका चुनें (अधिकतर पढ़ने के लिए operator, schema बनाने/संपादित करने के लिए editor, पूर्ण नियंत्रण के लिए owner)। ent_… मान को कॉपी करें — यह केवल एक बार दिखाया जाता है।
  2. 2. अपने MCP क्लाइंट में रजिस्टर करें

    Claude Desktop के लिए, ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) या %APPDATA%\Claude\claude_desktop_config.json (Windows) संपादित करें:

    {
      "mcpServers": {
        "entityenricher": {
          "url": "https://entityenricher.ai/api/mcp/",
          "headers": { "X-API-Key": "ent_your_key_here" }
        }
      }
    }

    Claude Desktop को रीस्टार्ट करें। यही स्निपेट Claude Code, Cursor, Continue और Zed के लिए काम करता है — किसी भी MCP-संगत क्लाइंट के लिए।

आज़माएँ

किसी नई चैट में: "मेरी Entity Enricher schemas सूचीबद्ध करें, फिर Claude Sonnet का उपयोग करके pharmaceutical company schema के विरुद्ध Sanofi को enrich करें।" Claude tools को स्वचालित रूप से खोजता है, सही एक चुनता है, आपको model और schema विकल्प की पुष्टि करने के लिए कहता है, और परिणाम को इनलाइन स्ट्रीम करता है।

टूल

54 टूल पूरे संवर्धन, स्कीमा-लेखन, database-sync और सिमेंटिक-ID वोकैबुलरी सरफ़ेस को कवर करते हैं। इनका व्यवहार उन REST एंडपॉइंट्स जैसा ही है जिन्हें ये रैप करते हैं (वही वैलिडेशन, बिलिंग, प्लान सीमाएँ) — जब वेब UI में कोई फ़िक्स आता है, तो MCP को भी वह मिल जाता है। लंबे समय तक चलने वाले काम (बैच संवर्धन, सैंपल जनरेशन, बेंचमार्क रन) एसिंक्रोनस हैं: स्टार्ट टूल एक job_id लौटाता है, Claude get_job_status को पोल करता है, और जॉब पूरा होते ही आपके रिकॉर्ड्स से सहेजे गए आउटपुट ले आता है।

श्रेणीटूलविवरण
खोजlist_modelsमॉडल कीज़, नॉमिनल क्षमताएँ, ऑटो-सिलेक्टेड डिफ़ॉल्ट और आपके प्लान की profile_limits की सूची बनाएँ। ऑटो सिलेक्शन को प्राथमिकता दें: उपलब्धता हर प्रोवाइडर कोटा या संयुक्त मीडिया/टूल मोड की गारंटी नहीं देती।
Schemalist_schemasआपके संगठन में सहेजे गए JSON स्कीमा की सूची बनाएँ, पिन किए गए पहले।
Schemaget_schemaUUID द्वारा किसी स्कीमा की पूरी सामग्री फ़ेच करें।
Schemagenerate_sampleएक ही जॉब में 1..N एडिटेबल सैंपल कॉन्ट्रैक्ट जनरेट करें (पहला फील्ड सेट परिभाषित करता है; बाकी तेज़ समान-फील्ड इंस्टेंस वेरिएंट होते हैं) — नॉलेज मोड में (कोई अटैचमेंट नहीं, वैकल्पिक वेब सर्च) या सोर्स मोड में (अटैचमेंट प्रामाणिक होते हैं और प्लानर सवाल पूछ सकता है)। स्कीमा बनाने से पहले महत्वपूर्ण एडिट्स की उपयोगकर्ता के साथ समीक्षा करें।
Schemacreate_schema_from_sampleentity_samples (एक एंटिटी टाइप के 1..N सैंपल — फ़ील्ड्स का यूनियन, गायब होने पर nullable, वास्तविक देखे गए उदाहरण), किसी sample_record_id, या एडिट किए गए डेटा व उसके रिकॉर्ड-लिंक्ड अटैचमेंट से स्कीमा जनरेट करें और ऑटो-सेव करें। सिमेंटिक ID ऑप्ट-इन हैं; सुझावों की समीक्षा की जाती है, उन्हें कभी ऑटो-अप्लाई नहीं किया जाता।
Schemasave_schemaClaude द्वारा सीधे बनाई गई स्कीमा को persist करें — कोई LLM कॉल नहीं, कोई लागत नहीं, सर्वर-साइड वैलिडेटेड।
Schemaupdate_schemaकिसी सेव्ड स्कीमा का नाम बदलें, सामग्री बदलें, टैग बदलें, पिन करें, या अस्पष्टता जाँच चालू/बंद करें — बिना किसी LLM कॉल के।
Schemaget_schema_partपूरा डॉक्यूमेंट लिए बिना स्कीमा का एक हिस्सा पढ़ें: नेम्ड-टाइप इंडेक्स, कोई $defs/$enums परिभाषा, कोई ऑब्जेक्ट सबट्री, या उसके संबंधों और फ्लैग्स सहित एक अकेला प्रॉपर्टी कार्ड।
Schemaupdate_schema_propertyपाथ के ज़रिए एक प्रॉपर्टी एडिट करें — नाम बदलें, टाइप या $ref, विवरण, उदाहरण, फ्लैग्स — या उसे हटाएँ, सर्वर-साइड वैलिडेशन के साथ; पूरा कंटेंट भेजने-लाने की ज़रूरत नहीं।
Schemaadd_schema_propertyरूट, किसी नेस्टेड ऑब्जेक्ट, या किसी $defs टाइप में स्केलर, नेस्टेड ऑब्जेक्ट, या $ref प्रॉपर्टी जोड़ें।
Schemamove_schema_propertyकिसी एक प्रॉपर्टी को दूसरे कंटेनर में ले जाएँ — रूट, कोई नेस्टेड ऑब्जेक्ट, या कोई $defs टाइप — उसके फ़्लैग और विशेषज्ञता बनाए रखते हुए।
Schemapublish_schemaकिसी लिंक किए गए स्कीमा की वर्किंग कॉपी को उस कॉन्ट्रैक्ट के रूप में प्रकाशित करें जिसके विरुद्ध एनरिचमेंट और उसके database syncs चलते हैं। संरचनात्मक बदलाव केवल यहीं प्रभावी होते हैं — और एक ताज़ा लिंक किया गया sync तब तक कुछ नहीं भेजता जब तक उसके स्कीमा का पहला प्रकाशन नहीं हो जाता। validate_only=true माइग्रेशन डिफ़ का पूर्वावलोकन दिखाता है।
Schemaanalyze_sampleसैंपल JSON का विश्लेषण करें — ऐसे प्रॉपर्टी नामों के लिए जिनके पैरेंट के संदर्भ में एक से ज़्यादा अर्थ निकलते हों, या कोई भी नहीं — और ऐसे संबंधित आइटम्स के लिए जो एंटिटी से जुड़े तथ्यों को प्रति-पैरेंट तथ्यों के साथ मिला देते हैं। प्रतिस्पर्धी व्याख्याओं और सुझाए गए नए नामों के साथ स्टेटलेस रिपोर्ट; कुछ भी बदला नहीं जाता।
Schemaanalyze_schemaकिसी सेव्ड स्कीमा पर अस्पष्टता और आइडेंटिटी-स्कोपिंग जाँच चलाएँ और प्रति-प्रॉपर्टी एनोटेशन लिखें — हर अस्पष्ट नाम के लिए एक पुनर्लिखित विवरण, क्योंकि लाइव स्कीमा का नाम नहीं बदला जा सकता। डिफ़ॉल्ट रूप से इंक्रीमेंटल; force=true सभी का दोबारा विश्लेषण करता है।
Schemadelete_schemaकिसी सहेजी गई स्कीमा को UUID द्वारा सॉफ्ट-डिलीट करें।
संवर्धनenrich_entityवैकल्पिक ऑटो-फ्यूज़न के साथ मल्टी-मॉडल एनरिचमेंट। एक वैकल्पिक attachment_ids सूची स्वीकार करता है। वर्गीकरण बेमेल होने पर नॉन-एरर रिस्पॉन्स लौटाया जाता है ताकि Claude यूज़र से पुष्टि करने और पुनः प्रयास करने को कह सके।
संवर्धनstart_batch_enrichmentकिसी भी संख्या में एंटिटीज़ को अतुल्यकालिक रूप से संवर्धित करें — कोई निश्चित बैच-साइज़ सीमा नहीं, आपके प्लान के लाइव उपयोग कोटा से बंधी — प्रत्येक एंटिटी के लिए स्वचालित फ्यूज़न के साथ पूर्ण पाइपलाइन। एक job_id लौटाता है; परिणाम आपके रिकॉर्ड्स में आते हैं।
संवर्धनfetch_entitiesकिसी बाहरी REST API से एंटिटी का JSON array सर्वर-साइड फ़ेच करें (bearer / api_key / basic auth) — बैच संवर्धन के साथ जुड़ता है।
संवर्धनretry_expertisesकिसी रिकॉर्ड के केवल विफल विशेषज्ञता डोमेन को फिर से चलाएँ, पुनर्प्राप्त मानों को वापस मर्ज करते हुए — जो पहले ही सफल हो चुका है उसके लिए दोबारा भुगतान नहीं।
संवर्धनmerge_records2+ मौजूदा रिकॉर्ड को एक फ्यूज्ड परिणाम में मर्ज करें — नियम-आधारित या किसी LLM आर्बिट्रेशन मॉडल के साथ।
जॉब्सget_job_statusप्रगति, परिणाम, विफलताओं और स्पष्टीकरण सवालों के लिए एसिंक्रोनस जॉब्स को पोल करें। स्पष्ट-मॉडल संगतता विफलता के बाद, मॉडल बदलते रहने के बजाय ऑटो सिलेक्शन के साथ एक बार फिर से प्रयास करें।
जॉब्सcancel_jobकिसी लंबित, चल रहे, या रुके हुए जॉब को रद्द करें।
जॉब्सanswer_job_questionकिसी रुके हुए जॉब के स्पष्टीकरण प्रश्नों का उत्तर दें और उसे फिर से शुरू करें — generate_sample का इंटरैक्टिव हिस्सा।
बेंचमार्कlist_benchmark_scenariosअपने सहेजे गए बेंचमार्क परिदृश्य सूचीबद्ध करें (पुन: प्रयोज्य संवर्धन टेस्ट)।
बेंचमार्कget_benchmark_scenarioएक परिदृश्य उसके प्रति-मॉडल स्कोर किए गए परिणामों के साथ (गुणवत्ता / लागत / गति)।
बेंचमार्कcreate_benchmark_scenarioएक परिदृश्य बनाएँ: स्कीमा + फिक्स्ड एंटिटी + रणनीति + स्कोरिंग जज। owner भूमिका + बेंचमार्क वाला प्लान आवश्यक।
बेंचमार्कupdate_benchmark_scenarioकिसी परिदृश्य की टेस्ट परिभाषा या स्कोरिंग कॉन्फ़िग अपडेट करें; मौजूदा परिणाम बासी (stale) चिह्नित किए जाते हैं।
बेंचमार्कset_benchmark_referenceगोल्ड संदर्भ आउटपुट सहेजें और उसे सत्यापित के रूप में चिह्नित करें — किसी रन से पहले आवश्यक।
बेंचमार्कdelete_benchmark_scenarioकिसी परिदृश्य और उसके परिणामों को डिलीट करें।
बेंचमार्कrun_benchmarkकिसी परिदृश्य को एक स्पष्ट मॉडल सूची पर, चयनित प्रोवाइडर के हर सक्रिय मॉडल पर, या सभी सक्रिय मॉडल पर चलाएँ — प्रत्येक परिणाम संदर्भ के विरुद्ध स्वतः स्कोर किया जाता है।
रिकॉर्ड्सlist_recordsएनरिचमेंट, सैंपल/स्कीमा जनरेशन, स्कीमा एडिट, प्लेग्राउंड, वर्गीकरण, आर्बिट्रेशन और अस्पष्टता-विश्लेषण रिकॉर्ड्स को पेज-दर-पेज देखें, साथ में सफलता, मॉडल, जॉब और सर्च फ़िल्टर।
रिकॉर्ड्सget_recordएक रिकॉर्ड के लिए पूरा स्ट्रक्चर्ड आउटपुट + वैलिडेशन एरर।
रिकॉर्ड्सget_statsसमेकित संगठन आँकड़े: कुल योग, सफलता दर, टोकन, लागत।
अटैचमेंटupload_attachmentकोई base64 फ़ाइल अपलोड करें और उसका अटैचमेंट ID तथा आवश्यक मॉडल क्षमता लौटाएँ। ID को generate_sample में पास करने से सोर्स मोड सक्रिय हो जाता है।
अटैचमेंटdelete_attachmentID द्वारा एक attachment हटाएँ — enrichment के बाद सफ़ाई का एक सुविधाजनक चरण।
Database Synclist_database_syncsकिसी सहेजे गए स्कीमा पर रजिस्टर किए गए database syncs की सूची बनाएँ, जिसमें लंबित डेल्टा गिनती और प्रत्येक sync के विकल्प शामिल हों।
Database Synccreate_database_syncकिसी database को एक saved schema से connect करें, जिससे उसके enrichments आपके अपने PostgreSQL के लिए relational SQL deltas में बदल जाते हैं। Schema unpublished रूप में link होता है और database model background में classify होता है — इसकी समीक्षा करें, फिर publish_schema feed शुरू कर देता है।
Database Syncclassify_database_modelकिसी linked schema को edit करने के बाद database-model classification फिर से चलाएँ: एक LLM हर नई या बदली गई property की key, SQL type, index और ownership का सुझाव देता है। जब database connect होता है तो पहला pass अपने आप चल जाता है।
Database Syncdelete_database_syncकिसी database sync और उसके कतारबद्ध डेल्टा को हटाएँ — आपके रेप्लिका की टेबल्स को कभी छुआ नहीं जाता। वैकल्पिक teardown फ़्लैग उन स्कीमा के एंटिटी स्टेट और database मॉडल को भी हटा देते हैं जिनके पास कोई database नहीं बचा है।
Database Synccreate_database_credentialकिसी database sync की sync-client क्रेडेंशियल को (पुनः) जारी करें — ee-database वर्कफ़्लो का पेयरिंग चरण, जो install और pair कमांड के साथ लौटाया जाता है।
Database Syncfetch_database_deltasकिसी database sync के लिए SQL डेल्टा की अगली FIFO विंडो प्राप्त करें — claim=true इसे स्वीकृत डिलीवरी के लिए लीज़ पर लेता है, claim=false एक पुनः-चलाने योग्य रीड है।
Database Syncack_database_deltasकिसी id तक लागू किए गए डेल्टा को स्वीकार करें: यह लीज़ को रिलीज़ करता है और sync के purge विकल्पों को लागू करता है।
Database Syncassign_sync_hostमैनेज्ड मोड में Database Sync प्रोविज़न करने वाला सिंक होस्ट असाइन करें (या हटाएँ) — होस्ट क्रेडेंशियल क्लेम करता है, फ़िज़िकल डेटाबेस न होने पर उसे बनाता है और सिंक करना शुरू कर देता है, बिना किसी मैन्युअल पेयरिंग के।
Database Synclist_entity_statesकिसी स्कीमा की मौजूदा एंटिटी स्थिति देखें — वे डुप्लिकेट-रहित, last-write-wins पंक्तियाँ जो एंटिटी लेयर रखती है और हर लिंक्ड डेटाबेस मिरर करता है, न कि list_records के प्रति-रन रिकॉर्ड।
Database Syncsync_records_to_databaseसंग्रहित एनरिचमेंट आउटपुट को स्कीमा के Database Sync में इंजेक्ट करें — प्रकाशित कॉन्ट्रैक्ट के विरुद्ध दोबारा वैलिडेट करके, फिर एडमिशन गेट से गुज़ारकर।
सिमैंटिक IDlist_semantic_conceptsसंगठन की कॉन्सेप्ट वोकैबुलरी को उसके टाइप फ़ेसेट के साथ ब्राउज़ करें — या view="duplicates" के साथ, रिज़ॉल्यूशन थ्रेशोल्ड से ठीक नीचे के कॉन्सेप्ट पेयर देखें।
सिमैंटिक IDget_semantic_conceptएक कॉन्सेप्ट का पूरा विवरण: सरफ़ेस फ़ॉर्म, आइडेंटिटी सोर्स की, लिंक किए गए रिकॉर्ड, और समानता स्कोर के साथ उसके निकटतम पड़ोसी (केवल उसके अपने कॉन्सेप्ट-टाइप और एम्बेडिंग-मॉडल स्लाइस के भीतर परिभाषित)।
सिमैंटिक IDprobe_semantic_conceptकिसी टेक्स्ट के लिए रिज़ॉल्यूशन लैडर का ड्राई-रन करें — एनरिचमेंट उसके साथ क्या करेगा — बिना कुछ बनाए। जोड़ने से पहले जाँच लें।
सिमैंटिक IDadd_semantic_conceptusage 0 पर एक कॉन्सेप्ट जोड़ें, या alias_of के साथ किसी मौजूदा कॉन्सेप्ट का नया सरफ़ेस फ़ॉर्म जोड़ें। अगर टेक्स्ट पहले से थ्रेशोल्ड पर कवर है, तो मौजूदा कॉन्सेप्ट के साथ अनुरोध अस्वीकार कर दिया जाता है।
सिमैंटिक IDupdate_concept_aliasकिसी कॉन्सेप्ट का सरफ़ेस फ़ॉर्म हटाएँ, या किसी एक को कैनॉनिकल बनाएँ। आख़िरी सरफ़ेस फ़ॉर्म हटाना अस्वीकार कर दिया जाता है — कॉन्सेप्ट को डिलीट करना डिलीट फ़्लो का काम है।
सिमैंटिक IDimport_semantic_conceptsएनरिचमेंट लैडर के ज़रिए 1000 तक आइडेंटिटी टेक्स्ट रिज़ॉल्व करें: डिफ़ॉल्ट रूप से प्रति-पंक्ति रिपोर्ट, और mint=true (मालिक) के साथ न मिलने वालों को नया बनाएँ।
सिमैंटिक IDmerge_semantic_conceptsएक कॉन्सेप्ट को दूसरे में मिला दें। impact_only=true (डिफ़ॉल्ट) असर का दायरा बताता है; मर्ज खुद (मालिक) एलियास और एंटिटी को फिर से पॉइंट करता है और हर लिंक किए गए डेटाबेस को कन्वर्ज करता है।
सिमैंटिक IDdelete_semantic_conceptsकॉन्सेप्ट्स को id से, पूरे टाइप के हिसाब से, या सिर्फ़ अप्रयुक्त वालों को डिलीट करें। impact_only=true (डिफ़ॉल्ट) पहले काउंट और प्रभावित स्कीमा/डेटाबेस बताता है; डिलीट करने पर सिस्टम खुद ठीक हो जाता है, लेकिन सहेजे गए id के साथ कन्वर्जेंस टूट जाता है।
सिमैंटिक IDmigrate_semantic_embeddingsसंगठन के एम्बेडिंग-मॉडल माइग्रेशन की स्थिति, कोलिज़न प्रीव्यू, शुरुआत या रद्द करना — मौजूदा कॉन्सेप्ट्स को एम्बेडिंग मॉडलों के बीच ले जाने का एकमात्र तरीका।

सैंपल जेनरेशन मोड

नॉलेज मोड

attachment_ids छोड़ दें। मॉडल अपने ज्ञान से एक पुन: प्रयोज्य सैंपल डिज़ाइन करता है, और enable_web_search=true बाहरी तथ्यों को आधार दे सकता है।

सोर्स मोड

attachment_ids पास करें। प्लानर फ़ाइलों को आधिकारिक मानता है: यह दस्तावेज़ के मान ट्रांसक्राइब करता है या केवल फ़ोटो में दिखने वाले गुणों का वर्णन करता है। फ़ील्ड और अतिरिक्त निर्देश असंबंधित बाहरी तथ्य नहीं जोड़ सकते।

आपके अतिरिक्त निर्देश बाध्यकारी होते हैं

आप अतिरिक्त निर्देश के रूप में जो कुछ भी देते हैं, वह या तो माना जाता है, या वापस रिपोर्ट किया जाता है कि नहीं माना गया। जहाँ किसी डिटर्मिनिस्टिक नियम को आपकी माँगी गई कोई चीज़ पलटनी पड़ी — मान लीजिए ऐसा कोई आकार जो जनरेटर बना ही नहीं सकता — वहाँ पूरा हुआ जॉब एक warnings सूची के साथ आता है जो यह बता देती है। इन्हें यूज़र तक ज़रूर पहुँचाएँ: चुपचाप अनदेखा किया गया निर्देश ही वह वजह है जिससे सैंपल खामोशी से गलत निकलता है।

किसी हाइब्रिड अनुरोध के लिए, जैसे फ़ोटो से कार की पहचान करना और उसकी सार्वजनिक उपस्थितियों पर शोध करना, generate_sample को दो बार कॉल करें: पहले वेब सर्च बंद करके सोर्स मोड में, फिर पुष्टि की गई पहचान और वेब सर्च चालू करके बिना अटैचमेंट के। परिणामों को बातचीत में संयोजित करें; Entity Enricher अलग-अलग रिकॉर्ड रखता है ताकि सोर्स अवलोकन और शोधित तथ्य अपनी अलग प्रोवेनेंस बनाए रखें।

जब तक आपको स्पष्ट रूप से किसी मॉडल की ज़रूरत न हो, model=auto ही रखें। ऑटो सिलेक्शन टास्क, अटैचमेंट और वेब-सर्च आवश्यकताओं को लागू करता है; उपलब्ध मॉडल की के बावजूद प्रोवाइडर-विशिष्ट कोटा या संयुक्त-टूल प्रतिबंध सामने आ सकते हैं।

सैंपल को मंज़ूरी दें, फिर स्कीमा की समीक्षा करें

सैंपल ही कॉन्ट्रैक्ट है

स्कीमा जेनरेशन से पहले, क्लाइंट एंटिटी स्कोप, कीज़, टाइप, कार्डिनैलिटी, गुमशुदा प्रतिनिधि फ़ील्ड और नेस्टेड रिलेशनशिप की समीक्षा करता है। परिणामी एडिट आपकी मंज़ूरी के लिए समूहबद्ध किए जाते हैं; तथ्यात्मक मान और स्ट्रक्चर कभी चुपचाप नहीं बदले जाते।

जहाँ उपयोगी हो वहाँ स्थिर सिमेंटिक ID चुनें

रिलेशनल टेबल, मास्टर डेटा, नॉलेज ग्राफ़ या पुन: प्रयोज्य नेस्टेड एंटिटीज़ के लिए, क्लाइंट पूछता है कि सिमेंटिक ID जेनरेट करनी हैं या नहीं। इनके लिए संगठन का एम्बेडिंग मॉडल चाहिए और एम्बेडिंग लागत बढ़ती है, इसलिए ये डिफ़ॉल्ट रूप से बंद रहती हैं।

किसी नए या एडिट किए गए सैंपल के लिए entity_data पास करें, या संग्रहीत JSON और उसके लिंक्ड अटैचमेंट को पुन: उपयोग करने के लिए sample_record_id पास करें। दोनों पास करने पर एडिट किया गया JSON उपयोग होता है जबकि अटैचमेंट बने रहते हैं। स्पष्ट attachment_ids, जिसमें खाली सूची भी शामिल है, इनहेरिटेंस को ओवरराइड करता है।

जेनरेशन के बाद, क्लाइंट सैंपल कॉन्फ़ॉर्मेंस, कीज़, एनोटेशन, विशेषज्ञता, रिलेशनशिप और सिमेंटिक-ID कवरेज की जाँच करता है। स्ट्रक्चरल सुझावों के लिए सैंपल को एडिट करके फिर से जेनरेट करना ज़रूरी है; केवल-एनोटेशन एडिट के लिए भी आपकी मंज़ूरी चाहिए। कुछ भी अपने-आप लागू नहीं होता।

रिसोर्सेज़

रिसोर्स Claude को टूल कॉल खर्च किए बिना डेटा ब्राउज़ करने देते हैं — LLM क्लाइंट इन्हें फ़ाइलों की तरह मानता है। दोनों रिसोर्स प्रकार सस्ते इनलाइन डिस्प्ले के लिए Markdown के रूप में रेंडर होते हैं।

URI टेम्पलेटविवरण
enricher://schemas/{schema_id}Markdown के रूप में रेंडर किया गया एक सहेजा गया schema — मेटाडेटा हेडर + एक फेंस्ड JSON ब्लॉक के रूप में GeneratedJsonSchema।
enricher://records/{record_id}एक पिछला enrichment record जो Markdown के रूप में प्रस्तुत किया गया — metadata + संरचित output + validation errors।

किलर फ़ीचर: इंटरैक्टिव क्लासिफिकेशन रिज़्यूम

जब आप enrich_entity को किसी क्लासिफिकेशन मॉडल का उपयोग करने के लिए कहते हैं और एंटिटी स्कीमा प्रकार से मेल नहीं खाती, तो टूल संरचित विवरण के साथ एक गैर-त्रुटि प्रतिक्रिया लौटाता है। Claude इसे पढ़ता है, तर्क आपके सामने प्रस्तुत करता है, और (आपकी पुष्टि पर) force_after_classification_warning=true के साथ पुनः प्रयास करता है — जो पुनः प्रयास पर क्लासिफायर को हटा देता है।

{
  "success": false,
  "error_code": "classification_warning",
  "message": "Pre-flight classification rejected the entity. ...",
  "classification": {
    "status": "mismatch",
    "reasoning": "Titan is a moon of Saturn, not a planet.",
    "confidence": 0.97
  },
  "job_id": "..."
}

n8n और Make इस स्थिति पर स्वतः रद्द कर देते हैं क्योंकि वे पाइपलाइन के बीच उपयोगकर्ता से नहीं पूछ सकते। MCP पूछ सकता है, और यही एकमात्र अंतर है जिसके कारण कनेक्टर मौजूद है।

यही इंटरैक्टिविटी एक दूसरे फ्लो को शक्ति देती है: जब generate_sample स्रोत दस्तावेज़ों के साथ चलता है, तो इसका प्लानर संरचनात्मक स्पष्टीकरण प्रश्नों के साथ रुक सकता है। Claude उन्हें आप तक पहुँचाता है और answer_job_question के साथ जॉब को फिर से शुरू करता है — दौर-दर-दौर, जब तक सैंपल जनरेट नहीं हो जाता।

त्रुटि कोड

टूल त्रुटियों को error_code फ़ील्ड वाले स्ट्रक्चर्ड dicts में प्रस्तुत किया जाता है ताकि Claude फ्री टेक्स्ट पार्स करने के बजाय पैटर्न-मैच कर सके। HTTP लेयर साफ़-साफ़ मैप होती है: 402 → कोटा या क्रेडिट त्रुटि, 422 → क्लासिफ़िकेशन चेतावनी, 504 → टाइमआउट, 502 → अपस्ट्रीम LLM विफलता।

error_codeकब
invalid_requestविकृत UUID, परस्पर अनन्य आर्ग्युमेंट्स (schema_id + target_schema), या रिक्वेस्ट बॉडी सत्यापन विफल रहा।
prompt_limit_reachedदैनिक / साप्ताहिक / मासिक प्रॉम्प्ट कोटा समाप्त हो गया (HTTP 402)। बॉडी में period, limit, used, needed शामिल हैं।
insufficient_creditsसंगठन में बिलिंग सक्षम है लेकिन जॉब शुरू करने के लिए क्रेडिट बैलेंस बहुत कम है (HTTP 402)। बॉडी में बैलेंस और एक खरीद URL शामिल है।
model_limit_exceededप्लान की अनुमति से अधिक मॉडल के लिए अनुरोध किया गया (HTTP 402)। सीमा + अनुरोधित को दोहराता है।
language_limit_exceededप्लान की अनुमति से अधिक भाषाओं के लिए अनुरोध किया गया (HTTP 402)।
concurrent_job_limit_reachedइस org के लिए बहुत अधिक सक्रिय एनरिचमेंट जॉब। प्रतीक्षा करें या प्लान अपग्रेड करें।
classification_warning⚡ नॉन-एरर: प्री-फ्लाइट क्लासिफायर ने एंटिटी को अस्वीकार कर दिया। रिस्पॉन्स वर्गीकरण संदर्भ ले जाता है ताकि Claude उपयोगकर्ता से पुष्टि करने के लिए कह सके और force_after_classification_warning=true के साथ पुनः प्रयास कर सके।
benchmarks_not_in_planबेंचमार्क टूल के लिए owner भूमिका और Model Benchmarks शामिल करने वाला प्लान आवश्यक है (HTTP 403)।
ambiguity_check_disabledanalyze_schema को ऐसे स्कीमा पर कॉल किया गया जिसकी अस्पष्टता जाँच बंद है (HTTP 400)। पहले update_schema के ज़रिए ambiguity_check_enabled=true सेट करके इसे दोबारा चालू करें।
enrichment_timeoutJob ने timeout_seconds को पार कर लिया। कम models या entity को विभाजित करने का सुझाव दें।
schema_generation_timeoutस्कीमा जनरेशन ने timeout_seconds पार कर दिया।
schema_generation_failedस्कीमा जनरेशन के दौरान अपस्ट्रीम LLM त्रुटि (HTTP 502)।
model_output_invalidमॉडल ने ऐसा आउटपुट लौटाया जो स्कीमा से मेल नहीं खाता (HTTP 502)। बॉडी में मॉडल, समस्याग्रस्त प्रॉपर्टी पाथ, और retryable: true दिया गया है — टूल को दोबारा कॉल करें, या कोई मज़बूत मॉडल चुनें।
cancelledJob रन के बीच में रद्द किया गया (HTTP 499)।
not_foundआपके संगठन में स्कीमा या रिकॉर्ड ID मौजूद नहीं है।
http_errorबिना स्ट्रक्चर्ड डिटेल बॉडी वाली HTTP त्रुटियों के लिए कैच-ऑल।

जानबूझकर छोड़ी गई बातें

यह भी देखें