YepCode MCP Server

официальный

Выполняйте любой код, сгенерированный LLM, в безопасной и масштабируемой среде песочницы YepCode и создавайте собственные MCP-инструменты с использованием JavaScript или Python с полной поддержкой пакетов NPM и PyPI.

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

YepCode MCP Server Preview

NPM version NPM Downloads GitHub Workflow Status

Trust Score smithery badge

Что такое YepCode MCP Server?

MCP-сервер (Model Context Protocol), который позволяет ИИ-платформам взаимодействовать с инфраструктурой YepCode. Запускайте сгенерированные LLM скрипты и превращайте ваши процессы YepCode в мощные инструменты, которые ИИ-ассистенты могут использовать напрямую. YepCode — идеальная среда для создания динамического сервера инструментов MCP: предоставляйте каждый процесс как инструмент (с OAuth, API-токенами или вашими учётными данными), определяйте параметры каждого инструмента с помощью JSON Schema для полной гибкости и реализуйте инструменты на Python или Node.js — всё в одном сервере, который сочетает несколько языков.

Почему YepCode MCP Server?

  • Бесшовная интеграция с ИИ: Превращайте процессы YepCode в готовые к использованию ИИ-инструменты без дополнительной настройки
  • Управление процессами в реальном времени: Обеспечьте прямое взаимодействие между ИИ-системами и вашими рабочими процессами
  • Безопасность корпоративного уровня: Выполняйте код в изолированных, готовых к промышленной эксплуатации средах YepCode
  • Универсальная совместимость: Интегрируйтесь с любой ИИ-платформой, поддерживающей Model Context Protocol

YepCode: Идеальная среда для динамического сервера инструментов MCP

YepCode создан как идеальная платформа для запуска динамического сервера инструментов MCP:

  • Один процесс — один инструмент: Каждый процесс YepCode может быть представлен как инструмент MCP. Пометьте свои процессы тегами (например, mcp-tool, core, automation), и они станут инструментами, которые ИИ-ассистенты могут вызывать. Вы можете защитить доступ с помощью OAuth, API-токенов или ваших существующих учётных данных YepCode — каждый инструмент работает в вашем рабочем пространстве с той же моделью безопасности.

  • Полный контроль над параметрами инструментов: Каждый инструмент может определять собственную схему параметров в виде JSON Schema. Вы получаете полную гибкость для описания входных данных (типы, описания, обязательные поля, перечисления, значения по умолчанию и т. д.), благодаря чему ИИ получает богатые метаданные и может корректно вызывать ваши инструменты.

  • Полиглотные реализации инструментов: Реализуйте инструменты на Python или Node.js (или на обоих). Один и тот же MCP-сервер может предоставлять инструменты, работающие на разных средах выполнения — представьте это как один MCP-сервер, который сочетает реализации на нескольких языках.

Полную документацию смотрите в документации YepCode MCP Server.

Установка

Этот пакет позволяет запускать YepCode MCP Server локально или в вашей собственной инфраструктуре (NPX, Docker или пользовательское развёртывание). Интегрируйте его с ИИ-платформами, такими как Cursor или Claude Desktop.

Совет: Из вашего аккаунта YepCode у вас также есть доступ к размещённому MCP-серверу, который не требует локальной установки. URL-адрес подключения всегда: https://cloud.yepcode.io/mcp

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

Получите учётные данные API YepCode:

  1. Зарегистрируйтесь в YepCode Cloud
  2. Перейдите в Settings > API credentials, чтобы создать новый API-токен.

Использование NPX

Убедитесь, что у вас установлен Node.js (версия 18 или выше), и используйте конфигурацию, подобную следующей:

{
  "mcpServers": {
    "yepcode-mcp-server": {
      "command": "npx",
      "args": ["-y", "@yepcode/mcp-server"],
      "env": {
        "YEPCODE_API_TOKEN": "your_api_token_here"
      }
    }
  }
}

Использование Docker

  1. Соберите образ контейнера:
docker build -t yepcode/mcp-server .
  1. Используйте конфигурацию, подобную следующей:
{
  "mcpServers": {
    "yepcode-mcp-server": {
      "command": "docker",
      "args": [
        "run",
        "-d",
        "-e",
        "YEPCODE_API_TOKEN=your_api_token_here",
        "yepcode/mcp-server"
      ]
    }
  }
}

Отладка

Отладка MCP-серверов может быть сложной, поскольку они обмениваются данными через stdio. Чтобы упростить этот процесс, мы рекомендуем использовать MCP Inspector, который можно запустить следующей командой:

npm run inspector

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

Справочник инструментов YepCode MCP

MCP-сервер предоставляет несколько инструментов для взаимодействия с инфраструктурой YepCode:

Выполнение кода

run_code

Выполняет код в защищённой среде YepCode.

// Input
{
  code: string;                          // The code to execute
  options?: {
    language?: string;                   // Programming language (default: 'javascript')
    comment?: string;                    // Execution context
    settings?: Record<string, unknown>;  // Runtime settings
  }
}

// Response
{
  returnValue?: unknown;                 // Execution result
  logs?: string[];                       // Console output
  error?: string;                        // Error message if execution failed
}
Параметры MCP

YepCode MCP Server поддерживает следующие параметры:

  • runCodeCleanup: Пропустить очистку run_code. По умолчанию исходный код процессов run_code удаляется после выполнения. Если вы хотите сохранить его для аудита, используйте этот параметр.
  • skipCodingRules: Пропустить включение правил написания кода в определение инструмента run_code. По умолчанию правила написания кода на JavaScript и Python из документации YepCode включаются в схему инструмента, чтобы направлять ИИ-генерируемый код. Если вы хотите пропустить это для более быстрой инициализации инструмента или уменьшения размера определений, используйте этот параметр.

Параметры можно передавать в виде списка, разделённого запятыми, в переменной окружения YEPCODE_MCP_OPTIONS.

Выбор инструментов

Вы можете управлять тем, какие инструменты включены, установив переменную окружения YEPCODE_MCP_TOOLS со списком категорий инструментов и тегов процессов, разделённых запятыми:

Встроенные категории инструментов:

  • run_code: Включает инструмент выполнения кода
  • yc_api: Включает все базовые инструменты управления API (процессы, расписания, переменные, хранилище, выполнения, модули)
  • yc_api_full: Включает все инструменты управления API, включая инструменты, связанные с версиями (расширяет yc_api дополнительными инструментами управления версиями процессов и модулей)
  • любое конкретное имя инструмента API (например, execute_process_sync, get_execution,...)

Теги процессов:

  • Любой тег, используемый в ваших процессах YepCode (например, mcp-tool, core, automation и т. д.)
  • Когда вы указываете тег процесса, все процессы с этим тегом будут представлены как отдельные инструменты MCP
  • Инструменты процессов будут именоваться с использованием слага процесса (или с префиксом yc_ и идентификатором процесса, если имя длиннее 60 символов)

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

// NPX configuration with options
{
  "mcpServers": {
    "yepcode-mcp-server": {
      "command": "npx",
      "args": ["-y", "@yepcode/mcp-server"],
      "env": {
        "YEPCODE_API_TOKEN": "your_api_token_here",
        "YEPCODE_MCP_OPTIONS": "runCodeCleanup,skipCodingRules",
        "YEPCODE_MCP_TOOLS": "run_code,yc_api,mcp-tool,core"
      }
    }
  }
}

Примеры сценариев:

  • YEPCODE_MCP_TOOLS=run_code,yc_api - Включает встроенное выполнение кода и базовые инструменты управления API
  • YEPCODE_MCP_TOOLS=run_code,yc_api_full - Включает встроенное выполнение кода и все инструменты управления API (включая управление версиями)
  • YEPCODE_MCP_TOOLS=core,automation - Предоставляет только процессы с тегами "core" или "automation" как инструменты
  • YEPCODE_MCP_TOOLS=run_code,yc_api,core - Включает встроенные инструменты плюс все процессы с тегом "core"

Управление окружением

set_env_var

Устанавливает переменную окружения в рабочем пространстве YepCode.

// Input
{
  key: string;                           // Variable name
  value: string;                         // Variable value
  isSensitive?: boolean;                 // Whether to mask the value in logs (default: true)
}

remove_env_var

Удаляет переменную окружения из рабочего пространства YepCode.

// Input
{
  key: string;                           // Name of the variable to remove
}

Управление хранилищем

YepCode предоставляет встроенную систему хранения, которая позволяет загружать, просматривать, скачивать и удалять файлы. Доступ к этим файлам можно получить из ваших выполнений кода с помощью вспомогательных методов yepcode.storage.

list_files

Выводит список всех файлов в вашем хранилище YepCode.

// Input
{
  prefix?: string;                       // Optional prefix to filter files
}

// Response
{
  files: Array<{
    filename: string;                    // File name or path
    size: number;                        // File size in bytes
    lastModified: string;                // Last modification date
  }>;
}

upload_file

Загружает файл в хранилище YepCode.

// Input
{
  filename: string;                      // File path (e.g., 'file.txt' or 'folder/file.txt')
  content: string | {                   // File content
    data: string;                        // Base64 encoded content for binary files
    encoding: "base64";
  };
}

// Response
{
  success: boolean;                      // Upload success status
  filename: string;                      // Uploaded file path
}

download_file

Скачивает файл из хранилища YepCode.

// Input
{
  filename: string;                      // File path to download
}

// Response
{
  filename: string;                      // File path
  content: string;                       // File content (base64 for binary files)
  encoding?: string;                     // Encoding type if binary
}

delete_file

Удаляет файл из хранилища YepCode.

// Input
{
  filename: string;                      // File path to delete
}

// Response
{
  success: boolean;                      // Deletion success status
  filename: string;                      // Deleted file path
}

Выполнение процессов

MCP-сервер может предоставлять ваши процессы YepCode как отдельные инструменты MCP, делая их напрямую доступными для ИИ-ассистентов. Эта функция включается путём указания тегов процессов в переменной окружения YEPCODE_MCP_TOOLS.

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

  1. Пометьте свои процессы YepCode любым тегом (например, core, api, automation, mcp-tool и т. д.)
  2. Добавьте эти теги в переменную окружения YEPCODE_MCP_TOOLS
  3. Все процессы с указанными тегами будут представлены как отдельные инструменты MCP

Для каждого представленного процесса будет создан инструмент, названный с использованием слага процесса (или с префиксом yc_ и идентификатором процесса, если имя инструмента длиннее 60 символов).

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

<process_slug>

// Input
{
  parameters?: any;                      // This should match the input parameters specified in the process
  options?: {
    tag?: string;                        // Process version to execute
    comment?: string;                    // Execution context
  };
  synchronousExecution?: boolean;        // Whether to wait for completion (default: true)
}

// Response (synchronous execution)
{
  executionId: string;                   // Unique execution identifier
  logs: string[];                        // Process execution logs
  returnValue?: unknown;                 // Process output
  error?: string;                        // Error message if execution failed
}

// Response (asynchronous execution)
{
  executionId: string;                   // Unique execution identifier
}

Инструменты управления API

Категории инструментов управления API (yc_api и yc_api_full) предоставляют комплексный доступ к API для управления всеми аспектами вашего рабочего пространства YepCode:

Базовые инструменты API (yc_api): Тег yc_api включает стандартные инструменты управления API для основных операций в вашем рабочем пространстве.

Расширенные инструменты API (yc_api_full): Тег yc_api_full включает всё из yc_api плюс дополнительные инструменты для управления версиями процессов и модулей.

Управление процессами:

  • get_processes - Список процессов с возможностью фильтрации
  • create_process - Создание новых процессов с исходным кодом
  • get_process - Получение сведений о процессе
  • update_process - Обновление существующего процесса
  • delete_process - Удаление процесса
  • get_process_versions - Получение версий процесса (требуется yc_api_full)
  • execute_process_async - Асинхронное выполнение процесса
  • execute_process_sync - Синхронное выполнение процесса
  • schedule_process - Планирование автоматического запуска процесса

Управление расписаниями:

  • get_schedules - Список запланированных процессов
  • get_schedule - Получение сведений о расписании
  • pause_schedule - Приостановка запланированного процесса
  • resume_schedule - Возобновление приостановленного расписания
  • delete_schedule - Удаление расписания
  • update_schedule - Обновление запланированного процесса

Управление переменными:

  • get_variables - Список переменных команды
  • create_variable - Создание новой переменной
  • update_variable - Обновление существующей переменной
  • delete_variable - Удаление переменной

Управление хранилищем:

  • get_storage_objects - Список объектов хранилища
  • upload_storage_object - Загрузка файла в хранилище
  • download_storage_object - Скачивание файла из хранилища
  • delete_storage_object - Удаление файла из хранилища

Управление выполнениями:

  • get_executions - Список выполнений с возможностью фильтрации
  • get_execution - Получение сведений о выполнении из API
  • kill_execution - Остановка выполняющегося процесса
  • rerun_execution - Повторный запуск предыдущего выполнения
  • get_execution_logs - Получение журналов выполнения

Управление модулями:

  • get_modules - Список модулей библиотеки скриптов
  • create_module - Создание нового модуля
  • get_module - Получение сведений о модуле
  • delete_module - Удаление модуля
  • get_module_versions - Получение версий модуля (требуется yc_api_full)
  • get_module_version - Получение конкретной версии модуля (требуется yc_api_full)
  • delete_module_version - Удаление версии модуля (требуется yc_api_full)
  • get_module_aliases - Получение псевдонимов версий модуля (требуется yc_api_full)

Лицензия

Этот проект лицензирован под лицензией MIT — смотрите файл LICENSE для получения подробной информации.