Skip to main content
Glama

Server Details

Free vulnerability lookup and feeds for agents. Look up any CVE, GHSA or OSV ID, read vulnerability feeds filtered by technology, ecosystem, critical or CISA KEV, and check a lockfile for known vulns. Data is merged from the CVE List, GitHub Advisories, OSV, NVD, EUVD, CISA KEV, EPSS and Exploit-DB. No account or API key. Built by Sazabi.

Ownership verified
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-06-18
URL

TDQS

A4/5.0

Scored across 5 tools

Disambiguation4/5

Each tool covers a distinct retrieval mode: stack version checking, ranked leaderboard, single-entry lookup, feed listing, and query-language search. The only mild overlap is between list_feed and search, both returning vulnerability lists, but the descriptions clearly separate 'newest feed items' from free-form query search.

Naming Consistency4/5

Four of five tools follow a clear verb_noun pattern (check_stack, get_leaderboard, get_vulnerability, list_feed), with only the bare 'search' deviating. The set remains predictable and readable.

Tool Count5/5

Five tools for a vulnerability-intelligence service is tight and well-scoped; each maps to a distinct workflow (assess own stack, discover via search/feed, rank via leaderboard, inspect a single CVE). No tool feels redundant or missing for the stated scope.

Completeness4/5

Core discovery (search, feed, leaderboard), retrieval (get_vulnerability), and assessment (check_stack) are all covered. Minor gaps exist: no tool to enumerate available feeds, tech slugs, or ecosystems, and lockfile upload requires raw curl rather than a dedicated tool.

Available Tools

5 tools
check_stackAInspect

Check exact package versions against cve.now's synced vulnerability catalog. Pass a lockfile, a package list, or the stack_id of a lockfile uploaded to cve.now. For a large lockfile, upload it instead of passing its contents: curl --data-binary @ -H 'X-Lockfile-Name: ' https://cve.now/api/stack returns its id. A flake.lock is checked by the git commit each input pins, through OSV, and its nixpkgs package CVEs are not checked. No matches means none found, not a guarantee of safety.

NameRequiredDescriptionDefault
packagesNo
stack_idNoThe id returned by POST https://cve.now/api/stack for an uploaded lockfile.
lockfile_nameNoOptional. The file type is detected from the content; the name only breaks ties (e.g. poetry.lock vs Cargo.lock). Supported: package-lock.json, npm-shrinkwrap.json, bun.lock, pnpm-lock.yaml, yarn.lock, poetry.lock, requirements.txt, Cargo.lock, go.sum, Gemfile.lock, mix.lock, flake.lock.
lockfile_contentNo

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden and does well: it discloses that flake.lock inputs are checked by pinned git commit via OSV and that nixpkgs package CVEs are skipped, and it warns that no matches does not guarantee safety. Missing are the response shape and any rate-limit or auth expectations, which keeps it below 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four dense sentences, each doing distinct work: purpose, input modes, large-file escape hatch, and coverage caveat. The key scoping statement is front-loaded and the safety caveat closes it with no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 4-param, zero-annotation, no-output-schema tool this covers inputs, the upload workaround, and coverage limits well. The one remaining hole is that the result of a check (vulnerability entries and their fields) is never characterized, so an agent must discover the return shape empirically.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 50%: stack_id and lockfile_name are documented in-schema, but lockfile_content is bare and the packages array is undocumented. The description explains the three input modes and the upload path, which helps, but it never explains the free-form 'ecosystem' string (no enum exists), a real gap for the packages mode.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: checking exact package versions against cve.now's synced vulnerability catalog. That cleanly separates it from get_vulnerability (single-CVE lookup), search, list_feed, and get_leaderboard. It stops short of explicitly naming a sibling it is not, so a 4 rather than a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives clear operational context: pass a lockfile, a package list, or a stack_id, and for a large lockfile upload it instead of inlining contents, with the exact curl invocation. It also carves out the flake.lock case. It never states when to prefer a sibling tool instead, so no explicit exclusion guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_leaderboardAInspect

Get the cve.now Index: the worst CVEs published or escalated this week, month or year, or of all time (window all: every CVE ever in KEV or with a Metasploit module, plus the past year), ranked by a 0-100 score (exploitation 40, exposure 25, reach 20, severity 10, no patch 5; methodology at https://cve.now/leaderboard/methodology). Narrow with tech, ecosystem and filter (critical, kev); a row matches any listed value of a field and every field passed. Pass week (YYYY-Www) instead, without tech, ecosystem or filter, for an archived week's top 25. Week rows carry movement since the previous week.

NameRequiredDescriptionDefault
techNo
weekNoAn archived ISO week, e.g. 2026-W44
limitNo
filterNo
windowNoweek
ecosystemNo

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral burden and does much of it: it discloses the scoring model and weights, defines the 'all' window precisely (every CVE ever in KEV or with a Metasploit module plus the past year), and notes that week rows carry movement since the previous week. It stops short of describing the return shape for non-week queries or any auth/rate-limit behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

It is a single front-loaded paragraph that leads with what the tool returns and then layers on narrowing rules and the week alternative. Dense but nearly every clause carries information; the methodology weighting and URL are borderline extras that could be deferred to the linked page.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 6-parameter, zero-required, no-output-schema, no-annotation tool, the description covers the critical decision logic (window vs. week, filter semantics, ranking). Gaps remain around valid tech/ecosystem values and the fields returned for non-week queries, which an agent would still have to discover by calling.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 17%, so the description must compensate, and it largely does: it explains the window enum values, the filter enum meanings (critical, kev), the YYYY-Www week format, and critically the matching semantics ('a row matches any listed value of a field and every field passed'). It leaves tech and ecosystem value vocabularies undefined and does not explain the limit parameter's range, so it is not fully complete.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific resource (the cve.now Index / leaderboard of worst CVEs) and a specific verb (Get), then immediately bounds the scope to published-or-escalated CVEs across defined windows. It goes further than any sibling tool would by defining what the ranking means, so an agent can tell it apart from get_vulnerability or search without opening a schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives explicit usage conditions and mutual exclusions: narrow with tech, ecosystem and filter; conversely, pass week 'instead, without tech, ecosystem or filter' for an archived week's top 25. The two modes and the rule that selects between them are stated outright, leaving nothing to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_vulnerabilityAInspect

Get one vulnerability entry by CVE, GHSA or OSV id, as JSON. Includes CISA SSVC decision points (exploitation, automatable, technicalImpact) when CISA published them, and, when cve.now has read the vendor advisory, context (a plain sentence, sourced conditions, vendor severity, fix, FAQ) with exposure: Actively exploited, Default setups, Specific setups only or Unclear.

NameRequiredDescriptionDefault
idYesCVE, GHSA or OSV id, e.g. CVE-2026-12345

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden and does substantial work: it discloses conditional payload sections (CISA SSVC decision points only 'when CISA published them', advisory context only 'when cve.now has read the vendor advisory') and even enumerates the four exposure values. It omits error/not-found behavior and any auth or rate-limit context, which keeps it from a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One sentence, front-loaded with the core action and resource, with the conditional return details trailing. The second half is dense with parentheticals but each clause describes a distinct part of the response, so little is wasted.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, so the description must explain the return value, and it does: JSON entry, optional SSVC fields, optional advisory context with a defined exposure vocabulary. The main remaining gap is behavior on an unresolvable or unknown identifier.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with a single documented `id` property, so the schema already supplies the parameter's meaning and example. The description only restates the accepted identifier types, adding no format, normalization, or validation detail beyond the schema — baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Get one vulnerability entry') and enumerates the three accepted identifier namespaces (CVE, GHSA, OSV), so the agent knows exactly what it retrieves. It does not distinguish itself from siblings such as `search`, which is the natural alternative for keyword-based lookups, so it stops short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied: the 'by CVE, GHSA or OSV id' phrasing signals that this is an exact-identifier lookup rather than a search. There is no explicit statement of when to prefer this over `search` or `check_stack`, and no guidance on what to do when the ID is unknown.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_feedAInspect

List the newest items in a cve.now feed. Pass name for one stored feed (critical, all, kev, tech/, ecosystem/; critical when nothing is passed), or any of filter, tech and ecosystem to narrow it. Each of those takes one value or a list: an item must match any listed value of a field, and every field passed. Up to 16 combinations of values.

NameRequiredDescriptionDefault
nameNo
techNoTechnology slugs, e.g. nextjs, react
limitNo
filterNocritical and/or kev
ecosystemNoPackage ecosystems, e.g. npm, pypi

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It usefully discloses the default feed ('critical when nothing is passed') and the combinatorial cap ('up to 16 combinations of values'), which are genuine behavioral traits. It says nothing about ordering guarantees beyond 'newest', pagination, behavior on invalid name/tech slugs, or the shape of returned items.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The purpose is front-loaded in the first sentence, and the remaining sentences add distinct routing and matching rules rather than padding. It is dense but every clause carries information; it could be tightened slightly but nothing is redundant.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 5-parameter list tool with no annotations and no output schema, the description covers feed selection and filtering well but leaves limit unexplained and gives no sense of item shape or ordering/pagination. An agent could call it correctly in the common case, but some parameters and the return surface remain guesswork.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 60%, and the description compensates well for the gaps: it enumerates the valid name values (critical, all, kev, tech/<slug>, ecosystem/<eco>), explains that tech/filter/ecosystem accept a single value or a list, and defines the match semantics. The only real omission is the limit parameter, which is undocumented in both schema and description beyond default/min/max.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource: 'List the newest items in a cve.now feed.' That is far more than a restatement of the name and tells an agent exactly what comes back. It does not explicitly differentiate itself from siblings like search or check_stack, so it falls short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives concrete operating rules: pass name for a stored feed, fall back to critical when nothing is passed, and narrow with filter/tech/ecosystem. The OR-within-field, AND-across-fields semantics and the 16-combination cap are spelled out, leaving little to inference. There is no explicit statement of when to prefer a sibling tool instead, which keeps it at 4.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 5 tool updates
    • First observedcheck_stack
    • First observedget_leaderboard
    • First observedget_vulnerability
    • First observedlist_feed
    • First observedsearch

Publisher details

Operator
Sazabi
Operator website
https://www.sazabi.com
Vendor relationship
First-party
Trust center
Unknown
Restrictions
Unknown

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Remote MCP server that lets AI assistants read tracked competitive intelligence — competitor news, reviews, website changes, social posts and ads — and act on it by managing projects, competitors, battle cards, reports and canvases. Every answer carries a source and a date, and write actions only publish when explicitly shared.
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Enables brand visibility monitoring across major AI platforms like ChatGPT, Claude, Gemini, and Perplexity. It allows users to track visibility scores, analyze competitor data, and receive actionable insights to improve AI-generated brand recommendations.
    16
    18 npm
    1
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Browse IndustryLens's published competitive-intelligence reports and head-to-head competitor comparisons from any AI agent — real, source-backed data.
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources