lurq
Data source and write target: reads GitHub signals (maintenance, release activity) alongside npm/deps.dev/OSV to score packages, uses a read-only Contents GitHub App to inspect repositories, and supports an autopilot workflow that runs in GitHub Actions and opens pull requests upgrading dependencies and rewriting the call sites broken by an upgrade using the user's own GITHUB_TOKEN.
Serves as the core data source for lurq: a live index of npm packages scored from public signals, providing package evidence (advisories, deprecations, release cadence, license, bundle cost), API surface diffs across versions, version timelines, and a compatibility matrix established by installing and importing package versions in a sandbox. Agents can query health/quality scores, verify a package is real, and check whether a stack of npm packages installs together.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@lurqwhat breaks if I upgrade zod from v3 to v4?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
lurq
The verification layer for AI coding agents to ship unbreakable code.
A live index of npm scored from public signals and co-installation through a sandbox. Use lurq through an MCP server, CLI, HTTP API, or an installable agent skill.
Quick start · MCP tools · CLI · Autopilot · How ranking works · Docs
Why
Your agent is terrible at resolving dependency matrices and maintaining old projects, leading to stack version drift.
lurq reads the shipped code instead and caches it so we can diff surfaces across versions. lurq upgrades stacks and reports failures before they can even happen. lurq is what the agent checks first when planning, updating, or deploying any project.
lurq's information comes from readable and executable sources. These include analyzing advisories, release cadence, deprecations, and sandboxing. Compatibility edges are minted continuously and stored in a Postgres database. Responses are compact and token-budgeted so lurq works alongside your agent.
Scope: the JavaScript/TypeScript web stack (npm) only.
Related MCP server: pkg-intel-mcp
Quick start
lurq is a hosted service — you don't run a database or a sync. One command, with nothing installed first:
npx lurqrunThis command runs the guided setup, allowing you to sign in and validate your system with an API key. lurq automatically detects your installed assistants and writes a remote MCP entry.
{
"type": "http",
"url": "https://api.lurq.run/mcp",
"headers": { "Authorization": "Bearer ..." }
}No database credentials ever touch your machine. Restart your agent afterward.
The lurq command
The package is published as lurqrun. The command you type is lurq, and it exists only once the package is
installed.
npm install -g lurqrun # then `lurq` works in any terminal
lurq --versionClaude Code · Cursor · Windsurf · VS Code / Copilot · Codex · Gemini CLI · Antigravity · Kiro
Target one explicitly with npx lurqrun install-skill --agent <name>, or
self-host against your own database with --local.
Reinstall is just setup again. It is safe to re-run and overwrites previous runs.
npx lurqrunUninstall is three separate things, because setup writes to three places:
lurq logout # forget the API key (~/.lurq/config.json)
npm uninstall -g lurqrun # remove the `lurq` commandThe third is the MCP entries in your agents' config files. Delete the lurq entry from whichever of these you
use:
Assistant | MCP config | Instructions file |
Claude Code |
|
|
Cursor |
| |
Windsurf |
|
|
VS Code / Copilot |
| |
Codex |
|
|
Gemini CLI |
|
|
Antigravity |
|
|
Kiro |
|
|
lurq logout only clears the key stored for the CLI. A copy of it
lives in each MCP entry above, so revoke the key from
the dashboard.
MCP tools
lurq can call these tools over MCP. Every response
carries a dataAsOf timestamp so your agents know how fresh the information is.
Tool | What it answers |
| Full evidence read for one package — scores, advisories, usage guide |
| 2–5 packages ranked head-to-head |
| Is this package real, healthy, and not risky? (anti-hallucination guard) |
| Will these packages actually install together? (peer/engine constraints) |
| A reference-architecture Mermaid diagram for a stack |
| A version's real public API — symbols and signatures from its shipped |
| The exact export surface of one package version |
| What a version bump adds, removes, renames, or changes arity on |
| What happened after a pick shipped — installed clean, broke the build, resolved the task |
usage outputs the delta between your agent's analysis of a package versus lurq's ground truth. That fact
exists in no changelog and no model's training data.
CLI
The same index, scriptable. Every capability is a subcommand.
# Evidence
lurq evaluate zod
lurq compare date-fns dayjs moment
lurq verify jsonwebtoken
# API surfaces
lurq usage zod --known 3.22.4 # what changed since the version you know
lurq versions react # stored version timeline
# Stacks
lurq compat next react react-dom # do these install together?
# Upgrades
lurq upgrade-plan . # what's behind, and what each upgrade removes
lurq check-upgrade . --plan lurq-plan.json --exit-code
# Shipping your own (the same diff, pointed the other way)
lurq check-release # is the version you're about to publish honest?
lurq check-api --against origin/main # does this break the callers of your API?
# Finding your way around
lurq can "will this upgrade break my code" # which lurq capability answers this?
# Configuration & serving
lurq weights # the exact ranking weights, printed
lurq edit-weights --set composite.lambda=0.5
lurq serve-http # run it as a rate-limited service of your ownUse the '-- json ' flag for every read command.
Autopilot
lurq also keeps a repository's dependencies current and rewrites the code an upgrade breaks.
lurq can open PRs addressing the symbol-level API surface diff and resolve with what calls your code references.
The gate needs no tests at all.
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 safeThe loop
Step | Runs on | Needs |
1. | your runner | lurq key |
2. | your runner | nothing |
3. | your runner | Anthropic credential |
4. | your runner |
|
5. Outcomes post back — names and counts, never source | lurq | — |
Steps 1–2 are the default and are also available on the web app through project autopilot. The generated workflow starts in comment mode: it
plans, checks, and writes the brief to the run summary. Editing
is opt-in per repository. Click the policy tab to set global security parameters.
Trust model
lurq's GitHub App is
Contents: read-onlyand stays that way. It cannot write to any repository, ever.Every write uses your own
GITHUB_TOKEN— ephemeral, scoped to one repo, limited to thepermissions:block in your committed file.The agent cannot touch version control. Its allowlist is
Read,Edit,Write,Bash(<pkg-manager>:*). Your agent can only edit files.Revoking it is
git rm .github/workflows/lurq-upgrade.yml.
Architecture and limits: docs/lurq-autopilot.md.
Where the evidence comes from
Readable — npm, GitHub, deps.dev, and OSV, re-synced daily. Downloads, release cadence, maintenance, advisories, deprecations, license, bundle cost.
Executed — an isolated sandbox (E2B, with a local driver for trusted work) that
installs and imports a package version. Results are recorded in the compatibility matrix.
Compatibility is established through co-installation. compat reads those edges, which is why lurq can tell you
that an entire stack holds together.
Executable proof allows lurq to look beyond changelogs and training data.
How ranking works
Deterministic, and public. No model sits in the scoring path — health and quality are computed from recorded signals, which is why lurq is fast, cheap, and reproducible.
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)quality is a separate, adoption-independent axis.
Every weight lives in src/scoring/weights.ts and is
printable with lurq weights.
Contact
Inquiries, partnerships, or proposals: jadenryu@lurq.run
License
This server cannot be deployed
Maintenance
Related MCP Connectors
Package intelligence for AI agents across npm, PyPI, crates.io and deps.dev. No API keys.
Package intelligence for AI agents across npm, PyPI, crates.io and deps.dev. No API keys.
Provide AI-powered real-time analysis and intelligence on NPM packages, including security, depend…
npm & PyPI freshness for AI agents: latest version, deprecations, dated breaking-change diffs.
Related MCP Servers
- AlicenseBqualityDmaintenanceEnables AI agents to safely upgrade JavaScript and TypeScript projects through dependency analysis, upgrade path detection, breaking change identification, codemod application, and PR summary generation.144 npmMIT
- FlicenseAqualityCmaintenancePackage intelligence for AI coding agents that checks npm and PyPI package health, deprecation, vulnerabilities, bundle size, and compares alternatives.5-
- AlicenseAqualityCmaintenanceProvides accurate, source-grounded breaking-change briefings for npm packages by reading real GitHub release notes and CHANGELOGs, helping coding agents avoid hallucinated dependency migrations.36 npmMIT
- AlicenseNot gradedqualityBmaintenanceEnables AI coding agents to identify exactly what broke between two dependency versions, with citations for every claim, and to verify package existence to catch typosquatting, all without requiring an API key.MIT