内容
# MCP Python 执行器
MCP(模型上下文协议)服务器,用于执行 Python 代码和管理 Python 包。
## 功能特点
- 在安全约束下执行 Python 代码
- 安装和管理 Python 包
- 预配置常用包
- 资源监控和限制
- 健康检查和指标
- 结构化日志记录
## 配置
MCP 设置中的环境变量可以配置服务器:
```json
{
"mcpServers": {
"mcp-python-executor": {
"command": "node",
"args": ["path/to/python-executor/build/index.js"],
"env": {
"PREINSTALLED_PACKAGES": "numpy pandas matplotlib scikit-learn",
"MAX_MEMORY_MB": "512",
"EXECUTION_TIMEOUT_MS": "30000",
"MAX_CONCURRENT_EXECUTIONS": "5",
"LOG_LEVEL": "info",
"LOG_FORMAT": "json"
}
}
}
}
```
### 环境变量
- `PREINSTALLED_PACKAGES`:启动时安装的 Python 包列表,以空格分隔
- `MAX_MEMORY_MB`:每次执行的内存限制(默认值:512)
- `EXECUTION_TIMEOUT_MS`:最大执行时间(毫秒)(默认值:30000)
- `MAX_CONCURRENT_EXECUTIONS`:最大并发执行次数(默认值:5)
- `LOG_LEVEL`:日志级别(debug|info|error,默认值:info)
- `LOG_FORMAT`:日志格式(json|text,默认值:json)
## 可用工具
### 1. execute_python
执行 Python 代码并返回结果。
```typescript
interface ExecutePythonArgs {
code?: string; // 要执行的 Python 代码(内联)
scriptPath?: string; // 现有 Python 脚本文件的路径(替代代码)
inputData?: string[]; // 可选的输入数据
}
```
示例:
```javascript
// 内联代码示例
{
"code": "print('Hello, World!!')\nfor i in range(3): print(i)",
"inputData": ["可选", "输入", "数据"]
}
// 脚本路径示例
{
"scriptPath": "/path/to/your_script.py",
"inputData": ["可选", "输入", "数据"]
}
```
### 2. install_packages
安装 Python 包。
```typescript
interface InstallPackagesArgs {
packages: string[];
}
```
示例:
```