MCP Source Relation Server

by owayo
Verified

local-only server

The server can only run on the client’s local machine because it depends on local resources.

Integrations

  • 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

Servidor de relación de origen MCP

Este es un servidor MCP que analiza la relevancia del código fuente en src de un directorio especificado. Analiza las declaraciones de importación para cada idioma e identifica las dependencias entre los archivos. Al integrarse con Claude, le permite a Claude ver rápidamente las dependencias del proyecto y ayuda a identificar archivos relacionados.

función

  • Admite análisis de importaciones en varios idiomas
    • TypeScript/JavaScript: declaración import , declaración require
    • Python: declaración import , from ... import
    • Ruby: declaración require , declaración require_relative
    • Rust: declaración de mod , declaración use
  • Corresponde a los alias de ruta en tsconfig.json (como @/components/... )
  • Admite funciones especiales para cada idioma.
    • Python: __init__.py , importaciones relativas
    • Rust: patrón mod.rs
    • TypeScript: alias, index.ts
    • Ruby: require sin extensión

configuración

Prerrequisitos

  • Python 3.10 o posterior
  • ultravioleta

instalar

# uvのインストール $ curl -LsSf https://astral.sh/uv/install.sh | sh $ cd /path/to/mcp-source-relation # ライブラリのインストール $ uv sync

Claude para configuraciones de escritorio

Agregue lo siguiente a claude_desktop_config.json :

{ "mcpServers": { "source-relation": { "command": "uv", "args": [ "--directory", "/path/to/mcp-source-relation", # このプロジェクトディレクトリの絶対パスに書き換えてください "run", "source_relation.py" ] } } }

Cómo utilizar

Uso por Claude

/Users/xxx/GitHub/xxx/ のソースの依存関係を確認してy lo indica de esta manera, funcionará.

`/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` を継承することで実現できる設計になっていることがわかります。

Si especifica un directorio, se analizará el directorio src que se encuentra debajo de él. Si especifica un archivo, el análisis se basará en ese archivo. También admite la entrada de ruta desde el indicador. Para usarlo con un mensaje, seleccione Attach from MCP -> Choose an integration -> source-relation .

Formato de salida

Los resultados del análisis se muestran en formato JSON de la siguiente manera:

{ "dependencies": { "components/Button.tsx": [ "types/index.ts", "utils/theme.ts" ], "pages/index.tsx": [ "components/Button.tsx", "utils/api.ts" ] } }

Todas las rutas son relativas al directorio src .

Formatos de importación admitidos

TypeScript/JavaScript

  • import { Component } from './Component'
  • import type { Type } from '@/types'
  • import './styles.css'
  • require('./module')
  • Rutas de alias ( @/components/... )

Pitón

  • import module
  • from module import name
  • from .module import name
  • from ..module import name

Rubí

  • require 'module'
  • require_relative './module'
  • Requerir sin prórroga

Óxido

  • mod module;
  • use crate::module;
  • use super::module;
  • use self::module;

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

Analiza las dependencias del código fuente en múltiples lenguajes de programación en el directorio especificado para identificar relaciones de archivos, lo que ayuda en la gestión de dependencias y la comprensión de la estructura del proyecto.

  1. 機能
    1. セットアップ
      1. 必要条件
      2. インストール
    2. Claude for Desktopでの設定
      1. 使用方法
        1. Claudeでの使用
      2. 出力形式
        1. サポートされるインポート形式
          1. TypeScript/JavaScript
          2. Python
          3. Ruby
          4. Rust
        ID: jmnzj9317i