GitHub - yepcode/mcp-server-js: An MCP (Model Context Protocol) server that enables ✨ AI platforms to interact with 🤖 YepCode's infrastructure. Turn your YepCode processes into powerful tools that AI assistants can use 🚀 (original) (raw)

YepCode MCP Server Preview

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?

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).

For both approaches, you need to get your YepCode API credentials:

  1. Sign up to YepCode Cloud
  2. Visit Settings > API credentials to create a new API token.

Remote Approach using SSE Server

{ "mcpServers": { "yepcode-mcp-server": { "url": "https://cloud.yepcode.io/mcp/sk-c2E....RD/sse" } } }

{ "mcpServers": { "yepcode-mcp-server": { "url": "https://cloud.yepcode.io/mcp/sse", "headers": { "Authorization": "Bearer <sk-c2E....RD>" } } } }

Local Approach

Using NPX

Make sure you have Node.js installed (version 18 or higher), and use a configuration similar to the following:

{ "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. Use a configuration similar to the following:

{ "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:

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:

Options can be passed as a comma-separated list in the YEPCODE_MCP_OPTIONS environment variable.

Tool Selection

You can control which tools are enabled by setting the YEPCODE_MCP_TOOLS environment variable with a comma-separated list of tool categories and process tags:

Built-in tool categories:

Process tags:

If not specified, all built-in tools are enabled by default, but no process tools will be exposed.

// SSE server configuration with options { "mcpServers": { "yepcode-mcp-server": { "url": "https://cloud.yepcode.io/mcp/sk-c2E....RD/sse?mcpOptions=runCodeCleanup&tools=run_code,yc_api,mcp-tool,core" } } }

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

Example scenarios:

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 }

Storage Management

YepCode provides a built-in storage system that allows you to upload, list, download, and delete files. These files can be accessed from your code executions using the yepcode.storage helper methods.

list_files

Lists all files in your YepCode storage.

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

Uploads a file to YepCode storage.

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

Downloads a file from YepCode storage.

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

Deletes a file from YepCode storage.

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

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

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 specifying process tags in the YEPCODE_MCP_TOOLS environment variable.

How it works:

  1. Tag your YepCode processes with any tag (e.g., core, api, automation, mcp-tool, etc.)
  2. Add those tags to the YEPCODE_MCP_TOOLS environment variable
  3. All processes with the specified tags will be exposed as individual MCP tools

There will be a tool for each exposed process named using the process slug (or prefixed with yc_ and the process ID if the tool name is longer than 60 characters).

For more information about process tags, see our process tags documentation.

<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 Management Tools

The API management tool categories (yc_api and yc_api_full) provide comprehensive API access to manage all aspects of your YepCode workspace:

**Basic API tools (yc_api):**The yc_api tag enables standard API management tools for core operations across your workspace.

**Extended API tools (yc_api_full):**The yc_api_full tag includes everything from yc_api plus additional tools for managing process and module versions.

Processes Management:

Schedules Management:

Variables Management:

Storage Management:

Executions Management:

Modules Management:

License

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