MCP Code Executor
以下摘录自该仓库的 README(片段) · 在 GitHub 读完整 README →
The MCP Code Executor is an MCP server that allows LLMs to execute Python code within a specified Python environment. This enables LLMs to run code with access to libraries and dependencies defined in the environment. It also supports incremental code generation for handling large code blocks that may exceed token limits.
Features
- Execute Python code from LLM prompts
- Support for incremental code generation to overcome token limitations
- Run code within a specified environment (Conda, virtualenv, or UV virtualenv)
- Install dependencies when needed
- Check if packages are already installed
- Dynamically configure the environment at runtime
- Configurable code storage directory
Prerequisites
- Node.js installed
- One of the following:
- Conda installed with desired Conda environment created
- Python virtualenv
- UV virtualenv
Setup
1. Clone this repository:
2. Navigate to the project directory:
3. Install the Node.js dependencies:
4. Build the project:
Configuration
To configure the MCP Code Executor server, add the following to your MCP servers configuration file:
Using Node.js
Using Docker
> **Note:** The Dockerfile has been tested with the venv-uv environment type only. Other environment types may require additional configuration.
Environment Variables
Required Variables
- CODE_STORAGE_DIR: Directory where the generated code will be stored
Environment Type (choose one setup)
- **For Conda:**
- ENV_TYPE: Set to conda
- CONDA_ENV_NAME: Name of the Conda environment to use
- **For Standard Virtualenv:**
- ENV_TYPE: Set to venv
- VENV_PATH: Path to the virtualenv directory
- **For UV Virtualenv:**
- ENV_TYPE: Set to venv-uv
- UV_VENV_PATH: Path to the UV virtualenv directory
Available Tools
The MCP Code Executor provides the following tools to LLMs:
1. execute_code
Executes Python code in the configured environment. Best for short code snippets.
2. install_dependencies
Installs Python packages in the environment.
3. check_installed_packages
Checks if packages are already installed in the environment.
4. configure_environment
Dynamically changes the environment configuration.
5. get_environment_config
Gets the current environment configuration.
6. initialize_code_file
Creates a new Python file with initial content. Use this as the first step for longer code that may exceed token limits.
7. append_to_code_file
Appends content to an existing Python code file. Use this to add more code to a file created with initialize_code_file.
8. execute_code_file
Executes an existing Python file. Use this as the final step after building up code with initialize_code_file and append_to_code_file.
9. read_code_file
Reads the content of an existing Python code file. Use this to verify the current state of a file before appending more content or executing it.
Usage
Once configured, the MCP Code Executor will allow LLMs to execute Python code by generating a file in the specified CODE_STORAGE_DIR and running it within the configured environment.