Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

VPNDetection

NPM · VPNDETECTION-MCP · 2 COMPONENTS · SCANNED OCT 8

VPN, proxy, Tor, hosting and CDN detection for any IP address, from the VPNDetection API.

34 Trust /100
Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →

Supply Chain Security50
  • Malware scan not yet available for this package.Unverified
  • No known CVEs affecting this package version or its production dependencies.Pass
  • No install/post-install scripts declared.Pass
  • 0 of 9 dependencies flagged as unhealthy. View diagnostics → Pass
Provenance & Transparency97
  • Source repository is publicly reachable at the declared URL. View diagnostics → Pass
  • Cryptographically verified build provenance (signed, bound to vpndetection-io/mcp). View diagnostics → Pass
  • Clear OSI-approved license (MIT).Pass
  • Actively maintained (last published 0 days ago).Pass
  • Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability0
  • Schema quality not yet verified: we do not have a sandbox capture of the MCP schema this version of the package serves yet.Unverified
Stability & Change Management0
  • Stability not yet verified: we do not have a sandbox capture of the MCP schema this version of the package serves yet.Unverified
Tool Coverage0
  • Tool coverage not yet verified: we do not have a sandbox capture of the tool definitions this version of the package serves yet.Unverified
Tool Safety0
  • Tool safety not yet verified: we do not have a sandbox capture of the tool definitions this version of the package serves yet.Unverified
Capabilities0
  • Protocol version not yet verified: we do not have a sandbox capture of the MCP handshake this version of the package performs yet.Unverified

Unverified: 5 categories

Categories scored 0 because our sandbox has not given us the schema these checks need to read. That is a gap on our side rather than a finding about the package, and we only credit what we can confirm, so the score stands at 0 until the capture succeeds. We are working through the fleet, so this normally clears without any action from you. How we score packages →

Install

How do I install the VPNDetection MCP server?

VPNDetection runs locally as an npm package, launched with npx -y vpndetection-mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

npm · vpndetection-mcp

# add to Claude Code
claude mcp add vpndetection-io-mcp -- npx -y vpndetection-mcp
// .cursor/mcp.json
{
  "mcpServers": {
    "vpndetection-io-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "vpndetection-mcp"
      ]
    }
  }
}
// .vscode/mcp.json
{
  "servers": {
    "vpndetection-io-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "vpndetection-mcp"
      ]
    }
  }
}
# add to Codex CLI
codex mcp add vpndetection-io-mcp -- npx -y vpndetection-mcp
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "vpndetection-io-mcp": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "vpndetection-mcp"
      ],
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add vpndetection-io-mcp --command npx --arg -y --arg vpndetection-mcp
# ~/.hermes/config.yaml
mcp_servers:
  vpndetection-io-mcp:
    command: "npx"
    args: ["-y", "vpndetection-mcp"]
// ~/.netclaw/config/netclaw.json
{
  "McpServers": {
    "vpndetection-io-mcp": {
      "Transport": "stdio",
      "Command": "npx",
      "Arguments": [
        "-y",
        "vpndetection-mcp"
      ]
    }
  }
}
# add to Vellum
assistant mcp add vpndetection-io-mcp -t stdio -c npx -a -y vpndetection-mcp
// mcp.json
{
  "mcpServers": {
    "vpndetection-io-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "vpndetection-mcp"
      ]
    }
  }
}
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 8 Oct 26 −47
    • Malware scan: pass → unverified ▼ security
    • Tool safety: pass → unverified ▼ security
    • Stability: Stability not yet verified: we do not have a sandbox capture of the MCP schema this version of the package serves yet. security
    • Capabilities: pass → unverified ▼ functional
    • Tool coverage: 100 → unverified ▼ functional
    • Dependency health: 0.86 → 1.00 ▲ functional
    • First check of Schema quality: unverified functional
    • Package version: 5.3.6 → 6.0.0 functional
  • 4 Oct 26 +15
    • Malware scan: unverified → pass ▲ security
  • 3 Oct 26 66

    First indexed and scored.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 8 Oct 2026 · Analysed npm/vpndetection-mcp@6.0.0

Provenance Verified

A signed build attestation was found and verified, binding this exact artifact to the source repository it claims to come from.

Result Verified
Ecosystem npm
Reason Verified
Discovered via Registry attestation endpoint
Source repo vpndetection-io/mcp
Certificate issuer https://token.actions.githubusercontent.com
Certificate SAN https://github.com/vpndetection-io/mcp/.github/workflows/release.yml@refs/tags/v6.0.0
Rekor log index 3126713044
Predicate type SLSA build provenance https://slsa.dev/provenance/v1
Subject digest sha512:013be318b07fdc88128bbf9581634bee5c09a65d181c61a0a5aa1ef78c52c100ebf8f32212d2f2d2497765f84707d9491a8e50730d20ad905e6b36294

Background: How many MCP packages publish verified provenance →

Dependencies 9 packages
Packages resolved 9
Tree resolution Complete

Background: SBOMs and build attestations, explained →

MCP tools · 7 exposed · ~906 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
database_checksum ~140

The published digests for one database file, for verifying a copy you already hold or deciding whether a build has changed since you last fetched it. It is licensed like the download itself, so a database this key cannot download is refused here too. Looking up a checksum is not a download and does not appear in `list_downloads`.

NameTypeReqDescription
dataset_idstringyesA VERSIONED database id, from `versions[].id` in `list_databases` - `cdn_ip_v1`, not `cdn_ip`. The unversioned base id is a license reference and is not accepted here.
formatstringyesWhich published file to digest.
NameTypeReqDescription
checksumsobjectyesThe published digests for one database file.

No examples provided.

database_metadata ~127

What is inside one database before you fetch it: the columns in each published format with their types, a few sample rows, the row count, the build date and the file sizes. Use this to answer questions about what a database contains without downloading it - the files reach several GB - and to budget a transfer before starting one.

NameTypeReqDescription
dataset_idstringyesA VERSIONED database id, from `versions[].id` in `list_databases` - `cdn_ip_v1`, not `cdn_ip`. The unversioned base id is a license reference and is not accepted here.
NameTypeReqDescription
entriesintegeryesRow count in the current build
idstringyes–
sampleobject–A few real rows, keyed by format
sample_entriesinteger–Row count in the evaluation sample
sample_sizeobject–Bytes per format of the evaluation sample, where one is published
schemaobjectyesColumns, keyed by format
sizeobject–Bytes per format
update_freqstring–How often a new build is published
updatedstringyes–

No examples provided.

list_databases ~149

The database catalog as this API key's organization may see it, one entry per database FAMILY, with `standing` saying where their license stands: `licensed` if the family is theirs today, `expired` if the term has ended, `unlicensed` if it is published but has never been bought. Each entry has a `base` id, which is what the license names, and a `versions` array whose `id` is what the other database tools take - pass `versions[].id` (`cdn_ip_v1`), never the `base` (`cdn_ip`). Ask again rather than holding on to this: it is answered per key and is not the same for everyone.

Input schema present but exposes no named parameters.

NameTypeReqDescription
databasesarrayyes–

No examples provided.

list_downloads ~134

This organization's own recent download attempts, newest first, REFUSALS INCLUDED - a denial carries the `outcome` and `http_status` that answer "it stopped working", which nothing else here can. Use it to explain a failing fetch, to confirm a transfer ran, or to check whether a request was theirs. This is a bounded WINDOW of at most 200 rows, so a database missing from the answer means it is not in this window - never that it was never downloaded.

NameTypeReqDescription
limitinteger–How many attempts to return, newest first. At most 200; the API defaults to 50.
NameTypeReqDescription
downloadsarrayyes–

No examples provided.

lookup_ip ~105

Classify a single IPv4 or IPv6 address: whether it belongs to a VPN, a residential, datacenter or mobile proxy, a Tor node, a public relay, a hosting provider or a CDN, with the provider name where we have one. Private and reserved addresses are answered locally and cost nothing. Always read `coverage.note` before concluding anything from a field that is not in the result.

NameTypeReqDescription
ipstringyesThe IPv4 or IPv6 address to classify.
NameTypeReqDescription
coverageobjectyesWhich datasets this result covered. Read `note` before interpreting any absent field.
resultobjectyesThe union of every plan's answer. Only `ip` and `is_vpn` are guaranteed; each remaining field is present when your plan includes it, and absent otherwise. A client that must work across plans should…

No examples provided.

lookup_ips ~134

Classify a list of addresses in one call, returning a map keyed by address so duplicates collapse and the order you passed them stops mattering. Pass the whole list rather than splitting it yourself: a long one is batched for you. Prefer this over repeated `lookup_ip` calls when you already have the list, for example when triaging a log file. An address that fails carries its error in place of a result rather than failing the batch. Always read `coverage.note` before concluding anything from a field that is not in the result.

NameTypeReqDescription
ipsarrayyesThe IPv4 or IPv6 addresses to classify.
NameTypeReqDescription
coverageobjectyesWhich datasets this result covered. Read `note` before interpreting any absent field.
resultsobjectyesKeyed by address. A value is either a result or an error.

No examples provided.

my_entitlement ~117

What this API key is entitled to and how much of it has been used: the plan, the field tier that decides how much of a lookup answer comes back, the requests counted so far, the allowance, and when it resets. Use it to explain why a field is missing from a lookup, or before a large batch. Usage counts against the anniversary of the subscription rather than the calendar month, and can lag a few seconds behind. A null `hard_limit` means we never stop serving - it is NOT a limit of zero.

Input schema present but exposes no named parameters.

NameTypeReqDescription
entitlementobjectyes–

No examples provided.

Common questions

What is the VPNDetection MCP server?

VPNDetection is an MCP server listed in the public MCP registry as io.github.vpndetection-io/mcp. VPN, proxy, Tor, hosting and CDN detection for any IP address, from the VPNDetection API. This page covers its npm package (vpndetection-mcp).

Is the VPNDetection MCP server safe to use?

VPNDetection scores 34 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 8 October 2026. It declares no install or post-install scripts. Its build provenance is signed and verified. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the VPNDetection MCP server expose?

VPNDetection exposes 7 tools: lookup_ip, lookup_ips, my_entitlement, list_databases, database_metadata, and 2 more. Their descriptions and schemas cost roughly 906 tokens of context every time the server is loaded.

Is the VPNDetection MCP server still maintained?

VPNDetection is still listed as active in the MCP registry. We last reached this channel on 8 October 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

What licence is the VPNDetection MCP server under?

VPNDetection declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.