项目简介
'mle_kit_mcp' 是一个基于Model Context Protocol (MCP) 构建的服务器,旨在为大型语言模型(LLM)提供丰富的环境交互能力。它通过标准化接口,允许LLM执行多种操作,包括文件管理、系统命令执行、远程GPU资源交互以及集成外部LLM代理服务,从而扩展LLM的应用场景。
主要功能点
- 本地与远程Bash执行: LLM可以执行沙盒化的本地Bash命令,或在远程GPU实例上执行命令。
- 文本编辑器: 提供文件查看、创建、写入、追加、插入、字符串替换和撤销编辑等功能。
- 远程GPU资源管理: 支持启动、管理Vast.ai上的远程GPU实例,并在其上执行命令和传输文件。
- LLM代理服务: 能够在本地Docker容器或远程GPU实例上启动OpenRouter LLM代理,使LLM能够调用其他外部语言模型。
- 文件系统操作: 提供文件查找('glob')和内容搜索('grep')功能。
安装步骤
- 克隆仓库: 首先,将 'mle_kit_mcp' 仓库克隆到本地。
git clone https://github.com/IlyaGusev/mle_kit_mcp.git cd mle_kit_mcp - 安装依赖: 进入项目目录,使用 'pip' 或 'uv' (推荐) 安装所需的Python依赖。如果未安装 'uv',请先使用 'pip install uv' 安装。
uv pip install -e . - Docker环境: 本地Bash工具依赖Docker,请确保您的系统已安装并运行Docker服务。
- Vast.ai API密钥 (可选): 如果您计划使用远程GPU或远程LLM代理功能,需要在运行服务器的环境变量中设置 'VAST_AI_KEY'。例如,在项目根目录下创建一个 '.env' 文件,并添加 'VAST_AI_KEY=your_vast_ai_api_key'。
- OpenRouter API密钥 (可选): 如果您计划使用LLM代理功能,需要在环境变量中设置 'OPENROUTER_API_KEY'。例如,在 '.env' 文件中添加 'OPENROUTER_API_KEY=your_openrouter_api_key'。
服务器配置
该MCP服务器启动后,会监听一个HTTP端口,并通过 'streamable-http' 协议提供服务。MCP客户端(如Claude Desktop或其他兼容的LLM客户端)需要配置以下信息才能连接并使用此服务器提供的功能。请注意,以下配置信息应在您的MCP客户端的设置界面中进行配置,而非直接在代码或命令行中执行。
一个典型的MCP客户端配置示例可能包含以下结构:
{ "mcpServers": { "my_mle_server": { // 自定义的服务器名称,例如 "my_mle_server" "url": "http://127.0.0.1:5056/mcp", // MCP服务器的访问地址和路径 "transport": "streamable-http" // 服务器使用的传输协议 // 如果您的MCP客户端支持自动启动服务器进程, // 您可能还需要提供以下启动参数: // "command": "uv", // "args": [ // "run", // "python", // "-m", // "mle_kit_mcp", // "--host", "127.0.0.1", // "--port", "5056", // "--workspace", "workdir" // ] } } }
- 服务器名称 (e.g., 'my_mle_server'): 这是您在MCP客户端中为此服务器指定的唯一标识符,可以根据您的偏好命名。
- URL ('http://127.0.0.1:5056/mcp'): 这是MCP服务器监听的完整HTTP URL。其中 '127.0.0.1' 是服务器所在的主机IP地址(本地运行则为localhost),'5056' 是服务器监听的端口,'/mcp' 是服务器提供MCP服务的路径。
- 传输协议 ('streamable-http'): 服务器与客户端通信使用的协议类型。此服务器支持 'streamable-http'。
- 启动命令和参数 (可选): 如果您的MCP客户端具备在本地自动启动MCP服务器进程的功能,它会需要知道如何执行 'mle_kit_mcp'。'command' 指定了执行器(例如 'uv'),而 'args' 提供了启动脚本及其所需的参数,包括 '--host'(绑定地址)、'--port'(监听端口)和 '--workspace'(工作目录)。
基本使用方法
- 启动MCP服务器:
在项目根目录运行以下命令来启动服务器:
这将在 '127.0.0.1:5056' 端口启动服务器,并将 './workdir' 目录作为其工作空间。uv run python -m mle_kit_mcp --host 127.0.0.1 --port 5056 --workspace workdir - 连接MCP客户端: 根据上述“服务器配置”部分,在您的MCP客户端(例如Claude Desktop)中配置 'mle_kit_mcp' 服务器。
- LLM交互:
一旦客户端连接成功,您的LLM就可以通过MCP协议调用此服务器提供的工具。例如,LLM可以请求执行Bash命令、编辑文件、启动远程GPU实例或使用LLM代理。
- 示例 (LLM调用Bash工具): LLM可以调用 'bash' 工具来列出工作目录下的文件: 'bash(command="ls -l")'
- 示例 (LLM调用文本编辑器): LLM可以调用 'text_editor' 工具来查看 'file.txt' 的内容: 'text_editor(command="view", path="file.txt", show_lines=True)'
- 示例 (LLM调用远程GPU工具): LLM可以调用 'remote_bash' 工具在远程GPU上执行命令: 'remote_bash(command="nvidia-smi", timeout=120)'
信息
分类
AI与计算