YepCode MCP Server

resmi

Jalankan kode yang dihasilkan LLM di lingkungan sandbox YepCode yang aman dan skalabel, serta buat alat MCP Anda sendiri menggunakan JavaScript atau Python, dengan dukungan penuh untuk paket NPM dan PyPI.

Dokumentasi

YepCode MCP Server Preview

NPM version NPM Downloads GitHub Workflow Status

Trust Score smithery badge

Apa itu YepCode MCP Server?

Sebuah server MCP (Model Context Protocol) yang memungkinkan platform AI berinteraksi dengan infrastruktur YepCode. Jalankan skrip yang dihasilkan LLM dan ubah proses YepCode Anda menjadi alat canggih yang dapat digunakan langsung oleh asisten AI. YepCode adalah lingkungan sempurna untuk membangun server alat MCP dinamis: ekspos setiap proses sebagai alat (dengan OAuth, token API, atau kredensial Anda), tentukan parameter setiap alat dengan Skema JSON untuk fleksibilitas penuh, dan implementasikan alat dalam Python atau Node.js—semua dalam satu server yang menggabungkan berbagai bahasa.

Mengapa YepCode MCP Server?

  • Integrasi AI Mulus: Ubah proses YepCode menjadi alat siap-AI tanpa konfigurasi
  • Kontrol Proses Real-time: Aktifkan interaksi langsung antara sistem AI dan alur kerja Anda
  • Keamanan Kelas Enterprise: Jalankan kode di lingkungan terisolasi dan siap produksi milik YepCode
  • Kompatibilitas Universal: Integrasikan dengan platform AI apa pun yang mendukung Model Context Protocol

YepCode: Lingkungan Sempurna untuk Server Alat MCP Dinamis

YepCode dibangun untuk menjadi platform ideal dalam menjalankan server alat MCP dinamis:

  • Satu proses, satu alat: Setiap proses YepCode dapat diekspos sebagai alat MCP. Tandai proses Anda (mis. mcp-tool, core, automation) dan mereka menjadi alat yang dapat dipanggil oleh asisten AI. Anda dapat mengamankan akses dengan OAuth, token API, atau kredensial YepCode yang ada—setiap alat berjalan di ruang kerja Anda dengan model keamanan yang sama.

  • Kontrol penuh atas parameter alat: Setiap alat dapat mendefinisikan skema parameternya sendiri sebagai Skema JSON. Anda mendapatkan fleksibilitas penuh untuk mendeskripsikan input (tipe, deskripsi, field wajib, enum, default, dll.), sehingga AI menerima metadata yang kaya dan dapat memanggil alat Anda dengan benar.

  • Implementasi alat poliglot: Implementasikan alat dalam Python atau Node.js (atau keduanya). Server MCP yang sama dapat mengekspos alat yang didukung oleh runtime berbeda—bayangkan sebagai satu server MCP yang mencampur implementasi di beberapa bahasa.

Untuk dokumentasi lengkap, lihat dokumentasi YepCode MCP Server.

Instalasi

Paket ini memungkinkan Anda menjalankan server MCP YepCode secara lokal atau di infrastruktur Anda sendiri (NPX, Docker, atau deployment kustom). Integrasikan dengan platform AI seperti Cursor atau Claude Desktop.

Tips: Dari akun YepCode Anda, Anda juga memiliki akses ke server MCP terhosting yang tidak memerlukan instalasi lokal. URL koneksinya selalu: https://cloud.yepcode.io/mcp

Prasyarat

Dapatkan kredensial API YepCode Anda:

  1. Daftar ke YepCode Cloud
  2. Kunjungi Settings > API credentials untuk membuat token API baru.

Menggunakan NPX

Pastikan Anda telah menginstal Node.js (versi 18 atau lebih tinggi), dan gunakan konfigurasi serupa dengan berikut:

{
  "mcpServers": {
    "yepcode-mcp-server": {
      "command": "npx",
      "args": ["-y", "@yepcode/mcp-server"],
      "env": {
        "YEPCODE_API_TOKEN": "your_api_token_here"
      }
    }
  }
}

Menggunakan Docker

  1. Bangun citra kontainer:
docker build -t yepcode/mcp-server .
  1. Gunakan konfigurasi serupa dengan berikut:
{
  "mcpServers": {
    "yepcode-mcp-server": {
      "command": "docker",
      "args": [
        "run",
        "-d",
        "-e",
        "YEPCODE_API_TOKEN=your_api_token_here",
        "yepcode/mcp-server"
      ]
    }
  }
}

Debugging

Debugging server MCP bisa rumit karena mereka berkomunikasi melalui stdio. Untuk mempermudah, kami merekomendasikan menggunakan MCP Inspector, yang dapat Anda jalankan dengan perintah berikut:

npm run inspector

Ini akan memulai server di mana Anda dapat mengakses alat debugging langsung di browser Anda.

Referensi Alat MCP YepCode

Server MCP menyediakan beberapa alat untuk berinteraksi dengan infrastruktur YepCode:

Eksekusi Kode

run_code

Mengeksekusi kode di lingkungan aman 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
}
Opsi MCP

Server MCP YepCode mendukung opsi berikut:

  • runCodeCleanup: Lewati pembersihan run_code. Secara default, kode sumber proses run_code dihapus setelah eksekusi. Jika Anda ingin menyimpannya untuk tujuan audit, Anda dapat menggunakan opsi ini.
  • skipCodingRules: Lewati penyertaan aturan pengkodean dalam definisi alat run_code. Secara default, aturan pengkodean JavaScript dan Python dari dokumentasi YepCode disertakan dalam skema alat untuk memandu kode yang dihasilkan AI. Jika Anda ingin melewati ini untuk inisialisasi alat yang lebih cepat atau definisi alat yang lebih kecil, Anda dapat menggunakan opsi ini.

Opsi dapat diberikan sebagai daftar yang dipisahkan koma di variabel lingkungan YEPCODE_MCP_OPTIONS.

Pemilihan Alat

Anda dapat mengontrol alat mana yang diaktifkan dengan mengatur variabel lingkungan YEPCODE_MCP_TOOLS dengan daftar kategori alat dan tag proses yang dipisahkan koma:

Kategori alat bawaan:

  • run_code: Mengaktifkan alat eksekusi kode
  • yc_api: Mengaktifkan semua alat manajemen API dasar (proses, jadwal, variabel, penyimpanan, eksekusi, modul)
  • yc_api_full: Mengaktifkan semua alat manajemen API termasuk alat terkait versi (memperluas yc_api dengan alat manajemen versi proses dan modul tambahan)
  • nama alat API spesifik apa pun (mis., execute_process_sync, get_execution,...)

Tag proses:

  • Tag apa pun yang digunakan dalam proses YepCode Anda (mis., mcp-tool, core, automation, dll.)
  • Saat Anda menentukan tag proses, semua proses dengan tag tersebut akan diekspos sebagai alat MCP individual
  • Alat proses akan dinamai menggunakan slug proses (atau diawali dengan yc_ dan ID proses jika namanya lebih panjang dari 60 karakter)

Jika tidak ditentukan, semua alat bawaan diaktifkan secara default, tetapi tidak ada alat proses yang akan diekspos.

// 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"
      }
    }
  }
}

Contoh skenario:

  • YEPCODE_MCP_TOOLS=run_code,yc_api - Mengaktifkan eksekusi kode bawaan dan alat manajemen API dasar
  • YEPCODE_MCP_TOOLS=run_code,yc_api_full - Mengaktifkan eksekusi kode bawaan dan semua alat manajemen API (termasuk manajemen versi)
  • YEPCODE_MCP_TOOLS=core,automation - Hanya mengekspos proses yang ditandai dengan "core" atau "automation" sebagai alat
  • YEPCODE_MCP_TOOLS=run_code,yc_api,core - Mengaktifkan alat bawaan plus semua proses yang ditandai dengan "core"

Manajemen Lingkungan

set_env_var

Mengatur variabel lingkungan di ruang kerja YepCode.

// Input
{
  key: string;                           // Variable name
  value: string;                         // Variable value
  isSensitive?: boolean;                 // Whether to mask the value in logs (default: true)
}

remove_env_var

Menghapus variabel lingkungan dari ruang kerja YepCode.

// Input
{
  key: string;                           // Name of the variable to remove
}

Manajemen Penyimpanan

YepCode menyediakan sistem penyimpanan bawaan yang memungkinkan Anda mengunggah, mendaftar, mengunduh, dan menghapus file. File-file ini dapat diakses dari eksekusi kode Anda menggunakan metode bantuan yepcode.storage.

list_files

Mendaftar semua file di penyimpanan YepCode Anda.

// 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

Mengunggah file ke penyimpanan 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

Mengunduh file dari penyimpanan 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

Menghapus file dari penyimpanan YepCode.

// Input
{
  filename: string;                      // File path to delete
}

// Response
{
  success: boolean;                      // Deletion success status
  filename: string;                      // Deleted file path
}

Eksekusi Proses

Server MCP dapat mengekspos Proses YepCode Anda sebagai alat MCP individual, membuatnya dapat diakses langsung oleh asisten AI. Fitur ini diaktifkan dengan menentukan tag proses di variabel lingkungan YEPCODE_MCP_TOOLS.

Cara kerjanya:

  1. Tandai proses YepCode Anda dengan tag apa pun (mis., core, api, automation, mcp-tool, dll.)
  2. Tambahkan tag tersebut ke variabel lingkungan YEPCODE_MCP_TOOLS
  3. Semua proses dengan tag yang ditentukan akan diekspos sebagai alat MCP individual

Akan ada alat untuk setiap proses yang diekspos, dinamai menggunakan slug proses (atau diawali dengan yc_ dan ID proses jika nama alat lebih panjang dari 60 karakter).

Untuk informasi lebih lanjut tentang tag proses, lihat dokumentasi tag proses kami.

<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
}

Alat Manajemen API

Kategori alat manajemen API (yc_api dan yc_api_full) menyediakan akses API komprehensif untuk mengelola semua aspek ruang kerja YepCode Anda:

Alat API dasar (yc_api): Tag yc_api mengaktifkan alat manajemen API standar untuk operasi inti di seluruh ruang kerja Anda.

Alat API diperluas (yc_api_full): Tag yc_api_full mencakup semuanya dari yc_api plus alat tambahan untuk mengelola versi proses dan modul.

Manajemen Proses:

  • get_processes - Mendaftar proses dengan filter opsional
  • create_process - Membuat proses baru dengan kode sumber
  • get_process - Mendapatkan detail proses
  • update_process - Memperbarui proses yang ada
  • delete_process - Menghapus proses
  • get_process_versions - Mendapatkan versi proses (memerlukan yc_api_full)
  • execute_process_async - Mengeksekusi proses secara asinkron
  • execute_process_sync - Mengeksekusi proses secara sinkron
  • schedule_process - Menjadwalkan proses untuk berjalan otomatis

Manajemen Jadwal:

  • get_schedules - Mendaftar proses terjadwal
  • get_schedule - Mendapatkan detail jadwal
  • pause_schedule - Menjeda proses terjadwal
  • resume_schedule - Melanjutkan jadwal yang dijeda
  • delete_schedule - Menghapus jadwal
  • update_schedule - Memperbarui proses terjadwal

Manajemen Variabel:

  • get_variables - Mendaftar variabel tim
  • create_variable - Membuat variabel baru
  • update_variable - Memperbarui variabel yang ada
  • delete_variable - Menghapus variabel

Manajemen Penyimpanan:

  • get_storage_objects - Mendaftar objek penyimpanan
  • upload_storage_object - Mengunggah file ke penyimpanan
  • download_storage_object - Mengunduh file dari penyimpanan
  • delete_storage_object - Menghapus file dari penyimpanan

Manajemen Eksekusi:

  • get_executions - Mendaftar eksekusi dengan filter opsional
  • get_execution - Mendapatkan detail eksekusi dari API
  • kill_execution - Menghentikan eksekusi yang berjalan
  • rerun_execution - Menjalankan ulang eksekusi sebelumnya
  • get_execution_logs - Mendapatkan log eksekusi

Manajemen Modul:

  • get_modules - Mendaftar modul pustaka skrip
  • create_module - Membuat modul baru
  • get_module - Mendapatkan detail modul
  • delete_module - Menghapus modul
  • get_module_versions - Mendapatkan versi modul (memerlukan yc_api_full)
  • get_module_version - Mendapatkan versi modul spesifik (memerlukan yc_api_full)
  • delete_module_version - Menghapus versi modul (memerlukan yc_api_full)
  • get_module_aliases - Mendapatkan alias versi modul (memerlukan yc_api_full)

Lisensi

Proyek ini dilisensikan di bawah Lisensi MIT - lihat file LICENSE untuk detailnya.