Package pre-flight check
AI assistants invent package names, and attackers register them. Paste the names, a package.json or a requirements.txt. Notary checks the live npm and PyPI registries before you run install.
Code models suggest packages that do not exist, often the same invented name run after run. Someone registers it with malicious code, and the next install runs it. Notary tells you when a name has nothing behind it.
Exists or not, whether your pinned version exists, first and last publish, weekly downloads, deprecated or yanked, install-time scripts, npm security placeholders, and names one typo away from a famous package.
It reads public registry data. A package that passes still deserves your normal audit and lockfile review. Ranges like ^4.17.0 are checked at their base version.
Add the MCP server https://notary.clawhard.com/mcp (tool notary_check_packages) or call the JSON API described at /openapi.json. An agent that just wrote a package.json or requirements.txt gets the same verdicts as this page, with similar real packages for names that do not exist.
Add Notary to ChatGPT, Claude, Cursor or any assistant that supports MCP, then ask it to check that npm and PyPI packages really exist (and are not look-alikes) before installing them. No key, no login.
https://notary.clawhard.com/mcpclaude mcp add --transport http clawhard-notary https://notary.clawhard.com/mcp
Press Add to Claude, or open Customize → Connectors → Add custom connector, paste the URL and leave sign-in empty.
Open Plugins → + → Add custom MCP server, paste the URL, choose No authentication, accept the warning, then Create as a plugin. Start a chat and type @ to use it.
codex mcp add clawhard-notary --url https://notary.clawhard.com/mcp
gemini mcp add --transport http clawhard-notary https://notary.clawhard.com/mcp
{
"mcpServers": {
"clawhard-notary": { "url": "https://notary.clawhard.com/mcp" }
}
}{
"servers": {
"clawhard-notary": { "type": "http", "url": "https://notary.clawhard.com/mcp" }
}
}No desktop app? Add to VS Code in the browser · VS Code Insiders · Add to Cursor in the browser
Other apps: Goose · LM Studio. Any MCP client works with the URL (Streamable HTTP, no headers).
OpenAPI (custom GPT Actions, scripts) · llms.txt · MCP server card · Agent card · All Clawhard tools in one connector
Notary checks npm and PyPI package names against the live registry before you install them: does it exist, does that version exist, how old and how used is it, is it deprecated, does it run install scripts, is it a typo of a famous package. No account.
AI assistants sometimes suggest package names that do not exist. An attacker registers the invented name with malicious code, and the next developer or agent that installs it runs that code. A 2025 study found about one in five package names suggested by code models did not exist, and many were suggested again on repeat runs.
Look the name up in the registry: npm view <name> or pip index versions <name> work for one name. Notary does it for up to ten names at once, with version, age, downloads and warning signs, and it works from the page or from an AI assistant over MCP.
No. It reads public registry data: existence, versions, dates, downloads, deprecation, install scripts and look-alike names. A package can pass and still be unsafe; use your usual audit and lockfile review as well.
Yes. Add the MCP server https://notary.clawhard.com/mcp (tool notary_check_packages) or call the JSON API described at /openapi.json. It is also on the Clawhard MCP server at https://mcp.clawhard.com/mcp.
For AI assistants and developers: llms.txt · API (OpenAPI) · MCP server · sitemap