BlackVeil DNS & Email Security Scanner
DNS and email security scanner with 82 MCP tools for SPF, DMARC, DNSSEC, SSL, and brand audits.
Beschreibung vom Entwickler (englisches Original)
Query OSV.dev for package vulnerabilities and batch-audit dependency lists via MCP.
Diese drei werden nie zu einer Punktzahl zusammengefasst: Meinungen, Messungen und Beliebtheit sind verschiedene Dinge.
Für diesen Server haben wir noch keine Zusammenfassung in einfacher Sprache geschrieben. Unten stehen die Fakten, die wir aus der Registry gelesen haben.
Wähle die KI-App, die du nutzt, und kopiere die Einstellungen.
OSV_REQUEST_TIMEOUT_MS, OSV_BATCH_CONCURRENCY, OSV_QUERY_MAX_PAGES, MCP_LOG_LEVELDu brauchst
Welche App nutzt du?
Wähle oben deine App. Wir merken sie uns, damit der Button beim nächsten Mal „In … installieren“ anzeigt.
Funktioniert in Claude im Web, auf dem Desktop und auf dem Handy:
https://osv-advisory.caseyjhand.com/mcpÖffne Claude Desktop → Settings → Developer → Edit Config und füge dies in claude_desktop_config.json ein
{
"mcpServers": {
"osv-advisory": {
"command": "npx",
"args": [
"-y",
"@cyanheads/osv-advisory-mcp-server"
],
"env": {
"OSV_REQUEST_TIMEOUT_MS": "your-value",
"OSV_BATCH_CONCURRENCY": "your-value",
"OSV_QUERY_MAX_PAGES": "your-value",
"MCP_LOG_LEVEL": "your-value"
}
}
}
}Führe das in deinem Terminal aus
claude mcp add --transport http osv-advisory https://osv-advisory.caseyjhand.com/mcpclaude mcp add osv-advisory --env OSV_REQUEST_TIMEOUT_MS=your-value --env OSV_BATCH_CONCURRENCY=your-value --env OSV_QUERY_MAX_PAGES=your-value --env MCP_LOG_LEVEL=your-value -- npx -y @cyanheads/osv-advisory-mcp-serverTrag die leeren Werte ein, bevor du ihn startest.
In .cursor/mcp.json in deinem Projekt oder in ~/.cursor/mcp.json einfügen
{
"mcpServers": {
"osv-advisory": {
"url": "https://osv-advisory.caseyjhand.com/mcp"
}
}
}In .cursor/mcp.json in deinem Projekt oder in ~/.cursor/mcp.json einfügen
{
"mcpServers": {
"osv-advisory": {
"command": "npx",
"args": [
"-y",
"@cyanheads/osv-advisory-mcp-server"
],
"env": {
"OSV_REQUEST_TIMEOUT_MS": "your-value",
"OSV_BATCH_CONCURRENCY": "your-value",
"OSV_QUERY_MAX_PAGES": "your-value",
"MCP_LOG_LEVEL": "your-value"
}
}
}
}Dein Browser fragt, ob er die App öffnen darf, dann zeigt die App die Einstellungen und bittet dich um Bestätigung. Schlüsselwerte bleiben leer, damit du sie selbst einträgst.
In .vscode/mcp.json in deinem Projekt einfügen
{
"servers": {
"osv-advisory": {
"type": "http",
"url": "https://osv-advisory.caseyjhand.com/mcp"
}
}
}In .vscode/mcp.json in deinem Projekt einfügen
{
"servers": {
"osv-advisory": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@cyanheads/osv-advisory-mcp-server"
],
"env": {
"OSV_REQUEST_TIMEOUT_MS": "your-value",
"OSV_BATCH_CONCURRENCY": "your-value",
"OSV_QUERY_MAX_PAGES": "your-value",
"MCP_LOG_LEVEL": "your-value"
}
}
}
}Dein Browser fragt, ob er die App öffnen darf, dann zeigt die App die Einstellungen und bittet dich um Bestätigung. Schlüsselwerte bleiben leer, damit du sie selbst einträgst.
ChatGPT verbindet sich nur mit Servern im Internet:
https://osv-advisory.caseyjhand.com/mcpMenünamen können sich je nach Tarif und mit der Zeit leicht unterscheiden.
Deine Auswahl bleibt in einem Cookie auf diesem Gerät; kein Konto nötig.
OSV_REQUEST_TIMEOUT_MS envOSV_BATCH_CONCURRENCY envOSV_QUERY_MAX_PAGES envMCP_LOG_LEVEL envDiese Einstellungen werden aus dem Registry-Eintrag des Entwicklers erzeugt. Wenn in der README etwas anderes steht, folge der README.
Tool-Namen und -Beschreibungen genau so, wie der Server sie am 6. Nov. 2026 gemeldet hat. Geschrieben hat sie der Entwickler, nicht wir; wir zeigen sie als reinen Text.
osv_list_ecosystemsReturn the supported ecosystem identifier strings for osv_query_package and osv_query_batch: every ecosystem the OSV schema names that OSV.dev accepts at query time, plus GIT, as verified on 2026-10-31. Ecosystem strings are case-sensitive exact matches — passing "pypi" instead o
osv_query_packageQuery known vulnerabilities for a single package version using {name, ecosystem, version} or {purl, version?}; supply exactly one embedded or separate version. Returns all matching OSV advisories with severity (CVSS vectors), CVE aliases, affected version ranges, and the fixed ve
osv_get_vulnerabilityFetch the full advisory record for an OSV vulnerability ID. Returns the complete record: summary, full details text, CVE aliases, all affected packages and version ranges, fix versions, CVSS severity vectors, CWE weakness IDs, and references. Use when osv_query_package or osv_que
osv_query_batchQuery vulnerabilities for multiple packages in one call — the primary tool for dependency audits, SBOM scanning, and lockfile triage. Pass up to 1000 mixed {name, ecosystem, version} tuples and {purl, version?} identifiers, with exactly one embedded or separate version per PURL.
osv_query_commitQuery known vulnerabilities for one full Git commit hash (40 hexadecimal SHA-1 or 64 hexadecimal SHA-256 characters, case-insensitive). Abbreviated hashes are rejected. Returns advisory summaries, record-wide severity and GIT ranges with repositories and ordered fix events; use o
Wir prüfen Informationen, die jeder sehen kann; den Code haben wir nicht gelesen. Checks, die nicht zutreffen, werden nicht mitgezählt. · Geprüft am 8. Nov. 2026
Der Registry-Name wurde mit dem GitHub-Konto cyanheads bestätigt, dem das Repo gehört
Dieses Repo haben wir noch nicht von GitHub gelesen
Dieses Repo haben wir noch nicht von GitHub gelesen
Antwort in 154 ms (HTTP 200)
Keine Anmeldung nötig
Wir haben 5 Tool-Beschreibungen gelesen und keine versteckten Anweisungen an die KI gefunden
Verglichen mit allen aktiven Servern dieser Kategorie in der Registry. Sterne zählen nur, wenn dem Herausgeber das Repo gehört.
Er hat 3 von 3 zutreffenden Basischecks bestanden. Den Code haben wir nicht gelesen. Bevor du einen Schlüssel oder Token hinzufügst, sieh nach, welche Zugriffe der Server verlangt, und nutze einen Schlüssel, der nur die Berechtigungen hat, die du brauchst.
Die Registry nennt keinen erforderlichen Schlüssel, manche Server bitten dich aber bei der ersten Nutzung, dich anzumelden.
Beides geht: Installiere ihn auf deinem Computer oder verbinde dich mit der Cloud-Version.
Das GitHub-Repo wurde zuletzt – geändert, und die neueste Version (0.4.1) kam vor 7 Tagen in die Registry.
Apps, die MCP unterstützen, etwa Claude Desktop, Claude Code, Cursor und VS Code. Er verbindet sich per URL, also funktionieren auch Apps, die Remote-MCP-Server akzeptieren, zum Beispiel ChatGPT im Entwicklermodus.
In derselben Kategorie: BlackVeil DNS & Email Security Scanner, LucidShark, Threatist
Server derselben Kategorie von anderen Entwicklern, sortiert nach Sternen.
So liest du eine Karte:↓ Downloads pro Wochei★ GitHub-SterneiDrei Säulen: Bewertungen · Checks · NutzungiAktualisiert = neueste Version in der Registry veröffentlichti
DNS and email security scanner with 82 MCP tools for SPF, DMARC, DNSSEC, SSL, and brand audits.
Local code quality and security scanner: lint, types, SAST, SCA, tests, coverage.
Vulnerability records: CVE, GHSA, CISA KEV, EPSS and vendor fixes in one place. No key needed.
Unverändert aus dem Repo des Entwicklers übernommen. PopNx MCP hat den Inhalt weder geprüft noch empfiehlt es ihn. HTML, Bilder und Skripte wurden entfernt. Links führen von dieser Website weg.
@cyanheads/osv-advisory-mcp-server Query OSV.dev for package vulnerabilities, batch-audit dependency lists, and fetch full advisory records via MCP. STDIO or Streamable HTTP. 5 Tools · 1 Skill
Public Hosted Server: https://osv-advisory.caseyjhand.com/mcp
Vulnerability data from OSV.dev, the open-source vulnerability database. Query a package version or Git commit, batch-audit a dependency list or SBOM, and fetch complete advisory records with CVSS severity, CVE aliases, and affected version ranges.
| Tool | Description |
|---|---|
osv_query_package | Query a package version by name/ecosystem/version or Package URL (PURL) |
osv_query_batch | Audit up to 1000 package versions in one call — a full dependency list or SBOM |
osv_query_commit | Query known vulnerabilities for a full Git commit hash |
osv_get_vulnerability | Fetch the full advisory record for a single OSV vulnerability ID |
osv_list_ecosystems | Return the list of supported ecosystem identifier strings |
osv_query_package toolname, ecosystem (case-sensitive exact match), and version, or a purl such as pkg:pypi/jinja2@3.1.4. A PURL needs exactly one version: embedded in the URL or supplied separately. Versions are exact, never rangesinvalid_version; npm/crates.io exact pins with = or == normalize to the installed versionaliases, severityLabel with its severitySource, the queried package's fixedVersions, affectedRanges, and cweIdstruncated: true means OSV had more pages than OSV_QUERY_MAX_PAGES follows, so an empty vulns list is not a clean result; an unrecognized ecosystem fails as invalid_ecosystemosv_query_batch tool{name, ecosystem, version} tuples or {purl, version?} entries per call; mix either form, and results[i] matches packages[i]vulnerable, vulnCount, vulns, truncated, and error; a failure lands in the affected rows' error instead of failing the callsummary totals the scan (vulnerableCount, cleanCount, truncatedCount, errorCount, totalVulns, worstSeverity), and truncated rows never count as clean. The whole scan has a 50-second deadlinevulnerableRows, errorRows, and truncatedRows in summary retain original zero-based indices even when the preview omits those rows. Lists can overlap; retrieve a row with /results/ osv_query_commit toolcommit: 40 hexadecimal characters for SHA-1 or 64 for SHA-256; either letter case is accepted, abbreviations are rejectedfixedVersions are inferredtruncated: true means more OSV pages remain; an empty truncated result is not confirmed cleanosv_get_vulnerability toolGHSA-, PYSEC-, RUSTSEC-, GO-, DSA-, USN-, CVE-, …), matched case-sensitivelydetails, aliases, every affected package with its ranges and fixes, severityLabel, cweIds, and referencesvulnerability_not_found; withdrawn is set only on retracted advisoriesosv_list_ecosystems toolecosystems strings the query tools accept, plus a note with the date the list was last checked against OSV.devPyPI works, pypi failsBuilt on @cyanheads/mcp-ts-core: stdio and Streamable HTTP transports, pluggable auth (none / jwt / oauth), swappable storage (in-memory, filesystem, Supabase, Cloudflare KV/R2/D1), structured logging with optional OpenTelemetry tracing.
OSV-specific:
osv_query_batch finds matching advisory IDs through OSV's /v1/querybatch, then fetches each unique advisory once, so batch rows carry the full records (aliases included) the batch endpoint omits; requests are capped by OSV_BATCH_CONCURRENCYosv_list_ecosystems is checked against the live OSV schema and API with bun run check:ecosystemsAgent-friendly output:
truncated flags incomplete OSV pagination, and truncated batch rows are left out of cleanCountaliases (CVE IDs) on every advisory chain to nist-nvd-mcp-server for CVSS base scores and CISA KEV statuspage: overflow.page. Continue the same path with offset: page.nextOffset and revision: page.revision until nextOffset is null. Fetch each entries[].deferred.path separately at offset zero without a revision; never copy the whole output page object into the inputcontent[] escapes HTML and unsafe-link constructs while preserving HTTP(S) links; caller coordinates render literally. structuredContent keeps every OSV string verbatimUse the public hosted instance with Claude Code:
claude mcp add --transport http osv-advisory-mcp-server https://osv-advisory.caseyjhand.com/mcp
Or run locally through npm:
claude mcp add osv-advisory-mcp-server -- npx -y @cyanheads/osv-advisory-mcp-server
For other MCP clients, add this to the client configuration:
{
"mcpServers": { "osv-advisory-mcp-server": { "command": "npx", "args": ["-y", "@cyanheads/osv-advisory-mcp-server"] } } }
No API key is required. For Docker or a source build, see Running the server.
All configuration is validated at startup, and every variable is optional.
| Variable | Description | Default |
|---|---|---|
OSV_REQUEST_TIMEOUT_MS | HTTP request timeout for OSV.dev API calls, in milliseconds. | 10000 |
OSV_BATCH_CONCURRENCY | Maximum concurrent OSV.dev requests issued by osv_query_batch. | 10 |
OSV_QUERY_MAX_PAGES | Maximum OSV.dev result pages followed per package or commit before a result is marked truncated. | 10 |
MCP_TRANSPORT_TYPE | Transport: stdio or http. | stdio |
MCP_HTTP_PORT | Port for HTTP server. | 3010 |
MCP_HTTP_ENDPOINT_PATH | HTTP endpoint path. | /mcp |
MCP_PUBLIC_URL | Public origin override for TLS-terminating reverse-proxy deployments. | none |
MCP_SESSION_MODE | HTTP session mode: stateless, stateful, or auto. | stateless |
MCP_AUTH_MODE | Auth mode: none, jwt, or oauth. | none |
MCP_LOG_LEVEL | Log level (RFC 5424). | info |
LOGS_DIR | Directory for log files (Node.js only). | /logs |
LOG_TOOL_FAILURE_PAYLOADS | Log each failed tool call's arguments and result, redacted by key name and capped at LOG_TOOL_FAILURE_PAYLOAD_MAX_BYTES (default 16384). A secret inside a free-form value is not redacted. | false |
STORAGE_PROVIDER_TYPE | Storage backend. | in-memory |
OTEL_ENABLED | Enable OpenTelemetry instrumentation (spans, metrics, completion logs). | false |
See .env.example for the full list of optional overrides.
Requires Bun v1.4.0 or higher (or Node.js v24+).
git clone https://github.com/cyanheads/osv-advisory-mcp-server.git
cd osv-advisory-mcp-server bun install cp .env.example .env
# One-time build
bun run rebuild
bun run start:stdio
bun run start:http
bun run devcheck # Lint, format, typecheck, security
bun run test # Vitest test suite bun run lint:mcp # Validate MCP definitions against spec bun run check:ecosystems # Compare osv_list_ecosystems with the live OSV schema and API
docker run --rm -p 3010:3010 ghcr.io/cyanheads/osv-advisory-mcp-server:latest
The image defaults to HTTP transport, stateless session mode, and logs to /var/log/osv-advisory-mcp-server. For stdio, use docker run -i --rm -e MCP_TRANSPORT_TYPE=stdio ghcr.io/cyanheads/osv-advisory-mcp-server:latest. Build locally with docker build -t osv-advisory-mcp-server .; OpenTelemetry peers are installed by default — use --build-arg OTEL_ENABLED=false to omit them.
| Directory | Purpose |
|---|---|
src/index.ts | createApp() entry point — registers tools and inits services. |
src/config | Server-specific environment variable parsing and validation with Zod. |
src/mcp-server/tools | Tool definitions (*.tool.ts) — osv_query_package, osv_query_batch, osv_query_commit, osv_get_vulnerability, osv_list_ecosystems. |
src/services/osv-api | OSV.dev REST API service — fetch, retry, response normalization. |
tests/ | Unit and integration tests mirroring src/. |
skills/ | Published dependency-audit and advisory-retrieval guide, also served over MCP. |
See CLAUDE.md/AGENTS.md for development guidelines and architectural rules. The short version:
try/catch in tool logicctx.log for request-scoped logging, ctx.enrich for response context, and ctx.signal for cancellable OSV requestssrc/mcp-server/tools/definitions/index.tsNur der Anfang wird gezeigt; den Rest findest du im Repo