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. - Seamless AI Integration: Convert YepCode processes into AI-ready tools with zero configuration - Real-time Process Control: Enable direct interaction between AI systems and yo
Add this skill
npx mdskills install yepcode/mcp-server-jsComprehensive MCP server with extensive tooling for code execution, process management, and storage
123<div align="center">45[](https://npmjs.org/package/@yepcode/mcp-server)6[](https://www.npmjs.com/package/@yepcode/mcp-server)7[](https://github.com/yepcode/mcp-server-js/actions)89[](https://archestra.ai/mcp-catalog/yepcode__mcp-server-js)10[](https://smithery.ai/server/@yepcode/mcp-server)1112</div>1314## What is YepCode MCP Server?1516An MCP ([Model Context Protocol](https://modelcontextprotocol.io/introduction)) server that enables AI platforms to interact with [YepCode](https://yepcode.io/l/LQUKe)'s infrastructure. Run LLM generated scripts and turn your YepCode processes into powerful tools that AI assistants can use directly.1718### Why YepCode MCP Server?1920- **Seamless AI Integration**: Convert YepCode processes into AI-ready tools with zero configuration21- **Real-time Process Control**: Enable direct interaction between AI systems and your workflows22- **Enterprise-Grade Security**: Execute code in YepCode's isolated, production-ready environments23- **Universal Compatibility**: Integrate with any AI platform supporting the Model Context Protocol2425## Integration Guide2627YepCode MCP server can be integrated with AI platforms like [Cursor](https://cursor.sh) or [Claude Desktop](https://www.anthropic.com/news/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).2829For both approaches, you need to get your YepCode API credentials:30311. Sign up to [YepCode Cloud](https://yepcode.io/l/LQUKe)322. Visit `Settings` > `API credentials` to create a new API token.3334### Remote Approach using SSE Server3536- If your MCP Client doesn't support authentication headers, just use the SSE server URL that includes the API Token. Use a configuration similar to the following:3738```typescript39{40 "mcpServers": {41 "yepcode-mcp-server": {42 "url": "https://cloud.yepcode.io/mcp/sk-c2E....RD/sse"43 }44 }45}46```4748- If your MCP Client supports authentication headers, you can use the HTTP server URL that includes the API Token. Use a configuration similar to the following:4950```typescript51{52 "mcpServers": {53 "yepcode-mcp-server": {54 "url": "https://cloud.yepcode.io/mcp/sse",55 "headers": {56 "Authorization": "Bearer <sk-c2E....RD>"57 }58 }59 }60}61```6263### Local Approach6465#### Using NPX6667Make sure you have Node.js installed (version 18 or higher), and use a configuration similar to the following:6869```typescript70{71 "mcpServers": {72 "yepcode-mcp-server": {73 "command": "npx",74 "args": ["-y", "@yepcode/mcp-server"],75 "env": {76 "YEPCODE_API_TOKEN": "your_api_token_here"77 }78 }79 }80}81```8283#### Using Docker84851. Build the container image:8687```bash88docker build -t yepcode/mcp-server .89```90912. Use a configuration similar to the following:9293```typescript94{95 "mcpServers": {96 "yepcode-mcp-server": {97 "command": "docker",98 "args": [99 "run",100 "-d",101 "-e",102 "YEPCODE_API_TOKEN=your_api_token_here",103 "yepcode/mcp-server"104 ]105 }106 }107}108```109110## Debugging111112Debugging MCP servers can be tricky since they communicate over stdio. To make this easier, we recommend using the [MCP Inspector](https://github.com/modelcontextprotocol/inspector), which you can run with the following command:113114```bash115npm run inspector116```117118This will start a server where you can access debugging tools directly in your browser.119120## YepCode MCP Tools Reference121122The MCP server provides several tools to interact with YepCode's infrastructure:123124### Code Execution125126#### run_code127128Executes code in YepCode's secure environment.129130```typescript131// Input132{133 code: string; // The code to execute134 options?: {135 language?: string; // Programming language (default: 'javascript')136 comment?: string; // Execution context137 settings?: Record<string, unknown>; // Runtime settings138 }139}140141// Response142{143 returnValue?: unknown; // Execution result144 logs?: string[]; // Console output145 error?: string; // Error message if execution failed146}147```148149##### MCP Options150151YepCode MCP server supports the following options:152153- `runCodeCleanup`: 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.154- `skipCodingRules`: Skip including coding rules in the run_code tool definition. By default, JavaScript and Python coding rules from YepCode documentation are included in the tool schema to guide AI-generated code. If you want to skip this for faster tool initialization or smaller tool definitions, you can use this option.155156Options can be passed as a comma-separated list in the `YEPCODE_MCP_OPTIONS` environment variable.157158##### Tool Selection159160You 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:161162**Built-in tool categories:**163- `run_code`: Enables the code execution tool164- `yc_api`: Enables all basic API management tools (processes, schedules, variables, storage, executions, modules)165- `yc_api_full`: Enables all API management tools including version-related tools (extends `yc_api` with additional process and module version management tools)166- any specific API tool name (e.g., `execute_process_sync`, `get_execution`,...)167168**Process tags:**169- Any tag used in your YepCode processes (e.g., `mcp-tool`, `core`, `automation`, etc.)170- When you specify a process tag, all processes with that tag will be exposed as individual MCP tools171- Process tools will be named using the process slug (or prefixed with `yc_` and the process ID if the name is longer than 60 characters)172173If not specified, all built-in tools are enabled by default, but no process tools will be exposed.174175```typescript176// SSE server configuration with options177{178 "mcpServers": {179 "yepcode-mcp-server": {180 "url": "https://cloud.yepcode.io/mcp/sk-c2E....RD/sse?mcpOptions=runCodeCleanup&tools=run_code,yc_api,mcp-tool,core"181 }182 }183}184185// NPX configuration with options186{187 "mcpServers": {188 "yepcode-mcp-server": {189 "command": "npx",190 "args": ["-y", "@yepcode/mcp-server"],191 "env": {192 "YEPCODE_API_TOKEN": "your_api_token_here",193 "YEPCODE_MCP_OPTIONS": "runCodeCleanup,skipCodingRules",194 "YEPCODE_MCP_TOOLS": "run_code,yc_api,mcp-tool,core"195 }196 }197 }198}199```200201**Example scenarios:**202- `YEPCODE_MCP_TOOLS=run_code,yc_api` - Enables built-in code execution and basic API management tools203- `YEPCODE_MCP_TOOLS=run_code,yc_api_full` - Enables built-in code execution and all API management tools (including version management)204- `YEPCODE_MCP_TOOLS=core,automation` - Only exposes processes tagged with "core" or "automation" as tools205- `YEPCODE_MCP_TOOLS=run_code,yc_api,core` - Enables built-in tools plus all processes tagged with "core"206207### Environment Management208209#### set_env_var210211Sets an environment variable in the YepCode workspace.212213```typescript214// Input215{216 key: string; // Variable name217 value: string; // Variable value218 isSensitive?: boolean; // Whether to mask the value in logs (default: true)219}220```221222#### remove_env_var223224Removes an environment variable from the YepCode workspace.225226```typescript227// Input228{229 key: string; // Name of the variable to remove230}231```232233### Storage Management234235YepCode 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.236237#### list_files238239Lists all files in your YepCode storage.240241```typescript242// Input243{244 prefix?: string; // Optional prefix to filter files245}246247// Response248{249 files: Array<{250 filename: string; // File name or path251 size: number; // File size in bytes252 lastModified: string; // Last modification date253 }>;254}255```256257#### upload_file258259Uploads a file to YepCode storage.260261```typescript262// Input263{264 filename: string; // File path (e.g., 'file.txt' or 'folder/file.txt')265 content: string | { // File content266 data: string; // Base64 encoded content for binary files267 encoding: "base64";268 };269}270271// Response272{273 success: boolean; // Upload success status274 filename: string; // Uploaded file path275}276```277278#### download_file279280Downloads a file from YepCode storage.281282```typescript283// Input284{285 filename: string; // File path to download286}287288// Response289{290 filename: string; // File path291 content: string; // File content (base64 for binary files)292 encoding?: string; // Encoding type if binary293}294```295296#### delete_file297298Deletes a file from YepCode storage.299300```typescript301// Input302{303 filename: string; // File path to delete304}305306// Response307{308 success: boolean; // Deletion success status309 filename: string; // Deleted file path310}311```312313### Process Execution314315The 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.316317**How it works:**3181. Tag your YepCode processes with any tag (e.g., `core`, `api`, `automation`, `mcp-tool`, etc.)3192. Add those tags to the `YEPCODE_MCP_TOOLS` environment variable3203. All processes with the specified tags will be exposed as individual MCP tools321322There 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).323324For more information about process tags, see our [process tags documentation](https://yepcode.io/docs/processes/tags).325326#### <process_slug>327328```typescript329// Input330{331 parameters?: any; // This should match the input parameters specified in the process332 options?: {333 tag?: string; // Process version to execute334 comment?: string; // Execution context335 };336 synchronousExecution?: boolean; // Whether to wait for completion (default: true)337}338339// Response (synchronous execution)340{341 executionId: string; // Unique execution identifier342 logs: string[]; // Process execution logs343 returnValue?: unknown; // Process output344 error?: string; // Error message if execution failed345}346347// Response (asynchronous execution)348{349 executionId: string; // Unique execution identifier350}351```352353### API Management Tools354355The API management tool categories (`yc_api` and `yc_api_full`) provide comprehensive API access to manage all aspects of your YepCode workspace:356357**Basic API tools (`yc_api`):**358The `yc_api` tag enables standard API management tools for core operations across your workspace.359360**Extended API tools (`yc_api_full`):**361The `yc_api_full` tag includes everything from `yc_api` plus additional tools for managing process and module versions.362363**Processes Management:**364- `get_processes` - List processes with optional filtering365- `create_process` - Create new processes with source code366- `get_process` - Get process details367- `update_process` - Update an existing process368- `delete_process` - Delete a process369- `get_process_versions` - Get process versions (requires `yc_api_full`)370- `execute_process_async` - Execute a process asynchronously371- `execute_process_sync` - Execute a process synchronously372- `schedule_process` - Schedule a process to run automatically373374**Schedules Management:**375- `get_schedules` - List scheduled processes376- `get_schedule` - Get schedule details377- `pause_schedule` - Pause a scheduled process378- `resume_schedule` - Resume a paused schedule379- `delete_schedule` - Delete a schedule380- `update_schedule` - Update a scheduled process381382**Variables Management:**383- `get_variables` - List team variables384- `create_variable` - Create a new variable385- `update_variable` - Update an existing variable386- `delete_variable` - Delete a variable387388**Storage Management:**389- `get_storage_objects` - List storage objects390- `upload_storage_object` - Upload a file to storage391- `download_storage_object` - Download a file from storage392- `delete_storage_object` - Delete a file from storage393394**Executions Management:**395- `get_executions` - List executions with optional filtering396- `get_execution` - Get execution details from API397- `kill_execution` - Kill a running execution398- `rerun_execution` - Rerun a previous execution399- `get_execution_logs` - Get execution logs400401**Modules Management:**402- `get_modules` - List script library modules403- `create_module` - Create a new module404- `get_module` - Get module details405- `delete_module` - Delete a module406- `get_module_versions` - Get module versions (requires `yc_api_full`)407- `get_module_version` - Get a specific module version (requires `yc_api_full`)408- `delete_module_version` - Delete a module version (requires `yc_api_full`)409- `get_module_aliases` - Get module version aliases (requires `yc_api_full`)410411## License412413This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.414
Full transparency — inspect the skill content before installing.