Skip to main content
Glama

Unstructured API MCP Server

Official

Servidor MCP de API no estructurada

Implementación de un servidor MCP para interactuar con la API no estructurada. Este servidor proporciona herramientas para listar fuentes y flujos de trabajo.

Herramientas disponibles

Herramienta

Descripción

list_sources

Enumera las fuentes disponibles de la API no estructurada.

get_source_info

Obtenga información detallada sobre un conector de fuente específico.

create_source_connector

Crear un conector de origen.)

update_source_connector

Actualizar un conector de origen existente mediante parámetros.

delete_source_connector

Eliminar un conector de origen por ID de origen.

list_destinations

Enumera los destinos disponibles desde la API no estructurada.

get_destination_info

Obtenga información detallada sobre un conector de destino específico

create_destination_connector

Crear un conector de destino mediante parámetros.

update_destination_connector

Actualizar un conector de destino existente por ID de destino.

delete_destination_connector

Eliminar un conector de destino por ID de destino.

list_workflows

Enumera los flujos de trabajo de la API no estructurada.

get_workflow_info

Obtenga información detallada sobre un flujo de trabajo específico.

create_workflow

Cree un nuevo flujo de trabajo con identificación de origen, destino, etc.

run_workflow

Ejecutar un flujo de trabajo específico con ID de flujo de trabajo

update_workflow

Actualizar un flujo de trabajo existente mediante parámetros.

delete_workflow

Eliminar un flujo de trabajo específico por id.

list_jobs

Enumera trabajos para un flujo de trabajo específico desde la API no estructurada.

get_job_info

Obtenga información detallada sobre un trabajo específico por identificación del trabajo.

cancel_job

Eliminar un trabajo específico por id.

A continuación se muestra una lista de los conectores compatibles actualmente con el servidor UNS-MCP . Consulte la lista completa de conectores de origen compatibles con la plataforma no estructurada aquí y la lista de destinos aquí . ¡Estamos planeando añadir más!

Fuente

Destino

S3

S3

Azur

Tejer

Google Drive

Piña

OneDrive

AstraDB

Fuerza de ventas

MongoDB

Punto de intercambio

Neo4j

Volúmenes de Databricks

Tabla delta de volúmenes de Databricks

Para usar la herramienta que crea, actualiza o elimina un conector, las credenciales de ese conector específico deben estar definidas en el archivo .env. A continuación, se muestra la lista de credentials para los conectores compatibles:

Nombre de la credencial

Descripción

ANTHROPIC_API_KEY

necesario para ejecutar

minimal_client

para interactuar con nuestro servidor.

AWS_KEY

,

AWS_SECRET

Es necesario crear un conector S3 a través del servidor

uns-mcp

. Consulte cómo hacerlo en

la documentación

y

aquí.

WEAVIATE_CLOUD_API_KEY

Se requiere crear un conector de base de datos vectorial Weaviate; consulte cómo hacerlo en

la documentación.

FIRECRAWL_API_KEY

necesario para utilizar las herramientas Firecrawl en

external/firecrawl.py

, registrarse en

Firecrawl

y obtener una clave API.

ASTRA_DB_APPLICATION_TOKEN

, PUNTO FINAL DE API

ASTRA_DB_API_ENDPOINT

Es necesario crear un conector Astradb a través del servidor

uns-mcp

. Consulte cómo hacerlo en

la documentación.

AZURE_CONNECTION_STRING

Opción 1 requerida para crear un conector de Azure a través del servidor

uns-mcp

, consulte cómo en

la documentación

NOMBRE DE CUENTA

AZURE_ACCOUNT_NAME

+ CLAVE

AZURE_ACCOUNT_KEY

CUENTA DE AZURE

Opción 2 requerida para crear un conector de Azure a través del servidor

uns-mcp

, consulte cómo en

la documentación

NOMBRE

AZURE_SAS_TOKEN

CUENTA

AZURE_ACCOUNT_NAME

AZURE + TOKEN SAS DE AZURE

Se requiere la opción 3 para crear un conector de Azure a través del servidor

uns-mcp

. Consulte cómo hacerlo en

la documentación.

NEO4J_PASSWORD

Es necesario crear un conector Neo4j a través del servidor

uns-mcp

. Consulte cómo hacerlo en

la documentación.

MONGO_DB_CONNECTION_STRING

Es necesario crear un conector Mongodb a través del servidor

uns-mcp

. Consulte cómo hacerlo en

la documentación.

GOOGLEDRIVE_SERVICE_ACCOUNT_KEY

Un valor de cadena. La clave de la cuenta del servidor original (siga

la documentación

) está en un archivo JSON. Ejecute

base64 < /path/to/google_service_account_key.json

en la terminal para obtener el valor de cadena.

DATABRICKS_CLIENT_ID

,

DATABRICKS_CLIENT_SECRET

Se requiere crear un conector de tabla delta/volumen de Databricks a través del servidor

uns-mcp

; consulte cómo hacerlo en

la documentación

y

aquí.

ID DE

ONEDRIVE_CLIENT_ID

,

ONEDRIVE_CLIENT_CRED

, ID DE INQUILINO

ONEDRIVE_TENANT_ID

Es necesario crear un conector de One Drive a través del servidor

uns-mcp

. Consulte cómo hacerlo en

la documentación.

PINECONE_API_KEY

Se requiere crear un conector de base de datos vectorial Pinecone a través del servidor

uns-mcp

; consulte cómo hacerlo en

la documentación.

SALESFORCE_CONSUMER_KEY

,

SALESFORCE_PRIVATE_KEY

Es necesario crear un conector de origen de Salesforce a través del servidor

uns-mcp

. Consulte cómo hacerlo en

la documentación.

SHAREPOINT_CLIENT_ID

,

SHAREPOINT_CLIENT_CRED

,

SHAREPOINT_TENANT_ID

Es necesario crear un conector de One Drive a través del servidor

uns-mcp

. Consulte cómo hacerlo en

la documentación.

LOG_LEVEL

Se utiliza para establecer el nivel de registro para nuestro

minimal_client

, por ejemplo, configúrelo en ERROR para obtener todo

CONFIRM_TOOL_USE

Establezca en verdadero para que

minimal_client

pueda confirmar la ejecución antes de cada llamada a la herramienta

DEBUG_API_REQUESTS

Establezca en verdadero para que

uns_mcp/server.py

pueda generar parámetros de solicitud para una mejor depuración

Fuente de Firecrawl

Firecrawl es una API de rastreo web que proporciona dos capacidades principales en nuestro MCP:

  1. Recuperación de contenido HTML : uso de invoke_firecrawl_crawlhtml para iniciar trabajos de rastreo y check_crawlhtml_status para monitorearlos

  2. Generación de texto optimizada para LLM : uso de invoke_firecrawl_llmtxt para generar texto y check_llmtxt_status para recuperar resultados

Cómo funciona Firecrawl:

Proceso de rastreo web:

  • Comienza con una URL específica y la analiza para identificar enlaces.

  • Utiliza el mapa del sitio si está disponible; de lo contrario, sigue los enlaces que se encuentran en el sitio web.

  • Recorre recursivamente cada enlace para descubrir todas las subpáginas

  • Recopila contenido de cada página visitada, gestionando la representación de JavaScript y los límites de velocidad.

  • Los trabajos se pueden cancelar con cancel_crawlhtml_job si es necesario

  • Use esto si necesita toda la información extraída en HTML sin formato, el flujo de trabajo de Unstructured lo limpia muy bien :smile:

Generación de textos LLM:

  • Después del rastreo, extrae contenido de texto limpio y significativo de las páginas rastreadas.

  • Genera formatos de texto optimizados y formateados específicamente para modelos de lenguaje grandes.

  • Los resultados se cargan automáticamente en la ubicación S3 especificada

  • Nota: Los trabajos de generación de texto LLM no se pueden cancelar una vez iniciados. La función cancel_llmtxt_job se proporciona por coherencia, pero actualmente no es compatible con la API de Firecrawl.

Nota: Se debe configurar una variable de entorno FIRECRAWL_API_KEY para utilizar estas funciones.

Instalación y configuración

Esta guía proporciona instrucciones paso a paso para configurar el servidor UNS_MCP utilizando Python 3.12 y la herramienta uv .

Prerrequisitos

  • Python 3.12+

  • uv para la gestión ambiental

  • Una clave API de Unstructured. Puedes registrarte y obtener tu clave API aquí .

Uso de uv (recomendado)

No se requiere instalación adicional al usar uvx , ya que gestiona la ejecución. Sin embargo, si prefiere instalar el paquete directamente:

uv pip install uns_mcp

Configurar Claude Desktop

Para la integración con Claude Desktop, agregue el siguiente contenido a su claude_desktop_config.json :

Nota: El archivo se encuentra en el directorio ~/Library/Application Support/Claude/ .

Usando el comando

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

Alternativamente, utilizando el paquete Python:

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

Usando el código fuente

  1. Clonar el repositorio.

  2. Instalar dependencias:

    uv sync
  3. Establezca su clave de API no estructurada como variable de entorno. Cree un archivo .env en el directorio raíz con el siguiente contenido:

    UNSTRUCTURED_API_KEY="YOUR_KEY"

    Consulte .env.template para conocer las variables de entorno configurables.

Ahora puede ejecutar el servidor utilizando uno de los siguientes métodos:

uvx pip install -e .

Actualice la configuración de Claude Desktop:

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

Nota : Recuerde apuntar al ejecutable uvx en el entorno donde instaló el paquete

Nota: No compatible con Claude Desktop.

Para el protocolo SSE, puede depurar más fácilmente desacoplando el cliente y el servidor:

  1. Inicie el servidor en una terminal:

    uv run python uns_mcp/server.py --host 127.0.0.1 --port 8080 # or make sse-server
  2. Pruebe el servidor usando un cliente local en otra terminal:

    uv run python minimal_client/client.py "http://127.0.0.1:8080/sse" # or make sse-client

Nota: Para detener los servicios, utilice Ctrl+C primero en el cliente y luego en el servidor.

Configurar Claude Desktop para utilizar 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" ] } } }

Alternativamente, ejecute el cliente local:

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

Configuración adicional de cliente local

Configure el cliente mínimo utilizando variables ambientales:

  • LOG_LEVEL="ERROR" : se configura para suprimir las salidas de depuración del LLM y mostrar mensajes claros para los usuarios.

  • CONFIRM_TOOL_USE='false' : Desactivar la confirmación del uso de la herramienta antes de la ejecución. Usar con precaución , especialmente durante el desarrollo, ya que LLM puede ejecutar flujos de trabajo costosos o eliminar datos.

Herramientas de depuración

Anthropic ofrece la herramienta MCP Inspector para depurar y probar su servidor MCP. Ejecute el siguiente comando para iniciar una interfaz de depuración. Desde allí, podrá agregar variables de entorno (que apunten a su entorno local) en el panel izquierdo. Incluya su clave API personal como variable de entorno. Vaya a tools para probar las funciones que agregue al servidor MCP.

mcp dev uns_mcp/server.py

Si necesita registrar los parámetros de las llamadas de solicitud a UnstructuredClient , configure la variable de entorno DEBUG_API_REQUESTS=false . Los registros se almacenan en un archivo con el formato unstructured-client-{date}.log , que puede examinarse para depurar los parámetros de las llamadas de solicitud a las funciones de UnstructuredClient .

Añadir acceso de terminal al cliente mínimo

Usaremos @wonderwhy-er/desktop-commander para añadir acceso a la terminal al cliente mínimo. Está basado en el servidor de sistema de archivos MCP. Tenga cuidado, ya que el cliente (también LLM) ahora tiene acceso a archivos privados.

Ejecute el siguiente comando para instalar el paquete:

npx @wonderwhy-er/desktop-commander setup

Luego inicie el cliente con el parámetro adicional:

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

Uso de un subconjunto de herramientas

Si su cliente admite el uso de solo un subconjunto de herramientas, aquí le mostramos una lista de cosas que debe tener en cuenta:

  • La herramienta update_workflow debe cargarse en el contexto junto con la herramienta create_workflow , porque contiene una descripción detallada sobre cómo crear y configurar un nodo personalizado.

Problemas conocidos

  • update_workflow - debe tener en contexto la configuración del flujo de trabajo que está actualizando, ya sea proporcionándola por el usuario o llamando a la herramienta get_workflow_info , ya que esta herramienta no funciona como aplicador patch , reemplaza completamente la configuración del flujo de trabajo.

REGISTRO DE CAMBIOS.md

Cualquier nueva característica/corrección/mejora desarrollada se agregará a CHANGELOG.md. Se prefiere el formato de prelanzamiento 0.xx-dev antes de pasar a una versión estable.

Solución de problemas

  • Si encuentra problemas con Error: spawn <command> ENOENT significa que <command> no está instalado o no es visible en su RUTA:

    • Asegúrese de instalarlo y agregarlo a su PATH.

    • O bien, proporcione la ruta absoluta del comando en el campo command de su configuración. Por ejemplo, reemplace python por /opt/miniconda3/bin/python

Deploy Server
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.

Una implementación de servidor MCP que permite la interacción con la API no estructurada, proporcionando herramientas para enumerar, crear, actualizar y administrar fuentes, destinos y flujos de trabajo.

  1. Herramientas disponibles
    1. Fuente de Firecrawl
  2. Instalación y configuración
    1. Prerrequisitos
      1. Uso de uv (recomendado)
      2. Usando el código fuente
    2. Configuración adicional de cliente local
      1. Herramientas de depuración
    3. Añadir acceso de terminal al cliente mínimo
      1. Uso de un subconjunto de herramientas
        1. Problemas conocidos
          1. REGISTRO DE CAMBIOS.md
            1. Solución de problemas

              Related MCP Servers

              • -
                security
                A
                license
                -
                quality
                A Python-based MCP server that integrates OpenAPI-described REST APIs into MCP workflows, enabling dynamic exposure of API endpoints as MCP tools.
                Last updated -
                122
                MIT License
                • Linux
                • Apple
              • -
                security
                F
                license
                -
                quality
                This is an MCP server that facilitates building tools for interacting with various APIs and workflows, supporting Python-based development with potential for customizable prompts and user configurations.
                Last updated -
              • -
                security
                A
                license
                -
                quality
                An MCP server that exposes HTTP methods defined in an OpenAPI specification as tools, enabling interaction with APIs via the Model Context Protocol.
                Last updated -
                8
                MIT License
              • A
                security
                A
                license
                A
                quality
                An MCP server implementation built to interact with Confluent Kafka and Confluent Cloud REST APIs.
                Last updated -
                24
                28
                107
                MIT License
                • Apple

              View all related MCP servers

              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