使用说明
项目简介
venv-mcp-server 是一个 Model Context Protocol (MCP) 服务器,旨在解决大型语言模型 (LLM) 在处理和维护虚拟环境依赖时遇到的困难。它作为一个独立的后端服务,允许 LLM 客户端通过 MCP 协议调用工具来管理 Python 虚拟环境,例如创建、激活、更新和管理项目依赖。
主要功能点
- 虚拟环境管理: 提供创建、删除和管理 Python 虚拟环境的功能。
- 依赖管理: 允许 LLM 通过工具调用安装、卸载和更新虚拟环境中的 Python 包。
- 工具化操作: 将虚拟环境管理操作封装为可被 LLM 客户端调用的工具 (Tools),符合 MCP 协议规范。
- uv 工具支持: 底层使用 'uv' 包进行快速的虚拟环境和包管理操作。
安装步骤
-
安装 'uvx' (Universal Virtual Environment Executor): 'venv-mcp-server' 需要通过 'uvx' 启动。如果尚未安装,请根据 'uvx' 的官方文档进行安装。通常可以使用 pipx 进行安装:
pipx install uvx确保 'uvx' 命令在您的 PATH 环境变量中可用。
-
安装 'venv-mcp-server': 使用 'uvx' 从 GitHub 仓库直接安装 'venv-mcp-server'。这将自动下载并安装 'venv-mcp-server' 及其依赖。
uvx --from git+https://github.com/sparfenyuk/venv-mcp-server.git venv-mcp-server
服务器配置
MCP 客户端 (例如 Cline / Claude Desktop) 需要配置 'venv-mcp-server' 的启动命令和参数才能连接。以下是一个示例配置,您可以将其添加到 MCP 客户端的配置文件中(通常是 JSON 格式)。
{ "mcpServers": { "venv-management-for-my-project": { // 服务器名称,可以自定义 "command": "uvx", // 启动服务器的命令,这里使用 uvx "args": [ "--from=git+https://github.com/sparfenyuk/venv-mcp-server.git", // 从 Git 仓库安装 "venv-mcp-server" // 要执行的模块或命令 ] } } }
参数说明:
- '"venv-management-for-my-project"': 服务器的名称,在 MCP 客户端中用于标识和引用该服务器。您可以自定义名称。
- '"command": "uvx"': 指定用于启动 MCP 服务器的命令。这里使用 'uvx',它负责执行从指定源安装的 Python 模块。
- '"args"': 一个字符串数组,包含传递给 'uvx' 命令的参数。
- '"--from=git+https://github.com/sparfenyuk/venv-mcp-server.git"': 告诉 'uvx' 从指定的 Git 仓库安装。
- '"venv-mcp-server"': 指定要执行的 Python 模块名称,即 'venv-mcp-server' 本身。
可选配置参数:
- '--uv-path UV_PATH': 如果您的 'uv' 可执行文件不在系统的 PATH 环境变量中,可以使用此参数指定 'uv' 的路径。例如:
{ "mcpServers": { "venv-management-for-my-project": { "command": "uvx", "args": [ "--from=git+https://github.com/sparfenyuk/venv-mcp-server.git", "venv-mcp-server", "--uv-path", "/path/to/your/uv" // 替换为 uv 的实际路径 ] } } }
基本使用方法
-
启动 MCP 服务器: 当 MCP 客户端启动并加载配置文件后,'venv-mcp-server' 将作为 MCP 服务器启动。
-
客户端调用工具: LLM 客户端可以通过 MCP 协议向 'venv-mcp-server' 发送 JSON-RPC 请求,调用其提供的工具。具体的工具和调用方式需要参考 'venv-mcp-server' 项目的详细文档(如果仓库中有提供)或者通过 MCP 客户端的工具发现机制来了解。
-
虚拟环境管理: 通过客户端调用相应的工具,您可以指示 LLM 创建、激活、更新虚拟环境,以及管理项目依赖。例如,可能会有类似 'create_venv'、'install_package' 等工具供调用。
注意: 由于仓库信息有限,具体的工具名称、参数和详细使用方法需要查阅仓库的更详细文档或代码。此说明基于仓库 README.md 的信息进行推断。
信息
分类
开发者工具