一个基于模型上下文协议(MCP)的服务器,使AI平台能够与 YepCode 的基础设施进行交互。运行LLM生成的脚本,并将您的YepCode流程转换成强大的工具,这些工具可以直接被AI助手使用。
YepCode MCP 服务器可以与诸如 Cursor 或 Claude Desktop 等AI平台通过远程方法(我们提供托管版本的MCP服务器)或本地方法(需要NPX或Docker安装)进行集成。
对于这两种方法,您都需要获取您的YepCode API凭证:
设置 > API凭证 创建一个新的API令牌。{
"mcpServers": {
"yepcode-mcp-server": {
"url": "https://cloud.yepcode.io/mcp/sk-c2E....RD/sse"
}
}
}
{
"mcpServers": {
"yepcode-mcp-server": {
"url": "https://cloud.yepcode.io/mcp/sse",
"headers": {
"Authorization": "Bearer <sk-c2E....RD>"
}
}
}
}
确保已安装Node.js(版本18或更高),并使用类似以下的配置:
{
"mcpServers": {
"yepcode-mcp-server": {
"command": "npx",
"args": ["-y", "@yepcode/mcp-server"],
"env": {
"YEPCODE_API_TOKEN": "your_api_token_here"
}
}
}
}
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服务器可能很棘手,因为它们通过标准I/O进行通信。为了简化这一过程,我们建议使用MCP Inspector,可以通过以下命令运行:
npm run inspector
这将启动一个服务器,您可以在浏览器中直接访问调试工具。
MCP服务器提供了多个工具来与YepCode的基础设施进行交互:
在YepCode的安全环境中执行代码。
// 输入
{
code: string; // 要执行的代码
options?: {
language?: string; // 编程语言(默认:'javascript')
comment?: string; // 执行上下文
settings?: Record<string, unknown>; // 运行时设置
}
}
// 响应
{
returnValue?: unknown; // 执行结果
logs?: string[]; // 控制台输出
error?: string; // 如果执行失败,错误信息
}
YepCode MCP服务器支持以下选项:
runCodeCleanup:跳过run_code清理。默认情况下,run_code进程源代码会在执行后被删除。如果您希望出于审计目的保留它,可以使用此选项。选项可以通过逗号分隔列表的形式传递到YEPCODE_MCP_OPTIONS环境变量中。
您可以通过设置YEPCODE_MCP_TOOLS环境变量,以逗号分隔的工具类别和进程标签列表来控制启用哪些工具:
内置工具类别:
run_code:启用代码执行工具yc_api:启用所有基本API管理工具(进程、计划、变量、存储、执行、模块)yc_api_full:启用所有API管理工具,包括版本相关的工具(扩展yc_api,增加额外的进程和模块版本管理工具)进程标签:
mcp-tool、core、automation等)yc_和进程ID)如果没有指定,默认情况下会启用所有内置工具,但不会暴露任何进程工具。
// 包含选项的SSE服务器配置
{
"mcpServers": {
"yepcode-mcp-server": {
"url": "https://cloud.yepcode.io/mcp/sk-c2E....RD/sse?mcpOptions=runCodeCleanup&tools=run_code,yc_api,mcp-tool,core"
}
}
}
// 包含选项的NPX配置
{
"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"
}
}
}
}
示例场景:
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”的进程在YepCode工作区中设置环境变量。
// 输入
{
key: string; // 变量名
value: string; // 变量值
isSensitive?: boolean; // 是否在日志中屏蔽该值(默认:true)
}
从YepCode工作区中移除环境变量。
// 输入
{
key: string; // 要移除的变量名
}
YepCode提供了一个内置的存储系统,允许您上传、列出、下载和删除文件。这些文件可以从您的代码执行中使用yepcode.storage辅助方法访问。
列出您的YepCode存储中的所有文件。
// 输入
{
prefix?: string; // 可选前缀用于过滤文件
}
// 响应
{
files: Array<{
filename: string; // 文件名或路径
size: number; // 文件大小(字节)
lastModified: string; // 最后修改日期
}>;
}
将文件上传到YepCode存储。
// 输入
{
filename: string; // 文件路径(例如,'file.txt'或'folder/file.txt')
content: string | { // 文件内容
data: string; // 二进制文件的Base64编码内容
encoding: "base64";
};
}
// 响应
{
success: boolean; // 上传成功状态
filename: string; // 上传的文件路径
}
从YepCode存储下载文件。
// 输入
{
filename: string; // 要下载的文件路径
}
// 响应
{
filename: string; // 文件路径
content: string; // 文件内容(二进制文件为base64)
encoding?: string; // 如果是二进制文件,编码类型
}
从YepCode存储删除文件。
// 输入
{
filename: string; // 要删除的文件路径
}
// 响应
{
success: boolean; // 删除成功状态
filename: string; // 删除的文件路径
}
MCP服务器可以将您的YepCode进程作为单独的MCP工具暴露出来,使其可以直接被AI助手访问。此功能通过在YEPCODE_MCP_TOOLS环境变量中指定进程标签来启用。
如何工作:
core、api、automation、mcp-tool等)YEPCODE_MCP_TOOLS环境变量中每个暴露的进程都将有一个工具,使用进程slug命名(如果工具名称超过60个字符,则前缀为yc_和进程ID)。
有关进程标签的更多信息,请参阅我们的进程标签文档。
// 输入
{
parameters?: any; // 这应该匹配在进程中指定的输入参数
options?: {
tag?: string; // 要执行的进程版本
comment?: string; // 执行上下文
};
synchronousExecution?: boolean; // 是否等待完成(默认:true)
}
// 响应(同步执行)
{
executionId: string; // 唯一执行标识符
logs: string[]; // 进程执行日志
returnValue?: unknown; // 进程输出
error?: string; // 如果执行失败,错误信息
}
// 响应(异步执行)
{
executionId: string; // 唯一执行标识符
}
API管理工具类别(yc_api 和 yc_api_full)提供了全面的API访问权限,以管理您整个YepCode工作空间的所有方面:
基本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 - 删除计划变量管理:
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文件。