
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).
For both approaches, you need to get your YepCode API credentials:
- Sign up to YepCode Cloud
- Visit
Settings > API credentials to create a new API token.
Remote Approach using SSE Server
- 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:
{
"mcpServers": {
"yepcode-mcp-server": {
"url": "https://cloud.yepcode.io/mcp/sk-c2E....RD/sse"
}
}
}
- 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:
{
"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
- Build the container image:
docker build -t yepcode/mcp-server .
- 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:
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.
{
code: string;
options?: {
language?: string;
comment?: string;
settings?: Record<string, unknown>;
}
}
{
returnValue?: unknown;
logs?: string[];
error?: string;
}
MCP Options
YepCode MCP server supports the following options:
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.
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:
run_code: Enables the code execution tool
yc_api: Enables all API management tools (processes, schedules, variables, storage, executions, modules)
Process tags:
- Any tag used in your YepCode processes (e.g.,
mcp-tool, core, automation, etc.)
- When you specify a process tag, all processes with that tag will be exposed as individual MCP tools
- 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)
If not specified, all built-in tools are enabled by default, but no process tools will be exposed.
{
"mcpServers": {
"yepcode-mcp-server": {
"url": "https://cloud.yepcode.io/mcp/sk-c2E....RD/sse?mcpOptions=runCodeCleanup&tools=run_code,yc_api,mcp-tool,core"
}
}
}
{
"mcpServers": {
"yepcode-mcp-server": {
"command": "npx",
"args": ["-y", "@yepcode/mcp-server"],
"env": {
"YEPCODE_API_TOKEN": "your_api_token_here",
"YEPCODE_MCP_OPTIONS": "runCodeCleanup",
"YEPCODE_MCP_TOOLS": "run_code,yc_api,mcp-tool,core"
}
}
}
}
Example scenarios:
YEPCODE_MCP_TOOLS=run_code,yc_api - Enables built-in code execution and API management tools
YEPCODE_MCP_TOOLS=core,automation - Only exposes processes tagged with "core" or "automation" as tools
YEPCODE_MCP_TOOLS=run_code,yc_api,core - Enables built-in tools plus all processes tagged with "core"
Environment Management
set_env_var
Sets an environment variable in the YepCode workspace.
{
key: string;
value: string;
isSensitive?: boolean;
}
remove_env_var
Removes an environment variable from the YepCode workspace.
{
key: string;
}
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.
{
prefix?: string;
}
{
files: Array<{
filename: string;
size: number;
lastModified: string;
}>;
}
upload_file
Uploads a file to YepCode storage.
{
filename: string;
content: string | {
data: string;
encoding: "base64";
};
}
{
success: boolean;
filename: string;
}
download_file
Downloads a file from YepCode storage.
{
filename: string;
}
{
filename: string;
content: string;
encoding?: string;
}
delete_file
Deletes a file from YepCode storage.
{
filename: string;
}
{
success: boolean;
filename: string;
}
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:
- Tag your YepCode processes with any tag (e.g.,
core, api, automation, mcp-tool, etc.)
- Add those tags to the
YEPCODE_MCP_TOOLS environment variable
- 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>
{
parameters?: any;
options?: {
tag?: string;
comment?: string;
};
synchronousExecution?: boolean;
}
{
executionId: string;
logs: string[];
returnValue?: unknown;
error?: string;
}
{
executionId: string;
}
API Management Tools
The yc_api tool category provides comprehensive API access to manage all aspects of your YepCode workspace:
Processes Management:
get_processes - List processes with optional filtering
create_process - Create new processes with source code
get_process - Get process details
delete_process - Delete a process
get_process_versions - Get process versions
execute_process_async - Execute a process asynchronously
execute_process_sync - Execute a process synchronously
schedule_process - Schedule a process to run automatically
Schedules Management:
get_schedules - List scheduled processes
get_schedule - Get schedule details
pause_schedule - Pause a scheduled process
resume_schedule - Resume a paused schedule
delete_schedule - Delete a schedule
Variables Management:
get_variables - List team variables
create_variable - Create a new variable
update_variable - Update an existing variable
delete_variable - Delete a variable
Storage Management:
get_storage_objects - List storage objects
upload_storage_object - Upload a file to storage
download_storage_object - Download a file from storage
delete_storage_object - Delete a file from storage
Executions Management:
get_executions - List executions with optional filtering
get_execution - Get execution details from API
kill_execution - Kill a running execution
rerun_execution - Rerun a previous execution
get_execution_logs - Get execution logs
Modules Management:
get_modules - List script library modules
create_module - Create a new module
get_module - Get module details
delete_module - Delete a module
get_module_versions - Get module versions
License
This project is licensed under the MIT License - see the LICENSE file for details.