基本能力
产品定位
DependencyMCP Server 是一个代码分析工具,专注于生成依赖关系图和提供架构洞察,帮助开发者优化代码结构和架构设计。
核心功能
- 多语言支持:支持 TypeScript、JavaScript、C#、Python 等多种编程语言。
- 依赖关系图生成:生成详细的依赖关系图,支持 JSON 或 DOT 格式。
- 架构分析:推断架构层次并验证是否符合规则。
- 文件元数据提取:从源文件中提取导入、导出等元数据。
- 评分系统:根据架构规则和模式对代码库进行评分。
适用场景
- 代码库的依赖关系可视化。
- 架构设计和优化。
- 代码质量评估和优化。
工具列表
- analyze_dependencies:分析代码库中的依赖关系并生成依赖关系图。
- get_dependency_graph:获取代码库的依赖关系图(JSON 或 DOT 格式)。
- get_file_metadata:获取特定文件的详细元数据。
- get_architectural_score:根据架构规则对代码库进行评分。
常见问题解答
- 如何添加对新语言的支持?
- 在
fileTypes
数组中添加文件扩展名。 - 在
parseFileImports
和parseFileExports
中实现语言特定的正则表达式模式。 - 在
inferArchitecturalLayer
中添加语言特定的架构模式。
使用教程
使用依赖
- 确保已安装 Node.js 和 npm。
安装教程
- 克隆仓库:
bash
git clone <repository-url> - 安装依赖:
bash
npm install - 构建项目:
bash
npm run build
配置
在 MCP 设置文件(通常位于 ~/.config/cline/mcp_settings.json
)中添加以下内容:
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"
}
}
}
}
调试方式
- 运行服务:
bash
node dist/index.js - 使用客户端工具调用服务功能,例如:
typescript
const result = await client.callTool("DependencyMCP", "analyze_dependencies", {
path: "/path/to/project",
excludePatterns: ["node_modules", "dist"],
maxDepth: 10,
fileTypes: [".ts", ".js", ".cs"]
});