YepCode MCP Server

oficial

Ejecuta cualquier código generado por LLM en el entorno sandbox seguro y escalable de YepCode y crea tus propias herramientas MCP usando JavaScript o Python, con soporte completo para paquetes NPM y PyPI.

Documentación

YepCode MCP Server Preview

NPM version NPM Downloads GitHub Workflow Status

Trust Score smithery badge

¿Qué es YepCode MCP Server?

Un servidor MCP (Model Context Protocol) que permite a las plataformas de IA interactuar con la infraestructura de YepCode. Ejecuta scripts generados por LLM y convierte tus procesos de YepCode en potentes herramientas que los asistentes de IA pueden usar directamente. YepCode es el entorno perfecto para construir un servidor dinámico de herramientas MCP: expón cada proceso como una herramienta (con OAuth, tokens API o tus credenciales), define los parámetros de cada herramienta con JSON Schema para una flexibilidad total e implementa herramientas en Python o Node.js, todo en un solo servidor que combina múltiples lenguajes.

¿Por qué YepCode MCP Server?

  • Integración perfecta con IA: Convierte procesos de YepCode en herramientas listas para IA sin configuración adicional
  • Control de procesos en tiempo real: Permite la interacción directa entre sistemas de IA y tus flujos de trabajo
  • Seguridad de nivel empresarial: Ejecuta código en los entornos aislados y listos para producción de YepCode
  • Compatibilidad universal: Se integra con cualquier plataforma de IA que soporte el Model Context Protocol

YepCode: El entorno perfecto para un servidor dinámico de herramientas MCP

YepCode está diseñado para ser la plataforma ideal para ejecutar un servidor dinámico de herramientas MCP:

  • Un proceso, una herramienta: Cada proceso de YepCode puede exponerse como una herramienta MCP. Etiqueta tus procesos (ej. mcp-tool, core, automation) y se convertirán en herramientas que los asistentes de IA pueden invocar. Puedes asegurar el acceso con OAuth, tokens API o tus credenciales existentes de YepCode; cada herramienta se ejecuta en tu espacio de trabajo con el mismo modelo de seguridad.

  • Control total sobre los parámetros de las herramientas: Cada herramienta puede definir su propio esquema de parámetros como JSON Schema. Tienes total flexibilidad para describir las entradas (tipos, descripciones, campos obligatorios, enumeraciones, valores por defecto, etc.), de modo que la IA recibe metadatos enriquecidos y puede invocar tus herramientas correctamente.

  • Implementaciones políglotas de herramientas: Implementa herramientas en Python o Node.js (o ambos). El mismo servidor MCP puede exponer herramientas respaldadas por diferentes entornos de ejecución; piensa en él como un servidor MCP que mezcla implementaciones en varios lenguajes.

Para documentación completa, consulta la documentación de YepCode MCP Server.

Instalación

Este paquete te permite ejecutar el servidor MCP de YepCode localmente o en tu propia infraestructura (NPX, Docker o despliegue personalizado). Intégralo con plataformas de IA como Cursor o Claude Desktop.

Consejo: Desde tu cuenta de YepCode también tienes acceso a un servidor MCP alojado que no requiere instalación local. La URL de conexión es siempre: https://cloud.yepcode.io/mcp

Requisitos previos

Obtén tus credenciales de la API de YepCode:

  1. Regístrate en YepCode Cloud
  2. Visita Settings > API credentials para crear un nuevo token API.

Usando NPX

Asegúrate de tener Node.js instalado (versión 18 o superior) y usa una configuración similar a la siguiente:

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

Usando Docker

  1. Construye la imagen del contenedor:
docker build -t yepcode/mcp-server .
  1. Usa una configuración similar a la siguiente:
{
  "mcpServers": {
    "yepcode-mcp-server": {
      "command": "docker",
      "args": [
        "run",
        "-d",
        "-e",
        "YEPCODE_API_TOKEN=your_api_token_here",
        "yepcode/mcp-server"
      ]
    }
  }
}

Depuración

Depurar servidores MCP puede ser complicado ya que se comunican a través de stdio. Para facilitarlo, recomendamos usar el MCP Inspector, que puedes ejecutar con el siguiente comando:

npm run inspector

Esto iniciará un servidor donde podrás acceder a las herramientas de depuración directamente en tu navegador.

Referencia de herramientas MCP de YepCode

El servidor MCP proporciona varias herramientas para interactuar con la infraestructura de YepCode:

Ejecución de código

run_code

Ejecuta código en el entorno seguro de 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
}
Opciones MCP

El servidor MCP de YepCode soporta las siguientes opciones:

  • runCodeCleanup: Omite la limpieza de run_code. Por defecto, el código fuente de los procesos run_code se elimina después de la ejecución. Si deseas conservarlo para fines de auditoría, puedes usar esta opción.
  • skipCodingRules: Omite la inclusión de reglas de codificación en la definición de la herramienta run_code. Por defecto, las reglas de codificación de JavaScript y Python de la documentación de YepCode se incluyen en el esquema de la herramienta para guiar el código generado por IA. Si deseas omitir esto para una inicialización más rápida de la herramienta o definiciones más pequeñas, puedes usar esta opción.

Las opciones se pueden pasar como una lista separada por comas en la variable de entorno YEPCODE_MCP_OPTIONS.

Selección de herramientas

Puedes controlar qué herramientas están habilitadas configurando la variable de entorno YEPCODE_MCP_TOOLS con una lista separada por comas de categorías de herramientas y etiquetas de proceso:

Categorías de herramientas integradas:

  • run_code: Habilita la herramienta de ejecución de código
  • yc_api: Habilita todas las herramientas básicas de gestión de API (procesos, programaciones, variables, almacenamiento, ejecuciones, módulos)
  • yc_api_full: Habilita todas las herramientas de gestión de API, incluidas las relacionadas con versiones (extiende yc_api con herramientas adicionales de gestión de versiones de procesos y módulos)
  • cualquier nombre de herramienta API específica (ej., execute_process_sync, get_execution, ...)

Etiquetas de proceso:

  • Cualquier etiqueta utilizada en tus procesos de YepCode (ej., mcp-tool, core, automation, etc.)
  • Cuando especificas una etiqueta de proceso, todos los procesos con esa etiqueta se expondrán como herramientas MCP individuales
  • Las herramientas de proceso se nombrarán usando el slug del proceso (o con el prefijo yc_ y el ID del proceso si el nombre supera los 60 caracteres)

Si no se especifica, todas las herramientas integradas están habilitadas por defecto, pero no se expondrá ninguna herramienta de proceso.

// 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"
      }
    }
  }
}

Escenarios de ejemplo:

  • YEPCODE_MCP_TOOLS=run_code,yc_api - Habilita la ejecución de código integrada y las herramientas básicas de gestión de API
  • YEPCODE_MCP_TOOLS=run_code,yc_api_full - Habilita la ejecución de código integrada y todas las herramientas de gestión de API (incluida la gestión de versiones)
  • YEPCODE_MCP_TOOLS=core,automation - Solo expone como herramientas los procesos etiquetados con "core" o "automation"
  • YEPCODE_MCP_TOOLS=run_code,yc_api,core - Habilita las herramientas integradas más todos los procesos etiquetados con "core"

Gestión de entorno

set_env_var

Establece una variable de entorno en el espacio de trabajo de YepCode.

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

remove_env_var

Elimina una variable de entorno del espacio de trabajo de YepCode.

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

Gestión de almacenamiento

YepCode proporciona un sistema de almacenamiento integrado que te permite subir, listar, descargar y eliminar archivos. Se puede acceder a estos archivos desde tus ejecuciones de código usando los métodos auxiliares yepcode.storage.

list_files

Lista todos los archivos en tu almacenamiento de 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

Sube un archivo al almacenamiento de 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

Descarga un archivo del almacenamiento de 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

Elimina un archivo del almacenamiento de YepCode.

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

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

Ejecución de procesos

El servidor MCP puede exponer tus Procesos de YepCode como herramientas MCP individuales, haciéndolos directamente accesibles para los asistentes de IA. Esta función se habilita especificando etiquetas de proceso en la variable de entorno YEPCODE_MCP_TOOLS.

Cómo funciona:

  1. Etiqueta tus procesos de YepCode con cualquier etiqueta (ej., core, api, automation, mcp-tool, etc.)
  2. Añade esas etiquetas a la variable de entorno YEPCODE_MCP_TOOLS
  3. Todos los procesos con las etiquetas especificadas se expondrán como herramientas MCP individuales

Habrá una herramienta por cada proceso expuesto, nombrada usando el slug del proceso (o con el prefijo yc_ y el ID del proceso si el nombre de la herramienta supera los 60 caracteres).

Para más información sobre etiquetas de proceso, consulta nuestra documentación de etiquetas de proceso.

<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
}

Herramientas de gestión de API

Las categorías de herramientas de gestión de API (yc_api y yc_api_full) proporcionan acceso API completo para gestionar todos los aspectos de tu espacio de trabajo de YepCode:

Herramientas API básicas (yc_api): La etiqueta yc_api habilita las herramientas de gestión de API estándar para operaciones principales en tu espacio de trabajo.

Herramientas API extendidas (yc_api_full): La etiqueta yc_api_full incluye todo lo de yc_api más herramientas adicionales para gestionar versiones de procesos y módulos.

Gestión de Procesos:

  • get_processes - Lista procesos con filtrado opcional
  • create_process - Crea nuevos procesos con código fuente
  • get_process - Obtiene detalles del proceso
  • update_process - Actualiza un proceso existente
  • delete_process - Elimina un proceso
  • get_process_versions - Obtiene versiones del proceso (requiere yc_api_full)
  • execute_process_async - Ejecuta un proceso de forma asíncrona
  • execute_process_sync - Ejecuta un proceso de forma síncrona
  • schedule_process - Programa un proceso para que se ejecute automáticamente

Gestión de Programaciones:

  • get_schedules - Lista procesos programados
  • get_schedule - Obtiene detalles de la programación
  • pause_schedule - Pausa un proceso programado
  • resume_schedule - Reanuda una programación pausada
  • delete_schedule - Elimina una programación
  • update_schedule - Actualiza un proceso programado

Gestión de Variables:

  • get_variables - Lista variables del equipo
  • create_variable - Crea una nueva variable
  • update_variable - Actualiza una variable existente
  • delete_variable - Elimina una variable

Gestión de Almacenamiento:

  • get_storage_objects - Lista objetos de almacenamiento
  • upload_storage_object - Sube un archivo al almacenamiento
  • download_storage_object - Descarga un archivo del almacenamiento
  • delete_storage_object - Elimina un archivo del almacenamiento

Gestión de Ejecuciones:

  • get_executions - Lista ejecuciones con filtrado opcional
  • get_execution - Obtiene detalles de ejecución desde la API
  • kill_execution - Detiene una ejecución en curso
  • rerun_execution - Vuelve a ejecutar una ejecución anterior
  • get_execution_logs - Obtiene registros de ejecución

Gestión de Módulos:

  • get_modules - Lista módulos de la librería de scripts
  • create_module - Crea un nuevo módulo
  • get_module - Obtiene detalles del módulo
  • delete_module - Elimina un módulo
  • get_module_versions - Obtiene versiones del módulo (requiere yc_api_full)
  • get_module_version - Obtiene una versión específica del módulo (requiere yc_api_full)
  • delete_module_version - Elimina una versión del módulo (requiere yc_api_full)
  • get_module_aliases - Obtiene alias de versión del módulo (requiere yc_api_full)

Licencia

Este proyecto está licenciado bajo la Licencia MIT - consulta el archivo LICENSE para más detalles.