Unstructured MCP Server
resmiUnstructured Platform'da yapılandırılmamış veri işleme iş akışlarınızı kurun ve bunlarla etkileşime geçin.
Dokümantasyon
Unstructured API MCP Sunucusu
Unstructured API ile etkileşim kurmak için bir MCP sunucu 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 seviyesini ayarlamak için kullanılır, örneğin her şeyi almak için ERROR olarak ayarlayın |
CONFIRM_TOOL_USE | minimal_client'nin her araç çağrısından önce yürütmeyi onaylayabilmesi için true olarak ayarlayın |
DEBUG_API_REQUESTS | uns_mcp/server.py'nin daha iyi hata ayıklama için istek parametrelerini çıktılayabilmesi 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 işleme ve hız sınırlarını ele alarak 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ı. Kaydolup API anahtarınızı buradan alabilirsiniz.
uv Kullanımı (Önerilir)
uvx kullanıldığında, 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 Komutu Kullanarak:
{
"mcpServers": {
"UNS_MCP": {
"command": "uvx",
"args": ["uns_mcp"],
"env": {
"UNSTRUCTURED_API_KEY": "<your-key>"
}
}
}
}
Alternatif Olarak, Python Paketi Kullanarak:
{
"mcpServers": {
"UNS_MCP": {
"command": "python",
"args": ["-m", "uns_mcp"],
"env": {
"UNSTRUCTURED_API_KEY": "<your-key>"
}
}
}
}
Kaynak Kod Kullanımı
-
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 Kullanarak
Düzenlenebilir 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ını işaret ettiğinizden emin olun
SSE Sunucu Protokolü Kullanımı
Not: Claude Desktop tarafından desteklenmez.
SSE protokolü için, istemci ve sunucuyu ayırarak daha kolay hata ayıklama yapabilirsiniz:
-
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ü Kullanımı
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. Özellikle geliştirme sırasında dikkatli kullanın, çünkü 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 ekleyebilirsiniz (yerel ortamınıza işaret ederek). 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 biçiminde bir dosyada saklanır.
Minimal istemciye terminal erişimi ekleme
Minimal istemciye terminal erişimi eklemek için @wonderwhy-er/desktop-commander kullanacağız. Bu, 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 bulundurmalıdır, çünkü bu araçpatchuygulayıcısı olarak çalışmaz, iş akışı yapılandırmasını tamamen değiştirir.
CHANGELOG.md
Yeni geliştirilen ö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/pythonyazın.