YepCode MCP Server
官方在YepCode安全且可扩展的沙箱环境中执行任何LLM生成的代码,并使用JavaScript或Python创建自己的MCP工具,完全支持NPM和PyPI包。
文档

什么是 YepCode MCP 服务器?
一个 MCP(模型上下文协议)服务器,使 AI 平台能够与 YepCode 的基础设施进行交互。运行 LLM 生成的脚本,并将你的 YepCode 流程转变为 AI 助手可以直接使用的强大工具。YepCode 是构建动态 MCP 工具服务器的完美环境:将每个流程作为一个工具暴露出来(支持 OAuth、API 令牌或你的凭据),使用 JSON Schema 定义每个工具的参数以获得完全的灵活性,并用 Python 或 Node.js 实现工具——所有这些都在一个混合多种语言的服务器中完成。
为什么选择 YepCode MCP 服务器?
- 无缝 AI 集成:零配置将 YepCode 流程转换为 AI 就绪的工具
- 实时流程控制:实现 AI 系统与你的工作流之间的直接交互
- 企业级安全:在 YepCode 隔离的、生产就绪的环境中执行代码
- 通用兼容性:与任何支持模型上下文协议的 AI 平台集成
YepCode:动态 MCP 工具服务器的理想环境
YepCode 旨在成为运行动态 MCP 工具服务器的理想平台:
-
一个流程,一个工具:每个 YepCode 流程都可以作为一个 MCP 工具暴露出来。为你的流程打上标签(例如
mcp-tool、core、automation),它们就会成为 AI 助手可以调用的工具。你可以使用 OAuth、API 令牌或你现有的 YepCode 凭据来保护访问——每个工具都在你的工作区中以相同的安全模型运行。 -
完全控制工具参数:每个工具都可以将其参数模式定义为 JSON Schema。你可以完全灵活地描述输入(类型、描述、必填字段、枚举、默认值等),这样 AI 就能接收到丰富的元数据,并正确地调用你的工具。
-
多语言工具实现:用 Python 或 Node.js(或两者兼用)实现工具。同一个 MCP 服务器可以暴露由不同运行时支持的工具——可以把它想象成一个混合了多种语言实现的 MCP 服务器。
有关完整文档,请参阅 YepCode MCP 服务器文档。
安装
此软件包允许你在本地或你自己的基础设施(NPX、Docker 或自定义部署)中运行 YepCode MCP 服务器。将其与 Cursor 或 Claude Desktop 等 AI 平台集成。
提示: 通过你的 YepCode 账户,你还可以访问一个托管的 MCP 服务器,无需本地安装。连接 URL 始终是:
https://cloud.yepcode.io/mcp
前提条件
获取你的 YepCode API 凭据:
- 注册 YepCode Cloud
- 访问
Settings>API credentials来创建一个新的 API 令牌。
使用 NPX
确保你已安装 Node.js(版本 18 或更高),并使用类似以下的配置:
{
"mcpServers": {
"yepcode-mcp-server": {
"command": "npx",
"args": ["-y", "@yepcode/mcp-server"],
"env": {
"YEPCODE_API_TOKEN": "your_api_token_here"
}
}
}
}
使用 Docker
- 构建容器镜像:
docker build -t yepcode/mcp-server .
- 使用类似以下的配置:
{
"mcpServers": {
"yepcode-mcp-server": {
"command": "docker",
"args": [
"run",
"-d",
"-e",
"YEPCODE_API_TOKEN=your_api_token_here",
"yepcode/mcp-server"
]
}
}
}
调试
调试 MCP 服务器可能比较棘手,因为它们通过 stdio 进行通信。为了简化这一过程,我们建议使用 MCP Inspector,你可以通过以下命令运行它:
npm run inspector
这将启动一个服务器,你可以直接在浏览器中访问调试工具。
YepCode MCP 工具参考
MCP 服务器提供了多个工具来与 YepCode 的基础设施进行交互:
代码执行
run_code
在 YepCode 的安全环境中执行代码。
// 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 选项
YepCode MCP 服务器支持以下选项:
runCodeCleanup:跳过 run_code 清理。默认情况下,run_code 进程的源代码在执行后会被移除。如果你想出于审计目的保留它,可以使用此选项。skipCodingRules:跳过在 run_code 工具定义中包含编码规则。默认情况下,YepCode 文档中的 JavaScript 和 Python 编码规则会包含在工具模式中,以指导 AI 生成的代码。如果你想跳过此步骤以加快工具初始化或减小工具定义的大小,可以使用此选项。
选项可以作为逗号分隔的列表在 YEPCODE_MCP_OPTIONS 环境变量中传递。
工具选择
你可以通过设置 YEPCODE_MCP_TOOLS 环境变量来控制启用哪些工具,该变量接受一个逗号分隔的工具类别和流程标签列表:
内置工具类别:
run_code:启用代码执行工具yc_api:启用所有基本的 API 管理工具(流程、计划、变量、存储、执行、模块)yc_api_full:启用所有 API 管理工具,包括版本相关工具(扩展了yc_api,增加了额外的流程和模块版本管理工具)- 任何特定的 API 工具名称(例如
execute_process_sync、get_execution等)
流程标签:
- 你在 YepCode 流程中使用的任何标签(例如
mcp-tool、core、automation等) - 当你指定一个流程标签时,所有带有该标签的流程都将作为单独的 MCP 工具暴露出来
- 流程工具将使用流程的 slug 命名(如果名称超过 60 个字符,则会加上
yc_前缀和流程 ID)
如果未指定,默认情况下所有内置工具都已启用,但不会暴露任何流程工具。
// 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"
}
}
}
}
示例场景:
YEPCODE_MCP_TOOLS=run_code,yc_api- 启用内置代码执行和基本的 API 管理工具YEPCODE_MCP_TOOLS=run_code,yc_api_full- 启用内置代码执行和所有 API 管理工具(包括版本管理)YEPCODE_MCP_TOOLS=core,automation- 仅将标记为 "core" 或 "automation" 的流程作为工具暴露YEPCODE_MCP_TOOLS=run_code,yc_api,core- 启用内置工具以及所有标记为 "core" 的流程
环境管理
set_env_var
在 YepCode 工作区中设置一个环境变量。
// Input
{
key: string; // Variable name
value: string; // Variable value
isSensitive?: boolean; // Whether to mask the value in logs (default: true)
}
remove_env_var
从 YepCode 工作区中移除一个环境变量。
// Input
{
key: string; // Name of the variable to remove
}
存储管理
YepCode 提供了一个内置的存储系统,允许你上传、列出、下载和删除文件。这些文件可以在你的代码执行中使用 yepcode.storage 辅助方法进行访问。
list_files
列出 YepCode 存储中的所有文件。
// 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
上传一个文件到 YepCode 存储。
// 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
从 YepCode 存储下载一个文件。
// 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
从 YepCode 存储删除一个文件。
// Input
{
filename: string; // File path to delete
}
// Response
{
success: boolean; // Deletion success status
filename: string; // Deleted file path
}
流程执行
MCP 服务器可以将你的 YepCode 流程作为单独的 MCP 工具暴露出来,使 AI 助手可以直接访问它们。此功能通过在 YEPCODE_MCP_TOOLS 环境变量中指定流程标签来启用。
工作原理:
- 为你的 YepCode 流程打上任意标签(例如
core、api、automation、mcp-tool等) - 将这些标签添加到
YEPCODE_MCP_TOOLS环境变量中 - 所有带有指定标签的流程都将作为单独的 MCP 工具暴露出来
每个暴露的流程都会有一个工具,使用流程的 slug 命名(如果工具名称超过 60 个字符,则会加上 yc_ 前缀和流程 ID)。
有关流程标签的更多信息,请参阅我们的流程标签文档。
<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 管理工具
API 管理工具类别(yc_api 和 yc_api_full)提供了全面的 API 访问权限,以管理工作区中的所有方面:
基本 API 工具(yc_api):
yc_api 标签启用了用于核心操作的标准 API 管理工具。
扩展 API 工具(yc_api_full):
yc_api_full 标签包含了 yc_api 中的所有内容,以及用于管理流程和模块版本的额外工具。
流程管理:
get_processes- 列出流程,支持可选过滤create_process- 创建包含源代码的新流程get_process- 获取流程详情update_process- 更新现有流程delete_process- 删除一个流程get_process_versions- 获取流程版本(需要yc_api_full)execute_process_async- 异步执行一个流程execute_process_sync- 同步执行一个流程schedule_process- 安排一个流程自动运行
计划管理:
get_schedules- 列出已计划的流程get_schedule- 获取计划详情pause_schedule- 暂停一个已计划的流程resume_schedule- 恢复一个已暂停的计划delete_schedule- 删除一个计划update_schedule- 更新一个已计划的流程
变量管理:
get_variables- 列出团队变量create_variable- 创建一个新变量update_variable- 更新一个现有变量delete_variable- 删除一个变量
存储管理:
get_storage_objects- 列出存储对象upload_storage_object- 上传一个文件到存储download_storage_object- 从存储下载一个文件delete_storage_object- 从存储删除一个文件
执行管理:
get_executions- 列出执行记录,支持可选过滤get_execution- 从 API 获取执行详情kill_execution- 终止一个正在运行的执行rerun_execution- 重新运行一个之前的执行get_execution_logs- 获取执行日志
模块管理:
get_modules- 列出脚本库模块create_module- 创建一个新模块get_module- 获取模块详情delete_module- 删除一个模块get_module_versions- 获取模块版本(需要yc_api_full)get_module_version- 获取一个特定的模块版本(需要yc_api_full)delete_module_version- 删除一个模块版本(需要yc_api_full)get_module_aliases- 获取模块版本别名(需要yc_api_full)
许可证
本项目基于 MIT 许可证授权 - 详情请参阅 LICENSE 文件。