MCP Code Executor 开源项目教程
1. 项目介绍
MCP Code Executor 是一个开源的 MCP 服务器,允许在指定的 Python 环境中执行 Python 代码。这使得大型语言模型(LLMs)能够运行访问环境中定义的库和依赖项的代码。它还支持增量代码生成,以处理可能超出令牌限制的大型代码块。
2. 项目快速启动
环境准备
确保已经安装以下环境之一:
- Node.js
- Conda(及其环境)
- Python virtualenv
- UV virtualenv
克隆仓库
git clone https://github.com/bazinga012/mcp_code_executor.git
cd mcp_code_executor
安装依赖
npm install
构建项目
npm run build
配置文件
在 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"
}
}
}
}
使用 Docker
{
"mcpServers": {
"mcp-code-executor": {
"command": "docker",
"args": ["run", "-i", "--rm", "mcp-code-executor"]
}
}
}
确保配置文件中的环境变量 CODE_STORAGE_DIR
和 ENV_TYPE
等正确指向了你的存储目录和环境类型。
3. 应用案例和最佳实践
执行代码
{
"name": "execute_code",
"arguments": {
"code": "import numpy as np\nprint(np.random.rand(3,3))",
"filename": "matrix_gen"
}
}
安装依赖
{
"name": "install_dependencies",
"arguments": {
"packages": ["numpy", "pandas", "matplotlib"]
}
}
检查已安装的包
{
"name": "check_installed_packages",
"arguments": {
"packages": ["numpy", "pandas", "non_existent_package"]
}
}
动态配置环境
{
"name": "configure_environment",
"arguments": {
"type": "conda",
"conda_name": "new_env_name"
}
}
处理大型代码块
- 初始化一个文件
{
"name": "initialize_code_file",
"arguments": {
"content": "def main():\nprint('Hello, world!')\n\nif __name__ == '__main__':\nmain()",
"filename": "my_script"
}
}
- 追加代码
{
"name": "append_to_code_file",
"arguments": {
"file_path": "/path/to/code/storage/my_script_abc123.py",
"content": "\ndef another_function():\nprint('This was appended to the file')\n"
}
}
- 执行代码文件
{
"name": "execute_code_file",
"arguments": {
"file_path": "/path/to/code/storage/my_script_abc123.py"
}
}
4. 典型生态项目
MCP Code Executor 可以与多个生态项目配合使用,例如:
- 利用 GitHub Actions 实现自动化工作流。
- 使用 GitHub Copilot 来提高代码质量。
- 通过 GitHub Packages 管理包版本。
这些项目的集成可以进一步扩展 MCP Code Executor 的功能和应用场景。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考