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 | АстраДБ |
Salesforce | MongoDB |
Sharepoint | Neo4j |
Объемы блоков данных | |
Таблица дельта томов 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:
- Извлечение HTML-контента : использование
invoke_firecrawl_crawlhtml
для запуска заданий сканирования иcheck_crawlhtml_status
для их мониторинга - Генерация текста, оптимизированного для 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
не требуется дополнительная установка, так как он обрабатывает выполнение. Однако, если вы предпочитаете установить пакет напрямую:
Настроить рабочий стол Клода
Для интеграции с Claude Desktop добавьте следующий контент в ваш claude_desktop_config.json
:
Примечание: файл находится в каталоге ~/Library/Application Support/Claude/
.
Использование команды uvx
:
Альтернативный вариант — использование пакета Python:
Использование исходного кода
- Клонируйте репозиторий.
- Установить зависимости:Copy
- Установите свой неструктурированный ключ API как переменную среды. Создайте файл .env в корневом каталоге со следующим содержимым:Настраиваемые переменные среды см. вCopy
.env.template
.
Теперь вы можете запустить сервер одним из следующих способов:
Обновите конфигурацию Claude Desktop:
Примечание : не забудьте указать исполняемый файл uvx в среде, где вы установили пакет.
Примечание: не поддерживается Claude Desktop.
Для протокола SSE отладку можно упростить, разделив клиент и сервер:
- Запустите сервер в одном терминале:Copy
- Протестируйте сервер, используя локальный клиент в другом терминале:Copy
Примечание: Чтобы остановить службы, сначала нажмите Ctrl+C
на клиенте, а затем на сервере.
Настройте Claude Desktop для использования stdio:
Либо запустите локальный клиент:
Дополнительная конфигурация локального клиента
Настройте минимальный клиент с использованием переменных окружения:
LOG_LEVEL="ERROR"
: установите для подавления отладочных выходных данных LLM, отображая понятные сообщения для пользователей.CONFIRM_TOOL_USE='false'
: Отключить подтверждение использования инструмента перед выполнением. Используйте с осторожностью , особенно во время разработки, так как LLM может выполнять дорогостоящие рабочие процессы или удалять данные.
Инструменты отладки
Anthropic предоставляет инструмент MCP Inspector
для отладки/тестирования вашего сервера MCP. Выполните следующую команду, чтобы запустить отладочный пользовательский интерфейс. Оттуда вы сможете добавлять переменные среды (указывающие на ваш локальный env) на левой панели. Включите туда свой личный ключ API как env var. Перейдите в tools
, чтобы протестировать возможности, которые вы добавляете на сервер MCP.
Если вам необходимо регистрировать параметры вызова запроса в UnstructuredClient
, установите переменную среды DEBUG_API_REQUESTS=false
. Журналы хранятся в файле формата unstructured-client-{date}.log
, который можно просмотреть для отладки параметров вызова запроса в функциях UnstructuredClient
.
Добавить терминальный доступ к минимальному клиенту
Мы собираемся использовать @wonderwhy-er/desktop-commander для добавления терминального доступа к минимальному клиенту. Он построен на сервере файловой системы MCP. Будьте осторожны, так как клиент (также LLM) теперь имеет доступ к приватным файлам.
Для установки пакета выполните следующую команду:
Затем запустите клиент с дополнительным параметром:
Использование подмножества инструментов
Если ваш клиент поддерживает использование только подмножества инструментов, вот список вещей, которые вам следует знать:
- Инструмент
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.
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.
Tools
Реализация сервера MCP, которая обеспечивает взаимодействие с неструктурированным API, предоставляя инструменты для составления списка, создания, обновления и управления источниками, пунктами назначения и рабочими процессами.
- Доступные инструменты
- Установка и настройка
- Предпосылки
- Дополнительная конфигурация локального клиента
- Добавить терминальный доступ к минимальному клиенту
- Использование подмножества инструментов
- Известные проблемы
- CHANGELOG.md
- Поиск неисправностей
Related Resources
Related MCP Servers
- -securityAlicense-qualityMCP 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 -43TypeScriptMIT License
- AsecurityAlicenseAqualityA 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 -34JavaScriptMIT License
- -securityAlicense-qualityMCP 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 -132TypeScriptMIT License
- -securityFlicense-qualityAn 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 -1Python