Unstructured
resmiSiapkan dan jalankan alur kerja pemrosesan data tidak terstruktur Anda di Unstructured Platform.
Apa yang bisa Anda lakukan dengan Unstructured MCP?
- Daftar sumber dan tujuan yang tersedia — Gunakan
list_sourcesdanlist_destinationsuntuk melihat konektor mana yang dikonfigurasi di akun Unstructured Anda. - Kelola konektor sumber dan tujuan — Buat, perbarui, atau hapus konektor melalui
create_source_connector,update_destination_connector, dan alat terkait. - Jalankan dan pantau alur kerja ingestion — Picu alur kerja dengan
run_workflow, lalu lacak pekerjaannya menggunakanlist_jobsdanget_job_info. - Temukan alur kerja dengan pekerjaan yang selesai — Panggil
list_workflows_with_finished_jobsuntuk mengidentifikasi alur kerja yang telah selesai diproses. - Ramban situs web ke dalam pipeline Anda — Mulai perambanan Firecrawl dengan
invoke_firecrawl_crawlhtmldan periksa status melaluicheck_crawlhtml_status.
Dokumentasi
Server API MCP Unstructured
[!NOTE] Server ini berinteraksi dengan API Unstructured untuk mengelola sumber, tujuan, dan alur kerja. Server ini tidak dikelola secara aktif dan disimpan di sini sebagai referensi.
Jika Anda ingin mengurai dan mengubah file menjadi output terstruktur (markdown, JSON, HTML, atau teks biasa), gunakan Server MCP Unstructured Transform sebagai gantinya.
Unstructured Transform menghadirkan pemrosesan dokumen tingkat produksi ke agen Anda sebagai server MCP yang dihosting. Ini memberi mereka kemampuan untuk mengubah lebih dari 60 jenis file menjadi data terstruktur yang siap untuk aplikasi, basis data vektor, dan proses hilir apa pun dengan mengurai, memperkaya, memotong, dan menyematkan file langsung di dalam sesi mereka saat ini.
Anda dapat mulai menggunakannya dengan mendaftar di sini.
Implementasi server MCP untuk berinteraksi dengan API Unstructured. Server ini menyediakan alat untuk mencantumkan sumber dan alur kerja.
Alat yang Tersedia
| Alat | Deskripsi |
|---|---|
list_sources | Mencantumkan sumber yang tersedia dari API Unstructured. |
get_source_info | Mendapatkan informasi detail tentang konektor sumber tertentu. |
create_source_connector | Membuat konektor sumber.) |
update_source_connector | Memperbarui konektor sumber yang ada berdasarkan parameter. |
delete_source_connector | Menghapus konektor sumber berdasarkan ID sumber. |
list_destinations | Mencantumkan tujuan yang tersedia dari API Unstructured. |
get_destination_info | Mendapatkan info detail tentang konektor tujuan tertentu |
create_destination_connector | Membuat konektor tujuan berdasarkan parameter. |
update_destination_connector | Memperbarui konektor tujuan yang ada berdasarkan ID tujuan. |
delete_destination_connector | Menghapus konektor tujuan berdasarkan ID tujuan. |
list_workflows | Mencantumkan alur kerja dari API Unstructured. |
get_workflow_info | Mendapatkan informasi detail tentang alur kerja tertentu. |
create_workflow | Membuat alur kerja baru dengan sumber, ID tujuan, dll. |
run_workflow | Menjalankan alur kerja tertentu dengan ID alur kerja |
update_workflow | Memperbarui alur kerja yang ada berdasarkan parameter. |
delete_workflow | Menghapus alur kerja tertentu berdasarkan ID. |
list_jobs | Mencantumkan pekerjaan untuk alur kerja tertentu dari API Unstructured. |
get_job_info | Mendapatkan informasi detail tentang pekerjaan tertentu berdasarkan ID pekerjaan. |
cancel_job | Menghapus pekerjaan tertentu berdasarkan ID. |
list_workflows_with_finished_jobs | Mencantumkan semua alur kerja yang memiliki pekerjaan selesai, beserta informasi tentang detail sumber dan tujuan. |
Di bawah ini adalah daftar konektor yang saat ini didukung oleh server UNS-MCP, silakan lihat daftar lengkap konektor sumber yang didukung platform Unstructured di sini dan daftar tujuan di sini. Kami berencana untuk menambahkan lebih banyak lagi!
| Sumber | Tujuan |
|---|---|
| S3 | S3 |
| Azure | Weaviate |
| Google Drive | Pinecone |
| OneDrive | AstraDB |
| Salesforce | MongoDB |
| Sharepoint | Neo4j |
| Databricks Volumes | |
| Databricks Volumes Delta Table |
Untuk menggunakan alat yang membuat/memperbarui/menghapus konektor, kredensial untuk konektor tertentu tersebut harus ditentukan dalam file .env Anda. Di bawah ini adalah daftar credentials untuk konektor yang kami dukung:
| Nama Kredensial | Deskripsi |
|---|---|
ANTHROPIC_API_KEY | diperlukan untuk menjalankan minimal_client untuk berinteraksi dengan server kami. |
AWS_KEY, AWS_SECRET | diperlukan untuk membuat konektor S3 melalui server uns-mcp, lihat caranya di dokumentasi dan di sini |
WEAVIATE_CLOUD_API_KEY | diperlukan untuk membuat konektor basis data vektor Weaviate, lihat caranya di dokumentasi |
FIRECRAWL_API_KEY | diperlukan untuk menggunakan alat Firecrawl di external/firecrawl.py, daftar di Firecrawl dan dapatkan kunci API. |
ASTRA_DB_APPLICATION_TOKEN, ASTRA_DB_API_ENDPOINT | diperlukan untuk membuat konektor Astradb melalui server uns-mcp, lihat caranya di dokumentasi |
AZURE_CONNECTION_STRING | diperlukan opsi 1 untuk membuat konektor Azure melalui server uns-mcp, lihat caranya di dokumentasi |
AZURE_ACCOUNT_NAME+AZURE_ACCOUNT_KEY | diperlukan opsi 2 untuk membuat konektor Azure melalui server uns-mcp, lihat caranya di dokumentasi |
AZURE_ACCOUNT_NAME+AZURE_SAS_TOKEN | diperlukan opsi 3 untuk membuat konektor Azure melalui server uns-mcp, lihat caranya di dokumentasi |
NEO4J_PASSWORD | diperlukan untuk membuat konektor Neo4j melalui server uns-mcp, lihat caranya di dokumentasi |
MONGO_DB_CONNECTION_STRING | diperlukan untuk membuat konektor Mongodb melalui server uns-mcp, lihat caranya di dokumentasi |
GOOGLEDRIVE_SERVICE_ACCOUNT_KEY | sebuah nilai string. Kunci akun server asli (ikuti dokumentasi) ada dalam file json, jalankan base64 < /path/to/google_service_account_key.json di terminal untuk mendapatkan nilai string |
DATABRICKS_CLIENT_ID,DATABRICKS_CLIENT_SECRET | diperlukan untuk membuat konektor volume/tabel delta Databricks melalui server uns-mcp, lihat caranya di dokumentasi dan di sini |
ONEDRIVE_CLIENT_ID, ONEDRIVE_CLIENT_CRED,ONEDRIVE_TENANT_ID | diperlukan untuk membuat konektor One Drive melalui server uns-mcp, lihat caranya di dokumentasi |
PINECONE_API_KEY | diperlukan untuk membuat konektor basis data vektor Pinecone melalui server uns-mcp, lihat caranya di dokumentasi |
SALESFORCE_CONSUMER_KEY,SALESFORCE_PRIVATE_KEY | diperlukan untuk membuat konektor sumber salesforce melalui server uns-mcp, lihat caranya di dokumentasi |
SHAREPOINT_CLIENT_ID, SHAREPOINT_CLIENT_CRED,SHAREPOINT_TENANT_ID | diperlukan untuk membuat konektor One Drive melalui server uns-mcp, lihat caranya di dokumentasi |
LOG_LEVEL | Digunakan untuk mengatur level logging untuk minimal_client kami, mis. atur ke ERROR untuk mendapatkan semuanya |
CONFIRM_TOOL_USE | atur ke true agar minimal_client dapat mengonfirmasi eksekusi sebelum setiap panggilan alat |
DEBUG_API_REQUESTS | atur ke true agar uns_mcp/server.py dapat mengeluarkan parameter permintaan untuk debugging yang lebih baik |
Sumber Firecrawl
Firecrawl adalah API perayapan web yang menyediakan dua kemampuan utama di MCP kami:
- Pengambilan Konten HTML: Menggunakan
invoke_firecrawl_crawlhtmluntuk memulai pekerjaan perayapan dancheck_crawlhtml_statusuntuk memantaunya - Pembuatan Teks yang Dioptimalkan LLM: Menggunakan
invoke_firecrawl_llmtxtuntuk menghasilkan teks dancheck_llmtxt_statusuntuk mengambil hasilnya
Cara kerja Firecrawl: Proses Perayapan Web:
- Dimulai dengan URL yang ditentukan dan menganalisisnya untuk mengidentifikasi tautan
- Menggunakan peta situs jika tersedia; jika tidak, mengikuti tautan yang ditemukan di situs web
- Melintasi setiap tautan secara rekursif untuk menemukan semua subhalaman
- Mengumpulkan konten dari setiap halaman yang dikunjungi, menangani rendering JavaScript dan batas kecepatan
- Pekerjaan dapat dibatalkan dengan
cancel_crawlhtml_jobjika diperlukan - Gunakan ini jika Anda memerlukan semua info yang diekstrak ke dalam HTML mentah, alur kerja Unstructured membersihkannya dengan sangat baik :smile:
Pembuatan Teks LLM:
- Setelah perayapan, mengekstrak konten teks yang bersih dan bermakna dari halaman yang dirayapi
- Menghasilkan format teks yang dioptimalkan yang diformat khusus untuk model bahasa besar
- Hasil secara otomatis diunggah ke lokasi S3 yang ditentukan
- Catatan: Pekerjaan pembuatan teks LLM tidak dapat dibatalkan setelah dimulai. Fungsi
cancel_llmtxt_jobdisediakan untuk konsistensi tetapi saat ini tidak didukung oleh API Firecrawl.
Catatan: Variabel lingkungan FIRECRAWL_API_KEY harus diatur untuk menggunakan fungsi-fungsi ini.
Instalasi & Konfigurasi
Panduan ini memberikan petunjuk langkah demi langkah untuk menyiapkan dan mengonfigurasi server UNS_MCP menggunakan Python 3.12 dan alat uv.
Prasyarat
- Python 3.12+
uvuntuk manajemen lingkungan- Kunci API dari Unstructured. Anda dapat mendaftar dan mendapatkan kunci API Anda di sini.
Menggunakan uv (Direkomendasikan)
Tidak diperlukan instalasi tambahan saat menggunakan uvx karena ia menangani eksekusi. Namun, jika Anda lebih suka menginstal paket secara langsung:
uv pip install uns_mcp
Konfigurasi Claude Desktop
Untuk integrasi dengan Claude Desktop, tambahkan konten berikut ke claude_desktop_config.json Anda:
Catatan: File tersebut terletak di direktori ~/Library/Application Support/Claude/.
Menggunakan Perintah uvx:
{
"mcpServers": {
"UNS_MCP": {
"command": "uvx",
"args": ["uns_mcp"],
"env": {
"UNSTRUCTURED_API_KEY": "<your-key>"
}
}
}
}
Atau, Menggunakan Paket Python:
{
"mcpServers": {
"UNS_MCP": {
"command": "python",
"args": ["-m", "uns_mcp"],
"env": {
"UNSTRUCTURED_API_KEY": "<your-key>"
}
}
}
}
Menggunakan Kode Sumber
-
Kloning repositori.
-
Instal dependensi:
uv sync -
Atur kunci API Unstructured Anda sebagai variabel lingkungan. Buat file .env di direktori root dengan konten berikut:
UNSTRUCTURED_API_KEY="YOUR_KEY"Lihat
.env.templateuntuk variabel lingkungan yang dapat dikonfigurasi.
Anda sekarang dapat menjalankan server menggunakan salah satu metode berikut:
Menggunakan Instalasi Paket yang Dapat Diedit
Instal sebagai paket yang dapat diedit:uvx pip install -e .
Perbarui konfigurasi Claude Desktop Anda:
{
"mcpServers": {
"UNS_MCP": {
"command": "uvx",
"args": ["uns_mcp"]
}
}
}
Catatan: Ingatlah untuk menunjuk ke executable uvx di lingkungan tempat Anda menginstal paket
Menggunakan Protokol Server SSE
Catatan: Tidak didukung oleh Claude Desktop.
Untuk protokol SSE, Anda dapat melakukan debug lebih mudah dengan memisahkan klien dan server:
-
Mulai server di satu terminal:
uv run python uns_mcp/server.py --host 127.0.0.1 --port 8080 # or make sse-server -
Uji server menggunakan klien lokal di terminal lain:
uv run python minimal_client/client.py "http://127.0.0.1:8080/sse" # or make sse-client
Catatan: Untuk menghentikan layanan, gunakan Ctrl+C pada klien terlebih dahulu, lalu server.
Menggunakan Protokol Server Stdio
Konfigurasikan Claude Desktop untuk menggunakan stdio:
{
"mcpServers": {
"UNS_MCP": {
"command": "ABSOLUTE/PATH/TO/.local/bin/uv",
"args": [
"--directory",
"ABSOLUTE/PATH/TO/YOUR-UNS-MCP-REPO/uns_mcp",
"run",
"server.py"
]
}
}
}
Atau, jalankan klien lokal:
uv run python minimal_client/client.py uns_mcp/server.py
Konfigurasi Klien Lokal Tambahan
Konfigurasikan klien minimal menggunakan variabel lingkungan:
LOG_LEVEL="ERROR": Atur untuk menekan output debug dari LLM, menampilkan pesan yang jelas untuk pengguna.CONFIRM_TOOL_USE='false': Nonaktifkan konfirmasi penggunaan alat sebelum eksekusi. Gunakan dengan hati-hati, terutama selama pengembangan, karena LLM dapat menjalankan alur kerja yang mahal atau menghapus data.
Alat debugging
Anthropic menyediakan alat MCP Inspector untuk debug/uji server MCP Anda. Jalankan perintah berikut untuk memutar UI debugging. Dari sana, Anda akan dapat menambahkan variabel lingkungan (menunjuk ke env lokal Anda) di panel kiri. Sertakan kunci API pribadi Anda di sana sebagai env var. Buka tools, Anda dapat menguji kemampuan yang Anda tambahkan ke server MCP.
mcp dev uns_mcp/server.py
Jika Anda perlu mencatat parameter panggilan permintaan ke UnstructuredClient, atur variabel lingkungan DEBUG_API_REQUESTS=false.
Log disimpan dalam file dengan format unstructured-client-{date}.log, yang dapat diperiksa untuk debug parameter panggilan permintaan ke fungsi UnstructuredClient.
Tambahkan akses terminal ke klien minimal
Kita akan menggunakan @wonderwhy-er/desktop-commander untuk menambahkan akses terminal ke klien minimal. Ini dibangun di atas Server Sistem File MCP. Berhati-hatilah, karena klien (juga LLM) sekarang memiliki akses ke file pribadi.
Jalankan perintah berikut untuk menginstal paket:
npx @wonderwhy-er/desktop-commander setup
Kemudian mulai klien dengan parameter tambahan:
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
Menggunakan subset alat
Jika klien Anda mendukung penggunaan hanya subset alat, berikut adalah daftar hal yang harus Anda perhatikan:
- Alat
update_workflowharus dimuat dalam konteks bersama dengan alatcreate_workflow, karena berisi deskripsi terperinci tentang cara membuat dan mengonfigurasi node kustom.
Masalah yang Diketahui
update_workflow- perlu memiliki dalam konteks konfigurasi alur kerja yang sedang diperbarui baik dengan menyediakannya oleh pengguna atau dengan memanggil alatget_workflow_info, karena alat ini tidak berfungsi sebagai pengaplikasipatch, ia sepenuhnya mengganti konfigurasi alur kerja.
CHANGELOG.md
Setiap fitur/perbaikan/peningkatan baru yang dikembangkan akan ditambahkan ke CHANGELOG.md. Format pra-rilis 0.x.x-dev lebih disukai sebelum kita naik ke versi stabil.
Pemecahan Masalah
- Jika Anda mengalami masalah dengan
Error: spawn <command> ENOENTitu berarti<command>tidak terinstal atau tidak terlihat di PATH Anda:- Pastikan untuk menginstalnya dan menambahkannya ke PATH Anda.
- atau berikan path absolut ke perintah di bidang
commandkonfigurasi Anda. Jadi misalnya gantipythondengan/opt/miniconda3/bin/python