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.
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
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:
- Recuperación de contenido HTML : uso de
invoke_firecrawl_crawlhtml
para iniciar trabajos de rastreo ycheck_crawlhtml_status
para monitorearlos - Generación de texto optimizada para LLM : uso de
invoke_firecrawl_llmtxt
para generar texto ycheck_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:
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 uvx
:
Alternativamente, utilizando el paquete Python:
Usando el código fuente
- Clonar el repositorio.
- Instalar dependencias:Copy
- Establezca su clave de API no estructurada como variable de entorno. Cree un archivo .env en el directorio raíz con el siguiente contenido:ConsulteCopy
.env.template
para 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:Copy
- Pruebe el servidor usando un cliente local en otra terminal:Copy
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_workflow
debe 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> 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, reemplacepython
por/opt/miniconda3/bin/python
You must be authenticated.
Tools
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.
- Available Tools
- Installation & Configuration
- Prerequisites
- Additional Local Client Configuration
- Add terminal access to minimal client
- Using subset of tools
- Known issues
- CHANGELOG.md
- Troubleshooting