MCP 코드 실행기
MCP 코드 실행기는 LLM이 지정된 Python 환경 내에서 Python 코드를 실행할 수 있도록 하는 MCP 서버입니다. 이를 통해 LLM은 환경에 정의된 라이브러리 및 종속성에 접근하여 코드를 실행할 수 있습니다. 또한 토큰 제한을 초과할 수 있는 대규모 코드 블록을 처리하기 위한 증분 코드 생성을 지원합니다.
특징
- LLM 프롬프트에서 Python 코드 실행
- 토큰 제한을 극복하기 위한 증분 코드 생성 지원
- 지정된 환경(Conda, virtualenv 또는 UV virtualenv) 내에서 코드 실행
- 필요할 때 종속성을 설치하세요
- 패키지가 이미 설치되어 있는지 확인하세요
- 런타임에 환경을 동적으로 구성합니다.
- 구성 가능한 코드 저장 디렉토리
필수 조건
- Node.js가 설치됨
- 다음 중 하나:
- 원하는 Conda 환경이 생성된 Conda가 설치됨
- 파이썬 가상환경
- UV 가상 환경
설정
- 이 저장소를 복제하세요:
지엑스피1
- 프로젝트 디렉토리로 이동합니다.
- Node.js 종속성을 설치하세요.
- 프로젝트를 빌드하세요:
구성
MCP 코드 실행기 서버를 구성하려면 MCP 서버 구성 파일에 다음을 추가하세요.
Node.js 사용하기
Docker 사용
참고: Dockerfile은 venv-uv 환경 유형에서만 테스트되었습니다. 다른 환경 유형에는 추가 구성이 필요할 수 있습니다.
환경 변수
필수 변수
CODE_STORAGE_DIR
: 생성된 코드가 저장될 디렉토리
환경 유형(설정 하나 선택)
- Conda의 경우:
ENV_TYPE
:conda
로 설정CONDA_ENV_NAME
: 사용할 Conda 환경의 이름
- 표준 가상 환경의 경우:
ENV_TYPE
:venv
로 설정VENV_PATH
: virtualenv 디렉토리 경로
- UV Virtualenv의 경우:
ENV_TYPE
:venv-uv
로 설정UV_VENV_PATH
: UV virtualenv 디렉토리 경로
사용 가능한 도구
MCP 코드 실행기는 LLM에 다음과 같은 도구를 제공합니다.
1. execute_code
구성된 환경에서 Python 코드를 실행합니다. 짧은 코드 조각에 가장 적합합니다.
2. install_dependencies
환경에 Python 패키지를 설치합니다.
3. check_installed_packages
패키지가 이미 환경에 설치되어 있는지 확인합니다.
4. configure_environment
환경 구성을 동적으로 변경합니다.
5. get_environment_config
현재 환경 구성을 가져옵니다.
6. initialize_code_file
초기 내용을 포함하는 새 Python 파일을 생성합니다. 토큰 제한을 초과할 수 있는 긴 코드의 첫 번째 단계로 사용하세요.
7. append_to_code_file
기존 Python 코드 파일에 내용을 추가합니다. 이 기능을 사용하면 initialize_code_file로 만든 파일에 코드를 추가할 수 있습니다.
8. execute_code_file
기존 Python 파일을 실행합니다. 이 단계는 initialize_code_file 및 append_to_code_file을 사용하여 코드를 작성한 후 마지막 단계로 사용하세요.
9. read_code_file
기존 Python 코드 파일의 내용을 읽습니다. 이 기능을 사용하면 파일을 추가하거나 실행하기 전에 파일의 현재 상태를 확인할 수 있습니다.
용법
MCP 코드 실행기를 구성하면 지정된 CODE_STORAGE_DIR
에 파일을 생성하고 구성된 환경 내에서 실행하여 LLM이 Python 코드를 실행할 수 있습니다.
LLM은 프롬프트에서 이 MCP 서버를 참조하여 코드를 생성하고 실행할 수 있습니다.
대용량 코드 블록 처리
LLM 토큰 제한을 초과할 수 있는 더 큰 코드 블록의 경우 증분 코드 생성 방식을 사용하세요.
initialize_code_file
사용하여 기본 구조로 파일을 초기화합니다 .append_to_code_file
사용하여 후속 호출에 더 많은 코드를 추가합니다.- 필요한 경우
read_code_file
사용하여 파일 내용을 확인하세요. execute_code_file
사용하여 전체 코드를 실행합니다.
이 접근 방식을 사용하면 LLM은 토큰 제한에 걸리지 않고 복잡하고 여러 부분으로 구성된 코드를 작성할 수 있습니다.
이전 버전과의 호환성
이 패키지는 이전 버전과의 하위 호환성을 유지합니다. Conda 환경만 지정한 이전 버전 사용자는 구성을 변경하지 않고도 계속 작업할 수 있습니다.
기여하다
기여를 환영합니다! 이슈를 개설하거나 풀 리퀘스트를 제출해 주세요.
특허
이 프로젝트는 MIT 라이선스에 따라 라이선스가 부여되었습니다.
Related MCP Servers
- AsecurityFlicenseAqualityA Model Context Protocol server that allows LLMs to interact with Python environments, execute code, and manage files within a specified working directory.Last updated -966
- -securityAlicense-qualityAn interactive Python code execution environment that allows users and LLMs to safely execute Python code and install packages in isolated Docker containers.Last updated -25Apache 2.0
- -securityAlicense-qualityAn interactive Python code execution tool that allows users and LLMs to safely execute Python code and install packages in isolated Docker containers.Last updated -25Apache 2.0
- AsecurityFlicenseAqualityA Model Context Protocol server that allows LLMs to interact with Python environments, enabling code execution, file operations, package management, and development workflows.Last updated -9