llm-context
将代码上下文通过 MCP 或剪贴板分享给 LLM。
Tools
lc-project-context
IMPORTANT: First check if project context is already available in the conversation before making any new requests. Use lc-get-files for retrieving specific files, and only use this tool when a broad repository overview is needed. Generates a structured repository overview including: 1) Directory tree with file status (✓ full, ○ outline, ✗ excluded) 2) Complete contents of key files 3) Smart outlines highlighting important definitions in supported languages. The output is customizable via profiles that control file inclusion rules and presentation format. The assistant tracks previously retrieved project context in the conversation and checks this history before making new requests.
lc-get-files
IMPORTANT: Check previously retrieved file contents before making new requests. Retrieves (read-only) complete contents of specified files from the project. For this project, this is the preferred method for all file content analysis and text searches - simply retrieve the relevant files and examine their contents. The assistant cannot modify files with this tool - it only reads their contents.
lc-list-modified-files
IMPORTANT: First get the generation timestamp from the project context. Returns a list of paths to files that have been modified since a given timestamp. This is typically used to track which files have changed during the conversation. After getting the list, use lc-get-files to examine the contents of any modified files of interest.
README
LLM 上下文
LLM Context 是一个工具,可以帮助开发人员快速将代码/文本项目中的相关内容注入到大型语言模型聊天界面中。它利用 .gitignore 模式进行智能文件选择,并通过命令行提供简化的剪贴板工作流程,以及通过模型上下文协议 (MCP) 提供直接的 LLM 集成。
注意:此项目是与多个 Claude Sonnets - 3.5、3.6 和 3.7(以及最近的 Grok-3)合作开发的,使用 LLM Context 本身在开发期间共享代码。存储库中的所有代码都经过人工整理(由我 😇,@restlessronin)。
v0.3.0 中的重大更改
我们已切换到基于 Markdown(+ YAML front matter)的规则系统,取代了之前的基于 TOML/YAML 的配置文件。这是一个影响配置的重大更改。有关新规则格式以及如何使用它的详细信息,请参阅用户指南。
为什么选择 LLM Context?
要深入了解 LLM Context 背后的原因及其 AI 辅助开发方法,请查看我们的文章:LLM Context:利用 Vanilla AI 聊天进行开发
要查看 LLM Context 在实际示例和工作流程中的应用,请阅读:完整上下文魔法 - 当 AI 最终理解您的整个项目
当前使用模式
- 直接 LLM 集成:通过 MCP 协议与 Claude Desktop 原生集成
- 聊天界面支持:通过 CLI/剪贴板与任何 LLM 聊天界面配合使用
- 针对具有持久上下文的界面进行了优化,例如 Claude Projects 和 Custom GPTs
- 同样适用于标准聊天界面
- 项目类型:适用于代码存储库和文本/markdown/html 文档的集合
- 项目大小:针对适合 LLM 上下文窗口的项目进行了优化。大型项目支持正在开发中
安装
使用 uv 安装 LLM Context:
uv tool install "llm-context>=0.3.0"
要升级到最新版本:
uv tool upgrade llm-context
警告:LLM Context 正在积极开发中。更新可能会覆盖以
lc-为前缀的配置文件。因此,我们建议对所有配置文件进行版本控制。
快速入门
通过 Claude Desktop 使用 MCP
添加到 'claude_desktop_config.json':
{
"mcpServers": {
"CyberChitta": {
"command": "uvx",
"args": ["--from", "llm-context", "lc-mcp"]
}
}
}
配置完成后,您可以通过两种简单的方式开始使用您的项目:
-
说:“我想使用我的项目” Claude 会要求您提供项目根路径。
-
或者直接指定:“我想使用我的项目 /path/to/your/project” Claude 将自动加载项目上下文。
首选工作流程:将项目 UI 与 MCP 结合使用
为了获得最佳效果,请将通过 Claude 的 Project Knowledge UI 提供的初始上下文与通过 MCP 提供的动态代码访问相结合。这既提供了全面的理解,又可以访问最新的更改。有关详细信息和示例,请参阅完整上下文魔法。
CLI 快速入门和典型工作流程
- 导航到您的项目根目录
- 初始化存储库:
lc-init(只需一次) - 选择文件:
lc-sel-files - (可选)查看
.llm-context/curr_ctx.yaml中选择的文件 - 生成上下文:
lc-context(带有可选标志:-p用于提示,-u用于用户注释) - 与您喜欢的界面一起使用:
- Project Knowledge (Claude Pro):粘贴到知识部分
- GPT Knowledge (Custom GPTs):粘贴到知识部分
- 常规聊天:使用
lc-context -p来包含说明
- 当 LLM 请求其他文件时:
- 从 LLM 复制文件列表
- 运行
lc-clip-files - 将内容粘贴回 LLM
核心命令
lc-init:初始化项目配置lc-set-rule <n>:切换规则(系统规则以 "lc-" 为前缀)lc-sel-files:选择要包含的文件lc-sel-outlines:选择用于生成大纲的文件lc-context [-p] [-u] [-f FILE]:生成并复制上下文-p:包含提示说明-u:包含用户注释-f FILE:写入输出文件
lc-prompt:为 LLM 生成项目说明lc-clip-files:处理 LLM 文件请求lc-changed:列出自上次上下文生成以来修改的文件lc-outlines:为代码文件生成大纲lc-clip-implementations:提取 LLM 请求的代码实现(不支持 C/C++)
功能和高级用法
LLM Context 提供了高级功能,用于自定义项目内容的捕获和呈现方式:
- 使用
.gitignore模式进行智能文件选择 - 多个基于规则的配置文件,用于不同的用例
- 系统规则(以 "lc-" 为前缀)提供默认功能
- 用户定义的规则可以独立创建或扩展现有规则
- 代码导航功能:
- 智能代码大纲:允许 LLM 查看代码库的高级结构,其中自动生成的大纲突出显示重要的定义
- 定义实现提取:在使用
lc-clip-implementations命令查看代码大纲后,粘贴 LLM 请求的特定定义的完整实现
- 可自定义的模板和提示
有关这些功能的详细文档,请参阅我们的用户指南。
类似工具
查看我们的替代方案的综合列表 - 解决此问题的工具数量之多表明了它对开发人员社区的重要性。
致谢
LLM Context 从一系列 AI 辅助开发工具演变而来:
- 该项目继承了 LLM Code Highlighter,这是一个我为 IDE 集成开发的 TypeScript 库。
- 这个概念起源于我在 RubberDuck 上的工作,并延续到后来对 Continue 的贡献。
- LLM Code Highlighter 很大程度上受到了 Aider Chat 的启发。我与 GPT-4 合作将几个 Aider Chat Python 模块翻译成 TypeScript,在重构代码的同时保持了功能。
- 该项目使用来自 Aider Chat 的 tree-sitter 标签查询文件。
- LLM Context 证明了 AI 辅助开发的强大功能,在 GPT-4 和 Claude-3.5-Sonnet 的帮助下,从 Python 过渡到 TypeScript,然后再回到 Python。
我感谢开源社区的创新和 AI 辅助,它们塑造了这个项目的演变。
我感谢 Claude-3.5-Sonnet 在该项目开发中的帮助。
许可证
该项目根据 Apache License, Version 2.0 获得许可。 有关详细信息,请参阅 LICENSE 文件。
推荐服务器
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。
mcp-server-qdrant
这个仓库展示了如何为向量搜索引擎 Qdrant 创建一个 MCP (Managed Control Plane) 服务器的示例。
mult-fetch-mcp-server
一个多功能的、符合 MCP 规范的网页内容抓取工具,支持多种模式(浏览器/Node)、格式(HTML/JSON/Markdown/文本)和智能代理检测,并提供双语界面(英语/中文)。
AIO-MCP Server
🚀 集成了 AI 搜索、RAG 和多服务(GitLab/Jira/Confluence/YouTube)的一体化 MCP 服务器,旨在增强 AI 驱动的开发工作流程。来自 Folk。
Knowledge Graph Memory Server
为 Claude 实现持久性记忆,使用本地知识图谱,允许 AI 记住用户的信息,并可在自定义位置存储,跨对话保持记忆。
Hyperbrowser
欢迎来到 Hyperbrowser,人工智能的互联网。Hyperbrowser 是下一代平台,旨在增强人工智能代理的能力,并实现轻松、可扩展的浏览器自动化。它专为人工智能开发者打造,消除了本地基础设施和性能瓶颈带来的麻烦,让您能够:
https://github.com/Streen9/react-mcp
react-mcp 与 Claude Desktop 集成,能够根据用户提示创建和修改 React 应用程序。