mcp server js

Local 2025-09-01 01:04:13 0

An MCP server that enables AI platforms to interact with YepCode's infrastructure, allowing LLM-generated scripts to run on YepCode and turning YepCode processes into powerful tools that AI assistants can use directly.


YepCode MCP Server Preview

[![NPM version](https://img.shields.io/npm/v/@yepcode/mcp-server.svg)](https://npmjs.org/package/@yepcode/mcp-server) [![NPM Downloads](https://img.shields.io/npm/dm/@yepcode/mcp-server)](https://www.npmjs.com/package/@yepcode/mcp-server) [![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/yepcode/mcp-server-js/ci.yml)](https://github.com/yepcode/mcp-server-js/actions) [![smithery badge](https://smithery.ai/badge/@yepcode/mcp-server)](https://smithery.ai/server/@yepcode/mcp-server)

What is YepCode MCP Server?

An MCP (Model Context Protocol) server that enables AI platforms to interact with YepCode s infrastructure. Run LLM generated scripts and turn your YepCode processes into powerful tools that AI assistants can use directly.

Why YepCode MCP Server?

  • Seamless AI Integration: Convert YepCode processes into AI-ready tools with zero configuration
  • Real-time Process Control: Enable direct interaction between AI systems and your workflows
  • Enterprise-Grade Security: Execute code in YepCode s isolated, production-ready environments
  • Universal Compatibility: Integrate with any AI platform supporting the Model Context Protocol

Integration Guide

YepCode MCP server can be integrated with AI platforms like Cursor or Claude Desktop using either a remote approach (we offer a hosted version of the MCP server) or a local approach (NPX or Docker installation is required).

Remote Approach using SSE Server

  1. Sign up to YepCode Cloud
  2. Get your MCP Server URL from your workspace under: Settings > API credentials.
  3. Add the following configuration to your AI platform settings:
{
  "mcpServers": {
    "yepcode-mcp-server": {
      "url": "https://cloud.yepcode.io/mcp/sk-c2E....RD/sse"
    }
  }
}

Local Approach

Required Environment Variables

  • YEPCODE_API_TOKEN: Your YepCode API token. How to obtain:
  • Sign up to YepCode Cloud
  • Get your API token from your workspace under: Settings > API credentials

Using NPX

Add the following configuration to your AI platform settings:

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

Using Docker

  1. Build the container image:
docker build -t yepcode/mcp-server .
  1. Add the following configuration to your AI platform settings:
{
  "mcpServers": {
    "yepcode-mcp-server": {
      "command": "docker",
      "args": [
        "run",
        "-d",
        "-e",
        "YEPCODE_API_TOKEN=your_api_token_here",
        "yepcode/mcp-server"
      ]
    }
  }
}

Debugging

Debugging MCP servers can be tricky since they communicate over stdio. To make this easier, we recommend using the MCP Inspector, which you can run with the following command:

npm run inspector

This will start a server where you can access debugging tools directly in your browser.

YepCode MCP Tools Reference

The MCP server provides several tools to interact with YepCode s infrastructure:

Code Execution

run_code

Executes code in YepCode s secure environment.

// 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 Options

YepCode MCP server supports the following options:

  • Disable the run_code tool: In some cases, you may want to disable the run_code tool. For example, if you want to use the MCP server as a provider only for the existing tools in your YepCode account.
  • Skip the run_code cleanup: By default, run_code processes source code is removed after execution. If you want to keep it for audit purposes, you can use this option.

Options can be passed as a comma-separated list in the YEPCODE_MCP_OPTIONS environment variable or as a query parameter in the MCP server URL.

// SSE server configuration
{
  "mcpServers": {
    "yepcode-mcp-server": {
      "url": "https://cloud.yepcode.io/mcp/sk-c2E....RD/sse?mcpOptions=disableRunCodeTool,skipRunCodeCleanup"
    }
  }
}

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

Environment Management

set_env_var

Sets an environment variable in the YepCode workspace.

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

remove_env_var

Removes an environment variable from the YepCode workspace.

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

Process Execution

The MCP server can expose your YepCode Processes as individual MCP tools, making them directly accessible to AI assistants. This feature is enabled by just adding the mcp-tool tag to your process (see our docs to learn more about process tags).

There will be a tool for each exposed process: run_ycp_<process_slug> (or run_ycp_<process_id> if tool name is longer than 60 characters).

run_ycp_

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

get_execution

Retrieves the result of a process execution.

// Input
{
  executionId: string;                   // ID of the execution to retrieve
}

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

License

This project is licensed under the MIT License - see the LICENSE file for details.