LensPR
Alpha (0.1.x) — funktioniert mit echten Projekten, wird täglich vom Autor genutzt. Erwarte raue Kanten.
KI-Assistenten bearbeiten deinen Code Datei für Datei. Sie sehen keine Abhängigkeiten. Sie grep, lesen, raten — und machen Dinge drei Dateien weiter kaputt.
LensPR erstellt einen Abhängigkeitsgraphen deiner Codebasis und gibt deiner KI ein strukturelles Verständnis, bevor sie irgendetwas ändert.
Schnellstart
Erfordert Python 3.11+, macOS oder Linux. Für TypeScript/JS-Projekte zusätzlich Node.js 18+.
pip install 'lenspr[all]'
lenspr init .
lenspr setup .Starte deine IDE neu. Fertig. Deine KI hat jetzt lens_*-Tools.
Füge
.lens/zu deiner.gitignorehinzu — der Graph ist lokal und wird aus dem Quellcode neu erstellt.
Was es tut
„Was hängt von dieser Funktion ab?“
Ein einziger Aufruf liefert Quellcode, wer sie aufruft, was sie aufruft und zugehörige Tests:
> lens_context("auth.login_handler")
source: 42 lines
callers: auth_routes.create_routes, test_auth.test_login_success
callees: db.get_user, crypto.verify_password, jwt.create_token
tests: test_login_success, test_login_wrong_passwordOhne LensPR braucht deine KI 5-7 grep/read-Aufrufe und verpasst trotzdem Dinge. Mit LensPR — ein Aufruf, vollständiges Bild.
„Was bricht, wenn ich das ändere?“
Vor jeder Änderung sieht die KI den Auswirkungsbereich:
> lens_check_impact("models.User")
severity: CRITICAL
direct_dependents: 15
indirect_dependents: 23
affected_modules: auth, payments, notifications
tests_covering: 3Die KI warnt dich, ändert ihren Ansatz oder fragt nach Bestätigung. Keine blinden Änderungen mehr.
„Wie gesund ist diese Codebasis?“
> lens_vibecheck()
score: 86/100 (B)
test_coverage: 17/25 — 67% functions tested
dead_code: 20/20 — 0% dead code
circular_imports: 15/15 — 0 cycles
architecture: 12/15 — 1 violation
documentation: 8/10 — 81% documented
graph_confidence: 14/15 — 94% edges resolvedVerfolge, ob sich die Codebasis im Laufe der Zeit verbessert oder verschlechtert.
Sprachübergreifende Sichtbarkeit
LensPR verbindet Frontend und Backend zu einem einzigen Graph:
LoginModal.tsx → fetch("/api/auth/login")
↓ CALLS_API
Backend: @router.post("/login") → login_handler()
→ db.query(User) [reads: users]
→ verify_password()
→ create_jwt_token()Verfolgt auch: Datenbanktabellen, Docker-Dienste, Umgebungsvariablen, CI/CD-Workflows, SQL-Migrationen.
Funktioniert mit
IDE | Einrichtung |
Claude Code |
|
Cursor | Kopiere |
Jeder MCP-Client |
|
Sprachen: Python (95%+ Auflösung über Jedi/Pyright) und TypeScript/JavaScript (85-95% über tree-sitter + TS Compiler API).
Infrastruktur: .sql-Dateien, Dockerfiles, docker-compose.yml, GitHub-Actions-Workflows, .env-Dateien — alle in denselben Graph geparst.
Alles läuft lokal. Dein Code verlässt niemals deinen Computer.
Hauptfunktionen
Auswirkungsanalyse | Schweregrad (LOW → CRITICAL) vor jeder Änderung |
Ein-Aufruf-Kontext | Quellcode + Aufrufer + Aufgerufene + Tests in einer Anfrage |
Sprachübergreifend | Frontend-HTTP → Backend-Routen, DB-Tabellen, Docker, Umgebungsvariablen, CI/CD |
Chirurgische Änderungen | Gezieltes Suchen/Ersetzen innerhalb einer Funktion — keine vollständigen Datei-Neuschreibungen |
Toter Code | Finde unerreichbare Funktionen (Einstiegspunkte von Django, FastAPI, Celery) |
Architekturregeln | Erzwinge Schichtgrenzen — Verstöße warnen, bevor Änderungen angewendet werden |
Git pro Funktion | Blame, Verlauf, Commit-Umfang auf Funktionsebene |
Sitzungsgedächtnis | Die KI macht dort weiter, wo sie aufgehört hat, über Kontext-Resets hinweg |
Auto-Sync | Dateiüberwacher aktualisiert den Graphen bei jedem Speichern |
Gesundheitswert | 0-100 Punkte über 6 Dimensionen — Qualität im Laufe der Zeit verfolgen |
60+ Tools, organisiert in 12 Gruppen — aktiviere nur das, was du brauchst, mit lenspr tools.
Navigation & Suche (8): lens_context, lens_get_node, lens_search, lens_grep, lens_find_usages, lens_get_structure, lens_list_nodes, lens_get_connections
Änderungen (6): lens_update_node, lens_patch_node, lens_add_node, lens_delete_node, lens_rename, lens_batch
Analyse (6): lens_check_impact, lens_validate_change, lens_health, lens_dead_code, lens_dependencies, lens_diff
Qualität (7): lens_vibecheck, lens_nfr_check, lens_test_coverage, lens_security_scan, lens_dep_audit, lens_fix_plan, lens_generate_test_skeleton
Architektur (9): lens_arch_rule_add, lens_arch_rule_list, lens_arch_rule_delete, lens_arch_check, lens_class_metrics, lens_project_metrics, lens_largest_classes, lens_compare_classes, lens_components
Git (4): lens_blame, lens_node_history, lens_commit_scope, lens_recent_changes
Infrastruktur (5): lens_api_map, lens_db_map, lens_env_map, lens_ffi_map, lens_infra_map
Testen & Tracing (3): lens_run_tests, lens_trace, lens_trace_stats
Annotationen (5): lens_annotate, lens_save_annotation, lens_batch_save_annotations, lens_annotate_batch, lens_annotation_stats
Sitzung (4): lens_session_write, lens_session_read, lens_session_handoff, lens_resume
Zeitlich (2): lens_hotspots, lens_node_timeline
Erklärung (1): lens_explain
Bekannte Einschränkungen
Windows — nicht unterstützt. Nur macOS und Linux.
self.method()-Aufrufe — der statische Parser kann die Dispatch-Auflösung von Instanzmethoden nicht vollständig auflösen. Workaround:lens_trace(Python 3.12+) löst diese zur Laufzeit auf.Go, Rust, Java — noch nicht unterstützt. Das Parser-Interface ist bereit für Mitwirkende.
Dynamischer Code —
getattr,eval, dynamische Importe können statisch nicht verfolgt werden.
Mitwirken
Probier es aus. Wenn es bricht, sag mir Bescheid.
Fehlerberichte — selbst „das funktioniert nicht“ ist hilfreich
Sprach-Parser — Go, Rust, Java (das BaseParser-Interface ist bereit)
Ideen — ein Issue eröffnen
Lizenz
MIT
Gebaut, weil KI ständig meinen Code kaputt gemacht hat.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Hosted MCP server for structured code review passes on human- and AI-written code. Free tier.
MCP server for AI agents to plan, verify, and deploy Cloudflare-native apps.
An MCP server that gives your AI access to the source code and docs of all public github repos
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/kyrylopr/lenspr'
If you have feedback or need assistance with the MCP directory API, please join our Discord server