MCP コードエグゼキューター
MCP Code Executor は、LLM が指定された Python 環境内で Python コードを実行できるようにする MCP サーバーです。これにより、LLM は環境で定義されたライブラリや依存関係にアクセスしながらコードを実行できます。また、トークン制限を超える可能性のある大規模なコードブロックを処理するための増分コード生成もサポートしています。
特徴
- LLMプロンプトからPythonコードを実行する
- トークン制限を克服するための増分コード生成のサポート
- 指定された環境(Conda、virtualenv、または UV virtualenv)内でコードを実行する
- 必要に応じて依存関係をインストールする
- パッケージがすでにインストールされているかどうかを確認する
- 実行時に環境を動的に構成する
- 設定可能なコード保存ディレクトリ
前提条件
- Node.jsがインストールされている
- 次のいずれか:
- Conda がインストールされ、必要な Conda 環境が作成されました
- Python仮想環境
- UV仮想環境
設定
- このリポジトリをクローンします:
- プロジェクト ディレクトリに移動します。
- Node.js の依存関係をインストールします。
- プロジェクトをビルドします。
構成
MCP Code Executor サーバーを構成するには、MCP サーバー構成ファイルに次の行を追加します。
Node.jsの使用
Dockerの使用
注: Dockerfileはvenv-uv環境タイプでのみテストされています。他の環境タイプでは追加の設定が必要になる場合があります。
環境変数
必須変数
CODE_STORAGE_DIR
: 生成されたコードが保存されるディレクトリ
環境タイプ(1つの設定を選択)
- Condaの場合:
ENV_TYPE
:conda
に設定CONDA_ENV_NAME
: 使用するConda環境の名前
- 標準 Virtualenv の場合:
ENV_TYPE
:venv
に設定VENV_PATH
: 仮想環境ディレクトリへのパス
- UV Virtualenvの場合:
ENV_TYPE
:venv-uv
に設定UV_VENV_PATH
: UV仮想環境ディレクトリへのパス
利用可能なツール
MCP コード エグゼキュータは、LLM に次のツールを提供します。
1. execute_code
設定された環境でPythonコードを実行します。短いコードスニペットに最適です。
2. install_dependencies
環境に Python パッケージをインストールします。
3. check_installed_packages
環境にパッケージがすでにインストールされているかどうかを確認します。
4. configure_environment
環境構成を動的に変更します。
5. get_environment_config
現在の環境構成を取得します。
6. initialize_code_file
初期コンテンツを含む新しいPythonファイルを作成します。トークン制限を超える可能性のある長いコードの最初のステップとしてこれを使用してください。
7. append_to_code_file
既存のPythonコードファイルにコンテンツを追加します。initialize_code_fileで作成されたファイルにコードを追加する場合に使用します。
8. execute_code_file
既存のPythonファイルを実行します。initialize_code_fileとappend_to_code_fileでコードをビルドした後の最終ステップとして使用してください。
9. read_code_file
既存のPythonコードファイルの内容を読み取ります。ファイルの内容を追加したり実行したりする前に、ファイルの現在の状態を確認するために使用します。
使用法
MCP コード エグゼキュータが設定されると、指定されたCODE_STORAGE_DIR
にファイルを生成し、設定された環境内で実行することで、LLM が Python コードを実行できるようになります。
LLM はプロンプトでこの MCP サーバーを参照してコードを生成および実行できます。
大きなコードブロックの処理
LLM トークン制限を超える可能性のある大きなコード ブロックの場合は、増分コード生成アプローチを使用します。
- 基本構造を持つファイルを
initialize_code_file
を使用して初期化する append_to_code_file
を使用して後続の呼び出しにコードを追加します。- 必要に応じて
read_code_file
を使用してファイルの内容を確認します。 execute_code_file
を使用して完全なコードを実行します。
このアプローチにより、LLM はトークンの制限に遭遇することなく、複雑な複数部分から成るコードを記述できます。
下位互換性
このパッケージは以前のバージョンとの下位互換性を維持しています。以前のバージョンでConda環境のみを指定していたユーザーは、設定を変更することなく引き続き作業できます。
貢献
貢献を歓迎します!問題を報告したり、プルリクエストを送信してください。
ライセンス
このプロジェクトは MIT ライセンスに基づいてライセンスされています。
Related MCP Servers
- AsecurityFlicenseAqualityA Model Context Protocol server that allows LLMs to interact with Python environments, execute code, and manage files within a specified working directory.Last updated -966
- -securityAlicense-qualityAn interactive Python code execution environment that allows users and LLMs to safely execute Python code and install packages in isolated Docker containers.Last updated -25Apache 2.0
- -securityAlicense-qualityAn interactive Python code execution tool that allows users and LLMs to safely execute Python code and install packages in isolated Docker containers.Last updated -25Apache 2.0
- AsecurityFlicenseAqualityA Model Context Protocol server that allows LLMs to interact with Python environments, enabling code execution, file operations, package management, and development workflows.Last updated -9