使用说明
项目简介
LLM Context 是一个基于 Model Context Protocol (MCP) 构建的应用后端,它充当 MCP 服务器,旨在弥合大型语言模型 (LLM) 与本地代码项目之间的鸿沟。该工具允许开发者将其代码仓库或文本集合以结构化的方式提供给 LLM 客户端,从而增强 LLM 在理解和处理项目相关任务时的上下文感知能力。通过集成 LLM Context,开发者可以更有效地利用 LLM 进行代码理解、文档分析、项目讨论等多种开发辅助场景。
主要功能点
- 项目上下文传递: 将本地代码仓库的文件目录结构、文件内容以及代码轮廓信息以结构化的形式提供给 LLM。
- 智能文件选择: 利用 '.gitignore' 文件规则,自动过滤不必要的文件,确保只将项目上下文中最重要的部分提供给 LLM。
- 代码轮廓生成: 对于代码文件,能够生成代码结构轮廓,突出显示类、函数、方法等关键定义,帮助 LLM 快速理解代码结构。
- 按需文件内容检索: 允许 LLM 客户端根据需要请求特定文件的完整内容,实现更细粒度的数据访问。
- 可定制的 Profile: 支持通过 Profile 自定义文件包含和排除规则,以及上下文信息的呈现方式,满足不同项目和使用场景的需求。
安装步骤
-
安装 'llm-context': 推荐使用 uv 包管理器进行安装。打开终端并执行以下命令:
uv tool install llm-context如果需要代码轮廓 (outline) 功能(推荐开发者安装以获得更强大的代码理解能力),请使用以下命令安装:
uv tool install "llm-context[outline]"
服务器配置
MCP 服务器需要配置在 MCP 客户端中,以便客户端能够连接和调用服务器提供的功能。以下是在 MCP 客户端(例如 Claude Desktop)中配置 LLM Context 服务器的 JSON 格式配置示例。您需要将此配置添加到您的 MCP 客户端的配置文件中。
{ "mcpServers": { "CyberChitta": { // server name: 自定义服务器名称,用于在客户端中标识和引用此服务器 "command": "uvx", // command: 运行服务器的命令,uvx 是 uv tool execute 的缩写,用于执行已安装的工具 "args": ["--from", "llm-context", "lc-mcp"] // args: 命令参数,指定从 llm-context 工具包中运行 lc-mcp 命令,lc-mcp 是 llm-context 提供的 MCP 服务器启动脚本 // 如果安装了 outline 功能,请使用以下参数,以启用代码轮廓功能: // "args": ["--from", "llm-context[outline]", "lc-mcp"] } } }
配置参数说明:
- 'server name' (服务器名称): '"CyberChitta"' - 您可以自定义服务器名称,用于在 MCP 客户端的界面中识别和管理此服务器连接。
- 'command' (命令): '"uvx"' - 这是用于启动 MCP 服务器的命令。 'uvx' 是 'uv tool execute' 的简写,它允许您执行通过 'uv tool install' 安装的工具。
- 'args' (参数): '["--from", "llm-context", "lc-mcp"]' - 这些是传递给 'uvx' 命令的参数。
- '--from llm-context': 指定要执行的工具来自 'llm-context' 工具包。
- 'lc-mcp': 指定要运行的具体命令是 'llm-context' 工具包提供的 'lc-mcp',它是 LLM Context 的 MCP 服务器启动脚本。
- [可选] Outline 功能: 如果您在安装时选择了 'outline' 功能 ('uv tool install "llm-context[outline]"'), 请使用注释中提供的 'args' 参数,将 'llm-context' 替换为 'llm-context[outline]',以确保服务器包含代码大纲功能。
基本使用方法
-
启动 MCP 服务器: 当您的 MCP 客户端尝试连接到 LLM Context 服务器时(通常在客户端发起请求时自动触发),客户端会根据您配置的 'command' 和 'args' 启动 'lc-mcp' 服务器进程。'lc-mcp' 脚本将作为 MCP 服务器在后台运行,并等待客户端的请求。
-
在 LLM 客户端中使用工具: 一旦服务器成功配置并连接,您就可以在 LLM 客户端中使用 LLM Context 提供的工具来增强 LLM 的上下文理解能力。例如,在 Claude Desktop 中,您可以指示 Claude 使用 'lc-project-context' 工具来获取当前项目的上下文信息,或者使用 'lc-get-files' 工具来获取特定文件的内容。
LLM Context 提供了以下工具供 LLM 客户端调用:
- 'lc-project-context': 获取项目的整体上下文信息,包括目录结构、文件状态、关键文件内容和代码轮廓。
- 'lc-get-files': 检索项目中指定文件的完整内容。
- 'lc-list-modified-files': 列出自上次上下文生成以来项目中被修改的文件。
- 'lc-code-outlines': 获取项目中所有代码文件的代码轮廓信息。
- 'lc-get-implementations': 获取代码轮廓中显示的特定定义的完整代码实现。
您可以通过自然语言指令引导 LLM 使用这些工具,例如:
- "我想让你分析我的项目代码,请使用 'lc-project-context' 工具获取项目上下文。"
- "请使用 'lc-get-files' 工具读取 '/myproject/src/main.py' 文件的内容。"
- "项目中有哪些文件被修改了?请使用 'lc-list-modified-files' 工具查看。"
- "请使用 'lc-code-outlines' 工具生成代码轮廓,帮助我快速了解项目结构。"
- "在代码轮廓中,我看到了 'TestClass' 类的定义,请使用 'lc-get-implementations' 工具获取其完整实现。"
通过合理地引导 LLM 使用这些工具,您可以充分利用 LLM Context 提供的上下文信息,提升 LLM 在各种开发任务中的表现。
信息
分类
开发者工具