Unstructured

resmi

Unstructured Platform'da yapılandırılmamış veri işleme iş akışlarınızı kurun ve bunlarla etkileşime geçin.

Unstructured MCP ile neler yapabilirsiniz?

  • Kullanılabilir kaynakları ve hedefleri listeleme — Hangi bağlayıcıların Unstructured hesabınızda yapılandırıldığını görmek için list_sources ve list_destinations kullanın.
  • Kaynak ve hedef bağlayıcılarını yönetmecreate_source_connector, update_destination_connector ve ilgili araçlar aracılığıyla bağlayıcılar oluşturun, güncelleyin veya silin.
  • Alım iş akışlarını çalıştırma ve izlemerun_workflow ile bir iş akışını tetikleyin, ardından list_jobs ve get_job_info kullanarak işlerini takip edin.
  • Tamamlanmış işleri olan iş akışlarını bulma — İşlemeyi bitirmiş iş akışlarını belirlemek için list_workflows_with_finished_jobs çağrısını yapın.
  • Web sitelerini iş akışınıza dahil etmeinvoke_firecrawl_crawlhtml ile bir Firecrawl taraması başlatın ve check_crawlhtml_status aracılığıyla durumu kontrol edin.

Dokümantasyon

Unstructured API MCP Sunucusu

[!NOTE] Bu sunucu, kaynakları, hedefleri ve iş akışlarını yönetmek için Unstructured API ile etkileşime girer. Aktif olarak bakımı yapılmamaktadır ve referans amacıyla burada tutulmaktadır.

Dosyaları ayrıştırmak ve yapılandırılmış çıktıya (markdown, JSON, HTML veya düz metin) dönüştürmek istiyorsanız, bunun yerine Unstructured Transform MCP sunucusunu kullanın.

Unstructured Transform, aracılarınıza barındırılan bir MCP sunucusu olarak üretim düzeyinde belge işleme olanağı sunar. Aracılarınıza, mevcut oturumları içinde dosyaları ayrıştırarak, zenginleştirerek, parçalara ayırarak ve gömerek 60'tan fazla dosya türünü uygulamalarınız, vektör veritabanlarınız ve sonraki tüm süreçler için hazır yapılandırılmış verilere dönüştürme yeteneği kazandırır.

Buradan kaydolarak kullanmaya başlayabilirsiniz.

Unstructured API ile etkileşim için bir MCP sunucusu uygulaması. Bu sunucu, kaynakları ve iş akışlarını listelemek için araçlar sağlar.

Mevcut Araçlar

AraçAçıklama
list_sourcesUnstructured API'den mevcut kaynakları listeler.
get_source_infoBelirli bir kaynak bağlayıcısı hakkında ayrıntılı bilgi alır.
create_source_connectorBir kaynak bağlayıcısı oluşturur.)
update_source_connectorMevcut bir kaynak bağlayıcısını parametrelerle günceller.
delete_source_connectorBir kaynak bağlayıcısını kaynak kimliğine göre siler.
list_destinationsUnstructured API'den mevcut hedefleri listeler.
get_destination_infoBelirli bir hedef bağlayıcısı hakkında ayrıntılı bilgi alır
create_destination_connectorParametrelerle bir hedef bağlayıcısı oluşturur.
update_destination_connectorMevcut bir hedef bağlayıcısını hedef kimliğine göre günceller.
delete_destination_connectorBir hedef bağlayıcısını hedef kimliğine göre siler.
list_workflowsUnstructured API'den iş akışlarını listeler.
get_workflow_infoBelirli bir iş akışı hakkında ayrıntılı bilgi alır.
create_workflowKaynak, hedef kimliği vb. ile yeni bir iş akışı oluşturur.
run_workflowBelirli bir iş akışını iş akışı kimliği ile çalıştırır
update_workflowMevcut bir iş akışını parametrelerle günceller.
delete_workflowBelirli bir iş akışını kimliğe göre siler.
list_jobsUnstructured API'den belirli bir iş akışı için işleri listeler.
get_job_infoBelirli bir iş hakkında iş kimliğine göre ayrıntılı bilgi alır.
cancel_jobBelirli bir işi kimliğe göre siler.
list_workflows_with_finished_jobsTamamlanmış herhangi bir işi olan tüm iş akışlarını, kaynak ve hedef ayrıntıları hakkında bilgilerle birlikte listeler.

Aşağıda, UNS-MCP sunucusunun şu anda desteklediği bağlayıcıların bir listesi bulunmaktadır; Unstructured platformunun desteklediği kaynak bağlayıcılarının tam listesini burada ve hedef listesini burada görebilirsiniz. Daha fazlasını eklemeyi planlıyoruz!

KaynakHedef
S3S3
AzureWeaviate
Google DrivePinecone
OneDriveAstraDB
SalesforceMongoDB
SharepointNeo4j
Databricks Volumes
Databricks Volumes Delta Table

Bir bağlayıcı oluşturan/güncelleyen/silen aracı kullanmak için, o belirli bağlayıcının kimlik bilgileri .env dosyanızda tanımlanmış olmalıdır. Aşağıda, desteklediğimiz bağlayıcılar için credentials listesi bulunmaktadır:

Kimlik Bilgisi AdıAçıklama
ANTHROPIC_API_KEYSunucumuzla etkileşim kurmak için minimal_client çalıştırmak gereklidir.
AWS_KEY, AWS_SECRETuns-mcp sunucusu aracılığıyla S3 bağlayıcısı oluşturmak için gereklidir, nasıl yapılacağını belgelerde ve burada görebilirsiniz
WEAVIATE_CLOUD_API_KEYWeaviate vektör veritabanı bağlayıcısı oluşturmak için gereklidir, nasıl yapılacağını belgelerde görebilirsiniz
FIRECRAWL_API_KEYexternal/firecrawl.py içindeki Firecrawl araçlarını kullanmak için gereklidir, Firecrawl adresinden kaydolun ve bir API anahtarı alın.
ASTRA_DB_APPLICATION_TOKEN, ASTRA_DB_API_ENDPOINTuns-mcp sunucusu aracılığıyla Astradb bağlayıcısı oluşturmak için gereklidir, nasıl yapılacağını belgelerde görebilirsiniz
AZURE_CONNECTION_STRINGuns-mcp sunucusu aracılığıyla Azure bağlayıcısı oluşturmak için seçenek 1 gereklidir, nasıl yapılacağını belgelerde görebilirsiniz
AZURE_ACCOUNT_NAME+AZURE_ACCOUNT_KEYuns-mcp sunucusu aracılığıyla Azure bağlayıcısı oluşturmak için seçenek 2 gereklidir, nasıl yapılacağını belgelerde görebilirsiniz
AZURE_ACCOUNT_NAME+AZURE_SAS_TOKENuns-mcp sunucusu aracılığıyla Azure bağlayıcısı oluşturmak için seçenek 3 gereklidir, nasıl yapılacağını belgelerde görebilirsiniz
NEO4J_PASSWORDuns-mcp sunucusu aracılığıyla Neo4j bağlayıcısı oluşturmak için gereklidir, nasıl yapılacağını belgelerde görebilirsiniz
MONGO_DB_CONNECTION_STRINGuns-mcp sunucusu aracılığıyla Mongodb bağlayıcısı oluşturmak için gereklidir, nasıl yapılacağını belgelerde görebilirsiniz
GOOGLEDRIVE_SERVICE_ACCOUNT_KEYbir dize değeri. Orijinal sunucu hesap anahtarı (belgeleri takip edin) json dosyasındadır, dize değerini almak için terminalde base64 < /path/to/google_service_account_key.json çalıştırın
DATABRICKS_CLIENT_ID,DATABRICKS_CLIENT_SECRETuns-mcp sunucusu aracılığıyla Databricks volume/delta table bağlayıcısı oluşturmak için gereklidir, nasıl yapılacağını belgelerde ve burada görebilirsiniz
ONEDRIVE_CLIENT_ID, ONEDRIVE_CLIENT_CRED,ONEDRIVE_TENANT_IDuns-mcp sunucusu aracılığıyla One Drive bağlayıcısı oluşturmak için gereklidir, nasıl yapılacağını belgelerde görebilirsiniz
PINECONE_API_KEYuns-mcp sunucusu aracılığıyla Pinecone vektör DB bağlayıcısı oluşturmak için gereklidir, nasıl yapılacağını belgelerde görebilirsiniz
SALESFORCE_CONSUMER_KEY,SALESFORCE_PRIVATE_KEYuns-mcp sunucusu aracılığıyla salesforce kaynak bağlayıcısı oluşturmak için gereklidir, nasıl yapılacağını belgelerde görebilirsiniz
SHAREPOINT_CLIENT_ID, SHAREPOINT_CLIENT_CRED,SHAREPOINT_TENANT_IDuns-mcp sunucusu aracılığıyla One Drive bağlayıcısı oluşturmak için gereklidir, nasıl yapılacağını belgelerde görebilirsiniz
LOG_LEVELminimal_client için günlük kaydı seviyesini ayarlamak için kullanılır, örneğin her şeyi almak için ERROR olarak ayarlayın
CONFIRM_TOOL_USEminimal_client'in her araç çağrısından önce yürütmeyi onaylayabilmesi için true olarak ayarlayın
DEBUG_API_REQUESTSuns_mcp/server.py'in daha iyi hata ayıklama için istek parametrelerini çıktı olarak verebilmesi için true olarak ayarlayın

Firecrawl Kaynağı

Firecrawl, MCP'mizde iki ana yetenek sağlayan bir web tarama API'sidir:

  1. HTML İçerik Alma: Tarama işlerini başlatmak için invoke_firecrawl_crawlhtml ve bunları izlemek için check_crawlhtml_status kullanma
  2. LLM için Optimize Edilmiş Metin Üretimi: Metin üretmek için invoke_firecrawl_llmtxt ve sonuçları almak için check_llmtxt_status kullanma

Firecrawl nasıl çalışır: Web Tarama Süreci:

  • Belirtilen bir URL ile başlar ve bağlantıları belirlemek için analiz eder
  • Varsa site haritasını kullanır; aksi takdirde web sitesinde bulunan bağlantıları takip eder
  • Tüm alt sayfaları keşfetmek için her bağlantıyı özyinelemeli olarak dolaşır
  • JavaScript render etme ve hız sınırlarını yöneterek ziyaret edilen her sayfadan içerik toplar
  • Gerekirse işler cancel_crawlhtml_job ile iptal edilebilir
  • Tüm bilgilerin ham HTML olarak çıkarılmasını istiyorsanız bunu kullanın, Unstructured'ın iş akışı bunu gerçekten iyi temizler :smile:

LLM Metin Üretimi:

  • Taramadan sonra, taranan sayfalardan temiz, anlamlı metin içeriği çıkarır
  • Büyük dil modelleri için özel olarak biçimlendirilmiş optimize metin formatları üretir
  • Sonuçlar otomatik olarak belirtilen S3 konumuna yüklenir
  • Not: LLM metin üretim işleri başlatıldıktan sonra iptal edilemez. cancel_llmtxt_job işlevi tutarlılık için sağlanmıştır ancak şu anda Firecrawl API tarafından desteklenmemektedir.

Not: Bu işlevleri kullanmak için bir FIRECRAWL_API_KEY ortam değişkeni ayarlanmalıdır.

Kurulum & Yapılandırma

Bu kılavuz, Python 3.12 ve uv aracını kullanarak UNS_MCP sunucusunu kurmak ve yapılandırmak için adım adım talimatlar sağlar.

Ön Koşullar

  • Python 3.12+
  • Ortam yönetimi için uv
  • Unstructured'dan bir API anahtarı. API anahtarınıza buradan kaydolup edinebilirsiniz.

uv Kullanımı (Önerilir)

uvx kullanırken, yürütmeyi kendisi yönettiği için ek kurulum gerekmez. Ancak, paketi doğrudan kurmayı tercih ederseniz:

uv pip install uns_mcp

Claude Desktop'ı Yapılandırma

Claude Desktop ile entegrasyon için, claude_desktop_config.json dosyanıza aşağıdaki içeriği ekleyin:

Not: Dosya, ~/Library/Application Support/Claude/ dizininde bulunur.

uvx Komutunu Kullanma:

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

Alternatif Olarak, Python Paketini Kullanma:

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

Kaynak Kodu Kullanma

  1. Depoyu klonlayın.

  2. Bağımlılıkları yükleyin:

    uv sync
    
  3. Unstructured API anahtarınızı bir ortam değişkeni olarak ayarlayın. Kök dizinde aşağıdaki içeriğe sahip bir .env dosyası oluşturun:

    UNSTRUCTURED_API_KEY="YOUR_KEY"
    

    Yapılandırılabilir ortam değişkenleri için .env.template sayfasına bakın.

Artık sunucuyu aşağıdaki yöntemlerden birini kullanarak çalıştırabilirsiniz:

Düzenlenebilir Paket Kurulumu Kullanma Düzenlenebilir bir paket olarak kurun:
uvx pip install -e .

Claude Desktop yapılandırmanızı güncelleyin:

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

Not: Paketi kurduğunuz ortamdaki uvx yürütülebilir dosyasına işaret etmeyi unutmayın

SSE Sunucu Protokolünü Kullanma

Not: Claude Desktop tarafından desteklenmez.

SSE protokolü için, istemci ve sunucuyu ayırarak daha kolay hata ayıklayabilirsiniz:

  1. Bir terminalde sunucuyu başlatın:

    uv run python uns_mcp/server.py --host 127.0.0.1 --port 8080
    # or
    make sse-server
    
  2. Başka bir terminalde yerel bir istemci kullanarak sunucuyu test edin:

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

Not: Hizmetleri durdurmak için önce istemcide, sonra sunucuda Ctrl+C kullanın.

Stdio Sunucu Protokolünü Kullanma

Claude Desktop'ı stdio kullanacak şekilde yapılandırın:

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

Alternatif olarak, yerel istemciyi çalıştırın:

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

Ek Yerel İstemci Yapılandırması

Minimal istemciyi ortam değişkenlerini kullanarak yapılandırın:

  • LOG_LEVEL="ERROR": LLM'den gelen hata ayıklama çıktılarını bastırmak ve kullanıcılar için net mesajlar görüntülemek için ayarlayın.
  • CONFIRM_TOOL_USE='false': Yürütmeden önce araç kullanım onayını devre dışı bırakın. Dikkatli kullanın, özellikle geliştirme sırasında, LLM pahalı iş akışları yürütebilir veya verileri silebilir.

Hata Ayıklama Araçları

Anthropic, MCP sunucunuzda hata ayıklamak/test etmek için MCP Inspector aracını sağlar. Bir hata ayıklama kullanıcı arayüzü başlatmak için aşağıdaki komutu çalıştırın. Buradan, sol bölmede ortam değişkenleri (yerel ortamınıza işaret eden) ekleyebileceksiniz. Kişisel API anahtarınızı buraya ortam değişkeni olarak ekleyin. tools sayfasına gidin, MCP sunucusuna eklediğiniz yetenekleri test edebilirsiniz.

mcp dev uns_mcp/server.py

İstek çağrı parametrelerini UnstructuredClient'e kaydetmeniz gerekiyorsa, DEBUG_API_REQUESTS=false ortam değişkenini ayarlayın. Günlükler, UnstructuredClient işlevlerine yapılan istek çağrı parametrelerinde hata ayıklamak için incelenebilecek unstructured-client-{date}.log formatında bir dosyada saklanır.

Minimal istemciye terminal erişimi ekleme

Minimal istemciye terminal erişimi eklemek için @wonderwhy-er/desktop-commander kullanacağız. MCP Dosya Sistemi Sunucusu üzerine inşa edilmiştir. Dikkatli olun, çünkü istemci (ve LLM) artık özel dosyalara erişebilir.

Paketi kurmak için aşağıdaki komutu yürütün:

npx @wonderwhy-er/desktop-commander setup

Ardından istemciyi ek parametre ile başlatın:

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

Araçların alt kümesini kullanma

İstemciniz yalnızca araçların bir alt kümesini kullanmayı destekliyorsa, bilmeniz gerekenler şunlardır:

  • update_workflow aracı, özel düğümün nasıl oluşturulacağı ve yapılandırılacağına dair ayrıntılı açıklama içerdiğinden, create_workflow aracı ile birlikte bağlama yüklenmelidir.

Bilinen Sorunlar

  • update_workflow - güncellediği iş akışının yapılandırmasını, kullanıcı tarafından sağlanarak veya get_workflow_info aracı çağrılarak bağlamda bulundurması gerekir, çünkü bu araç patch uygulayıcısı olarak çalışmaz, iş akışı yapılandırmasını tamamen değiştirir.

CHANGELOG.md

Geliştirilen yeni özellikler/düzeltmeler/iyileştirmeler CHANGELOG.md dosyasına eklenecektir. Kararlı bir sürüme geçmeden önce 0.x.x-dev ön sürüm formatı tercih edilir.

Sorun Giderme

  • Error: spawn <command> ENOENT ile ilgili sorunlarla karşılaşırsanız, bu <command>'in kurulu olmadığı veya PATH'inizde görünür olmadığı anlamına gelir:
    • Kurduğunuzdan ve PATH'inize eklediğinizden emin olun.
    • veya yapılandırmanızın command alanında komutun mutlak yolunu sağlayın. Örneğin, python yerine /opt/miniconda3/bin/python kullanın