MCPunk 使用说明
项目简介
MCPunk 是一个 Model Context Protocol (MCP) 服务器,旨在帮助大型语言模型 (LLM) 更有效地理解和探索代码库。它通过将代码文件分解为逻辑代码块(如函数、类、章节)并为 LLM 提供搜索和查询这些代码块的工具来实现这一点。这种方法使得 LLM 能够以对话方式探索和理解代码,而无需依赖传统的嵌入技术。
主要功能点
- 代码库分块 (Codebase Chunking): 自动将代码文件分割成函数、类、Markdown 章节等逻辑单元,方便 LLM 理解代码结构。
- 智能代码搜索工具 (Intelligent Code Search Tools): 提供一系列工具,使 LLM 能够根据内容搜索文件和代码块,精确定位相关代码。
- Git 集成 (Git Integration): 支持分析 Git 仓库中的代码,包括代码差异 (diff) 和分支历史,方便代码审查和版本控制相关任务。
- 可扩展的代码块解析器 (Extensible Chunkers): 内置了 Python、Markdown 和 Vue 文件类型的代码块解析器,并支持自定义解析器,以适应不同的文件类型和需求。
- 环境变量配置 (Configuration via Environment Variables): 允许用户通过环境变量灵活配置服务器行为。
安装步骤
- 安装 uv: 请按照 https://docs.astral.sh/uv/getting-started/installation/ 的指引安装 'uv'。'uv' 是一个快速的 Python 包安装和管理工具,MCPunk 使用它来运行。
- 配置 MCP 客户端: 将以下 JSON 代码片段添加到您的 MCP 客户端的配置文件中 (例如,Claude Desktop 的 'claude_desktop_config.json')。
- 重启 MCP 客户端: 重启您的 MCP 客户端,使配置生效。
服务器配置
对于像 Claude Desktop 这样的 MCP 客户端,您需要配置 MCPunk 服务器的启动信息。以下 JSON 配置展示了如何配置 MCPunk 服务器,以便客户端能够连接并使用它提供的工具。
{ "mcpServers": { "MCPunk": { "command": "uvx", "args": ["mcpunk"] } } }
配置参数说明:
- '"MCPunk"': 您为这个 MCP 服务器配置起的名称。在 MCP 客户端中,您将通过这个名称来引用 MCPunk 服务器。
- '"command": "uvx"': 指定启动 MCPunk 服务器需要执行的命令。这里 'uvx' 假设您已经安装了 'uv' 并将其添加到了系统的 PATH 环境变量中。如果 'uvx' 不在 PATH 中,您可能需要提供 'uvx' 的完整路径 (例如 '"/Users/michael/.local/bin/uvx"').
- '"args": ["mcpunk"]': 传递给 'uvx' 命令的参数。'"mcpunk"' 是指定要运行 MCPunk 服务器应用程序的入口点。
基本使用方法
- 启动 MCP 客户端并开始对话。
- 配置项目: 让 LLM 调用 'configure_project' 工具来配置项目,你需要提供代码库的根目录路径和项目名称。例如,您可以向 LLM 发送消息: '"Hey pal can you set up the ~/git/my-code project and call it my-project"'.
- 探索代码库: 通过自然语言提示,使用提供的工具(例如 'list_all_files_in_project', 'find_files_by_chunk_content', 'find_matching_chunks_in_file', 'chunk_details')向 LLM 提问关于代码的问题,了解代码结构,并执行代码分析任务。您可以参考 README 文件中的 "Usage Examples" 获取更多使用灵感。
信息
分类
开发者工具