返回市场
MCP-Python执行器

MCP-Python执行器

作者:bsmi0212 星标更新:2025-02-26

项目介绍

MCP Python 执行器

一个用于执行Python代码和管理Python包的模型上下文协议(MCP)服务器。

特性

  • 在安全约束下执行Python代码
  • 安装和管理Python包
  • 预配置常用包
  • 资源监控和限制
  • 健康检查和指标
  • 结构化日志

配置

该服务器可以通过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)

可用工具

1. execute_python

执行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"]
}

2. install_packages

安装Python包。

interface InstallPackagesArgs {
  packages: string[];
}

示例: