Package Exports
- @yepcode/mcp-server
Readme
YepCode MCP Server ๐ค
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 directly.
Why YepCode MCP Server? โจ
- AI-Ready Automation ๐ง : Transform your YepCode processes into tools that any AI assistant can use
- Bidirectional Communication ๐: Create two-way interactions between AI systems and your automation workflows
- Secure Infrastructure ๐: Execute code and processes in YepCode's secure, isolated environments
- Flexible Integration ๐: Works with any AI assistant that supports the Model Context Protocol (Claude, Cursor, etc.)
What is this for? ๐ฏ
This MCP server allows you to:
1. Create Custom AI Tools ๐ ๏ธ
Build specialized tools for your AI assistants by creating YepCode processes for:
- ๐ Database queries and operations
- ๐ API integrations
- ๐ Data transformations
- ๐ก Custom business logic
- ๐ Authentication flows
- ๐ File processing
2. Execute Code โก
- ๐ป Run code snippets in various programming languages
- ๐งช Test AI-generated code in isolated environments
- โฑ๏ธ Execute long-running processes
- ๐ Access secure computing resources
3. Manage Infrastructure ๐๏ธ
- โ๏ธ Set and manage environment variables
- ๐ฎ Control access to resources
- ๐ Monitor executions
- โ ๏ธ Handle errors gracefully
Quick Start ๐
Integration with AI Platforms ๐ฆ
Using NPX
We have published the MCP server as a package in npm, so you may use npx
as command to start the server.
This is the tipical JSON confiuration to be added to tools like Cursor or Claude Desktop.
{
"mcpServers": {
"yepcode-mcp-server": {
"command": "npx",
"args": [
"-y",
"@yepcode/mcp-server"
],
"env": {
"YEPCODE_API_KEY":"your_api_key_here",
"YEPCODE_PROCESSES_AS_MCP_TOOLS": "true" // Optional: Expose YepCode processes as individual MCP tools
}
}
}
}
Using Docker
We also have a Dockerfile to build a container image that you can use to start the server.
For this, you need to download the source code and build the image with the following command:
docker build -t yepcode/mcp-server .
Then, you can configure the server with the docker command:
{
"mcpServers": {
"yepcode-mcp-server": {
"command": "docker",
"args": [
"run",
"-d",
"-e",
"YEPCODE_API_KEY=your_api_key_here",
"-e",
"YEPCODE_PROCESSES_AS_MCP_TOOLS=true",
"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.
Available Tools ๐งฐ
run_code ๐ป
Executes code in YepCode's secure environment.
// Input
{
code: string;
options?: {
language?: string; // Programming language (default: 'javascript')
comment?: string; // Execution context
settings?: Record<string, unknown>; // Runtime settings
}
}
// Response
{
success: boolean;
returnValue?: unknown; // Execution result
logs?: string[]; // Console output
error?: string;
}
Environment Variables ๐
set_env_var
Sets an environment variable.
// Input
{
key: string;
value: string;
isSensitive?: boolean; // Mask value in logs (default: true)
}
remove_env_var
Removes an environment variable.
// Input
{
key: string;
}
Run YepCode Processes as MCP Tools โก
run_yepcode_process_*
When YEPCODE_PROCESSES_AS_MCP_TOOLS=true
, each YepCode process becomes available as an individual MCP tool. This provides better discoverability and direct access to your processes from AI assistants.
There will be a tool for each YepCode process: run_yepcode_process_<process_slug>
.
// Input
{
parameters?: any;
options?: {
tag?: string; // Process version
comment?: string; // Execution context
};
synchronousExecution?: boolean; // Wait for completion (default: true)
}
// Response (synchronous execution)
{
executionId: string;
logs: string[];
returnValue?: unknown;
error?: string;
}
// Response (asynchronous execution)
{
executionId: string;
}
get_execution
Retrieves the result of an execution.
// Input
{
executionId: string;
}
// Response
{
executionId: string;
logs: string[];
returnValue?: unknown;
error?: string;
}
License โ๏ธ
All rights reserved by YepCode. Usage is subject to YepCode Terms of Service.