MCP Source Relation Server
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
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@MCP Source Relation Serveranalyze dependencies in my project's src folder"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MCP Source Relation Server
This is an MCP server that analyzes the relationships of source code under src directory of a specified directory. It analyzes import statements for each language and identifies dependencies between files. By incorporating it into Claude, Claude can quickly check the dependencies of a project and help identify related files.
function
Supports multi-language import parsing
TypeScript/JavaScript:
importstatement,requirestatementPython:
importstatement,from ... importstatementRuby:
requirestatement,require_relativestatementRust:
moddeclaration,usestatement
Corresponds to path aliases in tsconfig.json (such as
@/components/...)Supports special features for each language
Python:
__init__.py, relative importsRust:
mod.rspatternTypeScript: alias,
index.tsRuby: require without extension
Related MCP server: QoutaMCP
set up
Prerequisites
Python 3.10 or later
uv
install
# uvのインストール
$ curl -LsSf https://astral.sh/uv/install.sh | sh
$ cd /path/to/mcp-source-relation
# ライブラリのインストール
$ uv syncClaude for Desktop Settings
Add the following to claude_desktop_config.json :
{
"mcpServers": {
"source-relation": {
"command": "uv",
"args": [
"--directory",
"/path/to/mcp-source-relation", # このプロジェクトディレクトリの絶対パスに書き換えてください
"run",
"source_relation.py"
]
}
}
}How to use
Use by Claude
/Users/xxx/GitHub/xxx/ のソースの依存関係を確認してand instruct it like this, it will work
`/Users/owa/GitHub/mcp-source-relation/` のソースコードの依存関係を確認してみましょう。
依存関係の分析結果から、以下のような構造が確認できます:
1. メインの解析モジュール: `src/source_analyzer.py`
- 各言語固有の解析モジュールを利用しています(Ruby, Python, TypeScript, Rust)
2. 言語別の解析モジュール:
- `src/analyzers/ruby.py`
- `src/analyzers/python.py`
- `src/analyzers/typescript.py`
- `src/analyzers/rust.py`
- すべて `src/analyzers/base.py` を継承しています
3. 共通基盤:
- `src/analyzers/base.py`: 基本的な解析機能を提供
- `src/utils/path.py`: パス操作のユーティリティ
- `src/configs/typescript.py`: TypeScript固有の設定
特徴的な点:
- 各言語の解析モジュールは共通の基底クラス(base.py)を継承しており、一貫性のある設計になっています
- TypeScriptのみ独自の設定ファイル(configs/typescript.py)を持っています
- パス操作は共通のユーティリティモジュール(utils/path.py)に集約されています
この構造から、新しい言語のサポートを追加する場合は、`src/analyzers/` に新しいモジュールを追加し、`base.py` を継承することで実現できる設計になっていることがわかります。If you specify a directory, the src directory under it will be analyzed. If you specify a file, the analysis will be based on that file. It also supports path input from the prompt. To use it with a prompt, select Attach from MCP -> Choose an integration -> source-relation .
Output Format
The analysis results are output in JSON format as follows:
{
"dependencies": {
"components/Button.tsx": [
"types/index.ts",
"utils/theme.ts"
],
"pages/index.tsx": [
"components/Button.tsx",
"utils/api.ts"
]
}
}All paths are relative to the src directory.
Supported import formats
TypeScript/JavaScript
import { Component } from './Component'import type { Type } from '@/types'import './styles.css'require('./module')Alias paths (
@/components/...)
Python
import modulefrom module import namefrom .module import namefrom ..module import name
Ruby
require 'module'require_relative './module'Require without extension
Rust
mod module;use crate::module;use super::module;use self::module;
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Tools
Related MCP Servers
- AlicenseAqualityDmaintenanceAnalyzes codebases to generate dependency graphs and architectural insights across multiple programming languages, helping developers understand code structure and validate against architectural rules.66119MIT
- AlicenseAqualityDmaintenanceEnables inspection and analysis of project structures to detect languages, frameworks, entry points, and dependencies across multiple programming languages including Node.js, Python, PHP, Go, Java, and Rust.3101ISC
- Alicense-qualityDmaintenanceGenerates and queries a graph representation of a codebase to identify entities and their relationships, such as function calls and inheritance. It supports multiple languages including Python, JavaScript, and Rust to help users navigate and understand complex code structures.2822MIT
- AlicenseBqualityCmaintenanceEnables token-efficient semantic search and analysis over any directory of files through hybrid search, directory overview, structural analysis, and dependency graphs.14MIT
Related MCP Connectors
Generate SBOMs, scan vulnerabilities, and analyze dependencies from local projects or Git repos.
Enterprise code intelligence for M&A, security audits, and tech debt. Hosted server with 200k free.
Scan code for quantum-vulnerable cryptography and get NIST post-quantum migration guidance.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/owayo/mcp-source-relation'
If you have feedback or need assistance with the MCP directory API, please join our Discord server