The YepCode MCP server acts as a powerful bridge that gives AI assistants the ability to execute the code they generate in a safe and secure environment. Instead of just writing scripts for a user to copy and paste, an AI can now run those snippets directly within an isolated sandbox. This transforms a standard chat interface into an active workstation where the AI can perform calculations, process data, and automate repetitive tasks on behalf of the developer. Moving deeper into its capabilities, this tool supports both JavaScript and Python, providing full access to the massive libraries available through NPM and PyPI. It offers more than just simple execution; it includes a complete suite of management tools for file storage and environment variables. This means an AI can upload files, list storage contents, and maintain persistent settings across different sessions, all while operating within YepCode’s enterprise-grade infrastructure. For developers looking for more sophisticated automation, the server can seamlessly turn existing YepCode processes into specialized AI tools with a simple tagging system. It supports flexible integration methods, allowing users to connect via a hosted remote server (SSE) or a local setup using Docker and NPX. By providing real-time logs and detailed execution feedback, it enables LLMs to debug their own work and interact with complex workflows in a way that is both scalable and highly secure.
Category: Cloud & Infrastructure
Tags: automation, execution, javascript, python, sandbox
Settings > API credentials to create a new API token. For Local Installation, you have two options: * NPX: Requires Node.js version 18 or higher. No manual install is needed as it can be run via npx. * Docker: bash docker build -t yepcode/mcp-server . ---mcpServers configuration file:json { "mcpServers": { "yepcode-mcp-server": { "url": "https://cloud.yepcode.io/mcp/<YOUR_API_TOKEN>/sse" } } } If your client supports authentication headers: json { "mcpServers": { "yepcode-mcp-server": { "url": "https://cloud.yepcode.io/mcp/sse", "headers": { "Authorization": "Bearer <YOUR_API_TOKEN>" } } } }json { "mcpServers": { "yepcode-mcp-server": { "command": "npx", "args": ["-y", "@yepcode/mcp-server"], "env": { "YEPCODE_API_TOKEN": "your_api_token_here" } } } }json { "mcpServers": { "yepcode-mcp-server": { "command": "docker", "args": [ "run", "-i", "-e", "YEPCODE_API_TOKEN=your_api_token_here", "yepcode/mcp-server" ] } } } Note: You can also pass YEPCODE_MCP_OPTIONS in the env block (for local) or as a query parameter ?mcpOptions=... (for remote) to disable certain tools like disableRunCodeTool. ---run_code: Executes LLM-generated JavaScript or Python code in YepCode's secure sandbox. * set_env_var: Sets an environment variable in the YepCode workspace. * remove_env_var: Removes an environment variable from the workspace. * list_files: Lists all files stored in the YepCode system. * upload_file: Uploads a file (text or base64 binary) to YepCode storage. * download_file: Downloads a file from YepCode storage. * delete_file: Deletes a specific file from storage. * run_ycp_<process_slug>: Runs a specific YepCode process that has been tagged with mcp-tool. * get_execution: Retrieves the status, logs, and results of a specific process execution. ---run_code tool to process the data and return the final summary or a processed file. Example: A user uploads a 50MB sales CSV to YepCode storage. They ask Claude to "Calculate the month-over-month growth for each product category." Claude generates a Python script using Pandas, calls run_code, and provides the user with the specific growth percentages calculated in the sandbox.mcp-tool tag. This automatically exposes the workflow as a custom tool (e.g., run_ycp_onboard_employee) to the AI assistant. Example: An HR manager tells Claude Desktop, "Onboard new employee John Smith as a Developer in the Madrid office." Claude identifies the run_ycp_onboard_employee tool, maps the parameters (name, role, location), and triggers the YepCode process to create accounts in Slack, Jira, and the company HRIS.PyPI Packages Problem: Writing a script to integrate three different APIs (e.g., GitHub, Slack, and Notion) requires a developer to set up a local environment, manage dependencies, and handle authentication. Solution: The YepCode MCP provides a secure environment with full support for NPM and PyPI. An AI can generate and run a script that imports professional libraries (like axios, octokit, or notion-sdk-js) to orchestrate data movement between services without any local setup. Example: A developer asks Cursor, "Get all my open GitHub issues labeled 'bug' and create a summary list in a new Notion page." The AI writes a script using the GitHub and Notion NPM packages, executes it via run_code, and confirms the task is complete.
Part of MCP Servers
You can run YepCode locally using NPX with npx -y @yepcode/mcp-server or through Docker using the provided Dockerfile. Both local options require setting the YEPCODE_API_TOKEN environment variable. Alternatively, you can connect directly to YepCode's hosted SSE endpoint at cloud.yepcode.io without installing anything locally.
It provides tools to execute JavaScript and Python scripts in a remote sandbox, access NPM and PyPI packages, manage workspace files, and set environment variables. It also converts any tagged YepCode process into an invocable AI tool with defined JSON Schema inputs.
YepCode works with any client supporting the Model Context Protocol, including Claude Desktop, Cursor, and OtterMind. Depending on the client's capabilities, it can connect via local stdio processes using NPX or Docker, or through remote Server-Sent Events endpoints.
Tag your process in the YepCode workspace with a label like mcp-tool or core. Then set the YEPCODE_MCP_TOOLS environment variable to include that tag. The server automatically registers the process as an available tool matching its process slug.
The server includes set_env_var and remove_env_var tools. The assistant can configure keys and values for your workspace, and you can mark sensitive credentials so they are masked in execution logs while remaining accessible via process.env or os.environ.