Unstructured

आधिकारिक

अनस्ट्रक्चर्ड प्लेटफॉर्म में अपने असंरचित डेटा प्रोसेसिंग वर्कफ़्लो को सेट अप और इंटरैक्ट करें।

Unstructured MCP के साथ आप क्या कर सकते हैं?

  • उपलब्ध स्रोतों और गंतव्यों की सूची बनाएं — यह देखने के लिए list_sources और list_destinations का उपयोग करें कि आपके Unstructured खाते में कौन से कनेक्टर कॉन्फ़िगर किए गए हैं।
  • स्रोत और गंतव्य कनेक्टर प्रबंधित करेंcreate_source_connector, update_destination_connector और संबंधित टूल के माध्यम से कनेक्टर बनाएं, अपडेट करें या हटाएं।
  • इंजेशन वर्कफ़्लो चलाएँ और निगरानी करेंrun_workflow के साथ एक वर्कफ़्लो ट्रिगर करें, फिर list_jobs और get_job_info का उपयोग करके उसके कार्यों को ट्रैक करें।
  • पूर्ण कार्यों वाले वर्कफ़्लो खोजें — उन वर्कफ़्लो की पहचान करने के लिए list_workflows_with_finished_jobs को कॉल करें जिन्होंने प्रसंस्करण पूरा कर लिया है।
  • अपने पाइपलाइन में वेबसाइटों को क्रॉल करेंinvoke_firecrawl_crawlhtml के साथ Firecrawl क्रॉल शुरू करें और check_crawlhtml_status के माध्यम से स्थिति जांचें।

दस्तावेज़

Unstructured API MCP सर्वर

[!NOTE] यह सर्वर स्रोतों, गंतव्यों और वर्कफ़्लो को प्रबंधित करने के लिए Unstructured API के साथ इंटरैक्ट करता है। यह सक्रिय रूप से अनुरक्षित नहीं है और संदर्भ के लिए यहाँ रखा गया है।

यदि आप फ़ाइलों को संरचित आउटपुट (markdown, JSON, HTML, या सादा पाठ) में पार्स और रूपांतरित करना चाहते हैं, तो इसके बजाय Unstructured Transform MCP सर्वर का उपयोग करें।

Unstructured Transform आपके एजेंटों के लिए एक होस्टेड MCP सर्वर के रूप में उत्पादन-ग्रेड दस्तावेज़ प्रसंस्करण लाता है। यह उन्हें उनके वर्तमान सत्र के भीतर सीधे फ़ाइलों को पार्स करके, समृद्ध करके, खंडित करके और एम्बेड करके 60+ फ़ाइल प्रकारों को संरचित डेटा में बदलने की क्षमता देता है जो आपके अनुप्रयोगों, वेक्टर डेटाबेस और किसी भी डाउनस्ट्रीम प्रक्रियाओं के लिए तैयार है।

आप यहाँ साइन अप करके इसका उपयोग शुरू कर सकते हैं।

Unstructured API के साथ इंटरैक्ट करने के लिए एक MCP सर्वर कार्यान्वयन। यह सर्वर स्रोतों और वर्कफ़्लो को सूचीबद्ध करने के लिए उपकरण प्रदान करता है।

उपलब्ध उपकरण

उपकरणविवरण
list_sourcesUnstructured API से उपलब्ध स्रोतों को सूचीबद्ध करता है।
get_source_infoकिसी विशिष्ट स्रोत कनेक्टर के बारे में विस्तृत जानकारी प्राप्त करें।
create_source_connectorएक स्रोत कनेक्टर बनाएँ।)
update_source_connectorपैरामीटर द्वारा किसी मौजूदा स्रोत कनेक्टर को अपडेट करें।
delete_source_connectorस्रोत आईडी द्वारा किसी स्रोत कनेक्टर को हटाएँ।
list_destinationsUnstructured API से उपलब्ध गंतव्यों को सूचीबद्ध करता है।
get_destination_infoकिसी विशिष्ट गंतव्य कनेक्टर के बारे में विस्तृत जानकारी प्राप्त करें
create_destination_connectorपैरामीटर द्वारा एक गंतव्य कनेक्टर बनाएँ।
update_destination_connectorगंतव्य आईडी द्वारा किसी मौजूदा गंतव्य कनेक्टर को अपडेट करें।
delete_destination_connectorगंतव्य आईडी द्वारा किसी गंतव्य कनेक्टर को हटाएँ।
list_workflowsUnstructured API से वर्कफ़्लो को सूचीबद्ध करता है।
get_workflow_infoकिसी विशिष्ट वर्कफ़्लो के बारे में विस्तृत जानकारी प्राप्त करें।
create_workflowस्रोत, गंतव्य आईडी आदि के साथ एक नया वर्कफ़्लो बनाएँ।
run_workflowवर्कफ़्लो आईडी के साथ एक विशिष्ट वर्कफ़्लो चलाएँ
update_workflowपैरामीटर द्वारा किसी मौजूदा वर्कफ़्लो को अपडेट करें।
delete_workflowआईडी द्वारा किसी विशिष्ट वर्कफ़्लो को हटाएँ।
list_jobsUnstructured API से किसी विशिष्ट वर्कफ़्लो के लिए कार्यों को सूचीबद्ध करता है।
get_job_infoकार्य आईडी द्वारा किसी विशिष्ट कार्य के बारे में विस्तृत जानकारी प्राप्त करें।
cancel_jobआईडी द्वारा किसी विशिष्ट कार्य को हटाएँ।
list_workflows_with_finished_jobsउन सभी वर्कफ़्लो को सूचीबद्ध करता है जिनका कोई पूर्ण कार्य है, साथ ही स्रोत और गंतव्य विवरण के बारे में जानकारी।

नीचे उन कनेक्टरों की सूची दी गई है जिन्हें UNS-MCP सर्वर वर्तमान में समर्थन करता है, कृपया Unstructured प्लेटफ़ॉर्म द्वारा समर्थित स्रोत कनेक्टरों की पूरी सूची यहाँ और गंतव्य सूची यहाँ देखें। हम और अधिक जोड़ने की योजना बना रहे हैं!

स्रोतगंतव्य
S3S3
AzureWeaviate
Google DrivePinecone
OneDriveAstraDB
SalesforceMongoDB
SharepointNeo4j
Databricks Volumes
Databricks Volumes Delta Table

किसी कनेक्टर को बनाने/अपडेट करने/हटाने वाले उपकरण का उपयोग करने के लिए, उस विशिष्ट कनेक्टर के लिए क्रेडेंशियल आपकी .env फ़ाइल में परिभाषित होने चाहिए। नीचे हमारे द्वारा समर्थित कनेक्टरों के लिए credentials की सूची दी गई है:

क्रेडेंशियल नामविवरण
ANTHROPIC_API_KEYहमारे सर्वर के साथ इंटरैक्ट करने के लिए minimal_client चलाने हेतु आवश्यक।
AWS_KEY, AWS_SECRETuns-mcp सर्वर के माध्यम से S3 कनेक्टर बनाने के लिए आवश्यक, दस्तावेज़ीकरण और यहाँ देखें
WEAVIATE_CLOUD_API_KEYWeaviate वेक्टर डीबी कनेक्टर बनाने के लिए आवश्यक, दस्तावेज़ीकरण देखें
FIRECRAWL_API_KEYexternal/firecrawl.py में Firecrawl उपकरणों का उपयोग करने के लिए आवश्यक, Firecrawl पर साइन अप करें और एक API कुंजी प्राप्त करें।
ASTRA_DB_APPLICATION_TOKEN, ASTRA_DB_API_ENDPOINTuns-mcp सर्वर के माध्यम से Astradb कनेक्टर बनाने के लिए आवश्यक, दस्तावेज़ीकरण देखें
AZURE_CONNECTION_STRINGuns-mcp सर्वर के माध्यम से Azure कनेक्टर बनाने के लिए आवश्यक विकल्प 1, दस्तावेज़ीकरण देखें
AZURE_ACCOUNT_NAME+AZURE_ACCOUNT_KEYuns-mcp सर्वर के माध्यम से Azure कनेक्टर बनाने के लिए आवश्यक विकल्प 2, दस्तावेज़ीकरण देखें
AZURE_ACCOUNT_NAME+AZURE_SAS_TOKENuns-mcp सर्वर के माध्यम से Azure कनेक्टर बनाने के लिए आवश्यक विकल्प 3, दस्तावेज़ीकरण देखें
NEO4J_PASSWORDuns-mcp सर्वर के माध्यम से Neo4j कनेक्टर बनाने के लिए आवश्यक, दस्तावेज़ीकरण देखें
MONGO_DB_CONNECTION_STRINGuns-mcp सर्वर के माध्यम से Mongodb कनेक्टर बनाने के लिए आवश्यक, दस्तावेज़ीकरण देखें
GOOGLEDRIVE_SERVICE_ACCOUNT_KEYएक स्ट्रिंग मान। मूल सर्वर खाता कुंजी (दस्तावेज़ीकरण का पालन करें) json फ़ाइल में है, स्ट्रिंग मान प्राप्त करने के लिए टर्मिनल में base64 < /path/to/google_service_account_key.json चलाएँ
DATABRICKS_CLIENT_ID,DATABRICKS_CLIENT_SECRETuns-mcp सर्वर के माध्यम से Databricks वॉल्यूम/डेल्टा तालिका कनेक्टर बनाने के लिए आवश्यक, दस्तावेज़ीकरण और यहाँ देखें
ONEDRIVE_CLIENT_ID, ONEDRIVE_CLIENT_CRED,ONEDRIVE_TENANT_IDuns-mcp सर्वर के माध्यम से One Drive कनेक्टर बनाने के लिए आवश्यक, दस्तावेज़ीकरण देखें
PINECONE_API_KEYuns-mcp सर्वर के माध्यम से Pinecone वेक्टर DB कनेक्टर बनाने के लिए आवश्यक, दस्तावेज़ीकरण देखें
SALESFORCE_CONSUMER_KEY,SALESFORCE_PRIVATE_KEYuns-mcp सर्वर के माध्यम से salesforce स्रोत कनेक्टर बनाने के लिए आवश्यक, दस्तावेज़ीकरण देखें
SHAREPOINT_CLIENT_ID, SHAREPOINT_CLIENT_CRED,SHAREPOINT_TENANT_IDuns-mcp सर्वर के माध्यम से One Drive कनेक्टर बनाने के लिए आवश्यक, दस्तावेज़ीकरण देखें
LOG_LEVELहमारे minimal_client के लिए लॉगिंग स्तर सेट करने के लिए उपयोग किया जाता है, उदा. सब कुछ प्राप्त करने के लिए ERROR पर सेट करें
CONFIRM_TOOL_USEtrue पर सेट करें ताकि minimal_client प्रत्येक उपकरण कॉल से पहले निष्पादन की पुष्टि कर सके
DEBUG_API_REQUESTStrue पर सेट करें ताकि uns_mcp/server.py बेहतर डिबगिंग के लिए अनुरोध पैरामीटर आउटपुट कर सके

Firecrawl स्रोत

Firecrawl एक वेब क्रॉलिंग API है जो हमारे MCP में दो मुख्य क्षमताएँ प्रदान करता है:

  1. HTML सामग्री पुनर्प्राप्ति: क्रॉल कार्य शुरू करने के लिए invoke_firecrawl_crawlhtml और उनकी निगरानी के लिए check_crawlhtml_status का उपयोग करना
  2. LLM-अनुकूलित पाठ निर्माण: पाठ उत्पन्न करने के लिए invoke_firecrawl_llmtxt और परिणाम प्राप्त करने के लिए check_llmtxt_status का उपयोग करना

Firecrawl कैसे काम करता है: वेब क्रॉलिंग प्रक्रिया:

  • एक निर्दिष्ट URL से शुरू होता है और लिंक की पहचान करने के लिए इसका विश्लेषण करता है
  • यदि उपलब्ध हो तो साइटमैप का उपयोग करता है; अन्यथा वेबसाइट पर पाए गए लिंक का अनुसरण करता है
  • सभी उपपृष्ठों की खोज के लिए प्रत्येक लिंक को पुनरावर्ती रूप से पार करता है
  • प्रत्येक विज़िट किए गए पृष्ठ से सामग्री एकत्र करता है, जावास्क्रिप्ट रेंडरिंग और दर सीमाओं को संभालता है
  • यदि आवश्यक हो तो कार्यों को cancel_crawlhtml_job से रद्द किया जा सकता है
  • यदि आपको कच्चे HTML में निकाली गई सभी जानकारी की आवश्यकता है, तो इसका उपयोग करें, Unstructured का वर्कफ़्लो इसे वास्तव में अच्छी तरह से साफ करता है :smile:

LLM पाठ निर्माण:

  • क्रॉलिंग के बाद, क्रॉल किए गए पृष्ठों से स्वच्छ, सार्थक पाठ सामग्री निकालता है
  • बड़े भाषा मॉडल के लिए विशेष रूप से स्वरूपित अनुकूलित पाठ प्रारूप तैयार करता है
  • परिणाम स्वचालित रूप से निर्दिष्ट S3 स्थान पर अपलोड किए जाते हैं
  • नोट: LLM पाठ निर्माण कार्य एक बार शुरू होने के बाद रद्द नहीं किए जा सकते। cancel_llmtxt_job फ़ंक्शन स्थिरता के लिए प्रदान किया गया है लेकिन वर्तमान में Firecrawl API द्वारा समर्थित नहीं है।

नोट: इन फ़ंक्शनों का उपयोग करने के लिए एक FIRECRAWL_API_KEY पर्यावरण चर सेट किया जाना चाहिए।

स्थापना और कॉन्फ़िगरेशन

यह मार्गदर्शिका Python 3.12 और uv उपकरण का उपयोग करके UNS_MCP सर्वर को सेट अप और कॉन्फ़िगर करने के लिए चरण-दर-चरण निर्देश प्रदान करती है।

पूर्वापेक्षाएँ

  • Python 3.12+
  • पर्यावरण प्रबंधन के लिए uv
  • Unstructured से एक API कुंजी। आप साइन अप कर सकते हैं और अपनी API कुंजी यहाँ प्राप्त कर सकते हैं।

uv का उपयोग करना (अनुशंसित)

uvx का उपयोग करते समय किसी अतिरिक्त स्थापना की आवश्यकता नहीं है क्योंकि यह निष्पादन को संभालता है। हालाँकि, यदि आप सीधे पैकेज स्थापित करना पसंद करते हैं:

uv pip install uns_mcp

Claude Desktop कॉन्फ़िगर करें

Claude Desktop के साथ एकीकरण के लिए, अपने claude_desktop_config.json में निम्नलिखित सामग्री जोड़ें:

नोट: फ़ाइल ~/Library/Application Support/Claude/ निर्देशिका में स्थित है।

uvx कमांड का उपयोग करना:

{
   "mcpServers": {
      "UNS_MCP": {
         "command": "uvx",
         "args": ["uns_mcp"],
         "env": {
           "UNSTRUCTURED_API_KEY": "<your-key>"
         }
      }
   }
}

वैकल्पिक रूप से, Python पैकेज का उपयोग करना:

{
   "mcpServers": {
      "UNS_MCP": {
         "command": "python",
         "args": ["-m", "uns_mcp"],
         "env": {
           "UNSTRUCTURED_API_KEY": "<your-key>"
         }
      }
   }
}

स्रोत कोड का उपयोग करना

  1. रिपॉजिटरी को क्लोन करें।

  2. निर्भरताएँ स्थापित करें:

    uv sync
    
  3. अपनी Unstructured API कुंजी को एक पर्यावरण चर के रूप में सेट करें। निम्नलिखित सामग्री के साथ रूट निर्देशिका में एक .env फ़ाइल बनाएँ:

    UNSTRUCTURED_API_KEY="YOUR_KEY"
    

    कॉन्फ़िगर करने योग्य पर्यावरण चर के लिए .env.template देखें।

अब आप निम्न विधियों में से किसी एक का उपयोग करके सर्वर चला सकते हैं:

संपादन योग्य पैकेज स्थापना का उपयोग करना एक संपादन योग्य पैकेज के रूप में स्थापित करें:
uvx pip install -e .

अपना Claude Desktop कॉन्फ़िग अपडेट करें:

{
  "mcpServers": {
    "UNS_MCP": {
      "command": "uvx",
      "args": ["uns_mcp"]
    }
  }
}

नोट: उस वातावरण में uvx निष्पादन योग्य को इंगित करना याद रखें जहाँ आपने पैकेज स्थापित किया था

SSE सर्वर प्रोटोकॉल का उपयोग करना

नोट: Claude Desktop द्वारा समर्थित नहीं है।

SSE प्रोटोकॉल के लिए, आप क्लाइंट और सर्वर को अलग करके अधिक आसानी से डीबग कर सकते हैं:

  1. एक टर्मिनल में सर्वर प्रारंभ करें:

    uv run python uns_mcp/server.py --host 127.0.0.1 --port 8080
    # or
    make sse-server
    
  2. दूसरे टर्मिनल में स्थानीय क्लाइंट का उपयोग करके सर्वर का परीक्षण करें:

    uv run python minimal_client/client.py "http://127.0.0.1:8080/sse"
    # or
    make sse-client
    

नोट: सेवाओं को रोकने के लिए, पहले क्लाइंट पर Ctrl+C का उपयोग करें, फिर सर्वर पर।

Stdio सर्वर प्रोटोकॉल का उपयोग करना

stdio का उपयोग करने के लिए Claude Desktop कॉन्फ़िगर करें:

{
  "mcpServers": {
    "UNS_MCP": {
      "command": "ABSOLUTE/PATH/TO/.local/bin/uv",
      "args": [
        "--directory",
        "ABSOLUTE/PATH/TO/YOUR-UNS-MCP-REPO/uns_mcp",
        "run",
        "server.py"
      ]
    }
  }
}

वैकल्पिक रूप से, स्थानीय क्लाइंट चलाएँ:

uv run python minimal_client/client.py uns_mcp/server.py

अतिरिक्त स्थानीय क्लाइंट कॉन्फ़िगरेशन

पर्यावरणीय चर का उपयोग करके न्यूनतम क्लाइंट कॉन्फ़िगर करें:

  • LOG_LEVEL="ERROR": LLM से डीबग आउटपुट को दबाने के लिए सेट करें, उपयोगकर्ताओं के लिए स्पष्ट संदेश प्रदर्शित करें।
  • CONFIRM_TOOL_USE='false': निष्पादन से पहले उपकरण उपयोग पुष्टिकरण अक्षम करें। सावधानी से उपयोग करें, विशेष रूप से विकास के दौरान, क्योंकि LLM महंगे वर्कफ़्लो निष्पादित कर सकता है या डेटा हटा सकता है।

डिबगिंग उपकरण

Anthropic आपके MCP सर्वर को डीबग/परीक्षण करने के लिए MCP Inspector उपकरण प्रदान करता है। डिबगिंग UI को चालू करने के लिए निम्न कमांड चलाएँ। वहाँ से, आप बाएँ फलक पर पर्यावरण चर (अपने स्थानीय env की ओर इशारा करते हुए) जोड़ सकेंगे। वहाँ env var के रूप में अपनी व्यक्तिगत API कुंजी शामिल करें। tools पर जाएँ, आप MCP सर्वर में जोड़ी गई क्षमताओं का परीक्षण कर सकते हैं।

mcp dev uns_mcp/server.py

यदि आपको UnstructuredClient पर अनुरोध कॉल पैरामीटर लॉग करने की आवश्यकता है, तो पर्यावरण चर DEBUG_API_REQUESTS=false सेट करें। लॉग unstructured-client-{date}.log प्रारूप वाली फ़ाइल में संग्रहीत होते हैं, जिसकी जाँच UnstructuredClient फ़ंक्शनों के अनुरोध कॉल पैरामीटर को डीबग करने के लिए की जा सकती है।

न्यूनतम क्लाइंट में टर्मिनल एक्सेस जोड़ें

हम न्यूनतम क्लाइंट में टर्मिनल एक्सेस जोड़ने के लिए @wonderwhy-er/desktop-commander का उपयोग करने जा रहे हैं। यह MCP फाइलसिस्टम सर्वर पर बनाया गया है। सावधान रहें, क्योंकि क्लाइंट (और LLM) के पास अब निजी फ़ाइलों तक पहुँच है।

पैकेज स्थापित करने के लिए निम्न कमांड निष्पादित करें:

npx @wonderwhy-er/desktop-commander setup

फिर अतिरिक्त पैरामीटर के साथ क्लाइंट प्रारंभ करें:

uv run python minimal_client/client.py "http://127.0.0.1:8080/sse" "@wonderwhy-er/desktop-commander@^0.2.11"
# or
make sse-client-terminal

उपकरणों के उपसमुच्चय का उपयोग करना

यदि आपका क्लाइंट केवल उपकरणों के उपसमुच्चय का उपयोग करने का समर्थन करता है तो यहाँ उन चीजों की सूची दी गई है जिनके बारे में आपको पता होना चाहिए:

  • update_workflow उपकरण को create_workflow उपकरण के साथ संदर्भ में लोड किया जाना चाहिए, क्योंकि इसमें कस्टम नोड बनाने और कॉन्फ़िगर करने के तरीके पर विस्तृत विवरण होता है।

ज्ञात समस्याएँ

  • update_workflow - इसे उस वर्कफ़्लो के कॉन्फ़िगरेशन के संदर्भ में होना चाहिए जिसे यह अपडेट कर रहा है, या तो उपयोगकर्ता द्वारा प्रदान करके या get_workflow_info उपकरण को कॉल करके, क्योंकि यह उपकरण patch लागूकर्ता के रूप में काम नहीं करता है, यह वर्कफ़्लो कॉन्फ़िग को पूरी तरह से बदल देता है।

CHANGELOG.md

किसी भी नई विकसित सुविधाएँ/सुधार/संवर्द्धन को CHANGELOG.md में जोड़ा जाएगा। एक स्थिर संस्करण पर जाने से पहले 0.x.x-dev पूर्व-रिलीज़ प्रारूप को प्राथमिकता दी जाती है।

समस्या निवारण

  • यदि आपको Error: spawn <command> ENOENT के साथ समस्याएँ आती हैं तो इसका अर्थ है कि <command> स्थापित नहीं है या आपके PATH में दिखाई नहीं दे रहा है:
    • इसे स्थापित करना और अपने PATH में जोड़ना सुनिश्चित करें।
    • या अपने कॉन्फ़िग के command फ़ील्ड में कमांड के लिए निरपेक्ष पथ प्रदान करें। इसलिए उदाहरण के लिए python को /opt/miniconda3/bin/python से बदलें