DependencyMCP Server

DependencyMCP Server

site icon
2024.12.14 8
JavaScript代码分析依赖管理架构优化开发效率
DependencyMCP Server 是一个基于模型上下文协议(MCP)的服务,主要用于分析代码库以生成依赖关系图和架构洞察。该服务支持多种编程语言,帮助开发者理解代码结构、依赖关系和架构模式。
View on GitHub

Overview

基本能力

产品定位

DependencyMCP Server 是一个代码分析工具,专注于生成依赖关系图和提供架构洞察,帮助开发者优化代码结构和架构设计。

核心功能

  • 多语言支持:支持 TypeScript、JavaScript、C#、Python 等多种编程语言。
  • 依赖关系图生成:生成详细的依赖关系图,支持 JSON 或 DOT 格式。
  • 架构分析:推断架构层次并验证是否符合规则。
  • 文件元数据提取:从源文件中提取导入、导出等元数据。
  • 评分系统:根据架构规则和模式对代码库进行评分。

适用场景

  • 代码库的依赖关系可视化。
  • 架构设计和优化。
  • 代码质量评估和优化。

工具列表

  1. analyze_dependencies:分析代码库中的依赖关系并生成依赖关系图。
  2. get_dependency_graph:获取代码库的依赖关系图(JSON 或 DOT 格式)。
  3. get_file_metadata:获取特定文件的详细元数据。
  4. get_architectural_score:根据架构规则对代码库进行评分。

常见问题解答

  • 如何添加对新语言的支持?
  • fileTypes 数组中添加文件扩展名。
  • parseFileImportsparseFileExports 中实现语言特定的正则表达式模式。
  • inferArchitecturalLayer 中添加语言特定的架构模式。

使用教程

使用依赖

  1. 确保已安装 Node.js 和 npm。

安装教程

  1. 克隆仓库:
git clone <repository-url>
  1. 安装依赖:
npm install
  1. 构建项目:
npm run build

配置

在 MCP 设置文件(通常位于 ~/.config/cline/mcp_settings.json)中添加以下内容:

{
  "mcpServers": {
    "DependencyMCP": {
      "command": "node",
      "args": ["path/to/dependency-mcp/dist/index.js"],
      "env": {
        "MAX_LINES_TO_READ": "1000",
        "CACHE_DIR": "path/to/dependency-mcp/.dependency-cache",
        "CACHE_TTL": "3600000"
      }
    }
  }
}

调试方式

  1. 运行服务:
node dist/index.js
  1. 使用客户端工具调用服务功能,例如:
const result = await client.callTool("DependencyMCP", "analyze_dependencies", {
  path: "/path/to/project",
  excludePatterns: ["node_modules", "dist"],
  maxDepth: 10,
  fileTypes: [".ts", ".js", ".cs"]
});

许可证

该项目遵循 MIT 开源许可条款。