MCP.so
Sign In
Servers

DependencyMCP Server

@mkearl

A Model Context Protocol (MCP) server for analyzing code dependencies

Overview

What is DependencyMCP Server?

A Model Context Protocol (MCP) server that analyzes codebases to generate dependency graphs and architectural insights. It supports multiple programming languages and helps developers understand code structure, dependencies, and architectural patterns.

How to use DependencyMCP Server?

Install by cloning the repository, running npm install and npm run build. Configure by adding the server to your MCP settings file with the command node and the path to the compiled index.js. Optionally set environment variables MAX_LINES_TO_READ, CACHE_DIR, and CACHE_TTL. Use the available tools (analyze_dependencies, get_dependency_graph, get_file_metadata, get_architectural_score) by calling them from an MCP client.

Key features of DependencyMCP Server

  • Multi-language support: TypeScript, JavaScript, C#, Python, and more
  • Dependency graph generation in JSON or DOT format
  • Architectural layer inference and validation against rules
  • Extracts imports, exports, and other file metadata
  • Scores codebase compliance with architectural patterns

Use cases of DependencyMCP Server

  • Analyze dependencies in a project to understand its structure
  • Generate dependency graphs for documentation or refactoring
  • Inspect detailed metadata (imports, exports) of specific files
  • Score a codebase against custom architectural rules

FAQ from DependencyMCP Server

What programming languages are supported?

TypeScript, JavaScript, C#, Python, and more can be analyzed. Support for additional languages can be added by extending file types and regex patterns.

How do I configure caching?

Set CACHE_DIR (default .dependency-cache) and CACHE_TTL (default 1 hour) environment variables. MAX_LINES_TO_READ controls how many lines per file are processed.

What output formats are available for dependency graphs?

Dependency graphs can be returned in JSON or DOT format, selected via the format parameter.

How is the architectural score calculated?

The score starts at 100 and deducts 5 points for each violation of the defined architectural rules.

How can I add support for a new language?

Add file extensions to fileTypes, implement language-specific regex patterns in parseFileImports and parseFileExports, and add architectural patterns to inferArchitecturalLayer.

Tags

More from Other