Skip to main content
Glama

MCP Code Executor

MIT License
191
  • Linux
  • Apple

Исполнитель кода MCP

значок кузнеца

MCP Code Executor — это сервер MCP, который позволяет LLM выполнять код Python в указанной среде Python. Это позволяет LLM запускать код с доступом к библиотекам и зависимостям, определенным в среде. Он также поддерживает инкрементальную генерацию кода для обработки больших блоков кода, которые могут превышать ограничения токенов.

Функции

  • Выполнение кода Python из подсказок LLM

  • Поддержка инкрементальной генерации кода для преодоления ограничений токенов

  • Запустить код в указанной среде (Conda, virtualenv или UV virtualenv)

  • Устанавливайте зависимости при необходимости

  • Проверьте, установлены ли уже пакеты

  • Динамически настраивать среду во время выполнения

  • Настраиваемый каталог хранения кодов

Предпосылки

  • Node.js установлен

  • Один из следующих вариантов:

    • Conda установлена с созданием желаемой среды Conda

    • Виртуальное окружение Python

    • УФ виртуальное окружение

Настраивать

  1. Клонируйте этот репозиторий:

git clone https://github.com/bazinga012/mcp_code_executor.git
  1. Перейдите в каталог проекта:

cd mcp_code_executor
  1. Установите зависимости Node.js:

npm install
  1. Создайте проект:

npm run build

Конфигурация

Чтобы настроить сервер MCP Code Executor, добавьте следующее в файл конфигурации серверов MCP:

Использование Node.js

{ "mcpServers": { "mcp-code-executor": { "command": "node", "args": [ "/path/to/mcp_code_executor/build/index.js" ], "env": { "CODE_STORAGE_DIR": "/path/to/code/storage", "ENV_TYPE": "conda", "CONDA_ENV_NAME": "your-conda-env" } } } }

Использование Докера

{ "mcpServers": { "mcp-code-executor": { "command": "docker", "args": [ "run", "-i", "--rm", "mcp-code-executor" ] } } }

Примечание: Dockerfile был протестирован только с типом среды venv-uv. Другие типы среды могут потребовать дополнительной настройки.

Переменные среды

Требуемые переменные

  • CODE_STORAGE_DIR : Каталог, в котором будет сохранен сгенерированный код.

Тип среды (выберите одну настройку)

  • Для Конды:

    • ENV_TYPE : Установить значение conda

    • CONDA_ENV_NAME : Имя используемой среды Conda

  • Для стандартного Virtualenv:

    • ENV_TYPE : Установить на venv

    • VENV_PATH : Путь к каталогу virtualenv

  • Для UV Virtualenv:

    • ENV_TYPE : Установить venv-uv

    • UV_VENV_PATH : Путь к каталогу UV virtualenv

Доступные инструменты

MCP Code Executor предоставляет следующие инструменты для LLM:

1. execute_code

Выполняет код Python в настроенной среде. Лучше всего подходит для коротких фрагментов кода.

{ "name": "execute_code", "arguments": { "code": "import numpy as np\nprint(np.random.rand(3,3))", "filename": "matrix_gen" } }

2. install_dependencies

Устанавливает пакеты Python в среду.

{ "name": "install_dependencies", "arguments": { "packages": ["numpy", "pandas", "matplotlib"] } }

3. check_installed_packages

Проверяет, установлены ли уже пакеты в среде.

{ "name": "check_installed_packages", "arguments": { "packages": ["numpy", "pandas", "non_existent_package"] } }

4. configure_environment

Динамически изменяет конфигурацию среды.

{ "name": "configure_environment", "arguments": { "type": "conda", "conda_name": "new_env_name" } }

5. get_environment_config

Получает текущую конфигурацию среды.

{ "name": "get_environment_config", "arguments": {} }

6. initialize_code_file

Создает новый файл Python с начальным содержимым. Используйте это как первый шаг для более длинного кода, который может превысить лимиты токенов.

{ "name": "initialize_code_file", "arguments": { "content": "def main():\n print('Hello, world!')\n\nif __name__ == '__main__':\n main()", "filename": "my_script" } }

7. append_to_code_file

Добавляет содержимое к существующему файлу кода Python. Используйте это, чтобы добавить больше кода в файл, созданный с помощью initialize_code_file.

{ "name": "append_to_code_file", "arguments": { "file_path": "/path/to/code/storage/my_script_abc123.py", "content": "\ndef another_function():\n print('This was appended to the file')\n" } }

8. execute_code_file

Выполняет существующий файл Python. Используйте это как последний шаг после создания кода с помощью initialize_code_file и append_to_code_file.

{ "name": "execute_code_file", "arguments": { "file_path": "/path/to/code/storage/my_script_abc123.py" } }

9. read_code_file

Читает содержимое существующего файла кода Python. Используйте это для проверки текущего состояния файла перед добавлением дополнительного содержимого или его выполнением.

{ "name": "read_code_file", "arguments": { "file_path": "/path/to/code/storage/my_script_abc123.py" } }

Использование

После настройки MCP Code Executor позволит LLM выполнять код Python, генерируя файл в указанном CODE_STORAGE_DIR и запуская его в настроенной среде.

LLM могут генерировать и выполнять код, ссылаясь на этот сервер MCP в своих подсказках.

Обработка больших блоков кода

Для более крупных блоков кода, которые могут превысить ограничения токенов LLM, используйте подход инкрементной генерации кода:

  1. Инициализируйте файл с базовой структурой, используя initialize_code_file

  2. Добавьте больше кода в последующие вызовы с помощью append_to_code_file

  3. При необходимости проверьте содержимое файла с помощью read_code_file

  4. Выполните весь код с помощью execute_code_file

Такой подход позволяет LLM писать сложный, многокомпонентный код, не сталкиваясь с ограничениями токенов.

Обратная совместимость

Этот пакет поддерживает обратную совместимость с более ранними версиями. Пользователи предыдущих версий, которые указали только среду Conda, продолжат работать без каких-либо изменений в своей конфигурации.

Внося вклад

Вклады приветствуются! Пожалуйста, откройте тему или отправьте запрос на извлечение.

Лицензия

Данный проект лицензирован по лицензии MIT.

Deploy Server
A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

local-only server

The server can only run on the client's local machine because it depends on local resources.

Позволяет LLM выполнять код Python в указанной среде Conda, обеспечивая доступ к необходимым библиотекам и зависимостям для эффективного выполнения кода.

  1. Функции
    1. Предпосылки
      1. Настраивать
        1. Конфигурация
          1. Использование Node.js
          2. Использование Докера
          3. Переменные среды
        2. Доступные инструменты
          1. 1. execute_code
          2. 2. install_dependencies
          3. 3. check_installed_packages
          4. 4. configure_environment
          5. 5. get_environment_config
          6. 6. initialize_code_file
          7. 7. append_to_code_file
          8. 8. execute_code_file
          9. 9. read_code_file
        3. Использование
          1. Обработка больших блоков кода
        4. Обратная совместимость
          1. Внося вклад
            1. Лицензия

              Related MCP Servers

              • A
                security
                F
                license
                A
                quality
                A Model Context Protocol server that allows LLMs to interact with Python environments, execute code, and manage files within a specified working directory.
                Last updated -
                9
                71
                • Linux
                • Apple
              • -
                security
                A
                license
                -
                quality
                An interactive Python code execution environment that allows users and LLMs to safely execute Python code and install packages in isolated Docker containers.
                Last updated -
                27
                Apache 2.0
              • -
                security
                A
                license
                -
                quality
                An interactive Python code execution tool that allows users and LLMs to safely execute Python code and install packages in isolated Docker containers.
                Last updated -
                27
                Apache 2.0
              • A
                security
                F
                license
                A
                quality
                A 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

              View all related MCP servers

              MCP directory API

              We provide all the information about MCP servers via our MCP API.

              curl -X GET 'https://glama.ai/api/mcp/v1/servers/bazinga012/mcp_code_executor'

              If you have feedback or need assistance with the MCP directory API, please join our Discord server