Codebase Context Dumper

Codebase Context Dumper

🚀 codebase-context-dumper MCP Server

codebase-context-dumper MCP Server 是一个模型上下文协议(MCP)服务器,旨在轻松地将你的代码库上下文导入到大语言模型(LLMs)中。

🚀 快速开始

使用此工具的最简单方法是通过 npx,它可以运行最新版本,而无需进行本地安装。

将你的 MCP 客户端(例如 Claude Desktop、VS Code 扩展)配置为使用以下命令:

{
"mcpServers": {
"codebase-context-dumper": {
"command": "npx",
"args": [
"-y",
"@lex-tools/codebase-context-dumper"
]
}
}
}

之后,MCP 客户端将能够调用此服务器提供的 dump_codebase_context 工具。

✨ 主要特性

大语言模型中的大上下文窗口功能强大,但从大型代码库中手动选择和格式化文件非常繁琐。此工具通过以下方式自动执行该过程:

  • 递归扫描你的项目目录。
  • 包含指定目录树中未被 .gitignore 规则排除的文本文件。
  • 自动跳过二进制文件。
  • 使用清晰的文件路径标记连接内容。
  • 支持分块处理,以处理大于大语言模型上下文窗口的代码库。
  • 与 MCP 兼容的客户端无缝集成。

📦 安装指南

推荐方式:使用 npx

使用 npx 可以直接运行最新版本,无需本地安装,配置方式见上文快速开始部分。

本地安装(高级用法)

如果你想运行本地版本(例如用于开发),可以按照以下步骤操作:

  1. 克隆仓库:
git clone git@github.com:lex-tools/codebase-context-dumper.git
cd codebase-context-dumper
  1. 安装依赖:
npm install
  1. 构建服务器:
npm run build
  1. 配置你的 MCP 客户端指向本地构建输出:
{
"mcpServers": {
"codebase-context-dumper": {
"command": "/path/to/your/local/codebase-context-dumper/build/index.js" // 调整路径
}
}
}

💻 使用示例

基础用法

通过 MCP 客户端调用 dump_codebase_context 工具,示例配置如下:

{
"mcpServers": {
"codebase-context-dumper": {
"command": "npx",
"args": [
"-y",
"@lex-tools/codebase-context-dumper"
]
}
}
}

高级用法

当需要分块处理大型代码库时,可以调整输入参数,例如:

{
"mcpServers": {
"codebase-context-dumper": {
"command": "npx",
"args": [
"-y",
"@lex-tools/codebase-context-dumper",
"--base_path", "/your/project/path",
"--num_chunks", "2",
"--chunk_index", "1"
]
}
}
}

📚 详细文档

工具:dump_codebase_context

该工具递归读取指定目录中的文本文件,遵循 .gitignore 规则并跳过二进制文件。使用文件路径页眉/页脚连接内容。支持对大型代码库的输出进行分块处理。

功能说明

  • 扫描 base_path 中提供的目录。
  • 遵循各级别的 .gitignore 文件(包括嵌套文件和默认的 .git)。
  • 检测并跳过二进制文件。
  • 读取每个有效文本文件的内容。
  • 在每个文件的内容前添加页眉 (--- START: relative/path/to/file ---),并在后面添加页脚 (--- END: relative/path/to/file ---)。
  • 将所有处理后的文件内容连接成一个字符串。

输入参数

  • base_path(字符串,必需):要扫描的项目目录的绝对路径。
  • num_chunks(整数,可选,默认值:1):将输出划分的总块数。必须 >= 1。
  • chunk_index(整数,可选,默认值:1):要返回的块的基于 1 的索引。要求 num_chunks > 1chunk_index <= num_chunks

输出

返回连接后的(可能分块的)文本内容。

🤝 贡献代码

欢迎贡献代码!有关开发、调试和发布新版本的详细信息,请参阅 CONTRIBUTING.md。

📄 许可证

本项目采用 Apache 许可证 2.0。有关详细信息,请参阅 LICENSE 文件。

徽章信息

smithery badge npm version License: Apache-2.0

  • 0 关注
  • 0 收藏,18 浏览
  • system 提出于 2025-09-20 14:03

相似服务问题

相关AI产品