← Back to search

io.github.vola-trebla/ast-impact-mapper-mcp

vola-trebla Scanned 33d ago

MCP server that uses TypeScript AST to find which tests are affected by a code change

B
81.4 / 100

Versions

0.1.1latest
first seen Jun 5, 2026
PermissionsTool SafetyAuthAnnotationsCode QualityStabilitySpecVuln HistoryAuthorTransparencyCommunity

Tools 15

differentiate_type_impact
annotations: none low

Classifies each changed file as type-only or runtime, then splits affected tests into

analyze_api_surface_mutation
annotations: none low

Compares a file against its HEAD version and classifies the change as

get_rename_aware_diff
annotations: none low

Like get_affected_tests_by_branch, but correctly handles renamed and moved files.

refresh_project
annotations: none low

Clears the cached AST for a project root, forcing a full re-parse on the next call.

get_symbol_dependency_graph
annotations: none low

Retrieves a bidirectional or directed dependency graph mapped to individual declarations, functions, and variables.

detect_architectural_cycles
annotations: none low

Detects circular import dependencies — A imports B which imports C which imports A.

get_affected_tests
annotations: none low

Given a list of changed source files, returns which test files are affected —

explain_impact
annotations: none low

Finds the exact import chain that connects a changed source file to a test file.

get_affected_tests_by_branch
annotations: none low

Runs `git diff --name-only <base_branch>...HEAD` internally and returns affected test files.

get_dependency_graph
annotations: none low

Returns the direct import graph for a specific file:

get_coverage_gaps
annotations: none low

Finds source files that are not reachable from any test file through the import graph —

get_test_summary
annotations: none low

Returns a bird's-eye view of the project's test structure: coverage rate,

identify_unreachable_modules
annotations: none low

Finds source files that are never imported by any other file — dead code candidates safe to delete.

generate_skeleton_view
annotations: none low

Generates a token-optimized representation of a source file by stripping function and method bodies, keeping only JSDocs and declarations with line numbers.

generate_test_command
annotations: none low

Outputs the optimal test execution command for Jest, Vitest, or Playwright based on changed files.

Permissions 2

filesystem low
Server uses filesystem capabilities via: fs sync ops
shell high
Server uses shell capabilities via: child_process, execSync()

Scan Findings 38

low
Tool 'get_affected_tests' has no annotations annotation_checker · 100%
low
Tool 'explain_impact' has no annotations annotation_checker · 100%
low
Tool 'get_affected_tests_by_branch' has no annotations annotation_checker · 100%
low
Tool 'get_dependency_graph' has no annotations annotation_checker · 100%
low
Tool 'get_coverage_gaps' has no annotations annotation_checker · 100%
low
Tool 'get_test_summary' has no annotations annotation_checker · 100%
low
Tool 'identify_unreachable_modules' has no annotations annotation_checker · 100%
low
Tool 'detect_architectural_cycles' has no annotations annotation_checker · 100%
low
Tool 'differentiate_type_impact' has no annotations annotation_checker · 100%
low
Tool 'analyze_api_surface_mutation' has no annotations annotation_checker · 100%
low
Tool 'get_rename_aware_diff' has no annotations annotation_checker · 100%
low
Tool 'refresh_project' has no annotations annotation_checker · 100%
low
Tool 'get_symbol_dependency_graph' has no annotations annotation_checker · 100%
low
Tool 'generate_skeleton_view' has no annotations annotation_checker · 100%
low
Tool 'generate_test_command' has no annotations annotation_checker · 100%
info
Sandbox failed to start for behavioral verification behavioral_verifier · 100%
info
package.json metadata manifest_parser · 100%
info
Tool: get_affected_tests manifest_parser · 85%
info
Tool: explain_impact manifest_parser · 85%
info
Tool: get_affected_tests_by_branch manifest_parser · 85%
info
Tool: get_dependency_graph manifest_parser · 85%
info
Tool: get_coverage_gaps manifest_parser · 85%
info
Tool: get_test_summary manifest_parser · 85%
info
Tool: identify_unreachable_modules manifest_parser · 85%
info
Tool: detect_architectural_cycles manifest_parser · 85%
info
Tool: differentiate_type_impact manifest_parser · 85%
info
Tool: analyze_api_surface_mutation manifest_parser · 85%
info
Tool: get_rename_aware_diff manifest_parser · 85%
info
Tool: refresh_project manifest_parser · 85%
info
Tool: get_symbol_dependency_graph manifest_parser · 85%
info
Tool: generate_skeleton_view manifest_parser · 85%
info
Tool: generate_test_command manifest_parser · 85%
info
Transport: stdio manifest_parser · 90%
info
Sandbox failed to start for output poisoning scan output_poisoning · 100%
low
Permission: filesystem access detected permission_analyzer · 90%
high
Permission: shell access detected permission_analyzer · 95%
info
SBOM generated: 333 components sbom_generator · 100%
medium
No build provenance detected (SLSA L0) slsa_assessor · 90%