Mcp Server Js について
YepCode MCP Server は、YepCode のプロセスを AI アシスタントから呼び出せるツールとして公開する MCP サーバーです。既存のワークフローや API、自動化を AI プラットフォームに接続したい開発者を対象とし、パラメーターの定義には JSON Schema を使用します。
主な機能
- 01YepCode のプロセスを MCP ツールとして公開
- 02JSON Schema によるツールパラメーターの定義
- 03Python と Node.js での実装
- 04タグによる公開対象プロセスの選択
- 05コード実行、変数、ストレージのツール
- 06NPX と Docker によるローカル実行
活用シーン
- 01AI アシスタントから既存の YepCode 自動化を起動
- 02LLM が生成したコードを YepCode 上で実行
- 03MCP 経由でスケジュールと実行履歴を管理
MCP 対応
本プロジェクトは MCP サーバーとして、コード実行、環境変数、ストレージ、プロセス管理のツールを MCP クライアントに提供します。タグ指定で特定のプロセスを公開することもできます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細

YepCode MCP Server とは?
AI プラットフォームが YepCode のインフラストラクチャと連携できるようにする MCP(Model Context Protocol)サーバーです。LLM が生成したスクリプトを実行し、YepCode のプロセスを、AI アシスタントが直接使用できる強力なツールに変えます。YepCode は、動的な MCP ツールサーバーを構築するのに最適な環境です。各プロセスをツールとして公開し(OAuth、API トークン、またはお客様の認証情報を使用)、JSON Schema で各ツールのパラメーターを定義して柔軟に設定し、Python または Node.js でツールを実装できます。これらすべてを、複数の言語を組み合わせた 1 つのサーバーで実現できます。
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 サーバーで、異なるランタイムを基盤とするツールを公開できます。つまり、複数の言語で実装されたツールを組み合わせた 1 つの MCP サーバーとして利用できます。
詳しくは、YepCode MCP Server のドキュメントをご覧ください。
インストール
このパッケージを使うと、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 文字を超える場合は、プロセス ID の前に
yc_が付けられます)
指定しない場合、デフォルトですべての組み込みツールが有効になりますが、プロセスツールは公開されません。
// 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 のもとでライセンスされています。詳細は LICENSE ファイルをご覧ください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。