Unstructured
offiziellRichten Sie Ihre Workflows zur Verarbeitung unstrukturierter Daten in der Unstructured Platform ein und interagieren Sie mit ihnen.
Was kann man mit Unstructured MCP machen?
- Verfügbare Quellen und Ziele auflisten — Verwenden Sie
list_sourcesundlist_destinations, um zu sehen, welche Connectors in Ihrem Unstructured-Konto konfiguriert sind. - Quell- und Ziel-Connectors verwalten — Erstellen, aktualisieren oder löschen Sie Connectors über
create_source_connector,update_destination_connectorund verwandte Tools. - Ingestion-Workflows ausführen und überwachen — Lösen Sie einen Workflow mit
run_workflowaus und verfolgen Sie dessen Jobs mitlist_jobsundget_job_info. - Workflows mit abgeschlossenen Jobs finden — Rufen Sie
list_workflows_with_finished_jobsauf, um Workflows zu identifizieren, die die Verarbeitung abgeschlossen haben. - Websites in Ihre Pipeline crawlen — Starten Sie einen Firecrawl-Crawl mit
invoke_firecrawl_crawlhtmlund prüfen Sie den Status übercheck_crawlhtml_status.
Dokumentation
Unstructured API MCP Server
[!NOTE] Dieser Server interagiert mit der Unstructured API, um Quellen, Ziele und Workflows zu verwalten. Er wird nicht aktiv gewartet und dient hier nur als Referenz.
Wenn Sie Dateien parsen und in strukturierte Ausgabe (Markdown, JSON, HTML oder Klartext) umwandeln möchten, verwenden Sie stattdessen den Unstructured Transform MCP Server.
Unstructured Transform bringt produktionsreife Dokumentenverarbeitung als gehosteten MCP-Server zu Ihren Agenten. Es befähigt sie, über 60 Dateitypen in strukturierte Daten umzuwandeln, die für Ihre Anwendungen, Vektordatenbanken und alle nachgelagerten Prozesse bereit sind, indem Dateien direkt in ihrer aktuellen Sitzung geparst, angereichert, in Chunks zerlegt und eingebettet werden.
Sie können es nutzen, indem Sie sich hier anmelden.
Eine MCP-Server-Implementierung zur Interaktion mit der Unstructured API. Dieser Server bietet Werkzeuge zum Auflisten von Quellen und Workflows.
Verfügbare Werkzeuge
| Werkzeug | Beschreibung |
|---|---|
list_sources | Listet verfügbare Quellen aus der Unstructured API auf. |
get_source_info | Ruft detaillierte Informationen zu einem bestimmten Quell-Connector ab. |
create_source_connector | Erstellt einen Quell-Connector.) |
update_source_connector | Aktualisiert einen bestehenden Quell-Connector anhand von Parametern. |
delete_source_connector | Löscht einen Quell-Connector anhand der Quell-ID. |
list_destinations | Listet verfügbare Ziele aus der Unstructured API auf. |
get_destination_info | Ruft detaillierte Informationen zu einem bestimmten Ziel-Connector ab. |
create_destination_connector | Erstellt einen Ziel-Connector anhand von Parametern. |
update_destination_connector | Aktualisiert einen bestehenden Ziel-Connector anhand der Ziel-ID. |
delete_destination_connector | Löscht einen Ziel-Connector anhand der Ziel-ID. |
list_workflows | Listet Workflows aus der Unstructured API auf. |
get_workflow_info | Ruft detaillierte Informationen zu einem bestimmten Workflow ab. |
create_workflow | Erstellt einen neuen Workflow mit Quell-ID, Ziel-ID usw. |
run_workflow | Führt einen bestimmten Workflow anhand der Workflow-ID aus. |
update_workflow | Aktualisiert einen bestehenden Workflow anhand von Parametern. |
delete_workflow | Löscht einen bestimmten Workflow anhand der ID. |
list_jobs | Listet Jobs für einen bestimmten Workflow aus der Unstructured API auf. |
get_job_info | Ruft detaillierte Informationen zu einem bestimmten Job anhand der Job-ID ab. |
cancel_job | Löscht einen bestimmten Job anhand der ID. |
list_workflows_with_finished_jobs | Listet alle Workflows auf, die einen abgeschlossenen Job haben, zusammen mit Informationen zu Quell- und Zieldetails. |
Nachfolgend finden Sie eine Liste der Connectors, die der UNS-MCP-Server derzeit unterstützt. Die vollständige Liste der Quell-Connectors, die die Unstructured-Plattform unterstützt, finden Sie hier und die Zielliste hier. Weitere sind in Planung!
| Quelle | Ziel |
|---|---|
| S3 | S3 |
| Azure | Weaviate |
| Google Drive | Pinecone |
| OneDrive | AstraDB |
| Salesforce | MongoDB |
| Sharepoint | Neo4j |
| Databricks Volumes | |
| Databricks Volumes Delta Table |
Um das Werkzeug zum Erstellen/Aktualisieren/Löschen eines Connectors zu verwenden, müssen die Anmeldeinformationen für diesen spezifischen Connector in Ihrer .env-Datei definiert sein. Nachfolgend finden Sie die Liste der credentials für die von uns unterstützten Connectors:
| Name der Anmeldeinformation | Beschreibung |
|---|---|
ANTHROPIC_API_KEY | erforderlich, um das minimal_client zur Interaktion mit unserem Server auszuführen. |
AWS_KEY, AWS_SECRET | erforderlich, um einen S3-Connector über den uns-mcp-Server zu erstellen, siehe Anleitung in der Dokumentation und hier |
WEAVIATE_CLOUD_API_KEY | erforderlich, um einen Weaviate-Vektordatenbank-Connector zu erstellen, siehe Anleitung in der Dokumentation |
FIRECRAWL_API_KEY | erforderlich, um Firecrawl-Werkzeuge in external/firecrawl.py zu verwenden, melden Sie sich bei Firecrawl an und erhalten Sie einen API-Schlüssel. |
ASTRA_DB_APPLICATION_TOKEN, ASTRA_DB_API_ENDPOINT | erforderlich, um einen Astradb-Connector über den uns-mcp-Server zu erstellen, siehe Anleitung in der Dokumentation |
AZURE_CONNECTION_STRING | erforderliche Option 1 zum Erstellen eines Azure-Connectors über den uns-mcp-Server, siehe Anleitung in der Dokumentation |
AZURE_ACCOUNT_NAME+AZURE_ACCOUNT_KEY | erforderliche Option 2 zum Erstellen eines Azure-Connectors über den uns-mcp-Server, siehe Anleitung in der Dokumentation |
AZURE_ACCOUNT_NAME+AZURE_SAS_TOKEN | erforderliche Option 3 zum Erstellen eines Azure-Connectors über den uns-mcp-Server, siehe Anleitung in der Dokumentation |
NEO4J_PASSWORD | erforderlich, um einen Neo4j-Connector über den uns-mcp-Server zu erstellen, siehe Anleitung in der Dokumentation |
MONGO_DB_CONNECTION_STRING | erforderlich, um einen Mongodb-Connector über den uns-mcp-Server zu erstellen, siehe Anleitung in der Dokumentation |
GOOGLEDRIVE_SERVICE_ACCOUNT_KEY | ein Zeichenfolgenwert. Der ursprüngliche Server-Kontoschlüssel (siehe Dokumentation) befindet sich in einer JSON-Datei. Führen Sie base64 < /path/to/google_service_account_key.json im Terminal aus, um den Zeichenfolgenwert zu erhalten. |
DATABRICKS_CLIENT_ID,DATABRICKS_CLIENT_SECRET | erforderlich, um einen Databricks Volume/Delta Table-Connector über den uns-mcp-Server zu erstellen, siehe Anleitung in der Dokumentation und hier |
ONEDRIVE_CLIENT_ID, ONEDRIVE_CLIENT_CRED,ONEDRIVE_TENANT_ID | erforderlich, um einen OneDrive-Connector über den uns-mcp-Server zu erstellen, siehe Anleitung in der Dokumentation |
PINECONE_API_KEY | erforderlich, um einen Pinecone-Vektordatenbank-Connector über den uns-mcp-Server zu erstellen, siehe Anleitung in der Dokumentation |
SALESFORCE_CONSUMER_KEY,SALESFORCE_PRIVATE_KEY | erforderlich, um einen Salesforce-Quell-Connector über den uns-mcp-Server zu erstellen, siehe Anleitung in der Dokumentation |
SHAREPOINT_CLIENT_ID, SHAREPOINT_CLIENT_CRED,SHAREPOINT_TENANT_ID | erforderlich, um einen OneDrive-Connector über den uns-mcp-Server zu erstellen, siehe Anleitung in der Dokumentation |
LOG_LEVEL | Wird verwendet, um die Protokollierungsstufe für unseren minimal_client festzulegen, z. B. auf ERROR setzen, um alles zu erhalten. |
CONFIRM_TOOL_USE | auf true setzen, damit minimal_client die Ausführung vor jedem Werkzeugaufruf bestätigen kann. |
DEBUG_API_REQUESTS | auf true setzen, damit uns_mcp/server.py Anfrageparameter für besseres Debugging ausgeben kann. |
Firecrawl-Quelle
Firecrawl ist eine Web-Crawling-API, die zwei Hauptfunktionen in unserem MCP bietet:
- HTML-Inhaltsabruf: Verwendung von
invoke_firecrawl_crawlhtmlzum Starten von Crawl-Jobs undcheck_crawlhtml_statuszu deren Überwachung - LLM-optimierte Textgenerierung: Verwendung von
invoke_firecrawl_llmtxtzum Generieren von Text undcheck_llmtxt_statuszum Abrufen der Ergebnisse
So funktioniert Firecrawl: Web-Crawling-Prozess:
- Beginnt mit einer angegebenen URL und analysiert sie, um Links zu identifizieren
- Verwendet die Sitemap, falls verfügbar; andernfalls folgt es den auf der Website gefundenen Links
- Durchläuft rekursiv jeden Link, um alle Unterseiten zu entdecken
- Sammelt Inhalte von jeder besuchten Seite und behandelt JavaScript-Rendering und Ratenbegrenzungen
- Jobs können bei Bedarf mit
cancel_crawlhtml_jobabgebrochen werden - Verwenden Sie dies, wenn Sie alle Informationen als rohes HTML extrahiert benötigen – der Workflow von Unstructured bereinigt es wirklich gut :smile:
LLM-Textgenerierung:
- Extrahiert nach dem Crawling saubere, aussagekräftige Textinhalte aus den gecrawlten Seiten
- Generiert optimierte Textformate, die speziell für große Sprachmodelle formatiert sind
- Ergebnisse werden automatisch am angegebenen S3-Speicherort hochgeladen
- Hinweis: LLM-Textgenerierungsjobs können nach dem Start nicht abgebrochen werden. Die Funktion
cancel_llmtxt_jobwird aus Konsistenzgründen bereitgestellt, wird aber derzeit von der Firecrawl-API nicht unterstützt.
Hinweis: Eine Umgebungsvariable FIRECRAWL_API_KEY muss gesetzt sein, um diese Funktionen zu verwenden.
Installation & Konfiguration
Diese Anleitung bietet schrittweise Anweisungen zum Einrichten und Konfigurieren des UNS_MCP-Servers mit Python 3.12 und dem Tool uv.
Voraussetzungen
- Python 3.12+
uvfür die Umgebungsverwaltung- Ein API-Schlüssel von Unstructured. Sie können sich registrieren und Ihren API-Schlüssel hier erhalten.
Verwendung von uv (Empfohlen)
Bei der Verwendung von uvx ist keine zusätzliche Installation erforderlich, da es die Ausführung übernimmt. Wenn Sie das Paket jedoch direkt installieren möchten:
uv pip install uns_mcp
Claude Desktop konfigurieren
Für die Integration mit Claude Desktop fügen Sie den folgenden Inhalt zu Ihrer claude_desktop_config.json hinzu:
Hinweis: Die Datei befindet sich im Verzeichnis ~/Library/Application Support/Claude/.
Verwendung des Befehls uvx:
{
"mcpServers": {
"UNS_MCP": {
"command": "uvx",
"args": ["uns_mcp"],
"env": {
"UNSTRUCTURED_API_KEY": "<your-key>"
}
}
}
}
Alternativ mit dem Python-Paket:
{
"mcpServers": {
"UNS_MCP": {
"command": "python",
"args": ["-m", "uns_mcp"],
"env": {
"UNSTRUCTURED_API_KEY": "<your-key>"
}
}
}
}
Verwendung des Quellcodes
-
Klonen Sie das Repository.
-
Installieren Sie die Abhängigkeiten:
uv sync -
Setzen Sie Ihren Unstructured-API-Schlüssel als Umgebungsvariable. Erstellen Sie eine .env-Datei im Stammverzeichnis mit folgendem Inhalt:
UNSTRUCTURED_API_KEY="YOUR_KEY"Siehe
.env.templatefür die konfigurierbaren Umgebungsvariablen.
Sie können den Server nun mit einer der folgenden Methoden ausführen:
Verwendung der editierbaren Paketinstallation
Installieren Sie es als editierbares Paket:uvx pip install -e .
Aktualisieren Sie Ihre Claude Desktop-Konfiguration:
{
"mcpServers": {
"UNS_MCP": {
"command": "uvx",
"args": ["uns_mcp"]
}
}
}
Hinweis: Denken Sie daran, auf die uvx-ausführbare Datei in der Umgebung zu verweisen, in der Sie das Paket installiert haben
Verwendung des SSE-Serverprotokolls
Hinweis: Wird von Claude Desktop nicht unterstützt.
Für das SSE-Protokoll können Sie einfacher debuggen, indem Sie Client und Server entkoppeln:
-
Starten Sie den Server in einem Terminal:
uv run python uns_mcp/server.py --host 127.0.0.1 --port 8080 # or make sse-server -
Testen Sie den Server mit einem lokalen Client in einem anderen Terminal:
uv run python minimal_client/client.py "http://127.0.0.1:8080/sse" # or make sse-client
Hinweis: Um die Dienste zu stoppen, verwenden Sie Ctrl+C zuerst auf dem Client, dann auf dem Server.
Verwendung des Stdio-Serverprotokolls
Konfigurieren Sie Claude Desktop für die Verwendung von 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"
]
}
}
}
Alternativ führen Sie den lokalen Client aus:
uv run python minimal_client/client.py uns_mcp/server.py
Zusätzliche lokale Client-Konfiguration
Konfigurieren Sie den minimalen Client mit Umgebungsvariablen:
LOG_LEVEL="ERROR": Setzen, um Debug-Ausgaben des LLM zu unterdrücken und klare Nachrichten für Benutzer anzuzeigen.CONFIRM_TOOL_USE='false': Deaktiviert die Bestätigung der Werkzeugnutzung vor der Ausführung. Mit Vorsicht verwenden, insbesondere während der Entwicklung, da das LLM teure Workflows ausführen oder Daten löschen kann.
Debugging-Tools
Anthropic bietet das Tool MCP Inspector zum Debuggen/Testen Ihres MCP-Servers. Führen Sie den folgenden Befehl aus, um eine Debugging-Benutzeroberfläche zu starten. Von dort aus können Sie im linken Bereich Umgebungsvariablen hinzufügen (die auf Ihre lokale Umgebung verweisen). Geben Sie dort Ihren persönlichen API-Schlüssel als Umgebungsvariable ein. Gehen Sie zu tools, um die Funktionen zu testen, die Sie dem MCP-Server hinzufügen.
mcp dev uns_mcp/server.py
Wenn Sie Anforderungsaufrufparameter in UnstructuredClient protokollieren müssen, setzen Sie die Umgebungsvariable DEBUG_API_REQUESTS=false.
Die Protokolle werden in einer Datei mit dem Format unstructured-client-{date}.log gespeichert, die untersucht werden kann, um Anforderungsaufrufparameter für UnstructuredClient-Funktionen zu debuggen.
Terminalzugriff zum minimalen Client hinzufügen
Wir werden @wonderwhy-er/desktop-commander verwenden, um dem minimalen Client Terminalzugriff hinzuzufügen. Es basiert auf dem MCP-Dateisystemserver. Seien Sie vorsichtig, da der Client (und auch das LLM) nun Zugriff auf private Dateien hat.
Führen Sie den folgenden Befehl aus, um das Paket zu installieren:
npx @wonderwhy-er/desktop-commander setup
Starten Sie dann den Client mit einem zusätzlichen Parameter:
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
Verwendung einer Teilmenge von Werkzeugen
Wenn Ihr Client nur eine Teilmenge von Werkzeugen unterstützt, sollten Sie Folgendes beachten:
- Das Werkzeug
update_workflowmuss zusammen mit dem Werkzeugcreate_workflowin den Kontext geladen werden, da es eine detaillierte Beschreibung zum Erstellen und Konfigurieren benutzerdefinierter Knoten enthält.
Bekannte Probleme
update_workflow– muss die Konfiguration des Workflows, den es aktualisiert, im Kontext haben, entweder durch Bereitstellung durch den Benutzer oder durch Aufruf des Werkzeugsget_workflow_info, da dieses Werkzeug nicht alspatch-Anwender fungiert, sondern die Workflow-Konfiguration vollständig ersetzt.
CHANGELOG.md
Alle neu entwickelten Funktionen/Korrekturen/Verbesserungen werden zu CHANGELOG.md hinzugefügt. Das 0.x.x-dev-Vorabversionsformat wird bevorzugt, bevor wir auf eine stabile Version aktualisieren.
Fehlerbehebung
- Wenn Sie auf Probleme mit
Error: spawn <command> ENOENTstoßen, bedeutet dies, dass<command>nicht installiert oder in Ihrem PATH nicht sichtbar ist:- Stellen Sie sicher, dass Sie es installieren und zu Ihrem PATH hinzufügen.
- oder geben Sie den absoluten Pfad zum Befehl im Feld
commandIhrer Konfiguration an. Ersetzen Sie also beispielsweisepythondurch/opt/miniconda3/bin/python