YepCode MCP Server
공식YepCode의 안전하고 확장 가능한 샌드박스 환경에서 LLM이 생성한 모든 코드를 실행하고, JavaScript 또는 Python을 사용하여 자체 MCP 도구를 만들 수 있으며, NPM 및 PyPI 패키지를 완전히 지원합니다.
문서

YepCode MCP 서버란?
AI 플랫폼이 YepCode의 인프라와 상호 작용할 수 있게 해주는 MCP(모델 컨텍스트 프로토콜) 서버입니다. LLM이 생성한 스크립트를 실행하고 YepCode 프로세스를 AI 어시스턴트가 직접 사용할 수 있는 강력한 도구로 전환하세요. YepCode는 동적 MCP 도구 서버를 구축하기에 완벽한 환경입니다. 각 프로세스를 도구로 노출하고(OAuth, API 토큰 또는 사용자 자격 증명 사용), JSON 스키마로 각 도구의 매개변수를 완벽하게 유연하게 정의하며, Python 또는 Node.js로 도구를 구현할 수 있습니다. 이 모든 것이 여러 언어를 혼합하는 하나의 서버에서 가능합니다.
YepCode MCP 서버를 선택해야 하는 이유
- 원활한 AI 통합: 설정 없이 YepCode 프로세스를 AI 지원 도구로 변환
- 실시간 프로세스 제어: AI 시스템과 워크플로우 간의 직접적인 상호 작용 활성화
- 엔터프라이즈급 보안: YepCode의 격리된 프로덕션 환경에서 코드 실행
- 범용 호환성: 모델 컨텍스트 프로토콜을 지원하는 모든 AI 플랫폼과 통합
YepCode: 동적 MCP 도구 서버를 위한 완벽한 환경
YepCode는 동적 MCP 도구 서버를 실행하기 위한 이상적인 플랫폼으로 설계되었습니다.
-
하나의 프로세스, 하나의 도구: 각 YepCode 프로세스를 MCP 도구로 노출할 수 있습니다. 프로세스에 태그(예:
mcp-tool,core,automation)를 지정하면 AI 어시스턴트가 호출할 수 있는 도구가 됩니다. OAuth, API 토큰 또는 기존 YepCode 자격 증명으로 접근을 보호할 수 있으며, 각 도구는 동일한 보안 모델로 작업 공간에서 실행됩니다. -
도구 매개변수 완벽 제어: 모든 도구는 JSON 스키마로 매개변수 스키마를 정의할 수 있습니다. 입력(유형, 설명, 필수 필드, 열거형, 기본값 등)을 설명할 수 있는 완전한 유연성을 제공하므로 AI가 풍부한 메타데이터를 받아 도구를 올바르게 호출할 수 있습니다.
-
다중 언어 도구 구현: Python 또는 Node.js(또는 둘 다)로 도구를 구현하세요. 동일한 MCP 서버가 서로 다른 런타임으로 지원되는 도구를 노출할 수 있습니다. 여러 언어에 걸쳐 구현을 혼합하는 하나의 MCP 서버라고 생각하면 됩니다.
전체 문서는 YepCode MCP 서버 문서를 참조하세요.
설치
이 패키지를 사용하면 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 도구 정의에 코딩 규칙 포함을 건너뜁니다. 기본적으로 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 도구로 노출됩니다.
- 프로세스 도구는 프로세스 슬러그를 사용하여 이름이 지정됩니다(이름이 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 파일을 참조하세요.