使用说明
代码文件夹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日)
- ✅ 修改设计文件(完成!)
- ⏳ 构建Streamlit文件夹选择器
- ⏳ 集成repomix跑步器
- ⏳ 连接md-mcp KB创建
- ⏳ 使用Claude Desktop进行端到端测试
下周(3月6日至12日)
- ⏳ 添加自动更新的监视模式
- ⏳ 波兰UI/UX
- ⏳ 编写文档
- ⏳ 发布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:
- ✅ 矢量数据库: 使用md-mcp的默认值(FAISS)-已决定
- ✅ GUI: 流光灯-已固定
- ✅ 范围: 仅适用于MVP的代码文件夹-已解决
- ⏳ 观看模式: 我们应该在文件更改时自动重新生成吗?
- ⏳ 分布: PyPI包还是Streamlit云部署?
让我们建造这个! 🚀
设计清晰,技术栈经过验证,MVP范围很广。是时候编码了。