Unstructured
chính thứcThiết lập và tương tác với các quy trình xử lý dữ liệu phi cấu trúc của bạn trong Unstructured Platform
Bạn có thể làm gì với Unstructured MCP?
- Liệt kê các nguồn và đích có sẵn — Sử dụng
list_sourcesvàlist_destinationsđể xem các connector nào đã được cấu hình trong tài khoản Unstructured của bạn. - Quản lý connector nguồn và đích — Tạo, cập nhật hoặc xóa connector thông qua
create_source_connector,update_destination_connectorvà các công cụ liên quan. - Chạy và giám sát quy trình làm việc nhập dữ liệu — Kích hoạt quy trình làm việc bằng
run_workflow, sau đó theo dõi các tác vụ của nó bằnglist_jobsvàget_job_info. - Tìm quy trình làm việc có tác vụ đã hoàn thành — Gọi
list_workflows_with_finished_jobsđể xác định các quy trình làm việc đã xử lý xong. - Thu thập dữ liệu trang web vào pipeline của bạn — Bắt đầu một lần thu thập dữ liệu Firecrawl bằng
invoke_firecrawl_crawlhtmlvà kiểm tra trạng thái quacheck_crawlhtml_status.
Tài liệu
Máy chủ MCP API Unstructured
[!NOTE] Máy chủ này tương tác với API Unstructured để quản lý nguồn, đích và quy trình làm việc. Nó không được bảo trì tích cực và được giữ ở đây để tham khảo.
Nếu bạn muốn phân tích và chuyển đổi tệp thành đầu ra có cấu trúc (markdown, JSON, HTML hoặc văn bản thuần túy), hãy sử dụng máy chủ Unstructured Transform MCP thay thế.
Unstructured Transform mang đến khả năng xử lý tài liệu cấp sản xuất cho các tác nhân của bạn dưới dạng máy chủ MCP được lưu trữ. Nó cho phép chúng chuyển đổi hơn 60 loại tệp thành dữ liệu có cấu trúc sẵn sàng cho ứng dụng, cơ sở dữ liệu vector và bất kỳ quy trình hạ nguồn nào bằng cách phân tích, làm giàu, phân đoạn và nhúng tệp trực tiếp trong phiên làm việc hiện tại của chúng.
Bạn có thể bắt đầu sử dụng nó bằng cách đăng ký tại đây.
Một triển khai máy chủ MCP để tương tác với API Unstructured. Máy chủ này cung cấp các công cụ để liệt kê nguồn và quy trình làm việc.
Công cụ khả dụng
| Công cụ | Mô tả |
|---|---|
list_sources | Liệt kê các nguồn khả dụng từ API Unstructured. |
get_source_info | Nhận thông tin chi tiết về một trình kết nối nguồn cụ thể. |
create_source_connector | Tạo một trình kết nối nguồn.) |
update_source_connector | Cập nhật một trình kết nối nguồn hiện có bằng các tham số. |
delete_source_connector | Xóa một trình kết nối nguồn theo ID nguồn. |
list_destinations | Liệt kê các đích khả dụng từ API Unstructured. |
get_destination_info | Nhận thông tin chi tiết về một trình kết nối đích cụ thể |
create_destination_connector | Tạo một trình kết nối đích bằng các tham số. |
update_destination_connector | Cập nhật một trình kết nối đích hiện có theo ID đích. |
delete_destination_connector | Xóa một trình kết nối đích theo ID đích. |
list_workflows | Liệt kê các quy trình làm việc từ API Unstructured. |
get_workflow_info | Nhận thông tin chi tiết về một quy trình làm việc cụ thể. |
create_workflow | Tạo một quy trình làm việc mới với ID nguồn, ID đích, v.v. |
run_workflow | Chạy một quy trình làm việc cụ thể với ID quy trình làm việc |
update_workflow | Cập nhật một quy trình làm việc hiện có bằng các tham số. |
delete_workflow | Xóa một quy trình làm việc cụ thể theo ID. |
list_jobs | Liệt kê các công việc cho một quy trình làm việc cụ thể từ API Unstructured. |
get_job_info | Nhận thông tin chi tiết về một công việc cụ thể theo ID công việc. |
cancel_job | Xóa một công việc cụ thể theo ID. |
list_workflows_with_finished_jobs | Liệt kê tất cả các quy trình làm việc có bất kỳ công việc nào đã hoàn thành, cùng với thông tin về chi tiết nguồn và đích. |
Dưới đây là danh sách các trình kết nối mà máy chủ UNS-MCP hiện hỗ trợ, vui lòng xem danh sách đầy đủ các trình kết nối nguồn mà nền tảng Unstructured hỗ trợ tại đây và danh sách đích tại đây. Chúng tôi đang có kế hoạch bổ sung thêm!
| Nguồn | Đích |
|---|---|
| S3 | S3 |
| Azure | Weaviate |
| Google Drive | Pinecone |
| OneDrive | AstraDB |
| Salesforce | MongoDB |
| Sharepoint | Neo4j |
| Databricks Volumes | |
| Databricks Volumes Delta Table |
Để sử dụng công cụ tạo/cập nhật/xóa một trình kết nối, thông tin xác thực cho trình kết nối cụ thể đó phải được định nghĩa trong tệp .env của bạn. Dưới đây là danh sách credentials cho các trình kết nối chúng tôi hỗ trợ:
| Tên thông tin xác thực | Mô tả |
|---|---|
ANTHROPIC_API_KEY | bắt buộc để chạy minimal_client nhằm tương tác với máy chủ của chúng tôi. |
AWS_KEY, AWS_SECRET | bắt buộc để tạo trình kết nối S3 thông qua máy chủ uns-mcp, xem cách thực hiện trong tài liệu và tại đây |
WEAVIATE_CLOUD_API_KEY | bắt buộc để tạo trình kết nối cơ sở dữ liệu vector Weaviate, xem cách thực hiện trong tài liệu |
FIRECRAWL_API_KEY | bắt buộc để sử dụng các công cụ Firecrawl trong external/firecrawl.py, đăng ký trên Firecrawl và nhận khóa API. |
ASTRA_DB_APPLICATION_TOKEN, ASTRA_DB_API_ENDPOINT | bắt buộc để tạo trình kết nối Astradb thông qua máy chủ uns-mcp, xem cách thực hiện trong tài liệu |
AZURE_CONNECTION_STRING | tùy chọn 1 bắt buộc để tạo trình kết nối Azure thông qua máy chủ uns-mcp, xem cách thực hiện trong tài liệu |
AZURE_ACCOUNT_NAME+AZURE_ACCOUNT_KEY | tùy chọn 2 bắt buộc để tạo trình kết nối Azure thông qua máy chủ uns-mcp, xem cách thực hiện trong tài liệu |
AZURE_ACCOUNT_NAME+AZURE_SAS_TOKEN | tùy chọn 3 bắt buộc để tạo trình kết nối Azure thông qua máy chủ uns-mcp, xem cách thực hiện trong tài liệu |
NEO4J_PASSWORD | bắt buộc để tạo trình kết nối Neo4j thông qua máy chủ uns-mcp, xem cách thực hiện trong tài liệu |
MONGO_DB_CONNECTION_STRING | bắt buộc để tạo trình kết nối Mongodb thông qua máy chủ uns-mcp, xem cách thực hiện trong tài liệu |
GOOGLEDRIVE_SERVICE_ACCOUNT_KEY | một giá trị chuỗi. Khóa tài khoản máy chủ gốc (làm theo tài liệu) nằm trong tệp json, chạy base64 < /path/to/google_service_account_key.json trong terminal để nhận giá trị chuỗi |
DATABRICKS_CLIENT_ID,DATABRICKS_CLIENT_SECRET | bắt buộc để tạo trình kết nối Databricks volume/delta table thông qua máy chủ uns-mcp, xem cách thực hiện trong tài liệu và tại đây |
ONEDRIVE_CLIENT_ID, ONEDRIVE_CLIENT_CRED,ONEDRIVE_TENANT_ID | bắt buộc để tạo trình kết nối One Drive thông qua máy chủ uns-mcp, xem cách thực hiện trong tài liệu |
PINECONE_API_KEY | bắt buộc để tạo trình kết nối cơ sở dữ liệu vector Pinecone thông qua máy chủ uns-mcp, xem cách thực hiện trong tài liệu |
SALESFORCE_CONSUMER_KEY,SALESFORCE_PRIVATE_KEY | bắt buộc để tạo trình kết nối nguồn salesforce thông qua máy chủ uns-mcp, xem cách thực hiện trong tài liệu |
SHAREPOINT_CLIENT_ID, SHAREPOINT_CLIENT_CRED,SHAREPOINT_TENANT_ID | bắt buộc để tạo trình kết nối One Drive thông qua máy chủ uns-mcp, xem cách thực hiện trong tài liệu |
LOG_LEVEL | Được sử dụng để đặt mức ghi nhật ký cho minimal_client của chúng tôi, ví dụ: đặt thành ERROR để nhận mọi thứ |
CONFIRM_TOOL_USE | đặt thành true để minimal_client có thể xác nhận thực thi trước mỗi lần gọi công cụ |
DEBUG_API_REQUESTS | đặt thành true để uns_mcp/server.py có thể xuất các tham số yêu cầu để gỡ lỗi tốt hơn |
Nguồn Firecrawl
Firecrawl là một API thu thập dữ liệu web cung cấp hai khả năng chính trong MCP của chúng tôi:
- Truy xuất nội dung HTML: Sử dụng
invoke_firecrawl_crawlhtmlđể bắt đầu các công việc thu thập vàcheck_crawlhtml_statusđể giám sát chúng - Tạo văn bản tối ưu hóa cho LLM: Sử dụng
invoke_firecrawl_llmtxtđể tạo văn bản vàcheck_llmtxt_statusđể truy xuất kết quả
Cách Firecrawl hoạt động: Quy trình Thu thập Dữ liệu Web:
- Bắt đầu với một URL được chỉ định và phân tích nó để xác định các liên kết
- Sử dụng sơ đồ trang web nếu có; nếu không, theo các liên kết tìm thấy trên trang web
- Duyệt đệ quy từng liên kết để khám phá tất cả các trang con
- Thu thập nội dung từ mọi trang đã truy cập, xử lý kết xuất JavaScript và giới hạn tốc độ
- Các công việc có thể bị hủy bằng
cancel_crawlhtml_jobnếu cần - Sử dụng tính năng này nếu bạn cần tất cả thông tin được trích xuất thành HTML thô, quy trình làm việc của Unstructured sẽ làm sạch nó rất tốt :smile:
Tạo Văn bản LLM:
- Sau khi thu thập, trích xuất nội dung văn bản sạch, có ý nghĩa từ các trang đã thu thập
- Tạo ra các định dạng văn bản tối ưu được định dạng đặc biệt cho các mô hình ngôn ngữ lớn
- Kết quả được tự động tải lên vị trí S3 được chỉ định
- Lưu ý: Các công việc tạo văn bản LLM không thể bị hủy sau khi bắt đầu. Hàm
cancel_llmtxt_jobđược cung cấp để nhất quán nhưng hiện không được API Firecrawl hỗ trợ.
Lưu ý: Phải đặt biến môi trường FIRECRAWL_API_KEY để sử dụng các hàm này.
Cài đặt & Cấu hình
Hướng dẫn này cung cấp các bước chi tiết để thiết lập và cấu hình máy chủ UNS_MCP sử dụng Python 3.12 và công cụ uv.
Điều kiện tiên quyết
- Python 3.12+
uvđể quản lý môi trường- Một khóa API từ Unstructured. Bạn có thể đăng ký và lấy khóa API của mình tại đây.
Sử dụng uv (Khuyến nghị)
Không cần cài đặt thêm khi sử dụng uvx vì nó xử lý việc thực thi. Tuy nhiên, nếu bạn muốn cài đặt gói trực tiếp:
uv pip install uns_mcp
Cấu hình Claude Desktop
Để tích hợp với Claude Desktop, thêm nội dung sau vào claude_desktop_config.json của bạn:
Lưu ý: Tệp nằm trong thư mục ~/Library/Application Support/Claude/.
Sử dụng Lệnh uvx:
{
"mcpServers": {
"UNS_MCP": {
"command": "uvx",
"args": ["uns_mcp"],
"env": {
"UNSTRUCTURED_API_KEY": "<your-key>"
}
}
}
}
Hoặc, Sử dụng Gói Python:
{
"mcpServers": {
"UNS_MCP": {
"command": "python",
"args": ["-m", "uns_mcp"],
"env": {
"UNSTRUCTURED_API_KEY": "<your-key>"
}
}
}
}
Sử dụng Mã nguồn
-
Sao chép kho lưu trữ.
-
Cài đặt các phụ thuộc:
uv sync -
Đặt khóa API Unstructured của bạn làm biến môi trường. Tạo tệp .env trong thư mục gốc với nội dung sau:
UNSTRUCTURED_API_KEY="YOUR_KEY"Tham khảo
.env.templateđể biết các biến môi trường có thể cấu hình.
Bây giờ bạn có thể chạy máy chủ bằng một trong các phương pháp sau:
Sử dụng Cài đặt Gói Có thể Chỉnh sửa
Cài đặt dưới dạng gói có thể chỉnh sửa:uvx pip install -e .
Cập nhật cấu hình Claude Desktop của bạn:
{
"mcpServers": {
"UNS_MCP": {
"command": "uvx",
"args": ["uns_mcp"]
}
}
}
Lưu ý: Nhớ trỏ đến tệp thực thi uvx trong môi trường nơi bạn đã cài đặt gói
Sử dụng Giao thức Máy chủ SSE
Lưu ý: Không được Claude Desktop hỗ trợ.
Đối với giao thức SSE, bạn có thể gỡ lỗi dễ dàng hơn bằng cách tách rời máy khách và máy chủ:
-
Khởi động máy chủ trong một terminal:
uv run python uns_mcp/server.py --host 127.0.0.1 --port 8080 # or make sse-server -
Kiểm tra máy chủ bằng máy khách cục bộ trong một terminal khác:
uv run python minimal_client/client.py "http://127.0.0.1:8080/sse" # or make sse-client
Lưu ý: Để dừng các dịch vụ, sử dụng Ctrl+C trên máy khách trước, sau đó đến máy chủ.
Sử dụng Giao thức Máy chủ Stdio
Cấu hình Claude Desktop để sử dụng 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"
]
}
}
}
Hoặc, chạy máy khách cục bộ:
uv run python minimal_client/client.py uns_mcp/server.py
Cấu hình Máy khách Cục bộ Bổ sung
Cấu hình máy khách tối thiểu bằng các biến môi trường:
LOG_LEVEL="ERROR": Đặt để chặn đầu ra gỡ lỗi từ LLM, hiển thị thông báo rõ ràng cho người dùng.CONFIRM_TOOL_USE='false': Vô hiệu hóa xác nhận sử dụng công cụ trước khi thực thi. Sử dụng thận trọng, đặc biệt trong quá trình phát triển, vì LLM có thể thực thi các quy trình làm việc tốn kém hoặc xóa dữ liệu.
Công cụ gỡ lỗi
Anthropic cung cấp công cụ MCP Inspector để gỡ lỗi/kiểm tra máy chủ MCP của bạn. Chạy lệnh sau để khởi động giao diện người dùng gỡ lỗi. Từ đó, bạn có thể thêm các biến môi trường (trỏ đến môi trường cục bộ của bạn) trên ngăn bên trái. Bao gồm khóa API cá nhân của bạn ở đó dưới dạng biến môi trường. Đi tới tools, bạn có thể kiểm tra các khả năng bạn thêm vào máy chủ MCP.
mcp dev uns_mcp/server.py
Nếu bạn cần ghi nhật ký các tham số gọi yêu cầu đến UnstructuredClient, hãy đặt biến môi trường DEBUG_API_REQUESTS=false.
Các nhật ký được lưu trữ trong một tệp có định dạng unstructured-client-{date}.log, có thể được kiểm tra để gỡ lỗi các tham số gọi yêu cầu đến các hàm UnstructuredClient.
Thêm quyền truy cập terminal vào máy khách tối thiểu
Chúng ta sẽ sử dụng @wonderwhy-er/desktop-commander để thêm quyền truy cập terminal vào máy khách tối thiểu. Nó được xây dựng trên MCP Filesystem Server. Hãy cẩn thận, vì máy khách (cũng như LLM) giờ đây có quyền truy cập vào các tệp riêng tư.
Thực thi lệnh sau để cài đặt gói:
npx @wonderwhy-er/desktop-commander setup
Sau đó khởi động máy khách với tham số bổ sung:
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
Sử dụng tập hợp con các công cụ
Nếu máy khách của bạn hỗ trợ chỉ sử dụng tập hợp con các công cụ, đây là danh sách những điều bạn nên biết:
- Công cụ
update_workflowphải được tải trong ngữ cảnh cùng với công cụcreate_workflow, vì nó chứa mô tả chi tiết về cách tạo và cấu hình nút tùy chỉnh.
Các vấn đề đã biết
update_workflow- cần có trong ngữ cảnh cấu hình của quy trình làm việc mà nó đang cập nhật, bằng cách được cung cấp bởi người dùng hoặc bằng cách gọi công cụget_workflow_info, vì công cụ này không hoạt động như bộ áp dụngpatch, nó thay thế hoàn toàn cấu hình quy trình làm việc.
CHANGELOG.md
Bất kỳ tính năng/sửa lỗi/cải tiến mới được phát triển nào sẽ được thêm vào CHANGELOG.md. Định dạng tiền phát hành 0.x.x-dev được ưu tiên trước khi chúng tôi nâng lên phiên bản ổn định.
Khắc phục sự cố
- Nếu bạn gặp sự cố với
Error: spawn <command> ENOENT, điều đó có nghĩa là<command>chưa được cài đặt hoặc không hiển thị trong PATH của bạn:- Đảm bảo cài đặt nó và thêm nó vào PATH của bạn.
- hoặc cung cấp đường dẫn tuyệt đối đến lệnh trong trường
commandcủa cấu hình của bạn. Vì vậy, ví dụ thay thếpythonbằng/opt/miniconda3/bin/python