Token导航 LogoToken导航TokenDH.com
lenspr (Kyrylopr) logo
开发工具stdio官方级别未说明来源级核验

lenspr (Kyrylopr)

MCP Server

LensPR是一款为AI编程代理设计的代码智能依赖分析工具,通过构建代码库的依赖图,帮助AI在修改代码前理解结构依赖关系,避免破坏性修改。

工具数

60

提示词数

0

GitHub Stars

0

资源数

0
代码分析代码质量PythonCursorCursor

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

kyrylopr

提供方

kyrylopr

最后核验

2026/5/17 20:22

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

pip install 'lenspr[all]'

详细介绍

Code intelligence for AI coding agents. Your AI sees dependencies before making changes.

Alpha(0.1.x)——在真实项目上工作,作者每天都在使用。预计会有粗糙的边缘。

AI助手一次编辑一个文件的代码。他们看不到依赖关系。他们抓取、阅读、猜测,然后把东西分成三个文件。

LensPR为你的代码库构建了一个依赖图,并在它改变任何东西之前给你的AI结构理解。

快速开始

需要 Python 3.11+, macOS或Linux.对于TypeScript/JS项目,也 Node.js 18+.

pip install 'lenspr[all]'
lenspr init .
lenspr setup .

重新启动IDE。完成。你的AI现在已经 lens_* 工具。

添加 .lens/ 到你的 .gitignore --该图是本地的,并从源代码重建。

______________________________________________________________________

它的作用

“什么取决于这个功能?”

一个调用返回源代码、调用者、调用内容和相关测试:

> 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_password

如果没有LensPR,你的AI会进行5-7次grep/read调用,但仍然会错过一些东西。使用LensPR,只需一次通话,即可获得完整画面。

“如果我改变这个,会有什么问题?”

在任何修改之前,AI都会看到爆炸半径:

> lens_check_impact("models.User")

severity: CRITICAL
direct_dependents: 15
indirect_dependents: 23
affected_modules: auth, payments, notifications
tests_covering: 3

人工智能会警告你,改变它的方法,或者要求你确认。不再有盲目的编辑。

“这个代码库有多健康?”

> 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 resolved

跟踪代码库是否随着时间的推移而改进或降级。

跨语言可见性

LensPR将前端和后端连接到一个图形中:

LoginModal.tsx → fetch("/api/auth/login")
                        ↓ CALLS_API
Backend:  @router.post("/login") → login_handler()
            → db.query(User)        [reads: users]
            → verify_password()
            → create_jwt_token()

还跟踪:数据库表、Docker服务、环境变量、CI/CD工作流、SQL迁移。

______________________________________________________________________

使用

IDE设置
克劳德代码lenspr setup . --自动
光标复制 .mcp.json.cursor/mcp.json
任何MCP客户端`lenspr serve
`

语言: Python(通过Jedi/Pyright获得95%以上的分辨率)和TypeScript/JavaScript(通过tree-sitter+TS编译器API获得85-95%)。

基础设施: .sql 文件、Dockerfiles, docker-compose.ymlGitHub操作工作流, .env 文件——全部解析到同一个图中。

一切都在本地运行。你的代码永远不会离开你的机器。

______________________________________________________________________

主要特点

影响分析严重性(低→ 在做出任何改变之前
一个通话上下文一个请求中的源+调用者+被调用者+测试
跨语言前端HTTP→ 后端路由、数据库表、Docker、环境变量、CI/CD
外科编辑在函数内进行有针对性的查找/替换——不重写完整文件
死代码查找无法访问的函数(Django、FastAPI、Celery入口点)
架构规则强制执行图层边界——在应用更改之前发出违规警告
每个函数的Git职能层面的责任、历史、提交范围
会话内存AI在上下文重置过程中继续前进
自动同步每次保存时,文件监视器都会更新图形
健康评分6个维度0-100分——跟踪质量随时间变化

60多种工具分为12组,只启用您需要的工具 lenspr tools.

All tools by category

导航和搜索(8): lens_context, lens_get_node, lens_search, lens_grep, lens_find_usages, lens_get_structure, lens_list_nodes, lens_get_connections

修改(6): lens_update_node, lens_patch_node, lens_add_node, lens_delete_node, lens_rename, lens_batch

分析(6): lens_check_impact, lens_validate_change, lens_health, lens_dead_code, lens_dependencies, lens_diff

质量(7): lens_vibecheck, lens_nfr_check, lens_test_coverage, lens_security_scan, lens_dep_audit, lens_fix_plan, lens_generate_test_skeleton

建筑(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

基础设施(5): lens_api_map, lens_db_map, lens_env_map, lens_ffi_map, lens_infra_map

测试和跟踪(3): lens_run_tests, lens_trace, lens_trace_stats

注释(5): lens_annotate, lens_save_annotation, lens_batch_save_annotations, lens_annotate_batch, lens_annotation_stats

会议(4): lens_session_write, lens_session_read, lens_session_handoff, lens_resume

时间(2): lens_hotspots, lens_node_timeline

说明(1): lens_explain

______________________________________________________________________

已知限制

  • 视窗 --不支持。仅限macOS和Linux。
  • self.method() 电话 --静态解析器不能完全解析实例方法分派。解决方法: lens_trace (Python 3.12+)在运行时解析这些问题。
  • Go、Rust、Java --尚未得到支持。解析器接口已准备好供贡献者使用。
  • 动态代码getattr, eval,动态导入不能静态跟踪。

______________________________________________________________________

贡献

试试看。如果它坏了,告诉我。

  • 错误报告 --即使是“这行不通”也是有帮助的
  • 语言解析器 --Go、Rust、Java(BaseParser接口已就绪)
  • 想法打开一个问题

许可证

麻省理工学院

______________________________________________________________________

因为AI一直在破坏我的代码。

目录标签

目录标签

代码分析代码质量PythonCursor本地部署依赖管理AI辅助编程跨语言支持

支持客户端

Cursor

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

session

工具数量(toolCount,工具数)

60

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiosession部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP