这是一个基于Model Context Protocol (MCP)的服务器,用于创建和维护由Claude生成的代码的语义知识图谱。借助LlamaIndex,该服务器能够在会话之间维持上下文,并具有高级语义搜索能力,而无需整个代码库都在上下文窗口中。
在使用Claude进行软件开发时:
Persistent-Code通过以下方式解决这些问题:
Persistent-Code利用LlamaIndex提供增强的语义理解:
这种集成使Claude能够更深入地理解您的代码库:
# 克隆仓库
git clone https://github.com/your-username/persistent-code-mcp.git
cd persistent-code-mcp
# 使用UV设置环境
uv venv
source .venv/bin/activate # 在Windows上:.venv\Scripts\activate
uv pip install -r requirements.txt
# 或者使用pip
python -m venv venv
source venv/bin/activate # 在Windows上:venv\Scripts\activate
pip install -r requirements.txt
python -m persistent_code init --project-name "YourProject"
python -m persistent_code serve --project-name "YourProject"
~/Library/Application Support/Claude/claude_desktop_config.json{
"mcpServers": {
"persistent-code": {
"command": "虚拟环境中的python路径",
"args": [
"-m",
"persistent_code",
"serve",
"--project-name",
"default"
],
"cwd": "persistent-code-mcp",
"env": {
"PYTHONPATH": "persistent-code-mcp的绝对路径"
}
}
}
}
add_component:向图添加新的代码组件update_component:更新现有组件add_relationship:创建组件之间的关系get_component:通过ID或名称检索组件find_related_components:查找与给定组件相关的组件search_code:语义搜索代码库update_status:更新组件的实现状态get_project_status:检索项目的实现状态find_next_tasks:建议逻辑上的下一个要实现的组件prepare_context:为特定任务组装最小上下文continue_implementation:提供继续实现组件的上下文get_implementation_plan:生成实现待办组件的计划analyze_code:分析代码并更新知识图谱初始化项目:
python -m persistent_code init --project-name "TodoApp"
启动服务器:
python -m persistent_code serve --project-name "TodoApp"
让Claude帮助设计您的项目:
你能帮我设计一个使用Python和FastAPI的待办事项应用吗?我们从核心数据模型开始。
Claude将创建组件并在知识图谱中跟踪它们
在稍后的时间继续开发:
我们继续开发待办事项应用。我们的实现状态如何?
Claude将检索当前状态并建议下一步操作
实现特定组件:
让我们实现待办事项应用的任务完成端点
Claude将检索相关上下文并提供一致的实现
借助LlamaIndex集成,您现在可以使用更自然的语言查找组件:
给我所有与处理任务完成相关的代码
Claude将使用语义搜索查找相关组件,即使这些组件不明确包含“任务完成”这个词。
我们包括了一个演示脚本,展示语义能力:
# 激活您的虚拟环境
source .venv/bin/activate # 或者 source venv/bin/activate
# 运行演示
python examples/llama_index_demo.py
这将演示分析日历应用程序并执行功能的语义搜索。
欢迎贡献!请随意提交Pull Request。
本项目采用MIT许可证 - 查看LICENSE文件了解详情。