DependencyMCP 服务器
模型上下文协议 (MCP) 服务器,用于分析代码库以生成依赖关系图和架构洞察。该服务器有助于理解跨多种编程语言的代码结构、依赖关系和架构模式。
特征
多语言支持:分析 TypeScript、JavaScript、C#、Python 等语言的依赖关系
依赖图生成:以 JSON 或 DOT 格式创建详细的依赖图
架构分析:推断架构层并根据规则进行验证
文件元数据:从源文件中提取导入、导出和其他元数据
评分系统:根据架构规则和模式评估代码库
Related MCP server: CodeBase Optimizer
安装
克隆存储库
安装依赖项:
npm install构建项目:
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 } } }环境变量:
MAX_LINES_TO_READ:从每个文件读取的最大行数(默认值:1000)
CACHE_DIR:存储依赖项缓存文件的目录(默认值:.dependency-cache)
CACHE_TTL:缓存生存时间(毫秒)(默认值:1 小时 = 3600000)
可用工具
分析依赖关系
分析代码库中的依赖关系并生成依赖关系图。
const result = await client.callTool("DependencyMCP", "analyze_dependencies", {
path: "/path/to/project",
excludePatterns: ["node_modules", "dist"], // optional
maxDepth: 10, // optional
fileTypes: [".ts", ".js", ".cs"] // optional
});获取依赖关系图
获取 JSON 或 DOT 格式的代码库依赖关系图。
const result = await client.callTool("DependencyMCP", "get_dependency_graph", {
path: "/path/to/project",
format: "dot" // or "json" (default)
});获取文件元数据
获取有关特定文件的详细元数据。
const result = await client.callTool("DependencyMCP", "get_file_metadata", {
path: "/path/to/file.ts"
});获取建筑分数
根据架构规则和模式对代码库进行评分。
const result = await client.callTool("DependencyMCP", "get_architectural_score", {
path: "/path/to/project",
rules: [
{
pattern: "src/domain/**/*",
allowed: ["src/domain/**/*"],
forbidden: ["src/infrastructure/**/*"]
}
]
});示例输出
依赖图(JSON)
{
"src/index.ts": {
"path": "src/index.ts",
"imports": ["./utils", "./services/parser"],
"exports": ["analyze", "generateGraph"],
"namespaces": [],
"architecturalLayer": "Infrastructure",
"dependencies": ["src/utils.ts", "src/services/parser.ts"],
"dependents": []
}
}建筑乐谱
{
"score": 85,
"violations": [
"src/domain/user.ts -> src/infrastructure/database.ts violates architectural rules"
],
"details": "Score starts at 100 and deducts 5 points per violation"
}发展
该服务器使用 TypeScript 构建并使用:
Zod 用于模式验证
diff 用于文件比较
minimatch 用于全局模式匹配
项目结构
dependency-mcp/
├── src/
│ └── index.mts # Main server implementation
├── package.json
├── tsconfig.json
└── README.md添加对新语言的支持
要添加对新编程语言的支持:
将文件扩展名添加到默认的
fileTypes数组在
parseFileImports和parseFileExports中实现特定于语言的正则表达式模式将任何特定于语言的架构模式添加到
inferArchitecturalLayer
执照
麻省理工学院
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/mkearl/dependency-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server
