링크된 문서
code-executor
code-executor
code-executor는 지정된 Conda 환경 내에서 Python 코드를 실행할 수 있는 MCP 서버입니다. 이 서버는 LLM(Large Language Models)이 격리된 환경에서 Python 코드를 작성하고 실행하여 다양한 작업을 수행하고 결과를 확인할 수 있게 해줍니다.
특징
- Conda 환경 통합: 지정된 Conda 환경 내에서 안전하게 코드 실행
- Python 코드 실행: 다양한 Python 스크립트 및 코드 조각 실행
- 실행 결과 캡처: 표준 출력, 오류, 반환 값 등의 실행 결과 수집
- 패키지 관리: 필요한 패키지 설치 및 환경 구성
- 에러 처리: 상세한 오류 메시지 및 디버깅 정보 제공
- 대화형 코드 실행: 단계별 코드 실행 및 결과 피드백
API
도구
코드 실행
- execute_python: Python 코드를 실행합니다.
- 입력: Python 코드 문자열
-
출력: 실행 결과, 표준 출력, 오류 메시지
-
execute_file: Python 파일을 실행합니다.
- 입력: 파일 경로
-
출력: 실행 결과, 표준 출력, 오류 메시지
-
execute_notebook: Jupyter Notebook 셀을 실행합니다.
- 입력: 노트북 셀 코드
- 출력: 셀 실행 결과 및 출력
환경 관리
- list_packages: 설치된 패키지 목록을 가져옵니다.
- 입력: 없음
-
출력: 설치된 패키지 및 버전 목록
-
install_package: 새 패키지를 설치합니다.
- 입력: 패키지 이름, 버전(선택적)
-
출력: 설치 결과
-
get_environment_info: Conda 환경 정보를 가져옵니다.
- 입력: 없음
- 출력: Python 버전, Conda 환경 정보, 시스템 정보
파일 관리
- write_file: 파일을 생성하거나 수정합니다.
- 입력: 파일 경로, 파일 내용
-
출력: 쓰기 결과
-
read_file: 파일 내용을 읽습니다.
- 입력: 파일 경로
- 출력: 파일 내용
사용 방법
설치
# uv 사용
uv pip install mcp-code-executor
# 또는 pip 사용
pip install mcp-code-executor
구성
Claude Desktop에서 이 서버를 사용하려면 다음과 같이 설정 파일에 추가합니다:
{
"mcpServers": {
"codeExecutor": {
"command": "uv",
"args": ["run", "-m", "mcp_code_executor", "--env", "myenv"],
"env": {
"PYTHON_PATH": "/path/to/python"
}
}
}
}
사용 예시
# 간단한 수학 계산
result = 5 * 10 + 25
print(f"계산 결과: {result}")
# 데이터 분석
import pandas as pd
import matplotlib.pyplot as plt
# 샘플 데이터 생성
data = {'Month': ['Jan', 'Feb', 'Mar', 'Apr', 'May'],
'Sales': [120, 150, 140, 170, 190]}
df = pd.DataFrame(data)
# 데이터 시각화
plt.figure(figsize=(10, 6))
plt.bar(df['Month'], df['Sales'])
plt.title('Monthly Sales')
plt.xlabel('Month')
plt.ylabel('Sales')
plt.savefig('sales_chart.png')
print("차트가 생성되었습니다.")
연결된 구성 요소
주의사항
이 서버는 외부에서 제공된 코드를 실행하므로 보안 위험이 있을 수 있습니다:
- 신뢰할 수 있는 코드만 실행하세요.
- 격리된 환경에서 실행하여 시스템 파일 및 민감한 데이터에 대한 접근을 제한하세요.
- 리소스 사용량 제한을 설정하여 과도한 CPU, 메모리 사용이나 무한 루프를 방지하세요.
- 네트워크 접근 제어를 통해 외부 연결을 제한하세요.
- 중요한 시스템이나 프로덕션 환경에서 사용을 피하세요.