Token导航 LogoToken导航

MCP Server · 开发工具

Python Codebase Analysis Rag System

一个通过AST扫描Python代码库,存储到Weaviate,并通过可插拔LLM提供商(如Gemini、OpenAI)回答问题的代码分析服务器。

stdio官方级别未说明来源级核验工具 0
代码分析Python向量数据库自然语言查询

快速开始

作者 / 组织
shervinemp
提供方
shervinemp
运行时
Python

工具数量

0

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

5

仓库热度

收录来源

3 个

MCP World

选型结论

Python Codebase Analysis Rag System 属于开发工具类 MCP Server,公开资料标注 0 个工具,通过stdio 本地进程接入,客户端适配情况以官方文档为准,有可以直接复制的安装命令;接入前先确认权限范围。

分类

开发工具

传输方式

stdio

认证方式

无需认证

部署方式

公开资料未说明

安装与配置

安装命令

pip install -r requirements.txt

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    准备运行环境

    stdio 服务在本地起进程,需要先装好 Python,再按安装命令拉取依赖。

  2. 2

    安装服务

    复制下面的安装命令执行;命令里带占位符的位置换成自己的密钥或路径。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 0 个工具,随便调一个只读工具确认能返回结果。

接入前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

详细介绍

Python代码库分析RAG系统

该系统使用抽象语法树(AST)分析Python代码,将提取的信息(函数、类、调用、变量等)存储在Weaviate向量数据库中,并通过模型上下文协议(MCP)服务器提供查询和理解代码库的工具。它利用谷歌的Gemini模型生成嵌入和自然语言描述/答案。

特性

  • 代码扫描: 解析Python文件以识别代码元素(函数、类、导入、调用、赋值)及其关系。提取物:

- 基本信息:名称、类型、文件路径、行号、代码段、文档字符串。 - 函数/方法详细信息:参数、返回类型、签名、装饰器。 - 作用域信息:父作用域(类/函数)UUID、可读ID(例如。, file:type:name:line),基类名称。 - 用法信息:作用域内的属性访问、调用关系(部分跟踪)。

  • 矢量存储: 使用Weaviate存储代码元素及其向量嵌入(启用LLM生成时)。
  • LLM强化(可选和背景): 使用Gemini为函数和类生成语义描述和嵌入。这现在作为扫描后触发的后台任务或手动运行。可以通过启用/禁用 .env 文件。
  • 自动细化(可选和背景): 启用LLM生成后,作为后台处理的一部分,使用上下文(调用者、被调用者、兄弟姐妹、相关变量)自动细化新/更新函数的描述。
  • 抹布问答: 使用检索增强生成回答有关代码库的自然语言问题(需要启用LLM功能并完成后台处理)。
  • 用户说明: 允许用户向特定代码元素添加手动注释。
  • 可视化: 基于存储的关系生成MermaidJS调用图。
  • MCP服务器: 通过MCP工具公开分析和查询功能,管理代码库和活动代码库上下文。
  • 文件监视器(集成): 扫描代码库时自动启动(scan_codebase)并在选择另一个代码库时停止(select_codebase)或者代码库被删除(delete_codebase).触发重新分析和数据库更新 *活跃的* 当文件发生变化时,代码库。也可以通过以下方式手动控制 start_watcher 和 stop_watcher 工具。
  • 代码库依赖关系 : 允许定义扫描代码库之间的依赖关系(add_codebase_dependency, remove_codebase_dependency).
  • 跨代码库查询: 启用搜索(find_element)并提出问题(ask_question)跨活动代码库及其声明的依赖关系。

设置

  1. 环境: 确保安装了Python 3.10+和Docker。
  1. 编织: 使用Docker Compose启动Weaviate实例:
   docker-compose up -d
  1. 依赖关系: 安装Python包:
   pip install -r requirements.txt
  1. API密钥和配置: 创建一个 .env 文件在项目根目录中,并添加您的Gemini API密钥。您还可以配置其他设置:
   # --- Required ---
   GEMINI_API_KEY=YOUR_API_KEY_HERE

   # --- Optional ---
   # Set to true to enable background LLM description generation and refinement
   GENERATE_LLM_DESCRIPTIONS=true
   # Max concurrent background LLM tasks (embeddings/descriptions/refinements)
   LLM_CONCURRENCY=5
   # ANALYZE_ON_STARTUP is no longer used. Scanning is done via the scan_codebase tool.

   # Specify Weaviate connection details if not using defaults
   # WEAVIATE_HOST=localhost
   # WEAVIATE_PORT=8080
   # WEAVIATE_GRPC_PORT=50051

   # Specify alternative Gemini models if desired
   # GENERATION_MODEL_NAME="models/gemini-pro"
   # EMBEDDING_MODEL_NAME="models/embedding-001"

   # Adjust Weaviate batch size
   # WEAVIATE_BATCH_SIZE=100

   # SEMANTIC_SEARCH_LIMIT=5
   # SEMANTIC_SEARCH_DISTANCE=0.7
   # Watcher polling interval (seconds)
   # WATCHER_POLLING_INTERVAL=5
  1. 运行MCP服务器: 在单独的终端中启动服务器:
   python src/code_analysis_mcp/mcp_server.py

*(确保此终端保持运行,以便工具可用)*

架构概述

该系统分析Python代码,将提取的信息存储在Weaviate向量数据库中,并通过模型上下文协议(MCP)服务器提供查询和理解代码库的工具。它利用谷歌的Gemini模型生成嵌入和自然语言描述/答案。

主要模块包括:

  • code_scanner.py:查找Python文件,使用AST解析它们,提取结构元素(函数、类、导入、调用等),并为Weaviate准备数据。
  • weaviate_client.py:管理与Weaviate的连接,定义数据模式(CodeFile, CodeElement, CodebaseRegistry),并提供批量上传、查询、更新和删除数据的功能。
  • rag.py:实现检索增强生成(RAG),用于回答有关代码库的问题。它使用语义搜索来查找相关的代码元素,并使用LLM来合成答案。
  • mcp_server.py:设置FastMCP服务器,管理其中的代码库 CodebaseRegistry 集合,处理活动代码库上下文(ACTIVE_CODEBASE_NAME),集成文件监视逻辑(包括自动启动/停止),管理代码库依赖关系,并将分析功能作为具有详细参数描述的MCP工具公开。
  • visualization.py:基于存储的关系生成MermaidJS调用图。

该系统使用Weaviate的多租户功能 CodeFile 和 CodeElement 集合,其中租户ID是用户定义的 codebase_name.独立的、非多租户 CodebaseRegistry 集合跟踪代码库元数据(名称、目录、状态、摘要、观察者状态、依赖关系)。这 ACTIVE_CODEBASE_NAME 服务器中的全局变量决定了查询的主要代码库租户。查询工具(find_element, ask_question)可以选择在注册表中存储的活动代码库及其声明的依赖关系中进行搜索。这 list_codebases 该工具可用于查看所有代码库的状态和依赖关系。

后台LLM处理用于生成代码元素的语义描述和嵌入。这是一个可选功能,可以通过启用/禁用 .env 文件。

一旦服务器运行,可以使用标准的MCP自检方法直接从MCP服务器检索有关可用工具及其参数的详细信息。

工具与能力

工具数量

0

资源数量

0

提示词数量

0

能力标签

代码分析Python本地部署向量数据库RAGAST解析代码可视化自然语言查询

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

让助手直接读代码

把仓库、提交记录和 issue 交给模型检索,补全和重构时不用来回复制文件。

在对话里跑命令

触发构建、测试和脚本,执行结果直接回到上下文,省去切终端。

接进开发流程

把 PR、CI 状态和代码审查接进助手,减少在几个工具之间跳。

选择建议

值得选的地方

  • 只提供 0 个工具,职责集中,接入后不容易误操作。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 3 个目录同时收录,信息可以交叉核对。

先想清楚的地方

  • stdio 方式要求本地装好 Python,换机器要重新装一遍。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在开发工具场景里让模型直接调用外部能力的人。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

  • 完全不想在本地装环境的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
Python Codebase Analysis Rag System

MCP World · 本页

0stdio有3 个2026-05-17
Git 838e2ec1

MCP World

12stdio有2 个2026-05-17
Markitdown MCP 2c653a5f

MCP World

1stdio有1 个2026-05-17
Context7 MCP C671e75a

MCP World

0stdio有1 个2026-05-17
Context7 831acf40

MCP World

0stdio有1 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

Python Codebase Analysis Rag System 怎么安装?

公开资料给出的安装命令是 pip install -r requirements.txt,运行环境为 Python。装完后按客户端要求写进 MCP 配置,重启客户端生效。

Python Codebase Analysis Rag System 怎么在 Claude Desktop、Cursor 里配置?

它是stdio 本地进程,客户端配置里要写启动命令和参数,运行环境是 Python;保存后完全退出客户端再打开,配置才会生效。

Python Codebase Analysis Rag System 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

Python Codebase Analysis Rag System 需要 API Key 吗?

公开资料标注为无需认证,装好就能连;如果实际调用时报鉴权错误,按官方文档补上凭据。

Python Codebase Analysis Rag System 支持哪些客户端?

公开资料没有标注具体客户端;能配置本地 MCP 命令的客户端都能接,配置方式参照官方文档。

来源信息

继续浏览同类 MCP