0xWisco_Labs_ Launching soon

Know what an upgrade breaks before your agent runs pip install.

Give it a requirements.txt. It flags malicious packages and known vulnerabilities, names the smallest safe version, and tells you what each upgrade removes or deprecates, read from the actual release notes.

claude mcp add --transport http wisco-labs https://api.wiscolabs.dev/mcp
Free during beta. No key needed.
requirements.txt
flask==2.3.3
requests==2.31.0
urllib3==1.26.18
certifi==2023.7.22
→ upgrade_check
What to do, in order 3 known vulnerabilities · 34 removals · 16 deprecations across 66 releases

A real response from the API, shortened for the page. Select a package to see why.

Tools

Four questions your agent can ask

Each one is an MCP tool and an HTTP endpoint. Answers are JSON, built to be read by a model.

upgrade_check

"Is this project safe, and what should I upgrade first?"

Takes a requirements.txt. Returns each package sorted into remove_now, fix_now, needs_care and more, with a suggested version and the risk of getting there.

POST /v1/package_changes/upgrade_check

what_changed

"What breaks if I go from Flask 2.3.3 to 3.1.3?"

Every breaking change, removal, deprecation and security fix between two versions of one package, with the release note each came from.

GET /v1/package_changes/what_changed

vulnerabilities

"Does urllib3 1.26.18 have known vulnerabilities?"

Advisories that affect one exact version, their severity, and the smallest version that fixes all of them. Malicious-package reports included.

GET /v1/osv/vulnerabilities

package_info

"What's the latest version of pydantic, and where's its source?"

Latest version, release count, source repository and where the project keeps its changelog.

GET /v1/package_changes/package_info
The data

Collected continuously, kept forever

Every source is checked on a schedule and saved whenever it changes, so the full history is there to answer from. Counts as of October 25, 2026.

3,000most-downloaded Python packages
246,779releases
1,145,299categorized changes from release notes
26,619security advisories
Releases

PyPI metadata, refreshed every 6 hours, including yanked versions.

Release notes

GitHub releases and changelog files, refreshed daily. Monorepos are split so each package only gets its own notes.

Vulnerabilities

OSV advisories (osv.dev, CC-BY 4.0), refreshed hourly. Duplicate reports of one issue are merged.

Connect

One line to add it

Run this once in a terminal. Claude Code will offer the tools whenever you work on a Python project.

claude mcp add --transport http wisco-labs https://api.wiscolabs.dev/mcp
Status

Uptime and freshness, in the open

Checking…
The API isn't public yet.
Data last published
—
Response time
—
Checked
—
Uptime history →
  • Dedicated hardware that restarts on its own after updates or power loss. A second location is on the way, so one outage won't take the API down.
  • Every answer says how fresh it is. Responses include data_published_at, so an agent can tell old data from new.
  • Checked from outside every 5 minutes, with the history public.