YepCode MCP Server

公式

YepCodeの安全でスケーラブルなサンドボックス環境でLLMが生成したコードを実行し、JavaScriptまたはPythonを使用して独自のMCPツールを作成できます。NPMおよびPyPIパッケージを完全にサポートしています。

ドキュメント

YepCode MCP Server Preview

NPM version NPM Downloads GitHub Workflow Status

Trust Score smithery badge

YepCode MCP Serverとは?

MCP(Model Context Protocol)サーバーで、AIプラットフォームがYepCodeのインフラストラクチャと対話できるようにします。LLMが生成したスクリプトを実行し、YepCodeプロセスをAIアシスタントが直接利用できる強力なツールに変えます。YepCodeは動的MCPツールサーバーを構築するのに最適な環境です。各プロセスをツールとして公開し(OAuth、APIトークン、またはあなたの認証情報で保護)、JSON Schemaで各ツールのパラメータを完全に柔軟に定義し、PythonまたはNode.jsでツールを実装できます。これらすべてを、複数言語を混在させた単一のサーバーで実現します。

YepCode MCP Serverを選ぶ理由

  • シームレスなAI統合: 設定不要でYepCodeプロセスをAI対応ツールに変換
  • リアルタイムプロセス制御: AIシステムとワークフロー間の直接対話を実現
  • エンタープライズグレードのセキュリティ: YepCodeの隔離された本番環境でコードを実行
  • ユニバーサルな互換性: Model Context Protocolをサポートする任意のAIプラットフォームと統合

YepCode: 動的MCPツールサーバーに最適な環境

YepCodeは、動的MCPツールサーバーを実行するための理想的なプラットフォームとして構築されています。

  • 1プロセス、1ツール: 各YepCodeプロセスをMCPツールとして公開できます。プロセスにタグ(例: mcp-toolcoreautomation)を付けると、AIアシスタントが呼び出せるツールになります。アクセスはOAuthAPIトークン、または既存のYepCode認証情報で保護でき、各ツールは同じセキュリティモデルでワークスペース内で実行されます。

  • ツールパラメータの完全制御: 各ツールはJSON Schemaとしてパラメータスキーマを定義できます。入力(型、説明、必須フィールド、列挙型、デフォルト値など)を完全に柔軟に記述できるため、AIは豊富なメタデータを受け取り、ツールを正しく呼び出せます。

  • ポリグロットなツール実装: PythonまたはNode.js(あるいは両方)でツールを実装できます。同じMCPサーバーが異なるランタイムで動作するツールを公開できます。これは、複数言語にわたる実装を混在させた単一のMCPサーバーと考えることができます。

完全なドキュメントについては、YepCode MCP Server docsを参照してください。

インストール

このパッケージを使用すると、YepCode MCPサーバーをローカルまたは独自のインフラストラクチャ(NPX、Docker、またはカスタムデプロイ)で実行できます。CursorClaude 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ツール定義にコーディングルールを含めるのをスキップします。デフォルトでは、AI生成コードをガイドするために、YepCodeドキュメントのJavaScriptおよびPythonコーディングルールがツールスキーマに含まれます。ツールの初期化を高速化したり、ツール定義を小さくしたい場合は、このオプションを使用できます。

オプションは、YEPCODE_MCP_OPTIONS環境変数にカンマ区切りリストとして渡すことができます。

ツールの選択

YEPCODE_MCP_TOOLS環境変数にツールカテゴリとプロセスタグのカンマ区切りリストを設定することで、有効にするツールを制御できます。

組み込みツールカテゴリ:

  • run_code: コード実行ツールを有効にします
  • yc_api: すべての基本的なAPI管理ツール(プロセス、スケジュール、変数、ストレージ、実行、モジュール)を有効にします
  • yc_api_full: バージョン関連ツールを含むすべてのAPI管理ツールを有効にします(yc_apiを拡張し、追加のプロセスおよびモジュールバージョン管理ツールを含みます)
  • 特定のAPIツール名(例: execute_process_syncget_executionなど)

プロセスタグ:

  • YepCodeプロセスで使用される任意のタグ(例: mcp-toolcoreautomationなど)
  • プロセスタグを指定すると、そのタグを持つすべてのプロセスが個別のMCPツールとして公開されます
  • プロセスツールの名前は、プロセススラッグを使用して付けられます(名前が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プロセスに任意のタグ(例: coreapiautomationmcp-toolなど)を付けます
  2. それらのタグをYEPCODE_MCP_TOOLS環境変数に追加します
  3. 指定されたタグを持つすべてのプロセスが、個別のMCPツールとして公開されます

公開された各プロセスには、プロセススラッグを使用した名前のツールが作成されます(ツール名が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)は、YepCodeワークスペースのすべての側面を管理するための包括的な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ファイルを参照してください。