项目简介

Hanzo MCP服务器是 Hanzo AI 平台能力通过 Model Context Protocol (MCP) 向外提供的接口实现。它允许 Claude Desktop 等 MCP 客户端无缝集成 Hanzo AI 的各项功能,使得 LLMs 能够直接访问和操作项目代码,进行代码分析、修改、执行等任务。此服务器不仅连接了 LLMs 与 Hanzo 平台,也为开发者提供了管理和改进项目的工具。

主要功能点

  • 代码理解:允许 LLMs 通过文件访问和模式搜索来分析和理解代码库。
  • 代码修改:支持 LLMs 在权限控制下对文件进行编辑。
  • 命令执行:增强的命令和脚本执行能力,支持多种语言和更好的错误处理。
  • 文件操作:安全的文件管理功能。
  • 代码发现:在项目中查找相关文件和代码模式。
  • 项目分析:理解项目结构、依赖和框架。
  • Jupyter Notebook 支持:读取和编辑 Jupyter Notebook,包括代码单元和输出。
  • 向量搜索:支持代码库的语义搜索,提供多种嵌入模型选择。
  • 子MCP服务器支持:集成和管理其他 MCP 服务器,扩展功能,如浏览器自动化、Slack、GitHub 等。

安装步骤

  1. 环境准备:确保已安装 Python 和 pip。建议使用 Python 3.8 或更高版本。
  2. 安装 Hanzo MCP: 打开终端,运行以下命令安装 Hanzo MCP 及其依赖:
    pip install hanzo-mcp
    如果需要使用全部功能(包括符号分析、向量搜索等),可以使用以下命令安装:
    pip install hanzo-mcp[all]

服务器配置

要将 Hanzo MCP 服务器配置到 MCP 客户端(如 Claude Desktop),您需要提供服务器的启动命令和参数。以下是一个 Claude Desktop 配置文件 'claude_desktop_config.json' 的配置示例:

{
  "mcpServers": {
    "hanzo": {
      "command": "uvx",
      "args": [
        "--from",
        "hanzo-mcp",
        "hanzo-mcp",
        "--allow-path",
        "/path/to/your/project"
      ]
    }
  }
}

配置参数说明

  • '"hanzo"': 服务器名称,可以自定义。
  • '"command": "uvx"': 启动服务器的命令,这里使用 'uvx',它允许直接运行 'hanzo-mcp' 而无需全局安装。
  • '"args": [...]"': 启动参数列表:
    • '"--from", "hanzo-mcp"': 指定从 'hanzo-mcp' 包启动。
    • '"hanzo-mcp"': 实际要运行的服务器程序名称。
    • '"--allow-path", "/path/to/your/project"': 必须配置,指定允许 MCP 服务器访问的项目路径。请将 '/path/to/your/project' 替换为您的项目绝对路径

可选配置参数

  • '"--name", "custom-hanzo"': 自定义服务器实例名称。
  • '"--transport", "stdio"': 指定传输协议,默认为 'stdio',也可以设置为 'sse'。

基本使用方法

  1. 启动服务器: 在终端中,使用 'uvx run hanzo-mcp --allow-path /path/to/your/project' 命令启动 Hanzo MCP 服务器,将 '/path/to/your/project' 替换为您的项目路径。

  2. 配置 MCP 客户端: 根据您的 MCP 客户端(如 Claude Desktop)的配置说明,添加上述提供的 JSON 配置到客户端的配置文件中。确保配置中的项目路径 ('--allow-path') 与您启动服务器时使用的路径一致。

  3. 在 MCP 客户端中使用: 启动 MCP 客户端,客户端将自动连接到 Hanzo MCP 服务器。您可以使用客户端提供的界面或命令来调用 Hanzo MCP 服务器提供的工具,例如读取文件、搜索代码、分析项目等,从而在 LLM 中利用 Hanzo MCP 提供的上下文信息和功能。

  4. 系统提示词: 为了获得最佳使用体验,建议将仓库 'doc/system_prompt' 目录下的系统提示词添加到您的 Claude Desktop 客户端的项目指令中,并替换 '{project_path}' 为您的项目绝对路径。这样可以指导 Claude 如何更有效地利用 Hanzo MCP 的功能。

信息

分类

开发者工具