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

Неструктурированный API MCP-сервер

Реализация сервера MCP для взаимодействия с неструктурированным API. Этот сервер предоставляет инструменты для составления списка источников и рабочих процессов.

Доступные инструменты

ИнструментОписание
list_sourcesПеречисляет доступные источники из неструктурированного API.
get_source_infoПолучите подробную информацию о конкретном исходном соединителе.
create_source_connectorСоздайте исходный соединитель.)
update_source_connectorОбновить существующий исходный коннектор по параметрам.
delete_source_connectorУдалить исходный соединитель по идентификатору источника.
list_destinationsСписок доступных пунктов назначения из неструктурированного API.
get_destination_infoПолучите подробную информацию о конкретном целевом соединителе
create_destination_connectorСоздайте коннектор назначения по параметрам.
update_destination_connectorОбновите существующий коннектор назначения по идентификатору назначения.
delete_destination_connectorУдалить коннектор назначения по идентификатору назначения.
list_workflowsПеречисляет рабочие процессы из неструктурированного API.
get_workflow_infoПолучите подробную информацию о конкретном рабочем процессе.
create_workflowСоздайте новый рабочий процесс с идентификатором источника, назначения и т. д.
run_workflowЗапустить определенный рабочий процесс с идентификатором рабочего процесса
update_workflowОбновить существующий рабочий процесс по параметрам.
delete_workflowУдалить определенный рабочий процесс по идентификатору.
list_jobsПеречисляет задания для определенного рабочего процесса из неструктурированного API.
get_job_infoПолучите подробную информацию о конкретной вакансии по ее идентификатору.
cancel_jobУдалить конкретную работу по идентификатору.
list_workflows_with_finished_jobsПеречисляет все рабочие процессы, имеющие завершенные задания, а также информацию об источнике и месте назначения.

Ниже приведен список коннекторов, которые в настоящее время поддерживает сервер UNS-MCP . Полный список исходных коннекторов, которые поддерживает неструктурированная платформа, см . здесь , а список коннекторов назначения — здесь . Мы планируем добавить еще!

ИсточникМесто назначения
С3С3
ЛазурныйWeaviate
Google ДискШишка
OneDriveАстраДБ
SalesforceMongoDB
SharepointNeo4j
Объемы блоков данных
Таблица дельта томов Databricks

Чтобы использовать инструмент, который создает/обновляет/удаляет коннектор, учетные данные для этого конкретного коннектора должны быть определены в вашем файле .env. Ниже приведен список credentials для поддерживаемых нами коннекторов:

Имя удостоверенияОписание
ANTHROPIC_API_KEYтребуется запустить minimal_client для взаимодействия с нашим сервером.
AWS_KEY , AWS_SECRETтребуется создать коннектор S3 через сервер uns-mcp , см. как это сделать в документации и здесь
WEAVIATE_CLOUD_API_KEYтребуется создать векторный коннектор базы данных Weaviate, см. как это сделать в документации
FIRECRAWL_API_KEYдля использования инструментов Firecrawl в external/firecrawl.py необходимо зарегистрироваться в Firecrawl и получить ключ API.
ASTRA_DB_APPLICATION_TOKEN , ASTRA_DB_API_ENDPOINTтребуется создать коннектор Astradb через сервер uns-mcp , см. как это сделать в документации
AZURE_CONNECTION_STRINGтребуется опция 1 для создания Azure Connector через сервер uns-mcp , см. как это сделать в документации
AZURE_ACCOUNT_NAME + AZURE_ACCOUNT_KEYтребуется вариант 2 для создания коннектора Azure через сервер uns-mcp , см. как это сделать в документации
AZURE_ACCOUNT_NAME + AZURE_SAS_TOKENтребуется опция 3 для создания Azure Connector через сервер uns-mcp , см. как это сделать в документации
NEO4J_PASSWORDтребуется создать коннектор Neo4j через сервер uns-mcp , см. как это сделать в документации
MONGO_DB_CONNECTION_STRINGтребуется создать коннектор MongoDB через сервер uns-mcp , см. как это сделать в документации
GOOGLEDRIVE_SERVICE_ACCOUNT_KEYстроковое значение. Исходный ключ учетной записи сервера (следуйте документации ) находится в файле json, запустите base64 < /path/to/google_service_account_key.json в терминале, чтобы получить строковое значение
DATABRICKS_CLIENT_ID , DATABRICKS_CLIENT_SECRETтребуется создать коннектор таблицы томов/дельта Databricks через сервер uns-mcp , см. как в документации и здесь
ONEDRIVE_CLIENT_ID , ONEDRIVE_CLIENT_CRED , ONEDRIVE_TENANT_IDтребуется создать коннектор One Drive через сервер uns-mcp , см. как это сделать в документации
PINECONE_API_KEYтребуется создать коннектор базы данных Pinecone vector DB через сервер uns-mcp , см. как это сделать в документации
SALESFORCE_CONSUMER_KEY , SALESFORCE_PRIVATE_KEYтребуется создать исходный коннектор salesforce через сервер uns-mcp , см. как это сделать в документации
SHAREPOINT_CLIENT_ID , SHAREPOINT_CLIENT_CRED , SHAREPOINT_TENANT_IDтребуется создать коннектор One Drive через сервер uns-mcp , см. как это сделать в документации
LOG_LEVELИспользуется для установки уровня ведения журнала для нашего minimal_client , например, установите значение ERROR, чтобы получить все
CONFIRM_TOOL_USEустановите значение true, чтобы minimal_client мог подтвердить выполнение перед каждым вызовом инструмента
DEBUG_API_REQUESTSустановите значение true, чтобы uns_mcp/server.py мог выводить параметры запроса для лучшей отладки

Источник Firecrawl

Firecrawl — это API веб-сканирования, который предоставляет две основные возможности в нашем MCP:

  1. Извлечение HTML-контента : использование invoke_firecrawl_crawlhtml для запуска заданий сканирования и check_crawlhtml_status для их мониторинга
  2. Генерация текста, оптимизированного для LLM : использование invoke_firecrawl_llmtxt для генерации текста и check_llmtxt_status для получения результатов

Как работает Firecrawl:

Процесс сканирования веб-страниц:

  • Начинает с указанного URL-адреса и анализирует его для выявления ссылок
  • Использует карту сайта, если она доступна; в противном случае переходит по ссылкам, найденным на сайте.
  • Рекурсивно обходит каждую ссылку, чтобы обнаружить все подстраницы.
  • Собирает контент с каждой посещенной страницы, обрабатывает рендеринг JavaScript и ограничения скорости
  • При необходимости задания можно отменить с помощью cancel_crawlhtml_job
  • Используйте это, если вам нужно извлечь всю информацию в необработанный HTML. Рабочий процесс Unstructured отлично справляется с этой задачей :smile:

Генерация текста LLM:

  • После сканирования извлекает чистый, осмысленный текстовый контент из просканированных страниц.
  • Создает оптимизированные текстовые форматы, специально отформатированные для больших языковых моделей.
  • Результаты автоматически загружаются в указанное место S3.
  • Примечание: задания по генерации текста LLM нельзя отменить после запуска. Функция cancel_llmtxt_job предусмотрена для обеспечения согласованности, но в настоящее время не поддерживается API Firecrawl.

Примечание: для использования этих функций необходимо установить переменную среды FIRECRAWL_API_KEY .

Установка и настройка

В этом руководстве приведены пошаговые инструкции по настройке и конфигурированию сервера UNS_MCP с использованием Python 3.12 и инструмента uv .

Предпосылки

  • Питон 3.12+
  • uv для управления окружающей средой
  • Ключ API от Unstructured. Вы можете зарегистрироваться и получить свой ключ API здесь .

Использование uv (рекомендуется)

При использовании uvx не требуется дополнительная установка, так как он обрабатывает выполнение. Однако, если вы предпочитаете установить пакет напрямую:

uv pip install uns_mcp
Настроить рабочий стол Клода

Для интеграции с Claude Desktop добавьте следующий контент в ваш claude_desktop_config.json :

Примечание: файл находится в каталоге ~/Library/Application Support/Claude/ .

Использование команды uvx :

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

Альтернативный вариант — использование пакета Python:

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

Использование исходного кода

  1. Клонируйте репозиторий.
  2. Установить зависимости:
    uv sync
  3. Установите свой неструктурированный ключ API как переменную среды. Создайте файл .env в корневом каталоге со следующим содержимым:
    UNSTRUCTURED_API_KEY="YOUR_KEY"
    Настраиваемые переменные среды см. в .env.template .

Теперь вы можете запустить сервер одним из следующих способов:

uvx pip install -e .

Обновите конфигурацию Claude Desktop:

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

Примечание : не забудьте указать исполняемый файл uvx в среде, где вы установили пакет.

Примечание: не поддерживается Claude Desktop.

Для протокола SSE отладку можно упростить, разделив клиент и сервер:

  1. Запустите сервер в одном терминале:
    uv run python uns_mcp/server.py --host 127.0.0.1 --port 8080 # or make sse-server
  2. Протестируйте сервер, используя локальный клиент в другом терминале:
    uv run python minimal_client/client.py "http://127.0.0.1:8080/sse" # or make sse-client

Примечание: Чтобы остановить службы, сначала нажмите Ctrl+C на клиенте, а затем на сервере.

Настройте Claude Desktop для использования 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" ] } } }

Либо запустите локальный клиент:

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

Дополнительная конфигурация локального клиента

Настройте минимальный клиент с использованием переменных окружения:

  • LOG_LEVEL="ERROR" : установите для подавления отладочных выходных данных LLM, отображая понятные сообщения для пользователей.
  • CONFIRM_TOOL_USE='false' : Отключить подтверждение использования инструмента перед выполнением. Используйте с осторожностью , особенно во время разработки, так как LLM может выполнять дорогостоящие рабочие процессы или удалять данные.
Инструменты отладки

Anthropic предоставляет инструмент MCP Inspector для отладки/тестирования вашего сервера MCP. Выполните следующую команду, чтобы запустить отладочный пользовательский интерфейс. Оттуда вы сможете добавлять переменные среды (указывающие на ваш локальный env) на левой панели. Включите туда свой личный ключ API как env var. Перейдите в tools , чтобы протестировать возможности, которые вы добавляете на сервер MCP.

mcp dev uns_mcp/server.py

Если вам необходимо регистрировать параметры вызова запроса в UnstructuredClient , установите переменную среды DEBUG_API_REQUESTS=false . Журналы хранятся в файле формата unstructured-client-{date}.log , который можно просмотреть для отладки параметров вызова запроса в функциях UnstructuredClient .

Добавить терминальный доступ к минимальному клиенту

Мы собираемся использовать @wonderwhy-er/desktop-commander для добавления терминального доступа к минимальному клиенту. Он построен на сервере файловой системы MCP. Будьте осторожны, так как клиент (также LLM) теперь имеет доступ к приватным файлам.

Для установки пакета выполните следующую команду:

npx @wonderwhy-er/desktop-commander setup

Затем запустите клиент с дополнительным параметром:

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

Использование подмножества инструментов

Если ваш клиент поддерживает использование только подмножества инструментов, вот список вещей, которые вам следует знать:

  • Инструмент update_workflow необходимо загрузить в контексте вместе с инструментом create_workflow , поскольку он содержит подробное описание того, как создать и настроить пользовательский узел.

Известные проблемы

  • update_workflow — необходимо иметь в контексте конфигурацию обновляемого рабочего процесса, либо предоставив ее пользователю, либо вызвав инструмент get_workflow_info , поскольку этот инструмент не работает как средство применения patch , он полностью заменяет конфигурацию рабочего процесса.

CHANGELOG.md

Все новые разработанные функции/исправления/улучшения будут добавлены в CHANGELOG.md. Предпочтительным является предварительный формат 0.xx-dev, прежде чем мы перейдем к стабильной версии.

Поиск неисправностей

  • Если вы столкнулись с проблемой Error: spawn <command> ENOENT это означает, что <command> не установлен или не виден в вашем PATH:
    • Обязательно установите его и добавьте в PATH.
    • или укажите абсолютный путь к команде в поле command вашего конфига. Например, замените python на /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.

Реализация сервера MCP, которая обеспечивает взаимодействие с неструктурированным API, предоставляя инструменты для составления списка, создания, обновления и управления источниками, пунктами назначения и рабочими процессами.

  1. Доступные инструменты
    1. Источник Firecrawl
  2. Установка и настройка
    1. Предпосылки
      1. Использование uv (рекомендуется)
      2. Использование исходного кода
    2. Дополнительная конфигурация локального клиента
      1. Инструменты отладки
    3. Добавить терминальный доступ к минимальному клиенту
      1. Использование подмножества инструментов
        1. Известные проблемы
          1. CHANGELOG.md
            1. Поиск неисправностей

              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