使用说明

项目简介

MCP Codebase Insight 是一个 Model Context Protocol (MCP) 协议的服务器端实现,专注于代码库的智能分析和洞察。它利用向量搜索和机器学习技术,帮助大型语言模型 (LLM) 理解代码模式、架构决策和文档,从而为开发者提供更智能的代码库上下文信息服务。

主要功能点

  • 代码分析 (Code Analysis): 使用 AI 分析代码库中的模式、最佳实践和潜在改进点,帮助 LLM 理解代码结构和逻辑。
  • 架构决策记录管理 (ADR Management): 跟踪和管理架构决策记录 (ADR),使 LLM 能够访问和利用项目架构演进的历史信息。
  • 文档管理 (Documentation): 支持生成和管理技术文档,为 LLM 提供代码库的文档上下文。
  • 知识库 (Knowledge Base): 通过向量搜索存储和检索代码模式与洞察,让 LLM 可以快速访问代码库的知识。
  • 调试系统 (Debug System): 利用 AI 辅助分析和调试代码问题,提升 LLM 在代码调试方面的能力。
  • 性能指标监控 (Metrics & Health): 监控服务器的健康状态和性能指标,确保 MCP 服务器稳定可靠运行。
  • 缓存机制 (Caching): 采用高效的缓存系统,提升服务器性能和响应速度。
  • 安全特性 (Security): 内置安全特性和最佳实践,保障 LLM 客户端与 MCP 服务器通信的安全性。
  • 构建验证 (Build Verification): 支持自动化端到端构建验证,并提供上下文分析,帮助 LLM 理解构建过程和结果。

安装步骤

  1. 环境准备:

    • 确保已安装 Python 3.11+ 和 pip。
    • 建议安装 Rust 以构建依赖项。
    • 确保 Qdrant 向量数据库服务正在运行 (默认地址: 'http://localhost:6333')。
  2. 安装软件包: 打开终端,使用 pip 安装 'mcp-codebase-insight' 软件包:

    pip install mcp-codebase-insight
  3. Docker 部署 (可选): 您也可以选择使用 Docker 镜像部署,简化环境配置:

    docker pull tosin2013/mcp-codebase-insight
    docker run -p 3000:3000 tosin2013/mcp-codebase-insight

服务器配置

MCP 客户端需要 'mcp.json' 文件来配置如何连接和使用 MCP 服务器。在您的 LLM 应用项目根目录下创建 'mcp.json' 文件,并添加以下配置信息。请注意,以下配置仅为示例,您可以根据实际情况调整参数。

{
  "mcpServers": {
    "codebase-insight": {
      "command": "mcp-codebase-insight",
      "args": [
        "--host",
        "127.0.0.1",
        "--port",
        "3000",
        "--log-level",
        "INFO"
      ],
      "env": {
        "PYTHONPATH": "${workspaceRoot}",
        "MCP_HOST": "127.0.0.1",
        "MCP_PORT": "3000",
        "MCP_LOG_LEVEL": "INFO",
        "QDRANT_URL": "http://localhost:6333",
        "MCP_DOCS_CACHE_DIR": "${workspaceRoot}/docs",
        "MCP_ADR_DIR": "${workspaceRoot}/docs/adrs",
        "MCP_KB_STORAGE_DIR": "${workspaceRoot}/knowledge",
        "MCP_DISK_CACHE_DIR": "${workspaceRoot}/cache"
      }
    }
  }
}

配置参数说明:

  • '"server name"': 服务器名称,例如 '"codebase-insight"',客户端用于识别和引用该服务器。
  • '"command"': 启动 MCP 服务器的命令,通常为 'mcp-codebase-insight' (在安装软件包后可用)。
  • '"args"': 启动命令的参数列表,用于配置服务器运行时的行为,例如:
    • '--host': 服务器绑定的主机地址 (例如: '"127.0.0.1"' 表示本地主机)。
    • '--port': 服务器监听的端口号 (例如: '"3000"')。
    • '--log-level': 日志级别,用于控制日志输出的详细程度 (例如: '"INFO"', '"DEBUG"', '"WARNING"' 等)。
  • '"env"': 环境变量配置,用于设置服务器运行所需的环境变量,例如:
    • 'PYTHONPATH': Python 模块搜索路径,'${workspaceRoot}' 表示项目根目录。
    • 'MCP_HOST', 'MCP_PORT', 'MCP_LOG_LEVEL': 通过环境变量配置主机、端口和日志级别。
    • 'QDRANT_URL': Qdrant 向量数据库的 URL 地址,MCP Codebase Insight 使用 Qdrant 存储向量数据。
    • 'MCP_DOCS_CACHE_DIR', 'MCP_ADR_DIR', 'MCP_KB_STORAGE_DIR', 'MCP_DISK_CACHE_DIR': 指定文档缓存、ADR 目录、知识库存储目录和磁盘缓存目录的路径,'${workspaceRoot}' 表示项目根目录。

基本使用方法

  1. 启动 MCP 服务器: 在终端中运行以下命令启动 MCP Codebase Insight 服务器 (可以使用 'mcp.json' 中配置的参数,或者直接通过命令行参数指定):

    mcp-codebase-insight --host 127.0.0.1 --port 8000 --log-level INFO

    服务器启动后,API 文档将会在 'http://127.0.0.1:8000/docs' 提供。

  2. 配置 MCP 客户端: 确保您的 MCP 客户端应用已正确配置 'mcp.json' 文件,以便连接到正在运行的 MCP Codebase Insight 服务器。客户端可以使用服务器提供的工具 (Tools) 和资源 (Resources) 进行代码库分析和知识检索等操作。

  3. 使用 API 工具: 通过 MCP 客户端或者直接使用 HTTP 请求工具 (如 curl, Postman) 调用服务器提供的 API 工具,例如:

    • '/tools/analyze-code': 分析代码模式
    • '/tools/create-adr': 创建架构决策记录
    • '/tools/search-knowledge': 搜索知识库
    • '/health': 检查服务器健康状态

请参考仓库提供的 API 文档 '/docs' 获取更详细的 API 使用信息和工具列表。

信息

分类

开发者工具