← Registry

Security & Testing

echelongraph.io

Provides security vulnerability intelligence by searching and retrieving CVE details, severity scores, and internet-exposure data from EchelonGraph's aggregated feeds.

1 endpoint14 known toolsFirst detected July 6, 2026Last detected October 6, 2026

ENDPOINT 1

https://mcp.echelongraph.io/mcp

No auth detected

MCP server metadata

Name
echelongraph-mcp
Version
2.6.2
Capabilities
toolspromptsresources
Server instructions

EchelonGraph's public CVE and internet-exposure data, read-only and keyless. Everything these tools return is public: EchelonGraph's CVE Pulse feed, and aggregate, host-redacted totals from its exposure radars. Every result says how it was measured: state, measured_at, method, coverage, freshness and notes, in its structuredContent and again in its text. Its last text block is that structuredContent as JSON, less what an earlier text block already gives verbatim: data, which is a success's first text block; the sentences of the text block just before it (the note, or a failure's message), with which structuredContent's notes end; and method, where that block quotes it. state is measured, not_assessed, failed or invalid_input. not_assessed means the answer holds no dated measurement of what was asked, so no count in it is presented as one. It can still relay a count, as what the source holds on record, undated, and its notes say what each count is: cve_exposure's exposed_hosts when its exposure_state is exposed, and exposure_radar's labelled totals, are such counts. A zero is not a finding of no exposure where the answer holds no measurement for that CVE, for example a CVE outside the KEV-exposure radar's tracked set (exposure_state not_assessed). failed and invalid_input mean nothing was measured: never report them as zero, none found or unexposed. measured_at is when the underlying observation was made, and null when the answer does not say or holds none. freshness gives the producing radar's last_run_at: when it last completed a check whose reads succeeded. That is not the time of every record the radar's numbers count, which cover everything still on record, and it is null when the API does not say. Every figure is as fresh as the schedule that refreshes it. Exposure numbers are aggregate: counts of distinct ip:port services on EchelonGraph's record (a machine answering on two ports counts twice), not machines, and not an internet-wide census. exposure_radar's mcp_servers counts hostnames instead, each by its latest verdict on record. Exposure counts are derived from Shodan data. Shodan data is owned by Shodan, which holds its copyright (© Shodan). exposure_radar's mcp_servers counts use no Shodan data: their hostnames come from EchelonGraph's own Certificate Transparency feed.

Known tools 14

cve_summary

Summary of EchelonGraph's CVE Pulse feed: summary.

Inferred read-only
search_cves

Search/list CVEs from EchelonGraph's CVE feed (NVD + MITRE-CNA pre-NVD + CISA-KEV + EPSS + GitHub GHSA, each polled on a schedule).

Inferred read-only
get_cve

Full record for one CVE: description, severity, cvss_v3_score, cvss_v4_score and cvss_v4_severity (when the record has a CVSS v4 score), echelongraph_score and echelongraph_severity with score_confidence (EchelonGraph's multi-source score) and score_assessed (whether EchelonGraph has scored it), epss_score and epss_percentile, CISA-KEV status (kev_listed, kev_added_date, and kev_ransomware for known ransomware-campaign use), ghsa_id (GitHub GHSA), references, cpe_match (the CPE criteria as one flat list) and cpe_configurations (NVD's configurations as NVD sent them, with each AND/OR operator, negate, versionStartExcluding and matchCriteriaId; absent where EchelonGraph has stored none, which is not a finding that no product is affected), published, modified and updated_at; each field only where the record has it.

Inferred read-only
cve_exposure

Internet-exposure footprint for one CVE from EchelonGraph's KEV-exposure radar: how many internet-facing services (distinct ip:port, returned as exposed_hosts; a machine answering on two ports counts twice) the radar has on record running a version its CVE matcher maps to this CVE, with a country/product breakdown and a ransomware flag.

Inferred read-only
exposure_radar

Aggregate totals from EchelonGraph's internet-exposure radars, each refreshed on its own schedule: internet-facing services running actively-exploited (CISA-KEV) CVEs, plus the ransomware-linked subset, derived from Shodan data; unauthenticated data stores and observability UIs, found through Shodan (LeakIX when Shodan query credits run low) and then confirmed by EchelonGraph's own identified check (not a pure read: on Redis it names its client, and on ClickHouse its query is recorded in the server's query log); leaked credentials sampled from public GitHub push events; and shadow AI services found through Certificate Transparency logs and Shodan and then checked by EchelonGraph's identified probes.

Inferred read-only
kev_recent

The CVEs CISA has added to its Known Exploited Vulnerabilities (KEV) catalog, newest first, from EchelonGraph's copy of that catalog, which polls CISA's feed every 5 minutes.

Inferred read-only
epss_history

How one CVE's EPSS score (FIRST's exploit-prediction probability, 0 to 1, with its percentile) has changed, as EchelonGraph recorded it: points, oldest first, each with at, epss_score and epss_percentile; current, the record's value now (epss_score, epss_percentile, epss_updated_at); series_kind, always change_only; series_starts_at, when EchelonGraph began recording EPSS changes for any CVE; history_rows, points_truncated and latest_point_matches_current.

Inferred read-only
check_affected

Whether a product or package at a given version is affected by known CVEs, from the same matcher as echelongraph.

Inferred read-only
check_sbom

Check a dependency list against EchelonGraph's advisory corpus, one verdict per component.

Inferred read-only
cve_intel

Weakness, public exploit code, affected packages and fixed versions for one CVE, from EchelonGraph's per-CVE enrichment.

Inferred read-only
get_cwe

One CWE (weakness class) and the CVEs classified under it.

Inferred read-only
vendor_advisories_for_cve

The vendor-published advisories that name one CVE, newest first, at most 20: for each, vendor, vendor_display_name, vendor_advisory_id, title, severity and cvss_v3_score where the vendor gives them.

Inferred read-only
get_vendor_advisory

One vendor advisory in full, by vendor and the vendor's advisory ID (the vendor and vendor_advisory_id fields of a row from search_vendor_advisories or vendor_advisories_for_cve): title, description, severity, cvss_v3_score, cve_ids and known_cve_ids (those with a record in EchelonGraph's CVE feed), affected_products, remediation, references, vendor_modified_at, and withdrawn_at and withdrawn_reason when the vendor withdrew it.

Inferred read-only
search_vendor_advisories

Search or list vendor-published advisories, newest first.

Inferred read-only

CONNECT WITH APPROVAL

Client installation

Review this server and its permissions before adding it. Secret placeholders must be set locally.

Codex

~/.codex/config.toml

[mcp_servers.echelongraph-mcp]
url = "https://mcp.echelongraph.io/mcp"
enabled = true
Claude Code

.mcp.json

{
  "mcpServers": {
    "echelongraph-mcp": {
      "type": "http",
      "url": "https://mcp.echelongraph.io/mcp"
    }
  }
}
Claude Desktop

Settings → Connectors → Add custom connector

Name: echelongraph-mcp
Remote MCP URL: https://mcp.echelongraph.io/mcp

Add this remote URL as a custom connector in Claude Desktop. Availability depends on the user plan and workspace policy.

Cursor

.cursor/mcp.json

{
  "mcpServers": {
    "echelongraph-mcp": {
      "url": "https://mcp.echelongraph.io/mcp"
    }
  }
}
Visual Studio Code

.vscode/mcp.json

Add to Visual Studio Code
{
  "servers": {
    "echelongraph-mcp": {
      "type": "http",
      "url": "https://mcp.echelongraph.io/mcp"
    }
  }
}
Generic MCP

Client-specific MCP configuration

{
  "name": "echelongraph-mcp",
  "transport": "streamable-http",
  "url": "https://mcp.echelongraph.io/mcp"
}
MCP Inspector

Run the official MCP Inspector locally and enter the indexed Streamable HTTP endpoint.

TRUST AND VERIFICATION EVIDENCE

Trust Data Available

BuiltWith Trust API v2 evidence for echelongraph.io was fetched 2026-10-15T09:38:32.216Z.

Trust status Neutral

echelongraph.io is assessed as Neutral: No suspicious signals found, but no strong positive signal either

Indexed

Evidence is source-attributed and does not guarantee that a third-party server is safe. Risk labels are conservative metadata heuristics.