dependents.py
- Pfad:
/var/www/mcp-servers/mcp-code/tools/dependents.py - Namespace: -
- Zeilen: 46 | Größe: 1,432 Bytes
- Geändert: 2025-12-28 13:04:03 | Gescannt: 2025-12-31 10:22:15
Code Hygiene Score: 100
- Dependencies: 100 (25%)
- LOC: 100 (20%)
- Methods: 100 (20%)
- Secrets: 100 (15%)
- Classes: 100 (10%)
- Magic Numbers: 100 (10%)
Keine Issues gefunden.
Dependencies 1
- use db.execute_query
Funktionen 1
-
register_dependents_tool()Zeile 6
Code
"""code_dependents - Wer nutzt diese Klasse? (incoming) - Wichtigste Funktion!"""
from db import execute_query
def register_dependents_tool(mcp):
"""Registriert code_dependents Tool."""
@mcp.tool()
def code_dependents(
fqcn: str,
dependency_type: str = None,
) -> dict:
"""
Zeigt wer diese Klasse nutzt (incoming - Impact-Analyse vor Aenderungen).
Args:
fqcn: Vollstaendiger Klassenname (z.B. Controller\\HomeController)
dependency_type: Filter nach Typ: extends, implements, constructor, use, trait (optional)
Returns:
Dict mit dependents: [{file_id, file_name, namespace, dependency_type}]
"""
# SQL exakt aus PHP CodeAnalysisRepository::findDependents() (Zeile 290-311)
sql = """
SELECT ca.id as file_id, ca.file_name, ca.file_path, ca.namespace, cd.dependency_type
FROM code_dependencies cd
JOIN code_analysis ca ON cd.analysis_id = ca.id
WHERE cd.target_fqcn = %s
"""
params = [fqcn]
if dependency_type:
sql += " AND cd.dependency_type = %s"
params.append(dependency_type)
sql += " ORDER BY ca.file_name"
dependents = execute_query(sql, tuple(params))
return {
"fqcn": fqcn,
"dependents": dependents,
"count": len(dependents),
}