一个用于执行Python代码和管理Python包的模型上下文协议(MCP)服务器。
该服务器可以通过MCP设置中的环境变量进行配置:
{
"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)执行Python代码并返回结果。
interface ExecutePythonArgs {
code?: string; // 要执行的内联Python代码
scriptPath?: string; // 现有Python脚本文件的路径(替代code)
inputData?: string[]; // 可选输入数据
}
示例:
// 使用内联代码的示例
{
"code": "print('Hello, World!!')\nfor i in range(3): print(i)",
"inputData": ["optional", "input", "data"]
}
// 使用脚本路径的示例
{
"scriptPath": "/path/to/your_script.py",
"inputData": ["optional", "input", "data"]
}
安装Python包。
interface InstallPackagesArgs {
packages: string[];
}
示例: