Skip to main content
Glama
Unstructured-IO

Unstructured API MCP Server

Official

Unstrukturierter API-MCP-Server

Eine MCP-Serverimplementierung für die Interaktion mit der unstrukturierten API. Dieser Server bietet Tools zum Auflisten von Quellen und Workflows.

Verfügbare Tools

Werkzeug

Beschreibung

list_sources

Listet verfügbare Quellen aus der unstrukturierten API auf.

get_source_info

Erhalten Sie detaillierte Informationen zu einem bestimmten Quell-Connector.

create_source_connector

Erstellen Sie einen Quellkonnektor.)

update_source_connector

Aktualisieren Sie einen vorhandenen Quellkonnektor durch Parameter.

delete_source_connector

Löschen Sie einen Quellkonnektor anhand der Quell-ID.

list_destinations

Listet verfügbare Ziele aus der unstrukturierten API auf.

get_destination_info

Erhalten Sie detaillierte Informationen zu einem bestimmten Ziel-Connector

create_destination_connector

Erstellen Sie einen Zielkonnektor anhand von Parametern.

update_destination_connector

Aktualisieren Sie einen vorhandenen Ziel-Connector anhand der Ziel-ID.

delete_destination_connector

Löschen Sie einen Zielkonnektor anhand der Ziel-ID.

list_workflows

Listet Workflows aus der unstrukturierten API auf.

get_workflow_info

Erhalten Sie detaillierte Informationen zu einem bestimmten Workflow.

create_workflow

Erstellen Sie einen neuen Workflow mit Quell-, Ziel-ID usw.

run_workflow

Führen Sie einen bestimmten Workflow mit der Workflow-ID aus

update_workflow

Aktualisieren Sie einen vorhandenen Workflow anhand von Parametern.

delete_workflow

Löschen Sie einen bestimmten Workflow nach ID.

list_jobs

Listet Jobs für einen bestimmten Workflow aus der unstrukturierten API auf.

get_job_info

Erhalten Sie anhand der Job-ID detaillierte Informationen zu einem bestimmten Job.

cancel_job

Löschen Sie einen bestimmten Job anhand der ID.

list_workflows_with_finished_jobs

Listet alle Workflows auf, die über abgeschlossene Aufträge verfügen, zusammen mit Informationen zu Quell- und Zieldetails.

Nachfolgend finden Sie eine Liste der Konnektoren, die der UNS-MCP -Server aktuell unterstützt. Die vollständige Liste der von der Unstructured-Plattform unterstützten Quellkonnektoren finden Sie hier und die Zielkonnektoren hier . Wir planen, weitere hinzuzufügen!

Quelle

Ziel

S3

S3

Azurblau

Weaviate

Google Drive

Tannenzapfen

OneDrive

AstraDB

Salesforce

MongoDB

SharePoint

Neo4j

Databricks-Volumes

Deltatabelle für Databricks-Volumes

Um das Tool zum Erstellen/Aktualisieren/Löschen eines Connectors verwenden zu können, müssen die Anmeldeinformationen für diesen Connector in Ihrer .env-Datei definiert sein. Nachfolgend finden Sie die credentials für die von uns unterstützten Connectors:

Anmeldeinformationsname

Beschreibung

ANTHROPIC_API_KEY

erforderlich, um den minimal_client auszuführen und mit unserem Server zu interagieren.

AWS_KEY , AWS_SECRET

erforderlich, um einen S3-Connector über uns-mcp -Server zu erstellen. Weitere Informationen finden Sie in der Dokumentation und hier

WEAVIATE_CLOUD_API_KEY

erforderlich, um den Weaviate-Vektor-DB-Connector zu erstellen. Weitere Informationen finden Sie in der Dokumentation.

FIRECRAWL_API_KEY

erforderlich, um Firecrawl-Tools in external/firecrawl.py zu verwenden, sich bei Firecrawl anzumelden und einen API-Schlüssel zu erhalten.

ASTRA_DB_APPLICATION_TOKEN , ASTRA_DB_API_ENDPOINT

erforderlich, um einen Astradb-Connector über uns-mcp -Server zu erstellen. Weitere Informationen finden Sie in der Dokumentation

AZURE_CONNECTION_STRING

erforderliche Option 1 zum Erstellen eines Azure-Connectors über uns-mcp Server, siehe Dokumentation

AZURE_ACCOUNT_NAME + AZURE_ACCOUNT_KEY

erforderliche Option 2 zum Erstellen eines Azure-Connectors über uns-mcp Server, siehe Dokumentation

AZURE_ACCOUNT_NAME + AZURE_SAS_TOKEN

erforderliche Option 3 zum Erstellen eines Azure-Connectors über uns-mcp Server, siehe Dokumentation

NEO4J_PASSWORD

erforderlich, um einen Neo4j-Connector über uns-mcp -Server zu erstellen. Weitere Informationen finden Sie in der Dokumentation

MONGO_DB_CONNECTION_STRING

erforderlich, um einen MongoDB-Connector über uns-mcp -Server zu erstellen. Weitere Informationen finden Sie in der Dokumentation

GOOGLEDRIVE_SERVICE_ACCOUNT_KEY

ein String-Wert. 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 String-Wert abzurufen.

DATABRICKS_CLIENT_ID , DATABRICKS_CLIENT_SECRET

erforderlich, um einen Databricks-Volume-/Delta-Tabellen-Connector über uns-mcp Server zu erstellen. Weitere Informationen finden Sie in der Dokumentation und hier

ONEDRIVE_CLIENT_ID , ONEDRIVE_CLIENT_CRED , ONEDRIVE_TENANT_ID

erforderlich, um einen One Drive-Connector über uns-mcp -Server zu erstellen. Weitere Informationen finden Sie in der Dokumentation

PINECONE_API_KEY

erforderlich, um einen Pinecone-Vektor-DB-Connector über uns-mcp Server zu erstellen, siehe Dokumentation

SALESFORCE_CONSUMER_KEY , SALESFORCE_PRIVATE_KEY

erforderlich, um den Salesforce-Quellconnector über uns-mcp -Server zu erstellen. Weitere Informationen finden Sie in der Dokumentation

SHAREPOINT_CLIENT_ID , SHAREPOINT_CLIENT_CRED , SHAREPOINT_TENANT_ID

erforderlich, um einen One Drive-Connector über uns-mcp -Server zu erstellen. Weitere Informationen finden Sie in der Dokumentation

LOG_LEVEL

Wird verwendet, um die Protokollierungsebene für unseren minimal_client festzulegen, z. B. auf ERROR, um alles zu erhalten

CONFIRM_TOOL_USE

auf „true“ setzen, damit minimal_client die Ausführung vor jedem Tool-Aufruf bestätigen kann

DEBUG_API_REQUESTS

auf true setzen, damit uns_mcp/server.py Anforderungsparameter für ein besseres Debugging ausgeben kann

Firecrawl-Quelle

Firecrawl ist eine Web-Crawling-API, die in unserem MCP zwei Hauptfunktionen bietet:

  1. Abrufen von HTML-Inhalten : Verwenden Sie invoke_firecrawl_crawlhtml , um Crawl-Jobs zu starten, und check_crawlhtml_status um sie zu überwachen

  2. LLM-optimierte Textgenerierung : Verwenden von invoke_firecrawl_llmtxt zum Generieren von Text und check_llmtxt_status zum Abrufen von Ergebnissen

So funktioniert Firecrawl:

Web-Crawling-Prozess:

  • Beginnt mit einer angegebenen URL und analysiert diese, um Links zu identifizieren

  • Verwendet die Sitemap, sofern verfügbar; folgt andernfalls den auf der Website gefundenen Links.

  • Durchläuft rekursiv jeden Link, um alle Unterseiten zu entdecken

  • Sammelt Inhalte von jeder besuchten Seite und kümmert sich um JavaScript-Rendering und Ratenbegrenzungen

  • Jobs können bei Bedarf mit cancel_crawlhtml_job abgebrochen werden

  • Verwenden Sie dies, wenn Sie alle Informationen in reines HTML extrahieren möchten. Der Workflow von Unstructured bereinigt das wirklich gut :smile:

LLM-Textgenerierung:

  • Extrahiert nach dem Crawlen sauberen, aussagekräftigen Textinhalt aus den gecrawlten Seiten

  • Generiert optimierte Textformate, die speziell für große Sprachmodelle formatiert sind

  • Die Ergebnisse werden automatisch an den angegebenen S3-Speicherort hochgeladen.

  • Hinweis: LLM-Textgenerierungsaufträge können nach dem Start nicht mehr abgebrochen werden. Die Funktion cancel_llmtxt_job dient der Konsistenz, wird aber derzeit nicht von der Firecrawl-API unterstützt.

Hinweis: Um diese Funktionen zu verwenden, muss eine Umgebungsvariable FIRECRAWL_API_KEY festgelegt werden.

Related MCP server: Lodestar MCP Server

Installation und Konfiguration

Dieses Handbuch enthält schrittweise Anweisungen zum Einrichten und Konfigurieren des UNS_MCP-Servers mit Python 3.12 und dem uv Tool.

Voraussetzungen

  • Python 3.12+

  • uv für Umweltmanagement

  • Ein API-Schlüssel von Unstructured. Sie können sich hier anmelden und Ihren API-Schlüssel erhalten.

Verwendung von uv (empfohlen)

Bei Verwendung von uvx ist keine zusätzliche Installation erforderlich, da uvx die Ausführung übernimmt. Wenn Sie das Paket jedoch lieber direkt installieren möchten:

uv pip install uns_mcp

Claude Desktop konfigurieren

Fügen Sie zur Integration mit Claude Desktop den folgenden Inhalt zu Ihrer claude_desktop_config.json hinzu:

Hinweis: Die Datei befindet sich im Verzeichnis ~/Library/Application Support/Claude/ .

Verwenden uvx -Befehls:

{
   "mcpServers": {
      "UNS_MCP": {
         "command": "uvx",
         "args": ["uns_mcp"],
         "env": {
           "UNSTRUCTURED_API_KEY": "<your-key>"
         }
      }
   }
}

Alternativ können Sie das Python-Paket verwenden:

{
   "mcpServers": {
      "UNS_MCP": {
         "command": "python",
         "args": ["-m", "uns_mcp"],
         "env": {
           "UNSTRUCTURED_API_KEY": "<your-key>"
         }
      }
   }
}

Verwenden von Quellcode

  1. Klonen Sie das Repository.

  2. Installieren Sie Abhängigkeiten:

    uv sync
  3. Legen Sie Ihren unstrukturierten API-Schlüssel als Umgebungsvariable fest. Erstellen Sie im Stammverzeichnis eine .env-Datei mit folgendem Inhalt:

    UNSTRUCTURED_API_KEY="YOUR_KEY"

    Die konfigurierbaren Umgebungsvariablen finden Sie unter .env.template .

Sie können den Server jetzt mit einer der folgenden Methoden ausführen:

uvx pip install -e .

Aktualisieren Sie Ihre Claude Desktop-Konfiguration:

{
  "mcpServers": {
    "UNS_MCP": {
      "command": "uvx",
      "args": ["uns_mcp"]
    }
  }
}

Hinweis : Denken Sie daran, auf die ausführbare Datei uvx in der Umgebung zu verweisen, in der Sie das Paket installiert haben

Hinweis: Wird von Claude Desktop nicht unterstützt.

Beim SSE-Protokoll können Sie das Debuggen einfacher durchführen, indem Sie Client und Server entkoppeln:

  1. 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
  2. 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 zuerst Ctrl+C auf dem Client und dann auf dem Server.

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 können Sie den lokalen Client ausführen:

uv run python minimal_client/client.py uns_mcp/server.py

Zusätzliche lokale Clientkonfiguration

Konfigurieren Sie den Minimal-Client mithilfe von Umgebungsvariablen:

  • LOG_LEVEL="ERROR" : Wird so eingestellt, dass Debug-Ausgaben vom LLM unterdrückt werden und den Benutzern klare Meldungen angezeigt werden.

  • CONFIRM_TOOL_USE='false' : Deaktiviert die Bestätigung der Tool-Nutzung vor der Ausführung. Verwenden Sie diese Option mit Vorsicht , insbesondere während der Entwicklung, da LLM möglicherweise aufwändige Workflows ausführt oder Daten löscht.

Debugging-Tools

Anthropic bietet das Tool MCP Inspector zum Debuggen/Testen Ihres MCP-Servers. Führen Sie den folgenden Befehl aus, um eine Debug-Oberfläche zu öffnen. Von dort aus können Sie im linken Bereich Umgebungsvariablen hinzufügen (die auf Ihre lokale Umgebung verweisen). Fügen Sie dort Ihren persönlichen API-Schlüssel als Umgebungsvariable ein. Unter tools können Sie die Funktionen testen, die Sie dem MCP-Server hinzufügen.

mcp dev uns_mcp/server.py

Wenn Sie Anforderungsaufrufparameter für UnstructuredClient protokollieren müssen, setzen Sie die Umgebungsvariable DEBUG_API_REQUESTS=false . Die Protokolle werden in einer Datei im Format unstructured-client-{date}.log gespeichert, die zum Debuggen von Anforderungsaufrufparametern für UnstructuredClient -Funktionen untersucht werden kann.

Terminalzugriff zum Minimal-Client hinzufügen

Wir verwenden @wonderwhy-er/desktop-commander , um dem Minimal-Client Terminalzugriff hinzuzufügen. Er basiert auf dem MCP-Dateisystemserver. Vorsicht: Der Client (auch LLM) hat nun Zugriff auf private Dateien.

Führen Sie den folgenden Befehl aus, um das Paket zu installieren:

npx @wonderwhy-er/desktop-commander setup

Starten Sie dann den Client mit zusätzlichen Parametern:

uv run python minimal_client/client.py "http://127.0.0.1:8080/sse" "@wonderwhy-er/desktop-commander"
# or
make sse-client-terminal

Verwenden einer Teilmenge von Tools

Wenn Ihr Client nur die Verwendung einer Teilmenge von Tools unterstützt, sollten Sie Folgendes beachten:

  • Das Tool update_workflow muss im Kontext zusammen mit dem Tool create_workflow geladen werden, da es eine detaillierte Beschreibung zum Erstellen und Konfigurieren eines benutzerdefinierten Knotens enthält.

Bekannte Probleme

  • update_workflow – muss die Konfiguration des Workflows im Kontext haben, den es aktualisiert, entweder indem es vom Benutzer bereitgestellt wird oder indem das Tool get_workflow_info aufgerufen wird, da dieses Tool nicht als patch Applier funktioniert, sondern die Workflow-Konfiguration vollständig ersetzt.

ÄNDERUNGSPROTOKOLL.md

Alle neu entwickelten Funktionen/Fixes/Erweiterungen werden zu CHANGELOG.md hinzugefügt. Bevor wir zu einer stabilen Version übergehen, wird das Vorabversionsformat 0.xx-dev bevorzugt.

Fehlerbehebung

  • Wenn Sie auf Probleme mit Error: spawn <command> ENOENT stoßen, bedeutet dies, dass <command> nicht installiert ist 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 command Ihrer Konfiguration an. Ersetzen Sie beispielsweise python durch /opt/miniconda3/bin/python

Install Server
A
security – no known vulnerabilities
F
license - not found
-
quality - not tested

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Unstructured-IO/UNS-MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server