Unstructured
resmiUnstructured 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_sourcesvelist_destinationskullanın. - Kaynak ve hedef bağlayıcılarını yönetme —
create_source_connector,update_destination_connectorve 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 izleme —
run_workflowile bir iş akışını tetikleyin, ardındanlist_jobsveget_job_infokullanarak 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 etme —
invoke_firecrawl_crawlhtmlile bir Firecrawl taraması başlatın vecheck_crawlhtml_statusaracı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_sources | Unstructured API'den mevcut kaynakları listeler. |
get_source_info | Belirli bir kaynak bağlayıcısı hakkında ayrıntılı bilgi alır. |
create_source_connector | Bir kaynak bağlayıcısı oluşturur.) |
update_source_connector | Mevcut bir kaynak bağlayıcısını parametrelerle günceller. |
delete_source_connector | Bir kaynak bağlayıcısını kaynak kimliğine göre siler. |
list_destinations | Unstructured API'den mevcut hedefleri listeler. |
get_destination_info | Belirli bir hedef bağlayıcısı hakkında ayrıntılı bilgi alır |
create_destination_connector | Parametrelerle bir hedef bağlayıcısı oluşturur. |
update_destination_connector | Mevcut bir hedef bağlayıcısını hedef kimliğine göre günceller. |
delete_destination_connector | Bir hedef bağlayıcısını hedef kimliğine göre siler. |
list_workflows | Unstructured API'den iş akışlarını listeler. |
get_workflow_info | Belirli bir iş akışı hakkında ayrıntılı bilgi alır. |
create_workflow | Kaynak, hedef kimliği vb. ile yeni bir iş akışı oluşturur. |
run_workflow | Belirli bir iş akışını iş akışı kimliği ile çalıştırır |
update_workflow | Mevcut bir iş akışını parametrelerle günceller. |
delete_workflow | Belirli bir iş akışını kimliğe göre siler. |
list_jobs | Unstructured API'den belirli bir iş akışı için işleri listeler. |
get_job_info | Belirli bir iş hakkında iş kimliğine göre ayrıntılı bilgi alır. |
cancel_job | Belirli bir işi kimliğe göre siler. |
list_workflows_with_finished_jobs | Tamamlanmış 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!
| Kaynak | Hedef |
|---|---|
| S3 | S3 |
| Azure | Weaviate |
| Google Drive | Pinecone |
| OneDrive | AstraDB |
| Salesforce | MongoDB |
| Sharepoint | Neo4j |
| 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_KEY | Sunucumuzla etkileşim kurmak için minimal_client çalıştırmak gereklidir. |
AWS_KEY, AWS_SECRET | uns-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_KEY | Weaviate vektör veritabanı bağlayıcısı oluşturmak için gereklidir, nasıl yapılacağını belgelerde görebilirsiniz |
FIRECRAWL_API_KEY | external/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_ENDPOINT | uns-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_STRING | uns-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_KEY | uns-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_TOKEN | uns-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_PASSWORD | uns-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_STRING | uns-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_KEY | bir 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_SECRET | uns-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_ID | uns-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_KEY | uns-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_KEY | uns-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_ID | uns-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_LEVEL | minimal_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_USE | minimal_client'in her araç çağrısından önce yürütmeyi onaylayabilmesi için true olarak ayarlayın |
DEBUG_API_REQUESTS | uns_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:
- HTML İçerik Alma: Tarama işlerini başlatmak için
invoke_firecrawl_crawlhtmlve bunları izlemek içincheck_crawlhtml_statuskullanma - LLM için Optimize Edilmiş Metin Üretimi: Metin üretmek için
invoke_firecrawl_llmtxtve sonuçları almak içincheck_llmtxt_statuskullanma
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_jobile 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_jobiş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
-
Depoyu klonlayın.
-
Bağımlılıkları yükleyin:
uv sync -
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.templatesayfası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:
-
Bir terminalde sunucuyu başlatın:
uv run python uns_mcp/server.py --host 127.0.0.1 --port 8080 # or make sse-server -
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_workflowaracı, özel düğümün nasıl oluşturulacağı ve yapılandırılacağına dair ayrıntılı açıklama içerdiğinden,create_workflowaracı 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 veyaget_workflow_infoaracı çağrılarak bağlamda bulundurması gerekir, çünkü bu araçpatchuygulayı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> ENOENTile 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
commandalanında komutun mutlak yolunu sağlayın. Örneğin,pythonyerine/opt/miniconda3/bin/pythonkullanın