Entity Enricher /api/mcp पर एक एम्बेडेड Model Context Protocol सर्वर के साथ आता है — अपने स्कीमा सूचीबद्ध करें, किसी एंटिटी को समृद्ध करें, परिणाम का निरीक्षण करें, और किसी वर्गीकरण चेतावनी का समाधान करें सब कुछ एक ही Claude चैट के भीतर से। किसी वर्कफ़्लो एडिटर की आवश्यकता नहीं।
अलग आकार, अलग उपयोग केस। n8n और Make कनेक्टर API को वर्कफ़्लो ऑटोमेशन के लिए रैप करते हैं: ट्रिगर, शेड्यूल्ड रन, मल्टी-स्टेप पाइपलाइन, परसिस्टेंट स्टेट। MCP इसे इंटरैक्टिव चैट के लिए रैप करता है: तदर्थ प्रश्न, अन्वेषणात्मक एनरिचमेंट, फ़ॉलो-अप स्पष्टीकरण। वर्कफ़्लो बैच-आकार के होते हैं, चैट वार्तालाप-आकार की — सतह अलग होती है और UX भी।
वह किलर फ़ीचर जिसे केवल MCP अनलॉक करता है: इंटरैक्टिव क्लासिफिकेशन रिज़्यूम। जब प्री-फ़्लाइट क्लासिफ़ायर आपकी एंटिटी को रिजेक्ट करता है (उदा. आपने "Titan" को Planet स्कीमा के विरुद्ध एनरिच करने को कहा, लेकिन Titan एक चंद्रमा है), तो n8n/Make को अपने-आप कैंसल करना पड़ता है क्योंकि वे नॉन-इंटरैक्टिव हैं। MCP यह चेतावनी Claude के सामने लाता है, Claude आपसे पुष्टि माँगता है, और "yes" पर टूल क्लासिफ़ायर के बिना दोबारा चलता है। न बीच-पाइपलाइन फेल्योर, न शुरू से दोबारा चलाना।
claude.ai, Claude Code, Cursor, और किसी भी ऐसे MCP क्लाइंट के लिए जो स्टैंडर्ड OAuth फ़्लो को सपोर्ट करता है। कोई API key बनाने या पेस्ट करने की ज़रूरत नहीं — क्लाइंट अपने आप ऑथराइज़ेशन सर्वर खोज लेता है।
https://entityenricher.ai/api/mcp/ के साथ।उन क्लाइंट्स के लिए जो इंटरैक्टिव साइन-इन के बजाय JSON फ़ाइल के ज़रिए कॉन्फ़िगर किए जाते हैं (Claude Desktop, Continue, Zed)।
ent_… मान को कॉपी करें — यह केवल एक बार दिखाया जाता है।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 विकल्प की पुष्टि करने के लिए कहता है, और परिणाम को इनलाइन स्ट्रीम करता है।
29 टूल पूरे संवर्धन और स्कीमा-ऑथरिंग सरफेस को कवर करते हैं। व्यवहार उन REST एंडपॉइंट्स के समान है जिन्हें वे रैप करते हैं (समान वैलिडेशन, बिलिंग, प्लान सीमाएँ) — जब वेब UI को कोई फिक्स मिलता है, तो MCP को भी मिलता है। लंबे समय तक चलने वाला काम (बैच संवर्धन, सैंपल जनरेशन, बेंचमार्क रन) एसिंक्रोनस है: स्टार्ट टूल एक job_id लौटाता है, Claude get_job_status पोल करता है, और जॉब पूरा होने पर आपके रिकॉर्ड से persisted आउटपुट प्राप्त करता है।
| श्रेणी | टूल | विवरण |
|---|---|---|
| खोज | list_models | उपलब्ध LLM मॉडल + आपके प्लान की profile_limits की सूची बनाएँ ताकि Claude HTTP 402 तक पहुँचने से पहले खुद को थ्रॉटल कर ले। |
| Schema | list_schemas | आपके संगठन में सहेजे गए JSON स्कीमा की सूची बनाएँ, पिन किए गए पहले। |
| Schema | get_schema | UUID द्वारा किसी स्कीमा की पूरी सामग्री फ़ेच करें। |
| Schema | generate_sample | किसी entity-type विवरण से एक यथार्थवादी सैंपल एंटिटी जनरेट करें — स्कीमा जनरेशन से पहले स्वाभाविक पहला कदम। अटैचमेंट के साथ, एक इंटरैक्टिव प्लानर स्पष्टीकरण प्रश्नों के साथ रुक सकता है। |
| Schema | create_schema_from_sample | LLM के माध्यम से किसी सैंपल एंटिटी dict से एक JSON स्कीमा जनरेट करें, वैकल्पिक रूप से अपलोड किए गए स्रोत दस्तावेज़ों (attachment_ids) पर आधारित। परिणाम स्वतः सहेजा जाता है। |
| Schema | edit_schema | किसी मौजूदा schema का प्राकृतिक-भाषा में संशोधन। नई सामग्री + 5 फ़ॉलो-अप सुझाव लौटाता है। |
| Schema | save_schema | Claude द्वारा सीधे बनाई गई स्कीमा को persist करें — कोई LLM कॉल नहीं, कोई लागत नहीं, सर्वर-साइड वैलिडेटेड। |
| Schema | update_schema | किसी सहेजी गई स्कीमा को LLM कॉल के बिना रीनेम करें, सामग्री बदलें, रीटैग करें, या पिन करें। |
| Schema | delete_schema | किसी सहेजी गई स्कीमा को UUID द्वारा सॉफ्ट-डिलीट करें। |
| संवर्धन | enrich_entity | वैकल्पिक ऑटो-फ्यूज़न के साथ मल्टी-मॉडल एनरिचमेंट। एक वैकल्पिक attachment_ids सूची स्वीकार करता है। वर्गीकरण बेमेल होने पर नॉन-एरर रिस्पॉन्स लौटाया जाता है ताकि Claude यूज़र से पुष्टि करने और पुनः प्रयास करने को कह सके। |
| संवर्धन | start_batch_enrichment | 100 एंटिटी तक एसिंक्रोनस रूप से संवर्धित करें — प्रति एंटिटी पूर्ण पाइपलाइन के साथ स्वचालित फ्यूजन। एक job_id लौटाता है; परिणाम आपके रिकॉर्ड में आते हैं। |
| संवर्धन | fetch_entities | किसी बाहरी REST API से एंटिटी का JSON array सर्वर-साइड फ़ेच करें (bearer / api_key / basic auth) — बैच संवर्धन के साथ जुड़ता है। |
| संवर्धन | retry_expertises | किसी रिकॉर्ड के केवल विफल विशेषज्ञता डोमेन को फिर से चलाएँ, पुनर्प्राप्त मानों को वापस मर्ज करते हुए — जो पहले ही सफल हो चुका है उसके लिए दोबारा भुगतान नहीं। |
| संवर्धन | merge_records | 2+ मौजूदा रिकॉर्ड को एक फ्यूज्ड परिणाम में मर्ज करें — नियम-आधारित या किसी 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 फ़ाइल अपलोड करें (filename, content_base64, media_type?) और enrich_entity में उपयोग के लिए उसका attachment ID लौटाएँ। |
| अटैचमेंट | delete_attachment | ID द्वारा एक attachment हटाएँ — enrichment के बाद सफ़ाई का एक सुविधाजनक चरण। |
रिसोर्स 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)। |
| enrichment_timeout | Job ने timeout_seconds को पार कर लिया। कम models या entity को विभाजित करने का सुझाव दें। |
| schema_generation_timeout | स्कीमा जनरेशन ने timeout_seconds पार कर दिया। |
| schema_generation_failed | स्कीमा जनरेशन के दौरान अपस्ट्रीम LLM त्रुटि (HTTP 502)। |
| cancelled | Job रन के बीच में रद्द किया गया (HTTP 499)। |
| not_found | आपके संगठन में स्कीमा या रिकॉर्ड ID मौजूद नहीं है। |
| http_error | बिना स्ट्रक्चर्ड डिटेल बॉडी वाली HTTP त्रुटियों के लिए कैच-ऑल। |
get_stats चैट-साइड सारांश कवर करता है; पूर्ण डैशबोर्ड ऐप में ही रहते हैं।