Persistent-Code MCP Server

Persistent-Code MCP Server

创建并维护代码的语义知识图谱,允许在与 Claude 的会话中保持上下文,提供高级搜索功能,而无需将整个代码库放入上下文窗口中。

Category
访问服务器

README

基于LlamaIndex的持久化代码 MCP 服务器

一个模型上下文协议 (MCP) 服务器,用于创建和维护由 Claude 生成的代码的语义知识图谱。由 LlamaIndex 驱动,这允许跨会话维护上下文,并具有高级语义搜索功能,而无需将整个代码库都放在上下文窗口中。

问题 & 解决方案

当使用 Claude 开发软件时:

  • 上下文窗口有限,使得处理大型代码库变得困难
  • 之前的代码上下文在会话之间丢失
  • Claude 缺乏对项目结构的持久理解
  • 在每个会话中都需要冗余的代码解释
  • 维护实现一致性具有挑战性

Persistent-Code 通过以下方式解决这些问题:

  • 创建代码组件及其关系的知识图谱
  • 跟踪每个组件的实现状态
  • 提供导航、查询和理解代码库的工具
  • 为特定的编码任务组装最少的必要上下文
  • 在聊天会话中保持持久的知识

LlamaIndex 集成

Persistent-Code 利用 LlamaIndex 提供增强的语义理解:

  1. 语义搜索:基于含义查找代码组件,而不仅仅是关键字
  2. 向量嵌入:代码被嵌入到向量空间中以进行相似性匹配
  3. 知识图谱:组件之间的关系以语义方式跟踪
  4. 上下文检索:基于语义相关性检索相关代码

这种集成使 Claude 能够更深入地理解您的代码库:

  • 根据函数的功能查找函数,而不仅仅是它们的名称
  • 在准备上下文时获取更相关的代码组件
  • 更好地理解组件之间的关系
  • 更准确地检索类似实现的示例

安装

前提条件

  • Python 3.10 或更高版本
  • UV 包管理器(推荐)或 pip

设置

# 克隆仓库
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"

为桌面版 Claude 配置

  1. 编辑您的桌面版 Claude 配置文件:
    • 位置:~/Library/Application Support/Claude/claude_desktop_config.json
    • 添加以下配置:
{
  "mcpServers": {
    "persistent-code": {
      "command": "venv 中 python 的路径",
      "args": [
        "-m",
        "persistent_code",
        "serve",
        "--project-name",
        "default"
      ],
      "cwd": "persistent-code-mcp",
      "env": {
        "PYTHONPATH": "persistent-code-mcp 的绝对路径"
      }
    }
  }
}
  1. 重启桌面版 Claude
  2. 通过询问 Claude 关于您的代码来连接到您的 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: 分析代码并更新知识图谱

示例工作流程

  1. 初始化一个项目:

    python -m persistent_code init --project-name "TodoApp"
    
  2. 启动服务器:

    python -m persistent_code serve --project-name "TodoApp"
    
  3. 要求 Claude 设计您的项目:

    你能帮我用 Python 和 FastAPI 设计一个 Todo 应用程序吗? 让我们从核心数据模型开始。
    
  4. Claude 将创建组件并在知识图谱中跟踪它们

  5. 在以后的会话中继续开发:

    让我们继续开发 Todo 应用程序。 我们的实施状态如何?
    
  6. Claude 将检索当前状态并建议后续步骤

  7. 实现特定组件:

    让我们为我们的 Todo 应用程序实现任务完成端点
    
  8. Claude 将检索相关上下文并提供一致的实现

使用语义搜索

通过 LlamaIndex 集成,您现在可以使用更自然的语言来查找组件:

找到所有与处理任务完成相关的代码

Claude 将使用语义搜索来查找相关组件,即使它们没有明确包含“任务完成”字样。

运行 LlamaIndex 演示

我们包含了一个演示脚本来展示语义功能:

# 激活您的虚拟环境
source .venv/bin/activate  # 或 source venv/bin/activate

# 运行演示
python examples/llama_index_demo.py

这将演示分析日历应用程序并执行语义搜索以查找功能。

贡献

欢迎贡献! 请随时提交 Pull Request。

许可证

该项目已获得 MIT 许可证的许可 - 有关详细信息,请参阅 LICENSE 文件。

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选