Unstructured API MCP Server

Official

Integrations

  • Used for loading environment variables from a .env file, specifically for storing and accessing the Unstructured API key

  • Serves as the implementation language for the MCP server, with specific dependencies including unstructured-client for API interaction

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

WerkzeugBeschreibung
list_sourcesListet verfügbare Quellen aus der unstrukturierten API auf.
get_source_infoErhalten Sie detaillierte Informationen zu einem bestimmten Quell-Connector.
create_source_connectorErstellen Sie einen Quellkonnektor.)
update_source_connectorAktualisieren Sie einen vorhandenen Quellkonnektor durch Parameter.
delete_source_connectorLöschen Sie einen Quellkonnektor anhand der Quell-ID.
list_destinationsListet verfügbare Ziele aus der unstrukturierten API auf.
get_destination_infoErhalten Sie detaillierte Informationen zu einem bestimmten Ziel-Connector
create_destination_connectorErstellen Sie einen Zielkonnektor anhand von Parametern.
update_destination_connectorAktualisieren Sie einen vorhandenen Ziel-Connector anhand der Ziel-ID.
delete_destination_connectorLöschen Sie einen Zielkonnektor anhand der Ziel-ID.
list_workflowsListet Workflows aus der unstrukturierten API auf.
get_workflow_infoErhalten Sie detaillierte Informationen zu einem bestimmten Workflow.
create_workflowErstellen Sie einen neuen Workflow mit Quell-, Ziel-ID usw.
run_workflowFühren Sie einen bestimmten Workflow mit der Workflow-ID aus
update_workflowAktualisieren Sie einen vorhandenen Workflow anhand von Parametern.
delete_workflowLöschen Sie einen bestimmten Workflow nach ID.
list_jobsListet Jobs für einen bestimmten Workflow aus der unstrukturierten API auf.
get_job_infoErhalten Sie anhand der Job-ID detaillierte Informationen zu einem bestimmten Job.
cancel_jobLöschen Sie einen bestimmten Job anhand der ID.
list_workflows_with_finished_jobsListet 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!

QuelleZiel
S3S3
AzurblauWeaviate
Google DriveTannenzapfen
OneDriveAstraDB
SalesforceMongoDB
SharePointNeo4j
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:

AnmeldeinformationsnameBeschreibung
ANTHROPIC_API_KEYerforderlich, um den minimal_client auszuführen und mit unserem Server zu interagieren.
AWS_KEY , AWS_SECRETerforderlich, um einen S3-Connector über uns-mcp -Server zu erstellen. Weitere Informationen finden Sie in der Dokumentation und hier
WEAVIATE_CLOUD_API_KEYerforderlich, um den Weaviate-Vektor-DB-Connector zu erstellen. Weitere Informationen finden Sie in der Dokumentation.
FIRECRAWL_API_KEYerforderlich, 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_ENDPOINTerforderlich, um einen Astradb-Connector über uns-mcp -Server zu erstellen. Weitere Informationen finden Sie in der Dokumentation
AZURE_CONNECTION_STRINGerforderliche Option 1 zum Erstellen eines Azure-Connectors über uns-mcp Server, siehe Dokumentation
AZURE_ACCOUNT_NAME + AZURE_ACCOUNT_KEYerforderliche Option 2 zum Erstellen eines Azure-Connectors über uns-mcp Server, siehe Dokumentation
AZURE_ACCOUNT_NAME + AZURE_SAS_TOKENerforderliche Option 3 zum Erstellen eines Azure-Connectors über uns-mcp Server, siehe Dokumentation
NEO4J_PASSWORDerforderlich, um einen Neo4j-Connector über uns-mcp -Server zu erstellen. Weitere Informationen finden Sie in der Dokumentation
MONGO_DB_CONNECTION_STRINGerforderlich, um einen MongoDB-Connector über uns-mcp -Server zu erstellen. Weitere Informationen finden Sie in der Dokumentation
GOOGLEDRIVE_SERVICE_ACCOUNT_KEYein 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_SECRETerforderlich, 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_IDerforderlich, um einen One Drive-Connector über uns-mcp -Server zu erstellen. Weitere Informationen finden Sie in der Dokumentation
PINECONE_API_KEYerforderlich, um einen Pinecone-Vektor-DB-Connector über uns-mcp Server zu erstellen, siehe Dokumentation
SALESFORCE_CONSUMER_KEY , SALESFORCE_PRIVATE_KEYerforderlich, 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_IDerforderlich, um einen One Drive-Connector über uns-mcp -Server zu erstellen. Weitere Informationen finden Sie in der Dokumentation
LOG_LEVELWird verwendet, um die Protokollierungsebene für unseren minimal_client festzulegen, z. B. auf ERROR, um alles zu erhalten
CONFIRM_TOOL_USEauf „true“ setzen, damit minimal_client die Ausführung vor jedem Tool-Aufruf bestätigen kann
DEBUG_API_REQUESTSauf 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.

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

You must be authenticated.

A
security – no known vulnerabilities
F
license - not found
A
quality - confirmed to work

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Eine MCP-Serverimplementierung, die die Interaktion mit der unstrukturierten API ermöglicht und Tools zum Auflisten, Erstellen, Aktualisieren und Verwalten von Quellen, Zielen und Workflows bereitstellt.

  1. Verfügbare Tools
    1. Firecrawl-Quelle
  2. Installation und Konfiguration
    1. Voraussetzungen
      1. Verwendung von uv (empfohlen)
      2. Verwenden von Quellcode
    2. Zusätzliche lokale Clientkonfiguration
      1. Debugging-Tools
    3. Terminalzugriff zum Minimal-Client hinzufügen
      1. Verwenden einer Teilmenge von Tools
        1. Bekannte Probleme
          1. ÄNDERUNGSPROTOKOLL.md
            1. Fehlerbehebung

              Related MCP Servers

              • -
                security
                A
                license
                -
                quality
                MCP Server simplifies the implementation of the Model Context Protocol by providing a user-friendly API to create custom tools and manage server workflows efficiently.
                Last updated -
                4
                3
                TypeScript
                MIT License
              • A
                security
                A
                license
                A
                quality
                A MCP server for managing and storing code snippets in various programming languages, allowing users to create, list, and delete snippets via a standardized interface.
                Last updated -
                3
                4
                JavaScript
                MIT License
              • -
                security
                A
                license
                -
                quality
                MCP Server provides a simpler API to interact with the Model Context Protocol by allowing users to define custom tools and services to streamline workflows and processes.
                Last updated -
                13
                2
                TypeScript
                MIT License
              • -
                security
                F
                license
                -
                quality
                An MCP server that provides tools and resources for managing a coding project's todo list, allowing users to view, add, update, and delete todo items with details like priority, status, and tags.
                Last updated -
                1
                Python

              View all related MCP servers

              ID: 56f7310rbq