SourceSage:LLM 的高效代码内存
SourceSage 是一款 MCP(模型上下文协议)服务器,能够高效地记忆代码库的关键要素——逻辑、代码风格和标准,同时支持动态更新和快速检索。它的设计与语言无关,充分利用了法学硕士 (LLM) 对多种语言代码的理解能力。
特征
语言无关:适用于 LLM 理解的任何编程语言
知识图谱存储:高效存储代码实体、关系、模式和样式约定
LLM 驱动分析:依靠 LLM 分析代码并提供见解
令牌高效存储:优化最小令牌使用量,同时最大化内存容量
增量更新:代码更改时更新知识,无需冗余存储
快速检索:能够快速准确地检索相关信息
工作原理
SourceSage 采用了一种新颖的方法:
LLM 分析代码文件(任何语言)
LLM 使用 MCP 工具来注册实体、关系、模式和样式约定
SourceSage 将这些知识存储在令牌高效的图形结构中
LLM 可以在以后需要时查询这些知识
这种方法利用了 LLM 固有的语言理解能力,同时将 MCP 服务器的重点放在高效的内存管理上。
安装
用法
运行 MCP 服务器
连接到 Claude 桌面版
打开 Claude 桌面版
前往“设置”>“开发者”>“编辑配置”
将以下内容添加到您的
claude_desktop_config.json中:
如果您已经安装了该软件包:
如果您从本地目录运行而未安装:
重启 Claude 桌面版
可用工具
SourceSage 提供以下 MCP 工具:
register_entity :在知识图谱中注册代码实体
Input: - name: Name of the entity (e.g., class name, function name) - entity_type: Type of entity (class, function, module, etc.) - summary: Brief description of the entity - signature: Entity signature (optional) - language: Programming language (optional) - observations: List of observations about the entity (optional) - metadata: Additional metadata (optional) Output: Confirmation message with entity IDregister_relationship :注册实体之间的关系
Input: - from_entity: Name of the source entity - to_entity: Name of the target entity - relationship_type: Type of relationship (calls, inherits, imports, etc.) - metadata: Additional metadata (optional) Output: Confirmation message with relationship IDregister_pattern :注册代码模式
Input: - name: Name of the pattern - description: Description of the pattern - language: Programming language (optional) - example: Example code demonstrating the pattern (optional) - metadata: Additional metadata (optional) Output: Confirmation message with pattern IDregister_style_convention :注册编码风格约定
Input: - name: Name of the convention - description: Description of the convention - language: Programming language (optional) - examples: Example code snippets demonstrating the convention (optional) - metadata: Additional metadata (optional) Output: Confirmation message with convention IDadd_entity_observation :向实体添加观察
Input: - entity_name: Name of the entity - observation: Observation to add Output: Confirmation messagequery_entities :查询知识图谱中的实体
Input: - entity_type: Filter by entity type (optional) - language: Filter by programming language (optional) - name_pattern: Filter by name pattern (regex, optional) - limit: Maximum number of results to return (optional) Output: List of matching entitiesget_entity_details :获取实体的详细信息
Input: - entity_name: Name of the entity Output: Detailed information about the entityquery_patterns :知识图谱中的查询代码模式
Input: - language: Filter by programming language (optional) - pattern_name: Filter by pattern name (optional) Output: List of matching patternsquery_style_conventions :查询编码风格约定
Input: - language: Filter by programming language (optional) - convention_name: Filter by convention name (optional) Output: List of matching style conventionsget_knowledge_statistics :获取有关知识图谱的统计数据
clear_knowledge :清除图中的所有知识
Claude 的示例工作流程
分析代码:让 Claude 分析你的代码文件
"Please analyze this Python file and register the key entities and relationships."注册实体:Claude 将使用 register_entity 工具来存储代码实体
"I'll register the main class in this file."注册关系:Claude 将使用 register_relationship 工具来存储关系
"I'll register the inheritance relationship between these classes."查询知识:稍后,向 Claude 询问你的代码库
"What classes are defined in my codebase?" "Show me the details of the User class." "What's the relationship between the User and Profile classes?"获取编码模式:向 Claude 询问编码模式
"What design patterns are used in my codebase?" "Show me examples of the Factory pattern in my code."
有何不同
与传统的代码分析工具不同,SourceSage:
利用 LLM 理解:利用 LLM 的能力理解跨语言的代码语义
存储语义知识:关注意义和关系,而不仅仅是语法
与语言无关:可与 LLM 理解的任何编程语言配合使用
优化令牌效率:以最小化令牌使用的方式存储知识
随着 LLM 能力的提升而发展:随着 LLM 的进步,代码理解能力也在提升
贡献
欢迎贡献代码!欢迎提交 Pull 请求。
执照
该项目根据 MIT 许可证获得许可 - 有关详细信息,请参阅 LICENSE 文件。
Tools
SourceSage 是一款 MCP(模型上下文协议)服务器,能够高效地记忆代码库的关键要素——逻辑、代码风格和标准,同时支持动态更新和快速检索。它的设计与语言无关,充分利用了法学硕士 (LLM) 对多种语言代码的理解能力。
Related MCP Servers
- -security-license-qualityThis is an MCP server for PostgREST. It allows LLMs perform database queries and operations on Postgres databases via PostgREST. This server works with both Supabase projects (which use PostgREST) and standalone PostgREST servers.Last updated -9262,230Apache 2.0
 - -security-license-qualityA Model Context Protocol server that provides AI assistants with structured access to your Logseq knowledge graph, enabling retrieval, searching, analysis, and creation of content within your personal knowledge base.Last updated -51
 - Asecurity-licenseAqualityAn MCP server that connects to a Swagger specification and helps an AI to build all the required models to generate a MCP server for that service.Last updated -53581MIT License
 - Asecurity-licenseAqualityA Model Context Protocol server that integrates with DeepSource to provide AI assistants with access to code quality metrics, issues, and analysis results.Last updated -9676MIT License
 
Appeared in Searches
- A tool for extracting code metadata and exposing it via MCP
 - Retrieve the latest documentation of libraries in word embeddings form for LLMs
 - Using local LLMs for code writing, reviewing, and rule generation
 - Assistance with reviewing and merging code changes in a merge request
 - Resources or Assistance for Learning to Code