mcpField
M
Mcp Server Js

Mcp Server Js

本地服务
yepcode.io开发工具4732 周前更新

关于 Mcp Server Js

YepCode MCP Server 是一个 MCP 服务,可将 YepCode 中的流程暴露为 AI 助手可调用的工具。它面向希望把工作流、API 与自动化接入 AI 平台的开发者,支持 JSON Schema 定义参数,并可用 Python 或 Node.js 实现工具。

主要功能

  1. 01将 YepCode 流程暴露为 MCP 工具
  2. 02使用 JSON Schema 定义工具参数
  3. 03支持 Python 与 Node.js 实现
  4. 04通过标签选择需要暴露的流程
  5. 05提供环境变量、文件与执行管理工具
  6. 06支持 NPX 与 Docker 本地部署

适用场景

  1. 01让 AI 助手触发已有的 YepCode 自动化流程
  2. 02让 LLM 生成并在 YepCode 环境中执行代码
  3. 03通过 MCP 管理工作区的计划任务与执行记录

MCP 相关

该项目是一个 MCP 服务,向 MCP 客户端暴露代码执行、环境变量、存储及流程管理等工具,并可选择按标签开放特定流程。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"js": {
"command": "npx",
"args": [
"-y",
"@yepcode/mcp-server"
],
"env": {
"YEPCODE_API_TOKEN": "<YEPCODE_API_TOKEN>"
}
}
}
}
启动命令npx -y @yepcode/mcp-server
需要配置的环境变量
YEPCODE_API_TOKEN密钥

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@yepcode/mcp-server

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

YepCode MCP 服务预览

NPM 版本 NPM 下载量 GitHub 工作流状态

信任评分 smithery 徽章

什么是 YepCode MCP 服务?

一个 MCP(Model Context Protocol)服务,可让 AI 平台与 YepCode 的基础设施交互。运行由大模型生成的脚本,并将 YepCode 流程转变为 AI 助手可直接使用的强大工具。YepCode 是构建动态 MCP 工具服务的理想环境:将每个流程公开为一个工具(使用 OAuth、API 令牌或您的凭据),通过 JSON Schema 灵活定义每个工具的参数,并使用 Python 或 Node.js 实现工具——所有这些都在一个可混合多种语言的服务中完成。

为什么选择 YepCode MCP 服务?
  • 无缝集成 AI:无需配置,即可将 YepCode 流程转换为适用于 AI 的工具
  • 实时流程控制:实现 AI 系统与您的工作流直接交互
  • 企业级安全性:在 YepCode 隔离且可用于生产环境的环境中执行代码
  • 通用兼容性:与任何支持 Model Context Protocol 的 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 Server 文档。

安装

此软件包可让您在本地或自己的基础设施中运行 YepCode MCP 服务(NPX、Docker 或自定义部署)。可将其与 Cursor 或 Claude Desktop 等 AI 平台集成。

**提示:**您还可以通过 YepCode 账户使用托管的 MCP 服务,无需本地安装。连接 URL 始终为:https://cloud.yepcode.io/mcp

前提条件

获取您的 YepCode API 凭据:

  1. 注册 YepCode Cloud
  2. 前往 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
  1. 构建容器镜像:
docker build -t yepcode/mcp-server .
  1. 使用类似以下内容的配置:
{
  "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 环境变量中指定流程标签即可启用此功能。

工作原理:

  1. 为 YepCode 流程添加任意标签(例如,core、api、automation、mcp-tool 等)
  2. 将这些标签添加到 YEPCODE_MCP_TOOLS 环境变量中
  3. 所有具有指定标签的流程都会作为独立的 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 访问能力,用于管理 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 - 删除计划任务
  • 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 许可协议,详情请参阅 LICENSE 文件。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。