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 |
| Enumera las fuentes disponibles de la API no estructurada. |
| Obtenga información detallada sobre un conector de fuente específico. |
| Crear un conector de origen.) |
| Actualizar un conector de origen existente mediante parámetros. |
| Eliminar un conector de origen por ID de origen. |
| Enumera los destinos disponibles desde la API no estructurada. |
| Obtenga información detallada sobre un conector de destino específico |
| Crear un conector de destino mediante parámetros. |
| Actualizar un conector de destino existente por ID de destino. |
| Eliminar un conector de destino por ID de destino. |
| Enumera los flujos de trabajo de la API no estructurada. |
| Obtenga información detallada sobre un flujo de trabajo específico. |
| Cree un nuevo flujo de trabajo con identificación de origen, destino, etc. |
| Ejecutar un flujo de trabajo específico con ID de flujo de trabajo |
| Actualizar un flujo de trabajo existente mediante parámetros. |
| Eliminar un flujo de trabajo específico por id. |
| Enumera trabajos para un flujo de trabajo específico desde la API no estructurada. |
| Obtenga información detallada sobre un trabajo específico por identificación del trabajo. |
| 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 |
| necesario para ejecutar
para interactuar con nuestro servidor. |
,
| Es necesario crear un conector S3 a través del servidor
. Consulte cómo hacerlo en y |
| Se requiere crear un conector de base de datos vectorial Weaviate; consulte cómo hacerlo en |
| necesario para utilizar las herramientas Firecrawl en
, registrarse en y obtener una clave API. |
, PUNTO FINAL DE API
| Es necesario crear un conector Astradb a través del servidor
. Consulte cómo hacerlo en |
| Opción 1 requerida para crear un conector de Azure a través del servidor
, consulte cómo en |
NOMBRE DE CUENTA
+ CLAVE
CUENTA DE AZURE | Opción 2 requerida para crear un conector de Azure a través del servidor
, consulte cómo en |
NOMBRE
CUENTA
AZURE + TOKEN SAS DE AZURE | Se requiere la opción 3 para crear un conector de Azure a través del servidor
. Consulte cómo hacerlo en |
| Es necesario crear un conector Neo4j a través del servidor
. Consulte cómo hacerlo en |
| Es necesario crear un conector Mongodb a través del servidor
. Consulte cómo hacerlo en |
| Un valor de cadena. La clave de la cuenta del servidor original (siga ) está en un archivo JSON. Ejecute
en la terminal para obtener el valor de cadena. |
,
| Se requiere crear un conector de tabla delta/volumen de Databricks a través del servidor
; consulte cómo hacerlo en y |
ID DE
,
, ID DE INQUILINO
| Es necesario crear un conector de One Drive a través del servidor
. Consulte cómo hacerlo en |
| Se requiere crear un conector de base de datos vectorial Pinecone a través del servidor
; consulte cómo hacerlo en |
,
| Es necesario crear un conector de origen de Salesforce a través del servidor
. Consulte cómo hacerlo en |
,
,
| Es necesario crear un conector de One Drive a través del servidor
. Consulte cómo hacerlo en |
| Se utiliza para establecer el nivel de registro para nuestro
, por ejemplo, configúrelo en ERROR para obtener todo |
| Establezca en verdadero para que
pueda confirmar la ejecución antes de cada llamada a la herramienta |
| Establezca en verdadero para que
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:
Recuperación de contenido HTML : uso de
invoke_firecrawl_crawlhtmlpara iniciar trabajos de rastreo ycheck_crawlhtml_statuspara monitorearlosGeneración de texto optimizada para LLM : uso de
invoke_firecrawl_llmtxtpara generar texto ycheck_llmtxt_statuspara 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_jobsi es necesarioUse 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_jobse 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.
Related MCP server: Lodestar MCP Server
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+
uvpara la gestión ambientalUna 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:
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
Alternativamente, utilizando el paquete Python:
Usando el código fuente
Clonar el repositorio.
Instalar dependencias:
uv syncEstablezca 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.templatepara conocer las variables de entorno configurables.
Ahora puede ejecutar el servidor utilizando uno de los siguientes métodos:
Actualice la configuración de Claude Desktop:
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:
Inicie el servidor en una terminal:
uv run python uns_mcp/server.py --host 127.0.0.1 --port 8080 # or make sse-serverPruebe 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:
Alternativamente, ejecute el cliente local:
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.
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:
Luego inicie el cliente con el parámetro adicional:
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_workflowdebe cargarse en el contexto junto con la herramientacreate_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 herramientaget_workflow_info, ya que esta herramienta no funciona como aplicadorpatch, 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> ENOENTsignifica 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
commandde su configuración. Por ejemplo, reemplacepythonpor/opt/miniconda3/bin/python