代码分析协议服务

DeepView MCP是一个模型上下文协议服务器,使IDE能够利用Gemini的大上下文窗口分析大型代码库。

  • by Mitek99
  • Python
  • 本地部署
  • 65 星标
  • 更新于
在 GitHub 查看 ai-1st/deepview-mcp

使用说明

DeepView MCP

DeepView MCP是一个模型上下文协议服务器,它使Cursor和Windsurf等IDE能够使用Gemini的广泛上下文窗口分析大型代码库。

特性

  • 从单个文本文件加载整个代码库(例如,使用repomix等工具创建)
  • 使用Gemini的大上下文窗口查询代码库
  • 连接到支持MCP协议的IDE,如Cursor和Windsurf
  • 通过命令行参数配置Gemini模型选择

先决条件

安装

通过Smithery安装

通过以下方式自动安装DeepView for Claude Desktop 史密瑟里:

npx -y @smithery/cli install @ai-1st/deepview-mcp --client claude

使用pip

pip install deepview-mcp

用法

启动服务器

注意:您不需要手动启动服务器。这些参数在IDE中的MCP设置中配置(见下文)。

# Basic usage with default settings
deepview-mcp [path/to/codebase.txt]

# Specify a different Gemini model
deepview-mcp [path/to/codebase.txt] --model gemini-2.0-pro

# Change log level
deepview-mcp [path/to/codebase.txt] --log-level DEBUG

代码库文件参数是可选的。如果没有提供,您需要在查询时指定它。

命令行选项

  • --model MODEL:指定要使用的Gemini模型(默认值:Gemini-2.0-flash-lite)
  • --log-level {DEBUG,INFO,WARNING,ERROR,CRITICAL}:设置日志记录级别(默认值:INFO)

使用IDE(光标/风帆/…)

  1. 打开IDE设置
  2. 导航到MCP配置
  3. 添加具有以下配置的新MCP服务器:
    {
      "mcpServers": {
        "deepview": {
          "command": "/path/to/deepview-mcp",
          "args": [],
          "env": {
            "GEMINI_API_KEY": "your_gemini_api_key"
          }
        }
      }
    }
    
    

设置代码库文件是可选的。如果使用相同的代码库,则可以使用以下配置设置默认代码库文件:

{
   "mcpServers": {
     "deepview": {
       "command": "/path/to/deepview-mcp",
       "args": ["/path/to/codebase.txt"],
       "env": {
         "GEMINI_API_KEY": "your_gemini_api_key"
       }
     }
   }
 }

以下是如何指定要使用的Gemini版本:

{
   "mcpServers": {
     "deepview": {
       "command": "/path/to/deepview-mcp",
       "args": ["--model", "gemini-2.5-pro-exp-03-25"],
       "env": {
         "GEMINI_API_KEY": "your_gemini_api_key"
       }
     }
   }
}
  1. 重新加载MCP服务器配置

可用工具

服务器提供了一个工具:

  1. deepview:问一个关于代码库的问题
    • 必需参数: question -关于代码库的问题
    • 可选参数: codebase_file -查询前要加载的代码库文件的路径

准备您的代码库

DeepView MCP需要一个包含整个代码库的单个文件。您可以使用 再混合 以AI友好的格式准备您的代码库。

使用repomix

  1. 基本用法:在项目目录中运行repomix以创建默认输出文件:
# Make sure you're using Node.js 18.17.0 or higher
npx repomix

这将生成一个 repomix-output.xml 包含代码库的文件。

  1. 自定义配置:创建配置文件以自定义要打包的文件和输出格式:
npx repomix --init

这创建了一个 repomix.config.json 您可以编辑到的文件:

  • 包含/排除特定文件或目录
  • 更改输出格式(XML、JSON、TXT)
  • 设置输出文件名
  • 配置其他打包选项

重新混音配置示例

这里有一个例子 repomix.config.json 文件:

{
  "include": [
    "**/*.py",
    "**/*.js",
    "**/*.ts",
    "**/*.jsx",
    "**/*.tsx"
  ],
  "exclude": [
    "node_modules/**",
    "venv/**",
    "**/__pycache__/**",
    "**/test/**"
  ],
  "output": {
    "format": "xml",
    "filename": "my-codebase.xml"
  }
}

有关repomix的更多信息,请访问 repomix GitHub存储库.

许可证

麻省理工学院

作者

德米特里·德佳列夫(ddegtyarev@gmail.com)