Apify

официальный

Официальный MCP-сервер Apify для AI-агентов, позволяющий запускать Actors, извлекать данные с веб-сайтов и автоматизировать процессы веб-скрапинга и краулинга.

Что можно делать с Apify MCP?

  • Поиск в Apify Store — Попросите вашего ассистента найти скраперы и инструменты автоматизации с помощью search-actors, затем изучите детали через fetch-actor-details.
  • Запуск любого Actor — Позвольте вашему ассистенту выполнить скраперы, такие как call-actor или предварительно настроенный apify--rag-web-browser, для извлечения данных с веб-сайтов, социальных сетей или карт.
  • Получение результатов запуска — Получайте постраничные элементы наборов данных с помощью get-dataset-items или проверяйте статус и логи запуска через get-actor-run и get-actor-log.
  • Управление хранилищем — Доступ к данным из наборов данных и хранилищ ключ-значение с использованием get-dataset, get-key-value-store-record и связанных инструментов списка.
  • Создание и управление задачами — Сохраняйте переиспользуемые конфигурации Actor с помощью create-actor-task, обновляйте их через update-actor-task и публикуйте целевые страницы с помощью publish-actor-task.
  • Поиск в документации Apify — Ищите документацию платформы с помощью search-apify-docs и загружайте полные страницы через fetch-apify-docs для контекста.

Документация

Apify MCP Server
mcp.apify.com

NPM latest version Downloads Build Status smithery badge

Сервер Apify Model Context Protocol (MCP) на mcp.apify.com позволяет вашим ИИ-агентам извлекать данные из социальных сетей, поисковых систем, карт, сайтов электронной коммерции и любых других веб-сайтов с помощью тысяч готовых скраперов, краулеров и инструментов автоматизации из Apify Store. Он поддерживает OAuth, что позволяет подключаться из таких клиентов, как Claude.ai или Visual Studio Code, используя только URL-адрес.

🚀 Используйте размещенный Apify MCP Server!

Для наилучшего опыта подключите вашего ИИ-ассистента к нашему размещенному серверу по адресу https://mcp.apify.com. Размещенный сервер поддерживает новейшие функции — включая вывод схемы для структурированных результатов Actor — которые недоступны при локальном запуске через stdio.

⚠️ Устаревший SSE-транспорт удален. Конечная точка https://mcp.apify.com/sse была удалена в пользу Streamable HTTP. Перенесите вашего клиента на https://mcp.apify.com — уберите суффикс /sse из вашей конфигурации.

💰 Сервер также поддерживает агентные платежи: купите токен у AGI, чтобы запускать любого Actor, или платите за каждый запрос через прямой x402 (только для Pay Per Event Actors) или Skyfire.

Apify MCP Server совместим с Claude Code, Claude.ai, Cursor, VS Code и любым клиентом, который соответствует Model Context Protocol. Ознакомьтесь с разделом о MCP-клиентах для получения дополнительных сведений или посетите страницу конфигурации MCP.

Apify-MCP-server

Содержание

🌐 Знакомство с Apify MCP Server

Apify MCP Server позволяет ИИ-ассистенту использовать любого Apify Actor в качестве инструмента для выполнения конкретной задачи. Например, он может:

  • Использовать Facebook Posts Scraper для извлечения данных из постов Facebook с нескольких страниц/профилей.
  • Использовать Google Maps Email Extractor для извлечения контактных данных из Google Maps.
  • Использовать Google Search Results Scraper для скрапинга страниц результатов поиска Google (SERPs).
  • Использовать Instagram Scraper для скрапинга постов, профилей, мест, фотографий и комментариев Instagram.
  • Использовать RAG Web Browser для поиска в интернете, скрапинга первых N URL-адресов и возврата их содержимого.
  • Использовать Web Fetch для получения любого URL-адреса и возврата его содержимого в формате Markdown, обычного текста, HTML или ссылок — с рендерингом JavaScript и защитой от ботов.

Видеоурок: Интеграция 8000+ Apify Actors и агентов с Claude

Apify MCP Server Tutorial: Integrate 5,000+ Apify Actors and Agents with Claude

🚀 Быстрый старт

Вы можете использовать Apify MCP Server двумя способами:

HTTPS-конечная точка (mcp.apify.com): Подключитесь из вашего MCP-клиента через OAuth или включив заголовок Authorization: Bearer <APIFY_TOKEN> в ваши запросы. Это рекомендуемый метод для большинства случаев использования. Поскольку он поддерживает OAuth, вы можете подключаться из таких клиентов, как Claude.ai или Visual Studio Code, используя только URL-адрес: https://mcp.apify.com.

  • https://mcp.apify.com streamable transport

Стандартный ввод/вывод (stdio): Идеально подходит для локальных интеграций и инструментов командной строки, таких как клиент Claude for Desktop.

  • Установите команду сервера MCP-клиента на npx @apify/actors-mcp-server и переменную окружения APIFY_TOKEN на ваш Apify API-токен.
  • См. npx @apify/actors-mcp-server --help для получения дополнительных параметров.

Подробные инструкции по настройке MCP-сервера вы найдете в документации Apify.

🤖 MCP-клиенты

Apify MCP Server совместим с любым MCP-клиентом, который соответствует Model Context Protocol, но уровень поддержки динамического обнаружения инструментов и других функций может различаться в зависимости от клиента.

Для взаимодействия с Apify MCP Server вы можете использовать такие клиенты, как Claude Desktop, Visual Studio Code или Apify Tester MCP Client.

Посетите mcp.apify.com, чтобы настроить сервер для вашего предпочтительного клиента.

Apify-MCP-configuration-clients

Протестированные клиенты

🪄 Попробуйте Apify MCP мгновенно

Хотите попробовать Apify MCP без какой-либо настройки?

Ознакомьтесь с Apify Tester MCP Client

Этот интерактивный интерфейс в виде чата предоставляет простой способ изучить возможности Apify MCP без локальной настройки. Войдите в свою учетную запись Apify и начните экспериментировать с веб-скрапингом, извлечением данных и инструментами автоматизации!

Или используйте файл пакета MCP (ранее известный как файл расширения Anthropic Desktop, или DXT) для установки в один клик: Файл MCPB Apify MCP Server

💰 Агентные платежи

Вы можете оплачивать запуски Actor без Apify API-токена, используя AGI, прямой x402 или Skyfire.

  • AGI (agi.apify.com) выпускает предоплаченный Apify API-токен в обмен на платеж x402 или MPP. Используйте токен как обычный API-токен против mcp.apify.com и api.apify.com — работает для любого Actor, а не только для Pay Per Event. Рекомендуется для новых интеграций; см. AGI (рекомендуется) ниже.
  • Прямой x402 оплачивает USDC на Base за каждый запрос и не требует отдельной учетной записи платформы. Полностью поддерживается mcpc (brew install apify/tap/mcpc или npm install -g @apify/mcpc). Мы используем mcpc, потому что это один из немногих MCP-клиентов, который поддерживает новейшие функции и протокол x402 нативно.
  • Skyfire оплачивает токенами PAY и требует учетную запись Skyfire с пополненным кошельком. Не требует специального MCP-клиента; весь процесс оплаты обрабатывается напрямую через параметры вызова MCP-инструмента.

ℹ️ Область применения: Как прямой x402, так и Skyfire ограничены Pay Per Event Actors, не поддерживают Standby Actors и рассчитываются за каждый запуск вместо выпуска токена.

Как работают агентные платежи

Стоимость запуска Actor варьируется, поэтому оба метода оплаты используют модель предоплаченного баланса. Процесс оплаты состоит из четырех шагов:

  1. Обнаружение: Агент обнаруживает Actors с помощью search-actors или fetch-actor-details. Эти вызовы бесплатны.
  2. Предоплата: Перед запуском платного инструмента Actor агент пополняет предоплаченный баланс.
    • Прямой x402: mcpc автоматически подписывает транзакцию на $1.00 USDC.
    • Skyfire: Агент создает токен PAY (минимум $5.00) с помощью инструмента Skyfire create-pay-token.
  3. Выполнение: Агент вызывает инструмент Actor.
    • Прямой x402: Обрабатывается автоматически mcpc с использованием предоплаченного баланса.
    • Skyfire: Агент явно передает токен PAY в свойстве ввода skyfire-pay-id.
  4. Завершение: Инструмент возвращает результаты Actor. Неиспользованные средства остаются доступными для последующих запусков.
    • Прямой x402: После 60 минут бездействия сервер возвращает неиспользованный баланс на кошелек на Base.
    • Skyfire: Skyfire возвращает неиспользованные средства по истечении срока действия токена.

🪙 AGI (рекомендуется)

AGI (Apify Agent General Interface) — рекомендуемый способ для автономных агентов оплачивать использование Apify без учетной записи. Заплатите один раз через x402 или MPP, получите предоплаченный Apify API-токен с лимитом расходов и используйте его напрямую против mcp.apify.com и api.apify.com (Authorization: Bearer <token>) — для любого Actor.

Полный протокол, поддерживаемые способы оплаты и текущие условия (минимальная сумма, срок действия токена, политика возврата) задокументированы на agi.apify.com/AGENTS.md — считайте это единственным источником истины.

💸 Прямой x402

Протокол x402 обеспечивает прямые платежи между машинами. Ваш MCP-клиент может использовать его для оплаты запусков Actor в USDC на блокчейне Base, полностью обходя необходимость в Apify API-токене.

Предварительные требования

  • Кошелек с USDC на Base в основной сети.

Настройка

Создайте или импортируйте кошелек:

# Create a new wallet
mcpc x402 init

# Import an existing wallet
mcpc x402 import <private-key>

# Show the wallet address and a funding QR code, so you can fund it with USDC on Base (https://base.org)
mcpc x402

Подключитесь к серверу с включенным x402:

mcpc connect "mcp.apify.com?payment=x402" @apify --x402

Теперь вы можете вызвать платный инструмент:

mcpc @apify tools-call call-actor actor:="apify/rag-web-browser" input:='{"query": "latest AI news"}'

🔥 Skyfire

Skyfire предоставляет управляемую платежную инфраструктуру для ИИ-агентов. Вместо аутентификации с помощью Apify API-токена ваш агент передает платежный токен Skyfire для покрытия стоимости каждого вызова инструмента с использованием токенов PAY.

Предварительные требования

  • Учетная запись Skyfire с пополненным кошельком.
  • MCP-клиент, поддерживающий несколько серверов, например Claude Desktop, OpenCode или VS Code.

Настройка

Настройте MCP-сервер Skyfire и Apify MCP Server в вашем клиенте. Добавьте payment=skyfire к URL-адресу сервера Apify:

{
  "mcpServers": {
    "skyfire": {
      "url": "https://api.skyfire.xyz/mcp/sse",
      "headers": {
        "skyfire-api-key": "<YOUR_SKYFIRE_API_KEY>"
      }
    },
    "apify": {
      "url": "https://mcp.apify.com?payment=skyfire"
    }
  }
}

См. документацию по интеграции Skyfire для получения подробных сведений о настройке. Статья Agentic Payments with Skyfire предоставляет дополнительную информацию.

🛠️ Инструменты, ресурсы и промпты

MCP-сервер предоставляет набор инструментов для взаимодействия с Apify Actors. Поскольку Apify Store велик и быстро растет, MCP-сервер предоставляет способ динамически обнаруживать и использовать новых Actors.

Actors

Любой Apify Actor может использоваться в качестве инструмента. По умолчанию сервер предварительно настроен с двумя Actors, apify/rag-web-browser и apify/web-fetch, и несколькими вспомогательными инструментами. MCP-сервер загружает схему ввода Actor и создает соответствующий MCP-инструмент. Это позволяет ИИ-агенту точно знать, какие аргументы передавать Actor и что ожидать в ответ.

Например, для Actor apify/rag-web-browser входные параметры:

{
  "query": "restaurants in San Francisco",
  "maxResults": 3
}

Вам не нужно вручную указывать, какой Actor вызывать или его входные параметры; LLM обрабатывает это автоматически. Когда инструмент вызывается, аргументы автоматически передаются Actor через LLM. Вы можете обратиться к документации конкретного Actor для получения списка доступных аргументов.

Вспомогательные инструменты

Одна из самых мощных функций использования MCP с Apify — динамическое обнаружение инструментов. Оно позволяет ИИ-агенту находить новые инструменты (Actors) по мере необходимости и включать их. Вот некоторые специальные операции MCP и то, как Apify MCP Server их поддерживает:

  • Apify Actors: Поиск Actors, просмотр их деталей и использование их в качестве инструментов для ИИ.
  • Документация Apify: Поиск по документации Apify и получение конкретных документов для предоставления контекста ИИ.
  • Запуски Actor: Получение списков ваших запусков Actor, просмотр их деталей и получение журналов.
  • Хранилище Apify: Доступ к данным из ваших наборов данных и хранилищ ключ-значение.
  • Задачи Actor: Создание, просмотр и обновление сохраненных задач Actor, а также публикация или скрытие их публичных целевых страниц.

Обзор доступных инструментов

Вот обзорный список всех инструментов, предоставляемых Apify MCP Server.

Легенда для столбца Включено по умолчанию:

  • ✅ — в стандартном наборе инструментов.
  • ⚡ — автоматически внедряется, когда присутствуют call-actor, инструмент Actor или get-actor-run (что верно в стандартной конфигурации).
  • ✅¹ — предоставляется по умолчанию, но только когда телеметрия включена, а клиент не скрыт: поверхности Anthropic (Claude.ai / Claude Desktop / Claude Code) или local-agent-mode-apify. Чтобы отключить, передайте явный список tools=, который его не содержит.
Имя инструментаКатегорияОписаниеВключено по умолчанию
search-actorsactorsПоиск Actor'ов в Apify Store.
fetch-actor-detailsactorsПолучение подробной информации о конкретном Actor'е, включая его входную схему, README (краткое описание, если доступно, иначе полное), цены и выходную схему Actor'а.
call-actoractorsВызов Actor'а и получение результатов его запуска. Сначала используйте fetch-actor-details, чтобы получить входную схему Actor'а.
get-actor-runrunsПолучение подробной информации о конкретном запуске Actor'а.
get-dataset-itemsstorageПолучение элементов из датасета с поддержкой фильтрации и пагинации.
get-key-value-store-recordstorageПолучение значения, связанного с конкретным ключом в хранилище ключ-значение.
abort-actor-runrunsПрерывание запущенного запуска Actor'а, при необходимости корректно.
search-apify-docsdocsПоиск соответствующих страниц в документации Apify.
fetch-apify-docsdocsПолучение полного содержимого страницы документации Apify по её URL.
apify--rag-web-browserActor (см. конфигурацию инструмента)Инструмент Actor для просмотра веб-страниц.
apify--web-fetchActor (см. конфигурацию инструмента)Инструмент Actor для получения URL и возврата его содержимого.
report-problemdevСообщить о проблеме с инструментом Apify или Actor'ом команде Apify.✅¹
get-actor-run-listrunsПолучение списка запусков Actor'а, фильтруемых по статусу.
get-actor-logrunsПолучение журналов для конкретного запуска Actor'а.
get-datasetstorageПолучение метаданных о конкретном датасете.
get-dataset-schemastorageГенерация JSON-схемы из элементов датасета.
get-key-value-storestorageПолучение метаданных о конкретном хранилище ключ-значение.
get-key-value-store-keysstorageПеречисление ключей в конкретном хранилище ключ-значение.
get-dataset-liststorageПеречисление всех доступных датасетов для пользователя.
get-key-value-store-liststorageПеречисление всех доступных хранилищ ключ-значение для пользователя.
create-actor-tasktasksСоздание сохранённой задачи Actor'а (именованная, переиспользуемая конфигурация Actor'а).
get-actor-tasktasksПолучение сохранённой задачи Actor'а, её состояния публикации и конфигурации публичного отображения.
update-actor-tasktasksОбновление входных данных задачи, параметров запуска или конфигурации публичного отображения.
publish-actor-tasktasksПубликация задачи на её публичной целевой странице.
unpublish-actor-tasktasksСнятие публикации задачи с её публичной целевой страницы.

Примечание:

Когда присутствуют call-actor, инструмент Actor или get-actor-run, сервер автоматически внедряет get-actor-run, get-dataset-items, get-key-value-store-record и abort-actor-run.

Когда вы вызываете Actor'а — через call-actor или напрямую через инструмент Actor (например, apify--rag-web-browser) — ответ содержит метаданные запуска, идентификаторы хранилищ и summary + nextStep, но не содержит элементов датасета. Чтобы получить элементы, следуйте nextStep и вызовите get-dataset-items (автоматически внедряемый), передав datasetId, возвращённый из вызова.

Аннотации инструментов

Все инструменты включают аннотации метаданных, помогающие MCP-клиентам и LLM понимать поведение инструментов:

  • title: Короткое отображаемое имя инструмента (например, "Search Actors", "Call Actor", "apify/rag-web-browser")
  • readOnlyHint: true для инструментов, которые только читают данные без изменения состояния (например, get-dataset, fetch-actor-details)
  • openWorldHint: true для инструментов, которые обращаются к внешним ресурсам за пределами платформы Apify (например, call-actor выполняет внешние Actor'ы). Инструменты, которые взаимодействуют только с платформой Apify (например, search-actors или fetch-apify-docs), не имеют этой подсказки.

Конфигурация инструментов

Параметр конфигурации tools используется для указания загружаемых инструментов — либо категорий, либо конкретных инструментов напрямую, а также Actor'ов Apify. Например, tools=storage,runs загружает две категории; tools=call-actor загружает только один инструмент.

Когда параметры запроса не указаны, MCP-сервер загружает следующие tools по умолчанию:

  • actors
  • docs
  • apify/rag-web-browser
  • apify/web-fetch

Если параметр tools указан, будут включены только перечисленные инструменты или категории — инструменты по умолчанию не будут включены.

report-problem предоставляется по умолчанию (с учётом ограничений, указанных в сноске выше), но находится в категории dev, поэтому явный tools=dev также выбирает его. Чтобы отключить его, передайте явный список tools=, который его не содержит (например, tools=actors,docs).

Простая конфигурация:

Используйте UI-конфигуратор для настройки сервера, затем скопируйте конфигурацию в свой клиент.

Настройка размещённого сервера:

Размещённый сервер можно настроить с помощью параметров запроса в URL. Например, чтобы загрузить инструменты по умолчанию, используйте:

https://mcp.apify.com?tools=actors,docs,apify/rag-web-browser,apify/web-fetch

Для минимальной конфигурации, если вы хотите использовать только один инструмент Actor — без каких-либо инструментов обнаружения или универсального вызова, сервер можно настроить следующим образом:

https://mcp.apify.com?tools=apify/my-actor

Эта настройка предоставляет только указанного Actor'а (apify/my-actor) как инструмент. Никакие другие инструменты не будут доступны.

Настройка CLI:

CLI можно настроить с помощью флагов командной строки. Например, чтобы загрузить те же инструменты, что и в конфигурации размещённого сервера, используйте:

npx @apify/actors-mcp-server --tools actors,docs,apify/rag-web-browser,apify/web-fetch

Минимальная конфигурация аналогична конфигурации размещённого сервера:

npx @apify/actors-mcp-server --tools apify/my-actor

Как указано выше, это предоставляет только указанного Actor'а (apify/my-actor) как инструмент. Никакие другие инструменты не будут доступны.

⚠️ Важная рекомендация

Конфигурация инструментов по умолчанию может измениться в будущих версиях. Когда параметр tools не указан, сервер в настоящее время загружает инструменты по умолчанию, но это поведение может измениться.

Для производственного использования и стабильных интерфейсов всегда явно указывайте параметр tools, чтобы ваша конфигурация оставалась согласованной при обновлениях.

Конфигурация режима UI

Параметр ui включает рендеринг виджетов MCP Apps в ответах инструментов. Когда он включён, такие инструменты, как search-actors, возвращают интерактивные ответы MCP App.

Настройка размещённого сервера:

Включите режим UI с помощью параметра запроса ui:

https://mcp.apify.com?ui=true

Вы можете комбинировать его с другими параметрами:

https://mcp.apify.com?tools=actors,docs&ui=true

Настройка CLI:

CLI можно настроить с помощью флагов командной строки. Например, чтобы включить режим UI:

npx @apify/actors-mcp-server --ui true

Вы также можете установить его через переменную окружения UI_MODE:

export UI_MODE=true
npx @apify/actors-mcp-server

Обратная совместимость

Конфигурация v2 сохраняет обратную совместимость с использованием v1. Примечания:

  • Параметр actors (URL) и флаг --actors (CLI) по-прежнему поддерживаются.
    • Внутренне они объединяются в селекторы tools.
    • Примеры: ?actors=apify/rag-web-browser?tools=apify/rag-web-browser; --actors apify/rag-web-browser--tools apify/rag-web-browser.
  • enableAddingActors (URL), enable-adding-actors (CLI) и устаревший псевдоним enableActorAutoLoading были удалены. Для динамического вызова Actor'ов используйте tools=call-actor (включён по умолчанию через категорию actors). Любое оставшееся необработанное значение игнорируется.
  • Значения по умолчанию остаются совместимыми: когда tools не указаны, сервер загружает actors, docs, apify/rag-web-browser и apify/web-fetch.
    • Если указаны какие-либо tools, значения по умолчанию не добавляются (та же логика, что и в v1 для явного выбора).
  • call-actor теперь включён по умолчанию через категорию actors (аддитивное изменение). Чтобы исключить его, укажите явный список tools без actors.
  • tools=add-actor, tools=experimental и tools=preview выведены из эксплуатации: они игнорируются и не загружают инструменты. Используйте tools=call-actor (или категорию по умолчанию actors) вместо них.

Существующие URL и команды, использующие ?actors=... или --actors, продолжают работать без изменений.

Промпты

Сервер объявляет возможность prompts, но в настоящее время промпты не зарегистрированы — prompts/list возвращает пустой список.

Ресурсы

Ваши данные Apify не перечисляются в resources/list — чтение происходит по запросу: передайте любой GET URL API Apify (https://api.apify.com/v2/...) в resources/read, и сервер внедрит токен Apify сессии и вернёт тело ответа. resources/templates/list перечисляет распространённые формы — элементы датасета, записи и ключи хранилища ключ-значение, метаданные запуска, журнал запуска — с их параметрами пагинации. Ответы встраиваются до 256 КБ; всё, что больше, возвращает короткое уведомление с URL для скачивания вместо тела. Чтение через API требует токен Apify, поэтому сессия только с оплатой (x402 или Skyfire) получит ошибку JSON-RPC для таких запросов.

💬 Примеры использования

Ниже приведены реалистичные примеры, показывающие, как ИИ-ассистент использует инструменты Apify MCP Server.

Пример 1: Поиск в вебе с помощью RAG Web Browser

Запрос пользователя:

Найди последние новости об автономных ИИ-агентах и обобщи ключевые события.

ИИ-ассистент вызывает предварительно настроенный инструмент Actor apify--rag-web-browser для поиска в вебе и возврата содержимого из лучших результатов. Инструмент возвращает содержимое в формате Markdown из первых 3 результатов поиска, которое ИИ-ассистент затем обобщает для пользователя.

Пример 2: Обнаружение и запуск Actor'а из Apify Store

Запрос пользователя:

Собери данные о 10 лучших ресторанах в Праге из Google Maps с их контактными данными.

ИИ-ассистент сначала ищет подходящего Actor'а, проверяет его входную схему, а затем выполняет его. Инструмент возвращает предварительный просмотр собранных данных, включая названия ресторанов, адреса, рейтинги, номера телефонов и веб-сайты.

Пример 3: Получение и постраничный просмотр результатов запуска Actor'а

Запрос пользователя:

Покажи мне следующие 10 результатов из этого запуска сбора данных.

ИИ-ассистент использует идентификатор датасета из предыдущего запуска Actor'а для получения дополнительных элементов. Ожидаемый результат: Инструмент возвращает следующую страницу структурированных элементов данных из выходного датасета Actor'а.

📡 Телеметрия

Apify MCP Server собирает данные телеметрии о вызовах инструментов, чтобы помочь Apify понять паттерны использования и улучшить сервис. По умолчанию телеметрия включена для всех вызовов инструментов.

Транспорт stdio также использует Sentry для отслеживания ошибок, что помогает нам быстрее выявлять и исправлять проблемы. Sentry автоматически отключается, когда телеметрия отключена.

Отказ от телеметрии

Вы можете отказаться от телеметрии (включая отслеживание ошибок Sentry), установив флаг CLI --telemetry-enabled в false или переменную окружения TELEMETRY_ENABLED в false. Флаги CLI имеют приоритет над переменными окружения.

Примеры

Для удалённого сервера (mcp.apify.com):

# Disable via URL parameter
https://mcp.apify.com?telemetry-enabled=false

Для локального stdio-сервера:

# Disable via CLI flag
npx @apify/actors-mcp-server --telemetry-enabled=false

# Or set environment variable
export TELEMETRY_ENABLED=false
npx @apify/actors-mcp-server

⚙️ Разработка

Пожалуйста, ознакомьтесь с руководством CONTRIBUTING.md для получения рекомендаций по внесению вклада и соглашений о сообщениях коммитов.

Для подробной информации о настройке разработки, структуре проекта и инструкциях по локальному тестированию см. руководство DEVELOPMENT.md.

Предварительные требования

Создайте файл окружения .env со следующим содержимым:

APIFY_TOKEN="your-apify-token"

Соберите пакет actors-mcp-server:

pnpm run build

Запуск HTTP streamable MCP сервера

Запустите с помощью Apify CLI:

export APIFY_TOKEN="your-apify-token"
export APIFY_META_ORIGIN=STANDBY
apify run -p

Когда сервер запущен, вы можете использовать MCP Inspector для отладки сервера, доступного по адресу http://localhost:3001.

Запуск MCP-сервера через стандартный ввод/вывод (stdio)

Вы можете запустить MCP Inspector с помощью этой команды:

export APIFY_TOKEN="your-apify-token"
npx @modelcontextprotocol/inspector node ./dist/stdio.js

После запуска Inspector отобразит URL-адрес, который вы можете открыть в браузере, чтобы начать отладку.

Доступ без аутентификации

Когда параметр запроса tools включает только инструменты, явно разрешённые для использования без аутентификации, размещённый сервер разрешает доступ без API-токена. Сейчас разрешённые инструменты: search-actors, fetch-actor-details, search-apify-docs, fetch-apify-docs. Пример: https://mcp.apify.com?tools=search-actors.

🐦 Canary-релизы для pull request

Apify MCP разделён на два репозитория: этот репозиторий для основной логики MCP и приватный apify-mcp-server-internal для размещённого сервера. Изменения должны быть синхронизированы между обоими.

Чтобы создать canary-релиз, добавьте метку beta к вашему pull request. Это публикует пакет на pkg.pr.new для промежуточного тестирования перед объединением. Подробнее см. файл workflow.

🐋 Интеграция с Docker Hub

Сервер Apify MCP также доступен на Docker Hub, зарегистрирован через репозиторий mcp-registry. Запись в servers/apify-mcp-server/server.yaml должна разворачиваться автоматически реестром Docker Hub MCP (частота развёртывания неизвестна). Перед внесением серьёзных изменений в версию сервера stdio протестируйте её локально, чтобы убедиться, что Docker-сборка проходит. Для тестирования измените source.branch на вашу ветку PR и запустите task build -- apify-mcp-server. Подробнее см. CONTRIBUTING.md.

🐛 Устранение неполадок

Пошаговое устранение неполадок см. в руководстве по интеграции с Claude Desktop в документации Apify.

💡 Ограничения

Схема ввода Actor обрабатывается для совместимости с большинством MCP-клиентов при соблюдении стандартов JSON Schema. Обработка включает:

  • Описания обрезаются до 500 символов (как определено в MAX_DESCRIPTION_LENGTH).
  • Поля перечислений обрезаются до максимальной суммарной длины 2000 символов для всех элементов (как определено в ACTOR_ENUM_MAX_LENGTH).
  • Обязательные поля явно помечаются префиксом REQUIRED в их описаниях для совместимости с фреймворками, которые могут некорректно обрабатывать JSON-схему.
  • Вложенные свойства создаются для особых случаев, таких как конфигурация прокси и источники списков запросов, чтобы обеспечить правильную структуру ввода.
  • Типы элементов массива определяются, когда они явно не заданы в схеме, с использованием приоритета: явный тип в items > тип prefill > тип значения по умолчанию > тип редактора.
  • Значения перечислений и примеры добавляются в описания свойств, чтобы обеспечить их видимость, даже если клиент не полностью поддерживает JSON-схему.
  • Арендованные Actors доступны только для использования с размещённым MCP-сервером по адресу https://mcp.apify.com.. При локальном запуске сервера через stdio вы можете получить доступ только к Actors, которые уже добавлены в ваш локальный набор инструментов. Чтобы динамически искать и использовать любого Actor из Apify Store, включая арендованные, подключитесь к размещённой конечной точке.

🔒 Политика конфиденциальности

При использовании этого сервера ваши запросы и входные данные Actor отправляются в Apify API для выполнения. Данные не передаются третьим лицам, кроме случаев, необходимых для запуска запрошенных Actors. Полные сведения о сборе, использовании, передаче и хранении данных см. в Apify Legal.

🤝 Вклад в проект

Мы приветствуем отчёты об ошибках, запросы функций и исправления документации. Присылайте нам проблему, а не патч — точное описание проблемы с воспроизведением полезнее, чем pull request.

  • 🐛 Сообщить об ошибке: Откройте issue с воспроизведением. Это самое полезное, что вы можете нам отправить.
  • 💡 Предложить функцию: Откройте issue — опишите проблему и тех, кто с ней сталкивается, а не реализацию.
  • 🔧 Код: Работайте только над issue, на которое пригласил мейнтейнер. Открытый issue не является приглашением взяться за него; несанкционированные pull request закрываются.
  • 📚 Документация: Опечатки, битые ссылки и неверные команды сразу отправляются в PR.

Полные правила, включая вклад с помощью ИИ: CONTRIBUTING.md.

📚 Узнать больше