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

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-tool、core、automation)を付けると、AIアシスタントが呼び出せるツールになります。アクセスはOAuth、APIトークン、または既存のYepCode認証情報で保護でき、各ツールは同じセキュリティモデルでワークスペース内で実行されます。 -
ツールパラメータの完全制御: 各ツールはJSON Schemaとしてパラメータスキーマを定義できます。入力(型、説明、必須フィールド、列挙型、デフォルト値など)を完全に柔軟に記述できるため、AIは豊富なメタデータを受け取り、ツールを正しく呼び出せます。
-
ポリグロットなツール実装: PythonまたはNode.js(あるいは両方)でツールを実装できます。同じMCPサーバーが異なるランタイムで動作するツールを公開できます。これは、複数言語にわたる実装を混在させた単一のMCPサーバーと考えることができます。
完全なドキュメントについては、YepCode MCP Server docsを参照してください。
インストール
このパッケージを使用すると、YepCode MCPサーバーをローカルまたは独自のインフラストラクチャ(NPX、Docker、またはカスタムデプロイ)で実行できます。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ツール定義にコーディングルールを含めるのをスキップします。デフォルトでは、AI生成コードをガイドするために、YepCodeドキュメントのJavaScriptおよびPythonコーディングルールがツールスキーマに含まれます。ツールの初期化を高速化したり、ツール定義を小さくしたい場合は、このオプションを使用できます。
オプションは、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ツールとして公開されます
- プロセスツールの名前は、プロセススラッグを使用して付けられます(名前が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ツールとして公開されます
公開された各プロセスには、プロセススラッグを使用した名前のツールが作成されます(ツール名が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ファイルを参照してください。