Server definition
- Hash
- sha256:f0e3878815d761393a6391e5793c48d47fb21d72b46784d5e25179857a2a00c5
- What it is
- What a remote MCP server returned when asked what it offers: 5 tools
The blob, as servednamed by its sha256
{
"instructions": null,
"tools": [
{
"description": "Publisher-change analysis is npm only. Also reports whether the package exists (found) and its age (first_published, package_age_days, new_package if first published less than 30 days ago), for npm and for PyPI; on PyPI only existence and age are available. Flags a previously unseen human publisher taking over a package after 180+ days of inactivity, within the last 365 days (the event-stream attack pattern). npm trusted publishing (verified OIDC identity, not just a bot-like account name), pre-release, and handovers to a publisher who already maintains another widely used package (100k+ weekly downloads) are reported but not flagged. Does not detect hijacked existing accounts; a heuristic for review, not proof.",
"inputSchema": {
"properties": {
"ecosystem": {
"description": "npm (full analysis) or pypi (existence and age only).",
"type": "string"
},
"package": {
"description": "Package name, e.g. lodash",
"type": "string"
}
},
"required": [
"ecosystem",
"package"
],
"type": "object"
},
"name": "maintainer_change_check",
"outputSchema": null
},
{
"description": "Maintenance signals for a GitHub repository given as owner/name: stars, forks, open issues, license, archived and fork flags, creation date and age, days since last push, topics. Use it to judge whether a dependency looks maintained or abandoned. For an npm or PyPI package whose repository you do not know, supply_chain_check resolves it from registry metadata and includes these signals. GitHub only; missing or private repositories return found: false.",
"inputSchema": {
"properties": {
"repo": {
"description": "GitHub repository in owner/name format, e.g. lodash/lodash.",
"type": "string"
}
},
"required": [
"repo"
],
"type": "object"
},
"name": "repo_health_check",
"outputSchema": null
},
{
"description": "Call this before installing or adding a package (npm install, pip install, a new entry in a manifest), especially one whose name you recalled or that a model suggested. One-call risk check: combines vulnerability_check (OSV.dev), typosquat_check, maintainer_change_check (npm only) and repo_health_check (when the GitHub repo can be resolved) into one overall verdict. A package that does not exist on npm or PyPI gets overall_risk 'package_not_found': the name may be invented, do not install it. A package first published less than 30 days ago gets the 'new_package' flag and overall_risk 'review_recommended': new packages are where invented and look-alike names get registered, so confirm the name against the project's own documentation before installing (on PyPI the age is that of the oldest release still published; being new does not make a package malicious). Use the individual tools to investigate one signal. Vulnerabilities are checked for the given version, or the latest published one (version_checked, version_source). If a check could not run (rate limit, upstream error), it is listed in unavailable_checks and overall_risk is 'incomplete', never 'no_signals_found'.",
"inputSchema": {
"properties": {
"ecosystem": {
"description": "Package ecosystem, e.g. npm. maintainer-change-check only runs for npm.",
"type": "string"
},
"package": {
"description": "Package name to check.",
"type": "string"
},
"version": {
"description": "Exact version to check for known vulnerabilities. Optional: defaults to the latest published version (npm and PyPI).",
"type": "string"
}
},
"required": [
"ecosystem",
"package"
],
"type": "object"
},
"name": "supply_chain_check",
"outputSchema": null
},
{
"description": "Call before installing a package whose name you typed or recalled. Checks whether an npm or PyPI package name is a near-miss of a well-known package (typosquatting), with an edit-distance threshold scaled to name length; names of 3 characters or fewer are not fuzzy-matched. Uses a curated list of popular names, so a clean result does not prove a package is safe. It does not check that the package exists: supply_chain_check does.",
"inputSchema": {
"properties": {
"ecosystem": {
"description": "Package ecosystem, e.g. npm or PyPI.",
"type": "string"
},
"package": {
"description": "Package name to check for likely typosquatting of a well-known package in the given ecosystem.",
"type": "string"
}
},
"required": [
"ecosystem",
"package"
],
"type": "object"
},
"name": "typosquat_check",
"outputSchema": null
},
{
"description": "Checks a package (optionally a specific version) against OSV.dev for known vulnerabilities: npm, PyPI, Go, crates.io, Maven, RubyGems, Packagist and NuGet. Use cve_lookup when you already have a CVE/GHSA ID, or supply_chain_check for a combined verdict.",
"inputSchema": {
"properties": {
"ecosystem": {
"description": "Package ecosystem, e.g. npm, PyPI, Go, crates.io, Maven, RubyGems, Packagist, or NuGet.",
"type": "string"
},
"package": {
"description": "Package name to check against OSV.dev for known CVEs.",
"type": "string"
},
"version": {
"description": "Omit to check all versions of the package.",
"type": "string"
}
},
"required": [
"ecosystem",
"package"
],
"type": "object"
},
"name": "vulnerability_check",
"outputSchema": null
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:f0e3878815d761393a6391e5793c48d47fb21d72b46784d5e25179857a2a00c5 | sha256sum