The MCP Source Relation Server analyzes dependencies between source code files in a specified directory to identify import relationships across multiple programming languages.
Capabilities:
Analyzes entire directories or specific files
Supports TypeScript/JavaScript, Python, Ruby, and Rust
Handles language-specific features like path aliases,
__init__.py,mod.rs, and extension-less requiresGenerates dependency relationships in structured JSON format
Provides results with paths relative to the source directory
Extensible through a base analyzer class for adding new language support
Analyzes JavaScript files for import statements and require statements to determine file dependencies
Analyzes Python files for import statements, from...import statements, init.py, and relative imports to determine file dependencies
Analyzes Ruby files for require statements and require_relative statements, including those without extensions, to determine file dependencies
Analyzes Rust files for mod declarations, use statements, and mod.rs patterns to determine file dependencies
Analyzes TypeScript files for import statements, require statements, and supports path aliases (like @/components/...) to determine file dependencies
MCP Source Relation Server
指定されたディレクトリの src 配下のソースコードの関連性を解析するMCPサーバーです。
言語ごとのインポート文を解析し、ファイル間の依存関係を特定します。
Claudeに組み込むことで、Claudeがプロジェクトの依存関係を素早く確認でき、関連するファイルの特定に役立ちます。
機能
複数言語のインポート解析をサポート
TypeScript/JavaScript:
import文、require文Python:
import文、from ... import文Ruby:
require文、require_relative文Rust:
mod宣言、use文
tsconfig.jsonのパスエイリアス(
@/components/...など)に対応言語ごとの特殊な機能に対応
Python:
__init__.py、相対インポートRust:
mod.rsパターンTypeScript: エイリアス、
index.tsRuby: 拡張子なしのrequire
Related MCP server: DependencyMCP Server
セットアップ
必要条件
Python 3.10以上
uv
インストール
Claude for Desktopでの設定
claude_desktop_config.json に以下の設定を追加してください:
使用方法
Claudeでの使用
/Users/xxx/GitHub/xxx/ のソースの依存関係を確認して のように指示すると動作します
ディレクトリを指定した場合はその下の src ディレクトリを解析します
ファイルを指定した場合はそのファイルを基準に解析します
promptからのパス入力にも対応しています
promptで利用する場合は、Attach from MCP->Choose an integration->source-relationを選択してください
出力形式
解析結果は以下のようなJSON形式で出力されます:
すべてのパスはsrcディレクトリを基準とした相対パスで表示されます。
サポートされるインポート形式
TypeScript/JavaScript
import { Component } from './Component'import type { Type } from '@/types'import './styles.css'require('./module')エイリアスパス(
@/components/...)
Python
import modulefrom module import namefrom .module import namefrom ..module import name
Ruby
require 'module'require_relative './module'拡張子なしのrequire
Rust
mod module;use crate::module;use super::module;use self::module;