关于 lurq
lurq 为使用 npm 包的编码 Agent 和开发者提供验证服务。其 MCP 工具和命令行可在安装或升级前检查注册表、安全信息、包 API 和依赖兼容性。
主要功能
- 01验证包是否存在及其安全风险
- 02比较候选包并评估兼容性
- 03检查已发布的 API 和版本变更
- 04审计项目依赖和 MCP 服务
- 05根据源码使用情况检查升级影响
适用场景
- 01添加包到项目之前进行核验
- 02为新功能比较 npm 库
- 03审查依赖和 MCP 服务风险
- 04评估升级是否影响代码引用
MCP 相关
lurq 提供 15 个托管 MCP 工具,用于包验证、比较、兼容性检查、审计、API 检查和 MCP 服务分析。其设置流程可配置已检测到的编码 Agent 连接远程服务。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://api.lurq.run/mcpclaude mcp add --transport http jadenryu-lurq https://api.lurq.run/mcp{"mcpServers":{"jadenryu-lurq":{"type":"http","url":"https://api.lurq.run/mcp"}}}在 Cursor 中打开{"servers":{"jadenryu-lurq":{"type":"http","url":"https://api.lurq.run/mcp"}}}在 VS Code 中打开{"mcpServers":{"jadenryu-lurq":{"type":"http","url":"https://api.lurq.run/mcp"}}}{"mcpServers":{"jadenryu-lurq":{"serverUrl":"https://api.lurq.run/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
https://api.lurq.run/mcp需要授权工具
详细介绍
lurq
为 Agent 安装的所有内容提供验证层。
你的编码 Agent 凭记忆挑选 npm 包。lurq 会在任何内容写入 package.json 之前,将其与实时注册表、安全公告、已发布的类型定义和真实的共同安装情况进行核验。
$ lurq verify lodahs
lodahs ✗ do not install 0.0.1-security (latest) without review
• name closely mimics "lodash" — possible typosquat
• 1 critical/high advisory(ies) recorded against this package
risk flags: possible-typosquat-of:lodash, low-downloads, single-maintainer, has-known-advisory
$ lurq verify zod
zod ✓ no supply-chain problems found in 4.6.4 (latest)
weekly dl: 209.2M confidence: proven advisories: 0
$ lurq compat next @auth/core next-auth
next + @auth/core + next-auth conflict
peer-deps next-auth needs peer @auth/[email protected], but the stack uses @auth/[email protected]
真实输出,而非模型图。你的 Agent 通过 MCP 获得的答案与此相同。
为什么你的 Agent 需要它
模型对 npm 的了解止步于其训练截止时间,而注册表不会。
- 杜撰的名称和仿冒名称。 Agent 会自信地安装不存在的包,或是仅仅因为有人注册了拼错的名称才存在的包。
- 发生变更的 API。 在 lurq 跟踪的 38,752 个包中,有 2,725 个在 2026 年 5 月 1 日至 9 月 13 日期间发布了新的主版本。根据记忆编写的代码会调用已重命名或移除的函数。
- 无法一起安装的技术栈。 每个包单独来看都可能正常,但组合起来却会因 peer 或引擎版本范围不兼容而失败。这类问题通常要到部署时才会暴露。
lurq 会依据可展示的证据作答:为 47,238 个包评分,跟踪 420 万个版本,从已发布的代码中提取 34,843 个 API 表面,并记录 2,700 万组共同安装组合;数据每日从 npm、GitHub、deps.dev 和 OSV 刷新。每个答案都带有 dataAsOf 时间戳。
范围: JavaScript/TypeScript 生态系统(npm)。
安装
每台机器只需运行一次命令。无需预先安装任何内容:
npx lurqrun
设置向导会:
- 在浏览器中打开 lurq。登录后,密钥会自动返回终端。
- 检测这台机器上的所有编码 Agent。
- 按照每个 Agent 所需的格式,为其写入带密钥的远程 MCP 配置。
- 在 Agent 支持的情况下安装常驻指令,让它使用 lurq,而不是凭记忆作答。
之后重启你的 Agent。免费套餐每月包含 1,000 次托管调用,且无需提供银行卡信息。
支持: Claude Code · Cursor · Windsurf · VS Code / GitHub Copilot · OpenAI Codex CLI · Gemini CLI · Google Antigravity · Kiro
检查是否正常: 让你的 Agent “在这个项目中添加 zod”。安装任何内容之前,它应先调用 lurq 的 verify。
Claude Code 插件,无需终端:
/plugin marketplace add jadenryu/lurq
/plugin install lurq@lurq
Cursor 和 VS Code 的一键安装链接位于快速入门。
该包以 lurqrun 发布(不带后缀的名称已被占用)。命令为 lurq:
npm install -g lurqrun
lurq --version
面向 AI Agent
如果你是 AI 编码 Agent,且用户要求你设置 lurq,请按以下步骤操作。
1. 运行设置程序。
npx lurqrun setup
在你的 Shell 中,它不会提示输入内容:它会打印一次性登录链接,然后立即退出。将该链接提供给用户。当用户在这台计算机上登录后,lurq 会保存密钥,并自动连接所有检测到的编码 Agent。切勿编造密钥。
2. 或者以非交互方式配置,适用于用户已经从 lurq.run/dashboard/keys 获取密钥,或在云端、SSH 或 CI 机器上运行的情况,因为在这台计算机上无法使用登录链接:
npx lurqrun setup --yes --no-open --api-key <key> --agent <id>
| Agent | --agent |
|---|---|
| Claude Code | claude-code |
| Cursor | cursor |
| Windsurf | windsurf |
| VS Code / GitHub Copilot | copilot |
| OpenAI Codex CLI | codex |
| Gemini CLI | gemini-cli |
| Google Antigravity | antigravity |
| Kiro | kiro |
--agent all 会配置所有检测到的 Agent。使用 --yes 时,密钥也可以来自 LURQ_API_KEY。
有些检查完全不需要密钥。npx lurqrun check-upgrade --upgrade <package>@<from>..<to> 会在本地将某次升级与你的代码实际导入的名称进行比较。
3. 告知用户重启 Agent,然后确认 lurq 出现在其 MCP 工具列表中。
手动编写 MCP 配置
端点:https://api.lurq.run/mcp(可流式传输的 HTTP),请求头为 Authorization: Bearer <key>。不同客户端的字段名称有所不同:
Claude Code(~/.claude.json,在 mcpServers 下)和 VS Code(mcp.json,在 servers 下):
"lurq": { "type": "http", "url": "https://api.lurq.run/mcp", "headers": { "Authorization": "Bearer <key>" } }
Cursor(~/.cursor/mcp.json)和 Kiro(~/.kiro/settings/mcp.json),在 mcpServers 下:
"lurq": { "url": "https://api.lurq.run/mcp", "headers": { "Authorization": "Bearer <key>" } }
Windsurf(~/.codeium/windsurf/mcp_config.json)和 Antigravity(~/.gemini/config/mcp_config.json),在 mcpServers 下:
"lurq": { "serverUrl": "https://api.lurq.run/mcp", "headers": { "Authorization": "Bearer <key>" } }
Gemini CLI(~/.gemini/settings.json,在 mcpServers 下)。必须使用 httpUrl,因为普通的 url 会被解析为 SSE:
"lurq": { "httpUrl": "https://api.lurq.run/mcp", "headers": { "Authorization": "Bearer <key>" } }
Codex(~/.codex/config.toml)。请求头应写在内联表中:
[mcp_servers.lurq]
url = "https://api.lurq.run/mcp"
http_headers = { Authorization = "Bearer <key>" }
| 您即将…… | 调用 |
|---|---|
| 安装或导入软件包 | 先使用确切名称调用 verify |
| 在多个库之间做选择 | 使用 compare 比较候选项,然后对选定项调用 verify |
| 确定一组软件包 | 一次调用 compat,并提供完整的软件包列表 |
| 针对 API 可能已变更的软件包编写代码 | 使用 usage,并将您记得的版本作为 knownVersion |
| 升级,或解释不兼容变更 | 对两个版本调用 diff_surface |
| 在团队代码库中添加依赖项 | 选择之前调用 policy |
| 审查整个项目 | 使用 package.json 和锁文件中的名称与版本调用 audit |
| 将 MCP 服务接入 Agent | 调用 mcp_surface;涉及多个服务时调用 mcp_stack |
| 不确定该使用哪个工具 | 调用 capabilities |
如果 lurq 标记了问题,请告知用户发现了什么,并说明这些信息来自 lurq。unknown 或
UNVERIFIABLE 结果表示 lurq 无法检查。这绝不意味着该软件包没有问题。
机器可读文档:lurq.run/llms.txt · lurq.run/docs/llms-full.txt
MCP 工具
共 15 个工具。响应简洁以节省令牌,软件包相关回答会携带 dataAsOf。
安装前
| 工具 | 可回答的问题 |
|---|---|
verify | 这个软件包真实、健康且安全吗?可识别虚构和仿冒名称 |
evaluate | 单个软件包的完整证据:评分、安全公告、使用指南、沙箱判定 |
compare | 对 2–5 个软件包进行排名并逐一比较 |
policy | 团队的选择政策会拒绝什么,让 Agent 优先选择符合要求的软件包 |
跨技术栈
| 工具 | 可回答的问题 |
|---|---|
compat | 这些软件包能否一起安装?返回具体冲突的 peer 或 engine 范围 |
audit | 一次调用即可检查整个项目中过时、已弃用和存在漏洞的依赖项,以及版本漂移的 MCP 服务 |
diagram | 为技术栈生成参考架构 Mermaid 图 |
编写代码
| 工具 | 可回答的问题 |
|---|---|
usage | 某个版本实际公开的 API(来自随包发布的 .d.ts),以及相较于你熟悉的版本有哪些变化 |
resolve_surface | 某个版本在运行时实际导出的内容 |
diff_surface | 升级版本会新增、移除、重命名或改变参数数量的内容 |
MCP 服务
| 工具 | 可回答的问题 |
|---|---|
mcp_surface | 通过实时 tools/list 握手获取服务实际的工具契约,包括每个工具能够写入或访问的内容 |
mcp_drift | 某个服务在两个版本之间发生了哪些变化 |
mcp_stack | 这些服务在同一个 Agent 的工具命名空间中是否会冲突? |
关于 lurq
| 工具 | 可回答的问题 |
|---|---|
capabilities | 哪个 lurq 工具可以回答当前问题 |
report_outcome | 选择的软件包发布后发生了什么,这些信息会用于改进未来排名 |
各工具的输入、输出和判定定义:MCP 工具参考。
CLI
同一索引,可通过脚本调用。每个读取命令都支持 --json。
# Before installing
lurq verify jsonwebtoken
lurq evaluate zod
lurq compare date-fns dayjs moment
# Stacks and projects
lurq compat next react react-dom
lurq audit . # every dependency and MCP server in the project
# APIs and upgrades
lurq usage zod --known 3.22.4 # what changed since the version you know
lurq upgrade-plan . # what's behind, and what each upgrade removes
lurq check-upgrade . --plan lurq-plan.json --exit-code
# Publishing your own package
lurq check-release # is the version you're about to publish honest?
lurq check-api --against origin/main # does this break your API's callers?
# MCP servers
lurq mcp-scan # read the servers you have configured, record what changed
# Team policy
lurq policy pull policy.json # keep the selection policy in a reviewed file
lurq policy push policy.json # and apply it from CI (needs a policy:write key)
# Finding your way
lurq can "will this upgrade break my code" # which capability answers this?
完整参考:CLI 文档。
Autopilot
lurq 会让仓库依赖保持最新,并在合并前指出升级会破坏哪些代码。
这项检查会读取不同版本之间的符号级 API 差异,并与代码实际引用的内容进行匹配。无需测试。
blocking a referenced symbol or deep import disappears,
or require() of a now-ESM package breaks → the code will throw
warning a call's argument count no longer fits, a new type
error, or a Node / peer version the repo lacks → it may misbehave or not build
ok nothing referenced is affected
unverified could not be established → never counted as safe
| 步骤 | 运行位置 | 需要 |
|---|---|---|
1. lurq upgrade-plan:依赖漂移,以及每项升级会移除的内容 | 你的运行器 | lurq key |
2. lurq check-upgrade:与源码匹配,并标注 file:line | 你的运行器 | 无 |
3. lurq fix:应用软件包自身能够确认的更改——重命名,以及所有清单中的版本范围更新 | 你的运行器 | 无 |
4. claude-code-action:迁移规则无法处理的内容,并运行测试 | 你的运行器 | Anthropic 凭据 |
5. create-pull-request:一个分支,一个 PR | 你的运行器 | GITHUB_TOKEN |
| 6. 回报结果:仅包含名称和数量,不包含源码 | lurq | 无 |
有三种模式,编辑为可选操作。 工作流从 comment 模式开始:它会规划、检查、将摘要写入运行摘要,并且不做任何更改。fix 会创建一个仅包含软件包自身能够确认的内容的拉取请求——重命名调用位置,以及所有清单中的版本范围更新——因此无需 Anthropic 凭据,新启用工作流的仓库默认采用此模式。pr 则是在 fix 的基础上加入 Agent,用于处理规则无法完成的更改。上面的步骤 4 是唯一需要模型的步骤,因此只有 pr 模式会运行它。
对于已经安装工作流的仓库,仪表板设置决定运行模式:每次运行都会从计划响应中读取模式,而不是读取已提交的文件。
运行频率取决于范围——会跟踪破坏性变更的范围采用每周运行,因为主版本更新来得足够慢,每天运行大多只会报告没有新内容;仅设置安全公告的仓库则采用每天运行,因为每周运行可能会让已知 CVE 等上七天。
信任模型。 lurq 的 GitHub App 仅持有 Contents: read-only 和 Actions: write 权限。它可以读取清单并_启动_你提交的工作流,但不能向仓库写入任何内容、修改此文件或设置仓库变量。所有写入均由工作流本身使用你自己的临时 GITHUB_TOKEN 完成,权限受你控制的文件中的 permissions: 代码块限制。Agent 的允许列表为 Read,Edit,Write,Bash(<pkg-manager>:*),因此它可以编辑文件,但绝不会触及版本控制。
运行 git rm .github/workflows/lurq-upgrade.yml 即可移除它。
哪些内容会离开你的机器
仅包含软件包名称和版本,不包含源码。audit 接收 Agent 在本地读取的清单,check-upgrade 会在你自己的运行器上将符号与代码匹配,结果仅报告名称和数量。
有一项例外值得注意:默认情况下,lurq mcp-scan 会将 MCP 服务公开的内容(工具名称、描述和参数,机密信息会经过脱敏)记录到你的账户中,以便告知你有哪些变化。--no-upload 可将扫描结果保留在本机。
证据来源
可读数据: 每日重新同步 npm、GitHub、deps.dev 和 OSV 数据。包括下载量、发布节奏、维护情况、安全公告、弃用信息、许可证和打包体积成本。
执行数据: 隔离沙箱会安装并导入各个版本的包,并将结果记录在兼容性矩阵中。compat 会读取这些依赖关系,以及声明的 peer 和 engine 范围,因此 lurq 能判断整个技术栈是否兼容。
排名是确定且公开的。 评分流程中不使用任何模型:
health = maintenance 0.35 · adoption 0.30 · reliability 0.25 · efficiency 0.10
quality = types · tests · docs · changelog · dep count · license · provenance
composite = blend at a single tunable λ (default 0.35)
所有权重都定义在 src/scoring/weights.ts 中,并可通过 lurq weights 输出。
套餐
| 套餐 | 价格 | 托管调用 |
|---|---|---|
| Free | $0 | 每月 1,000 次 |
| Pro | $15/mo | 每月 10,000 次 |
| Team | $25/seat/mo,至少 3 个席位 | 每席位 15,000 次,共享额度 |
| Business | $1,000/mo 起 | 不限量,含 SSO 和审计导出 |
超出限额后,调用会降至每天 20 次,而不是停止。使用你自己的数据库运行 CLI 永远不会计量收费。详情:定价。
卸载、重新安装以及安装程序的写入位置
可以安全地重新运行安装程序:再次运行 npx lurqrun 会覆盖之前的条目。
lurq uninstall # MCP entries, agent instructions, the stored key
lurq uninstall --agent cursor # just one agent
npm uninstall -g lurqrun # then remove the `lurq` command
程序会列出将要删除的内容,并先征求确认(--yes 可跳过确认)。
| Agent | MCP 配置 | 指引 |
|---|---|---|
| Claude Code | ~/.claude.json | ~/.claude/skills/lurq/SKILL.md |
| Cursor | ~/.cursor/mcp.json | 无(工具描述中已包含指引) |
| Windsurf | ~/.codeium/windsurf/mcp_config.json | ~/.codeium/windsurf/memories/global_rules.md |
| VS Code / Copilot | <VS Code user dir>/mcp.json | 无 |
| Codex | ~/.codex/config.toml | ~/.codex/AGENTS.md |
| Gemini CLI | ~/.gemini/settings.json | ~/.gemini/GEMINI.md |
| Antigravity | ~/.gemini/config/mcp_config.json | ~/.gemini/GEMINI.md |
| Kiro | ~/.kiro/settings/mcp.json | ~/.kiro/steering/lurq.md |
lurq logout 只会清除 CLI 中存储的密钥。每个 MCP 条目中仍会保留一份密钥,直到 lurq uninstall
将其移除;在你于控制面板中撤销密钥之前,它都仍然有效。
自行托管
lurq 也可以连接你自己的 Postgres:运行 lurq serve(stdio MCP)或 lurq serve-http(带速率限制的 HTTP 服务),并设置 DATABASE_URL。已发布的 CLI 只会安装托管使用所需的内容;首次运行自行托管命令时,会输出服务器包所需的确切 npm install 命令。
指南:自行托管。
联系方式
咨询、合作或提案:[email protected]
许可证
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。