代码文件夹知识库转换工具

一个将代码文件夹转换为MCP知识库的Web应用,供AI代理如Claude Desktop搜索代码库使用。

  • by ly2xxx
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 ly2xxx/doc-mcp

使用说明

代码文件夹MCP:项目概述

状态: 🚀 MVP开发
创建: 2026-02-18
已旋转: 2026-02-27 - 焦点:首先关注代码文件夹
业主: 李阳


🎯 我们正在建造什么

太长,读不下去了 一个将代码文件夹转换为MCP知识库的web应用程序,用于Claude Desktop等AI代理。

简化流程

User selects code folders → Repomix generates .md → Expose via MCP → Claude can search codebase

为什么是这个支点?

最初的设计(完整的文档转换管道)雄心勃勃。 让我们从有效的方法开始:

  • ✅ md-mcp已在PyPI上运行 -我们有核心引擎
  • ✅ Repomix已被证实 -处理代码→ 完美降价
  • ✅ 代码文件夹是#1用例 -开发人员需要先进行代码搜索

我们稍后将添加PDF/docs支持。让我们先发布一个可用的代码文件夹MCP。


📦 架构(简化)

单个应用程序:代码文件夹MCP

┌────────────────────────────────────────────────────────┐
│              Streamlit GUI                             │
│                                                        │
│  1. Folder Selection UI                               │
│     ├─ Browse button (select multiple folders)        │
│     ├─ Folder list display                            │
│     └─ Remove/reorder folders                         │
│                                                        │
│  2. Repomix Processing                                │
│     ├─ Run repomix on each folder                     │
│     ├─ Generate {folder-name}.md per folder           │
│     └─ Progress bar per folder                        │
│                                                        │
│  3. md-mcp Integration                                │
│     ├─ Create knowledge base from .md files           │
│     ├─ User names the KB (e.g., "my-project")         │
│     └─ Index with hybrid search                       │
│                                                        │
│  4. MCP Server Controls                               │
│     ├─ Start/Stop MCP server                          │
│     ├─ Copy config for Claude Desktop                 │
│     └─ Test search interface                          │
└────────────────────────────────────────────────────────┘
                         │
                         ├── Uses: md-mcp (PyPI)
                         └── Uses: repomix (subprocess)

🚀 用户工作流

步骤1:选择代码文件夹

# Streamlit UI
st.title("Code Folders MCP")

# Folder selection
if st.button("➕ Add Folder"):
    folder = st.text_input("Folder path:")
    # Or use file dialog
    
# Display selected folders
for folder in selected_folders:
    st.write(f"📁 {folder}")

第二步:生成Markdown

# For each folder, run repomix:
uvx repomix --output {folder-name}.md --style markdown /path/to/folder

结果: 一个合并 .md 每个代码文件夹的文件具有完整上下文。

步骤3:创建知识库

from md_mcp import KnowledgeBase

kb = KnowledgeBase.create(
    name=user_provided_name,  # e.g., "my-project"
    source_files=[
        "project-backend.md",
        "project-frontend.md",
        "shared-utils.md"
    ]
)

kb.index()

步骤4:启动MCP服务器

kb.start_mcp_server()  # Listens on stdio/port

步骤5:连接克劳德桌面

// ~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "my-project": {
      "command": "uvx",
      "args": ["md-mcp", "/path/to/my-project"]
    }
  }
}

完成! Claude现在可以搜索你的代码库了。


📁 项目结构

C:\code\docs-mcp\
├── README.md                   # This file
├── PROJECT_SPEC.md             # Feature breakdown
├── ARCHITECTURE.md             # Technical design
├── DECISIONS.md                # Settled decisions
├── DECISION_CHECKLIST.md       # What's left to decide
│
├── app/                        # Streamlit app (future)
│   ├── main.py                 # Main UI
│   ├── repomix_runner.py       # Subprocess wrapper
│   └── kb_manager.py           # md-mcp integration
│
└── examples/                   # Example configs
    └── sample_config.json

🛠️ 技术栈

组件 技术 为什么
图形用户界面 Streamlit 基于网络的快速原型制作
核心 md-mcp(PyPI) 已经发布,经过验证
Code→MD Repomix 代码整合的最佳工具
搜索 md-mcp混合搜索 关键字+语义
主控程序 md-mcp mcp服务器 内置于md-mcp

没有新的依赖关系。 我们需要的一切已经存在。


📊 MVP功能

必须拥有(第1周)

  • ✅ 简化用户界面以选择文件夹
  • ✅ 在所选文件夹上运行repomix
  • ✅ 为每个文件夹生成一个.md
  • ✅ 从.md文件创建KB
  • ✅ 启动MCP服务器
  • ✅ 导出Claude桌面配置

很好吃(第2周)

  • ⏳ 监视模式(代码更改时自动重新生成)
  • ⏳ 多KB管理
  • ⏳ 在Streamlit中搜索测试UI
  • ⏳ KB统计仪表板

未来(MVP后)

  • 📅 PDF/DOCX支持(回到最初的愿景)
  • 📅 网络抓取
  • 📅 实时更新
  • 📅 云部署

🎬 发展规划

本周(2月27日至3月5日)

  1. ✅ 修改设计文件(完成!)
  2. ⏳ 构建Streamlit文件夹选择器
  3. ⏳ 集成repomix跑步器
  4. ⏳ 连接md-mcp KB创建
  5. ⏳ 使用Claude Desktop进行端到端测试

下周(3月6日至12日)

  1. ⏳ 添加自动更新的监视模式
  2. ⏳ 波兰UI/UX
  3. ⏳ 编写文档
  4. ⏳ 发布v0.1.0

目标: 船舶作业MVP 2026年3月12日


🔧 快速启动(准备就绪时)

# Install with uv
uv sync

# Run the app
uv run docs-mcp web

# Use the UI to:
# 1. Add your code folders
# 2. Click "Generate KB"
# 3. Click "Start MCP Server"
# 4. Copy config to Claude Desktop
# 5. Restart Claude
# 6. Ask Claude about your code!

📚 文档

文件 目的
README.md 此文件-项目概述
项目_规格.md 详细的功能分解
建筑.md 技术设计和数据流
DECISIONS.md 架构决策(现已确定)
决策_CHECKLIST.md 剩余未决问题

🤝 贡献

项目业主: 杨大师
AI助理: 有用的鲍勃🤖

这是一个专注的MVP。一旦代码文件夹MCP工作,我们将扩展到:

  • 文档转换(PDF、DOCX)
  • 网络抓取
  • 高级组块策略
  • 多用户部署

但首先: 船什么工作。


📝 开放性问题

自 DECISION_CHECKLIST.md:

  1. ✅ 矢量数据库: 使用md-mcp的默认值(FAISS)-已决定
  2. ✅ GUI: 流光灯-已固定
  3. ✅ 范围: 仅适用于MVP的代码文件夹-已解决
  4. ⏳ 观看模式: 我们应该在文件更改时自动重新生成吗?
  5. ⏳ 分布: PyPI包还是Streamlit云部署?

让我们建造这个! 🚀

设计清晰,技术栈经过验证,MVP范围很广。是时候编码了。