项目简介
Toolkami 是一个基于 Model Context Protocol (MCP) 构建的后端服务,旨在为大型语言模型 (LLM) 提供一套精简且强大的标准化工具和上下文能力。它将文件系统操作、命令行执行、网页浏览等实际任务封装成LLM可以直接调用的工具,扩展了LLM与外部环境交互的能力,使其能执行更复杂的、需要外部信息或操作的任务。
主要功能点
- 核心工具集: 提供文件读写、文件差异编辑、目录列表、终端命令执行、网页浏览、思考辅助、用户交互等七种核心工具。
- 模块化架构: 工具被组织在不同的模块中(如文件系统、终端、浏览器),易于理解和扩展。
- 上下文交互: 通过提供的工具,LLM能够访问和操作文件系统、执行终端命令,获取实时信息,从而获得更丰富的上下文。
- Prompt机制: 工具定义本身构成了LLM与服务器交互的一种Prompt机制,特别是 'ask' 工具用于与用户进行澄清。
- 标准协议支持: 使用 MCP 协议(基于JSON-RPC),并通过 Server-Sent Events (SSE) 提供传输层支持。
- 热重载: 支持在代码修改后自动重新加载,方便开发和调试。
- 配置能力: 允许通过启动参数配置模块行为,例如限制文件访问目录或设置终端工作目录。
安装步骤
- 安装 uv: Toolkami 使用 'uv' 作为包管理器和运行工具。请根据您的操作系统执行以下命令安装 uv:
- macOS/Linux: 'curl -LsSf https://astral.sh/uv/install.sh | sh'
- Windows: 'powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"'
- 克隆仓库: 克隆 Toolkami 的 GitHub 仓库到您的本地机器。
- 进入目录: 导航到仓库的 'servers' 目录。
- 安装依赖: 运行 'uv run sync' 安装所有必要的 Python 依赖。
- (可选) 浏览器工具依赖: 如果计划使用浏览器工具,需要安装 Playwright 的浏览器二进制文件:'uv run patchright install chromium' (在 Linux 上可能需要额外的系统库,请参考 README 中的提示)。
- (可选) 配置环境变量: 如果使用 Google Vertex AI 或 Gemini API,请设置 'GOOGLE_VERTEX_PROJECT', 'GOOGLE_VERTEX_LOCATION' 或 'GEMINI_API_KEY' 等环境变量。
服务器配置
Toolkami MCP 服务器主要通过命令行参数进行配置。当您将 Toolkami 集成到支持外部 MCP 服务器的客户端时,通常需要提供服务器的启动命令和参数。
-
服务器启动命令: 'uv run app.py'
-
常用参数说明:
- '--host <IP地址>': 指定服务器绑定的IP地址。默认值为 '0.0.0.0'。
- '--port <端口号>': 指定服务器监听的端口。默认值为 '8081'。
- '--reload': 启用服务器代码修改后的自动热重载功能。
- '--directories <目录1> [<目录2> ...]': 重要,为文件系统工具(如 'write_file')指定允许操作的目录列表。这是一个安全措施。必须指定允许的目录。
- '--working-directory <路径>': 为终端工具(如 'run_command')设置默认的工作目录。
-
给用户的说明: 在您的 MCP 客户端中,查找配置外部 MCP 服务器的选项。您需要指定 Toolkami 服务器的启动命令(例如 'uv run app.py')以及上述必要的参数(特别是 '--directories' 和 '--port')。具体的配置格式和位置取决于您使用的 MCP 客户端软件,请参考其使用文档。例如,某些客户端可能要求您输入完整的命令字符串,而另一些可能提供字段分别输入命令和参数列表。
基本使用方法
- 启动服务器: 打开终端,进入 Toolkami 仓库的 'servers' 目录,运行以下命令启动 MCP 服务器:
重要: 请将 '/path/to/your/safe/directory' 替换为您希望 LLM 通过文件和终端工具可以访问的实际目录。为了安全,请务必限制访问范围。PYTHONPATH=. uv run app.py --host 0.0.0.0 --port 8081 --directories /path/to/your/safe/directory --working-directory /path/to/your/safe/directory - 启动客户端: 使用一个兼容 MCP 协议的客户端连接到 Toolkami 服务器。如果您使用的是仓库自带的 Gemini 客户端示例,可以打开另一个终端,进入 Toolkami 仓库根目录,然后运行:
./clients/gemini_client.py http://localhost:8081/sse - 与LLM互动: 在客户端界面中,您可以输入自然语言指令或问题,LLM 将通过调用 Toolkami 服务器提供的工具来完成任务,例如读取文件、执行命令、浏览网页等。工具的输出和LLM的响应将在客户端中显示。
信息
分类
AI与计算