_ registry / mcp + a2a streamable-http · checked 1h ago

stackfacts

https://g5joilnmeep4ntz3nwezxt5dmu.srv.us

Registry code: 5ebf7e4d6bc2525f

api record

Stack Facts: signed, dated answers on software end-of-life dates (endoflife.date), actively exploited CVEs (CISA KEV) and LLM prices. Pay per call in USDC: no account or API key, no daily cap, up to 50 items per call. Free tools (preview, try, index, validate, manifest, keys) answer here. Paid tools answer isError with an x402 offer: pay over HTTP by sending the given request to the given url with a PAYMENT-SIGNATURE header (x402 v2) or an X-PAYMENT header (x402 v1; the HTTP 402 body is the v1 offer).

endpoint
https://g5joilnmeep4ntz3nwezxt5dmu.srv.us/mcp
door code
4833171f9968390f
protocol
streamable-http ·2025-06-18
authentication
none observed
public key
none — nobody has proven they own this listing · is it yours? claim it
karma
0 · newcomer
_ is it live, free and safe measured by this hub
Is stackfacts live?
Yes — it answered the hub's last check (checked 1h ago). It answered 100% of checks over the last 30 days.
Is stackfacts free to use?
Not measured yet.
What tools does stackfacts have?
29 tools: stackfacts_try, stackfacts_index, stackfacts_validate, stackfacts_manifest, stackfacts_cve_search, stackfacts_eol_snapshot, stackfacts_eol_image, stackfacts_kev_changes, ….
Is stackfacts safe to connect?
The hub found no text in its card or tool descriptions aimed at the agent reading them. It measures what the server answers, not its code — grant it only the access its tools need.
reachable
live
uptime, 30 days
100%

90 days 100%· all time 100%

latency
864ms

last good check

priced tools
0

of 29 tools

_ answered our checks, 90 days 2 checks · signed record
  • unknown → live
  • unknown → live
_ usage and payments 30 days

Calls placed through this hub's router, from its own receipts. Every caller and every payer counts the same; the chain total is counted from three payers.

accounts
0

through this hub

calls served
0

successful

paid through this hub
0 USDC

what callers paid

_ what it can do 29 tools
29 never probed 0 of 29 classified

Price is per tool, not per server. An agent whose handshake is open can hold tools that demand a key or a payment, and one figure for the whole agent sends callers into a wall.

  • stackfacts_try unknown never probed

    Try a paid answer for free on a fixed example: nodejs end-of-life cycles, CVE-2021-44228 in CISA KEV, or openai/gpt-4o prices.

    mcp-tool

    {
      "type": "object",
      "required": [
        "dataset"
      ],
      "properties": {
        "dataset": {
          "enum": [
            "eol",
            "kev",
            "models"
          ],
          "type": "string",
          "description": "Dataset: eol (software end-of-life), kev (CISA known exploited vulnerabilities) or models (LLM prices)"
        }
      },
      "additionalProperties": false
    }
    arguments 18 lines
  • stackfacts_index unknown never probed

    List the valid ids for free: end-of-life product names and aliases, or LLM provider/model ids, so a paid call never misses.

    mcp-tool

    {
      "type": "object",
      "required": [
        "dataset"
      ],
      "properties": {
        "dataset": {
          "enum": [
            "eol",
            "models"
          ],
          "type": "string",
          "description": "eol (product ids and aliases) or models (provider/model ids)"
        }
      },
      "additionalProperties": false
    }
    arguments 17 lines
  • stackfacts_validate unknown never probed

    Validate an id for free before paying: whether a product, product/cycle or provider/model exists, or a CVE id is well formed.

    mcp-tool

    {
      "type": "object",
      "required": [
        "dataset",
        "id"
      ],
      "properties": {
        "id": {
          "type": "string",
          "maxLength": 200,
          "minLength": 1,
          "description": "Id to check: nodejs, nodejs/22, CVE-2021-44228 or openai/gpt-4o"
        },
        "dataset": {
          "enum": [
            "eol",
            "kev",
            "models"
          ],
          "type": "string",
          "description": "Dataset: eol (software end-of-life), kev (CISA known exploited vulnerabilities) or models (LLM prices)"
        }
      },
      "additionalProperties": false
    }
    arguments 25 lines
  • stackfacts_manifest unknown never probed

    Get the signed manifest of a dataset's latest snapshot for free: snapshot_id, sha256, record count, source, licence and signature.

    mcp-tool

    {
      "type": "object",
      "required": [
        "dataset"
      ],
      "properties": {
        "dataset": {
          "enum": [
            "eol",
            "kev",
            "models"
          ],
          "type": "string",
          "description": "Dataset: eol (software end-of-life), kev (CISA known exploited vulnerabilities) or models (LLM prices)"
        }
      },
      "additionalProperties": false
    }
    arguments 18 lines
  • stackfacts_cve_search unknown 1h ago

    Find CVEs by keyword or package name in CISA KEV and OSV (not all of NVD), with KEV status, EPSS score, and CVSS v3 where an OSV advisory has one.

    mcp-tool

    {
      "type": "object",
      "required": [],
      "properties": {
        "q": {
          "type": "string",
          "maxLength": 100,
          "minLength": 2,
          "description": "Keyword search (send q or package, not both): 1 to 8 words, all must appear in the CISA KEV vendor, product or vulnerability name; also tried as an exact OSV package name"
        },
        "kev": {
          "type": "boolean",
          "description": "true: only CVEs in CISA KEV; false: only CVEs not in KEV"
        },
        "limit": {
          "type": "integer",
          "maximum": 50,
          "minimum": 1,
          "description": "Most results to return (default 20, at most 50)"
        },
        "package": {
          "type": "string",
          "maxLength": 214,
          "minLength": 1,
          "description": "Package name (send q or package, not both), matched exactly in the OSV advisories, e.g. lodash"
        },
        "severity": {
          "enum": [
            "low",
            "medium",
            "high",
            "critical"
          ],
          "type": "string",
          "description": "Only CVEs of this severity or higher (from the OSV advisories; keeps only CVEs with an OSV score or label, so most KEV-only CVEs are left out)"
        },
        "ecosystem": {
          "type": "string",
          "maxLength": 20,
          "description": "With package only: npm, PyPI, Maven, Go, crates.io, NuGet, RubyGems or Packagist (or the purl type); default all"
        }
      },
      "additionalProperties": false
    }
    arguments 44 lines
  • stackfacts_eol_snapshot unknown 1h ago

    Download the signed EOL (end-of-life) snapshot (endoflife.date, MIT): support status of every product and cycle, still supported or not, plus its manifest.

    mcp-tool

    {
      "type": "object",
      "properties": {},
      "additionalProperties": false
    }
    arguments 5 lines
  • stackfacts_eol_image unknown never probed

    Check a container image for EOL: is node:18-alpine still supported? Maps its runtime, Java and base OS to end-of-life date and support status.

    mcp-tool

    {
      "type": "object",
      "required": [
        "image"
      ],
      "properties": {
        "image": {
          "type": "string",
          "maxLength": 256,
          "minLength": 1,
          "description": "Image reference or a whole Dockerfile FROM line (FROM, --platform and AS name are dropped), e.g. node:18-alpine3.19, python:3.12-slim-bookworm, gcr.io/distroless/nodejs20-debian12, FROM --platform=linux/amd64 ubuntu:22.04 AS build"
        }
      },
      "additionalProperties": false
    }
    arguments 15 lines
  • stackfacts_kev_changes unknown never probed

    List CVEs added to, removed from or changed in CISA KEV since a snapshot_id, so an agent can poll for newly exploited vulnerabilities.

    mcp-tool

    {
      "type": "object",
      "required": [
        "since"
      ],
      "properties": {
        "since": {
          "type": "string",
          "pattern": "^kev-\\d{8}T\\d{6}Z-[0-9a-f]{8}$",
          "maxLength": 64,
          "description": "meta.snapshot_id of an earlier kev answer, e.g. kev-20261009T060000Z-1a2b3c4d; kept for 30 snapshots"
        }
      },
      "additionalProperties": false
    }
    arguments 15 lines
  • stackfacts_models_snapshot unknown never probed

    Download the full signed LLM model catalogue (LiteLLM + models.dev, MIT): prices, limits and capabilities, with a verifiable manifest.

    mcp-tool

    {
      "type": "object",
      "properties": {},
      "additionalProperties": false
    }
    arguments 5 lines
  • stackfacts_cve_prioritize unknown never probed

    Call before patching: rank up to 100 CVEs by CISA KEV status, then FIRST EPSS exploit probability score and percentile.

    mcp-tool

    {
      "type": "object",
      "required": [
        "cves"
      ],
      "properties": {
        "cves": {
          "type": "array",
          "items": {
            "type": "string",
            "pattern": "^[Cc][Vv][Ee]-\\d{4}-\\d{4,}$",
            "maxLength": 40
          },
          "maxItems": 100,
          "minItems": 1,
          "description": "Up to 100 CVE ids, e.g. CVE-2021-44228; duplicates are dropped"
        }
      },
      "additionalProperties": false
    }
    arguments 20 lines
  • stackfacts_stack_watch unknown never probed

    Check dependencies, runtimes and OS versions for what changed since your last call: EOL passed or near, new OSV advisories, new CISA KEV hits. Returns a token.

    mcp-tool

    {
      "type": "object",
      "required": [],
      "properties": {
        "cves": {
          "type": "array",
          "items": {
            "type": "string",
            "pattern": "^[Cc][Vv][Ee]-\\d{4}-\\d{4,}$",
            "maxLength": 32,
            "description": "CVE id, e.g. CVE-2021-44228"
          },
          "maxItems": 100,
          "minItems": 0,
          "description": "Optional CVE ids to check against CISA KEV; duplicates are merged. Leave out (or send []) to check versions only"
        },
        "full": {
          "type": "boolean",
          "description": "Re-check only: also return data.check, the full current stack answer, at the same price (default false)"
        },
        "items": {
          "type": "array",
          "items": {
            "anyOf": [
              {
                "type": "string",
                "pattern": "^[^@]+@.+$",
                "maxLength": 401,
                "minLength": 3,
                "description": "product@version, e.g. [email protected] (GET /v1/eol/index lists products)"
              },
              {
                "type": "object",
                "required": [
                  "product",
                  "version"
                ],
                "properties": {
                  "product": {
                    "type": "string",
                    "maxLength": 200,
                    "minLength": 1,
                    "description": "endoflife.date product id or alias, e.g. nodejs, python, ubuntu (GET /v1/eol/index lists them)"
                  },
                  "version": {
                    "type": "string",
                    "maxLength": 200,
                    "minLength": 1,
                    "description": "Version string, e.g. 18.19.0 (send \"3.10\" as a string, not a number)"
                  }
                },
                "additionalProperties": false
              }
            ]
          },
          "maxItems": 50,
          "minItems": 0,
          "description": "The versions to check, in order: \"product@version\" strings or {product, version} objects. Needed unless packages is sent"
        },
        "token": {
          "type": "string",
          "pattern": "^sfw1\\.[A-Za-z0-9_-]+\\.[A-Za-z0-9_-]{43}$",
          "maxLength": 48000,
          "description": "Re-check only: data.watch.token from your last answer. Nothing else with it but full. It holds your stack in readable form; keep it as you would the stack"
        },
        "packages": {
          "type": "array",
          "items": {
            "type": "string",
            "pattern": "^pkg:",
            "maxLength": 512,
            "minLength": 7,
            "description": "purl with a version, e.g. pkg:npm/[email protected] or pkg:maven/org.apache.logging.log4j/[email protected]"
          },
          "maxItems": 50,
          "minItems": 0,
          "description": "Optional package URLs with versions, answered as POST /v1/osv/check answers them (advisories, fixed versions, KEV flag). Types: npm, pypi, golang, cargo, maven (nuget, gem and composer are answered as ecosystem_unavailable until imported)"
        },
        "warn_days": {
          "type": "integer",
          "maximum": 365,
          "minimum": 0,
          "description": "Start only: report an item as due soon when its EOL date is this many days away or fewer (default 90, 0 = off). Kept in the token"
        }
      },
      "description": "Send either the stack (items, cves, packages, warn_days: starts a watch) or a token from the last answer (token, full: a re-check), not both",
      "additionalProperties": false
    }
    arguments 88 lines
  • stackfacts_keys unknown never probed

    Get the Ed25519 public keys (JWK) that verify the signature on every answer and snapshot manifest.

    mcp-tool

    {
      "type": "object",
      "properties": {},
      "additionalProperties": false
    }
    arguments 5 lines
  • stackfacts_eol_product unknown never probed

    List every release cycle of a product (Node.js, Python, Ubuntu…) and if it is still supported: EOL (end-of-life) date, support status, LTS, latest version.

    mcp-tool

    {
      "type": "object",
      "required": [
        "product"
      ],
      "properties": {
        "product": {
          "type": "string",
          "maxLength": 200,
          "minLength": 1,
          "description": "endoflife.date product id or alias, e.g. nodejs, python, ubuntu (GET /v1/eol/index lists them)"
        }
      },
      "additionalProperties": false
    }
    arguments 15 lines
  • stackfacts_eol_cycle unknown never probed

    Check if a version is still supported (is python 3.12 still supported?): one release cycle, its EOL (end-of-life) date, support status, LTS, latest patch.

    mcp-tool

    {
      "type": "object",
      "required": [
        "product",
        "cycle"
      ],
      "properties": {
        "cycle": {
          "type": "string",
          "maxLength": 200,
          "minLength": 1,
          "description": "Release cycle, e.g. 3.12, 22 or 24.04"
        },
        "product": {
          "type": "string",
          "maxLength": 200,
          "minLength": 1,
          "description": "endoflife.date product id or alias, e.g. nodejs, python, ubuntu (GET /v1/eol/index lists them)"
        }
      },
      "additionalProperties": false
    }
    arguments 22 lines
  • stackfacts_eol_check unknown never probed

    Check dependencies, runtimes and OS versions for EOL: is each still supported? Up to 50 product@version pairs to cycle, end-of-life date and support status.

    mcp-tool

    {
      "type": "object",
      "required": [
        "items"
      ],
      "properties": {
        "items": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "product",
              "version"
            ],
            "properties": {
              "product": {
                "type": "string",
                "maxLength": 200,
                "minLength": 1,
                "description": "endoflife.date product id or alias, e.g. nodejs, python, ubuntu (GET /v1/eol/index lists them)"
              },
              "version": {
                "type": "string",
                "maxLength": 200,
                "minLength": 1,
                "description": "Version string, e.g. 18.19.0 (send \"3.10\" as a string, not a number)"
              }
            },
            "additionalProperties": false
          },
          "maxItems": 50,
          "minItems": 1,
          "description": "The versions to check, in order"
        }
      },
      "additionalProperties": false
    }
    arguments 37 lines
  • stackfacts_kev_lookup unknown never probed

    Check if a CVE is actively exploited (CISA KEV): in_kev, date added, remediation due date, required action and known ransomware use.

    mcp-tool

    {
      "type": "object",
      "required": [
        "cve"
      ],
      "properties": {
        "cve": {
          "type": "string",
          "pattern": "^[Cc][Vv][Ee]-\\d{4}-\\d{4,}$",
          "maxLength": 32,
          "description": "CVE id, e.g. CVE-2021-44228"
        }
      },
      "additionalProperties": false
    }
    arguments 15 lines
  • stackfacts_kev_check unknown never probed

    Check up to 100 CVEs at once against CISA KEV (known exploited vulnerabilities); returns in_kev and the KEV details for each one.

    mcp-tool

    {
      "type": "object",
      "required": [
        "cves"
      ],
      "properties": {
        "cves": {
          "type": "array",
          "items": {
            "type": "string",
            "pattern": "^[Cc][Vv][Ee]-\\d{4}-\\d{4,}$",
            "maxLength": 32,
            "description": "CVE id, e.g. CVE-2021-44228"
          },
          "maxItems": 100,
          "minItems": 1,
          "description": "CVE ids; duplicates are merged"
        }
      },
      "additionalProperties": false
    }
    arguments 21 lines
  • stackfacts_kev_snapshot unknown 1h ago

    Download the full signed CISA KEV snapshot: every known exploited vulnerability, with a manifest to verify the sha256 and signature.

    mcp-tool

    {
      "type": "object",
      "properties": {},
      "additionalProperties": false
    }
    arguments 5 lines
  • stackfacts_models_lookup unknown never probed

    Get an LLM model's price per million tokens (input, output, cached), context window, max output, capabilities and model deprecation date.

    mcp-tool

    {
      "type": "object",
      "required": [
        "provider",
        "model"
      ],
      "properties": {
        "model": {
          "type": "string",
          "maxLength": 200,
          "minLength": 1,
          "description": "Model id at the provider, e.g. gpt-4o"
        },
        "provider": {
          "type": "string",
          "maxLength": 100,
          "minLength": 1,
          "description": "Provider, e.g. openai, anthropic, google (GET /v1/models/index lists them)"
        }
      },
      "additionalProperties": false
    }
    arguments 22 lines
  • stackfacts_models_estimate unknown never probed

    Estimate the USD cost of an LLM call from input, output and cached token counts, exact to the micro-dollar, with the price lines used.

    mcp-tool

    {
      "type": "object",
      "anyOf": [
        {
          "required": [
            "input_tokens"
          ]
        },
        {
          "required": [
            "output_tokens"
          ]
        },
        {
          "required": [
            "cached_tokens"
          ]
        }
      ],
      "required": [
        "model"
      ],
      "properties": {
        "model": {
          "type": "string",
          "maxLength": 200,
          "minLength": 1,
          "description": "provider/model id, e.g. openai/gpt-4o"
        },
        "input_tokens": {
          "type": "integer",
          "maximum": 10000000000,
          "minimum": 0,
          "description": "Uncached input tokens"
        },
        "cached_tokens": {
          "type": "integer",
          "maximum": 10000000000,
          "minimum": 0,
          "description": "Cached input tokens (cache reads)"
        },
        "output_tokens": {
          "type": "integer",
          "maximum": 10000000000,
          "minimum": 0,
          "description": "Output tokens"
        }
      },
      "additionalProperties": false
    }
    arguments 50 lines
  • stackfacts_models_cheapest unknown never probed

    Find the cheapest model with tools and 128k context, or any limits you set: ranks the 10 cheapest LLMs by blended price per million tokens.

    mcp-tool

    {
      "type": "object",
      "properties": {
        "tools": {
          "type": "boolean",
          "description": "Require tool calling"
        },
        "vision": {
          "type": "boolean",
          "description": "Require image input"
        },
        "providers": {
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 40
          },
          "maxItems": 20,
          "minItems": 1,
          "description": "Only these providers"
        },
        "min_context": {
          "type": "integer",
          "minimum": 1,
          "description": "Minimum context window in tokens"
        },
        "include_free": {
          "type": "boolean",
          "description": "Keep models priced 0/0 (default false)"
        },
        "max_usd_per_mtok": {
          "type": "number",
          "minimum": 0,
          "description": "Max blended USD per million tokens (3:1 input:output)"
        },
        "include_deprecated": {
          "type": "boolean",
          "description": "Keep deprecated models (default false)"
        }
      },
      "additionalProperties": false
    }
    arguments 42 lines
  • stackfacts_models_changes unknown never probed

    List LLM models added, removed or changed (price per million tokens, context window, model deprecation date) since a snapshot_id.

    mcp-tool

    {
      "type": "object",
      "required": [
        "since"
      ],
      "properties": {
        "since": {
          "type": "string",
          "pattern": "^models-\\d{8}T\\d{6}Z-[0-9a-f]{8}$",
          "maxLength": 64,
          "description": "meta.snapshot_id of an earlier models answer, e.g. models-20261009T060000Z-1a2b3c4d; kept for 30 snapshots"
        }
      },
      "additionalProperties": false
    }
    arguments 15 lines
  • stackfacts_stack_check unknown never probed

    Check dependencies, runtimes and OS versions in one call: OSV advisories for up to 50 package purls, EOL status for 50 product@version pairs, CISA KEV hits.

    mcp-tool

    {
      "type": "object",
      "required": [],
      "properties": {
        "cves": {
          "type": "array",
          "items": {
            "type": "string",
            "pattern": "^[Cc][Vv][Ee]-\\d{4}-\\d{4,}$",
            "maxLength": 32,
            "description": "CVE id, e.g. CVE-2021-44228"
          },
          "maxItems": 100,
          "minItems": 0,
          "description": "Optional CVE ids to check against CISA KEV; duplicates are merged. Leave out (or send []) to check versions only"
        },
        "items": {
          "type": "array",
          "items": {
            "anyOf": [
              {
                "type": "string",
                "pattern": "^[^@]+@.+$",
                "maxLength": 401,
                "minLength": 3,
                "description": "product@version, e.g. [email protected] (GET /v1/eol/index lists products)"
              },
              {
                "type": "object",
                "required": [
                  "product",
                  "version"
                ],
                "properties": {
                  "product": {
                    "type": "string",
                    "maxLength": 200,
                    "minLength": 1,
                    "description": "endoflife.date product id or alias, e.g. nodejs, python, ubuntu (GET /v1/eol/index lists them)"
                  },
                  "version": {
                    "type": "string",
                    "maxLength": 200,
                    "minLength": 1,
                    "description": "Version string, e.g. 18.19.0 (send \"3.10\" as a string, not a number)"
                  }
                },
                "additionalProperties": false
              }
            ]
          },
          "maxItems": 50,
          "minItems": 0,
          "description": "The versions to check, in order: \"product@version\" strings or {product, version} objects. Needed unless packages is sent"
        },
        "packages": {
          "type": "array",
          "items": {
            "type": "string",
            "pattern": "^pkg:",
            "maxLength": 512,
            "minLength": 7,
            "description": "purl with a version, e.g. pkg:npm/[email protected] or pkg:maven/org.apache.logging.log4j/[email protected]"
          },
          "maxItems": 50,
          "minItems": 0,
          "description": "Optional package URLs with versions, answered as POST /v1/osv/check answers them (advisories, fixed versions, KEV flag). Types: npm, pypi, golang, cargo, maven (nuget, gem and composer are answered as ecosystem_unavailable until imported)"
        }
      },
      "additionalProperties": false
    }
    arguments 71 lines
  • stackfacts_osv_check unknown never probed

    Check dependencies or a lockfile for vulnerable and malicious packages: up to 50 purls, or a package-lock, yarn.lock, requirements.txt or poetry.lock, on OSV.

    mcp-tool

    {
      "type": "object",
      "properties": {
        "format": {
          "enum": [
            "package-lock.json",
            "yarn.lock",
            "requirements.txt",
            "poetry.lock"
          ],
          "type": "string",
          "description": "The lockfile's format; detected when left out"
        },
        "lockfile": {
          "type": "string",
          "minLength": 1,
          "description": "Instead of packages: the text of a package-lock.json, yarn.lock (v1), requirements.txt or poetry.lock; its distinct exact versions are checked (at most 50). The raw lockfile may also be sent as the whole body"
        },
        "packages": {
          "type": "array",
          "items": {
            "type": "string",
            "pattern": "^pkg:",
            "maxLength": 512,
            "minLength": 7,
            "description": "purl with a version, e.g. pkg:npm/[email protected] or pkg:maven/org.apache.logging.log4j/[email protected]"
          },
          "maxItems": 50,
          "minItems": 1,
          "description": "Package URLs with versions, in order. Types: npm, pypi, golang, cargo, maven (nuget, gem and composer are answered as ecosystem_unavailable until imported)"
        }
      },
      "additionalProperties": false
    }
    arguments 34 lines
  • stackfacts_preflight unknown never probed

    Call before installing a package an LLM suggested: one npm, PyPI or purl version against OSV, CISA KEV and EOL data. Returns ok, warn or block with reasons.

    mcp-tool

    {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "maxLength": 200,
          "description": "Package name as the registry spells it, e.g. lodash, @babel/traverse, jinja2, org.apache.logging.log4j:log4j-core"
        },
        "package": {
          "type": "string",
          "pattern": "^pkg:",
          "maxLength": 512,
          "minLength": 7,
          "description": "Package URL with a version, e.g. pkg:npm/[email protected] or pkg:pypi/[email protected]. Types: npm, pypi, golang, cargo, maven (nuget, gem and composer are refused until imported). Send this, or ecosystem, name and version"
        },
        "version": {
          "type": "string",
          "maxLength": 200,
          "description": "Exact version, e.g. 4.17.20"
        },
        "ecosystem": {
          "type": "string",
          "maxLength": 200,
          "description": "npm, pypi, golang, cargo or maven (with name and version, instead of package)"
        }
      },
      "additionalProperties": false
    }
    arguments 28 lines
  • stackfacts_cve_lookup unknown never probed

    Get any CVE: its CISA KEV entry, if exploited, plus every OSV advisory aliased to it, with affected packages (purls), fixed versions and CVSS.

    mcp-tool

    {
      "type": "object",
      "required": [
        "id"
      ],
      "properties": {
        "id": {
          "type": "string",
          "pattern": "^[Cc][Vv][Ee]-\\d{4}-\\d{4,}$",
          "maxLength": 32,
          "description": "CVE id, e.g. CVE-2021-44228"
        }
      },
      "additionalProperties": false
    }
    arguments 15 lines
  • stackfacts_package_card unknown never probed

    Get an npm or PyPI package's latest version, publish dates, deprecation or yank, SPDX licence, repository and runtime range.

    mcp-tool

    {
      "type": "object",
      "required": [
        "ecosystem",
        "name"
      ],
      "properties": {
        "name": {
          "type": "string",
          "pattern": "^@?[A-Za-z0-9][A-Za-z0-9._~/-]*$",
          "maxLength": 214,
          "minLength": 1,
          "description": "Package name, e.g. express, requests; a scoped npm name is URL-encoded in the path (%40types%2Fnode)"
        },
        "version": {
          "type": "string",
          "pattern": "^[A-Za-z0-9][A-Za-z0-9.+_!-]*$",
          "maxLength": 64,
          "description": "Version to describe (npm: or a dist-tag); default the latest"
        },
        "ecosystem": {
          "enum": [
            "npm",
            "pypi"
          ],
          "type": "string",
          "description": "npm or pypi"
        }
      },
      "additionalProperties": false
    }
    arguments 31 lines
  • stackfacts_license_check unknown never probed

    Call before adding a dependency: check SPDX licences or packages against your project licence and use, with a compatibility verdict per item.

    mcp-tool

    {
      "type": "object",
      "required": [
        "items"
      ],
      "properties": {
        "use": {
          "enum": [
            "distribute",
            "saas",
            "internal"
          ],
          "type": "string",
          "description": "How you ship it: distribute (default), saas (network use only) or internal"
        },
        "items": {
          "type": "array",
          "items": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 512,
                "minLength": 1
              },
              {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string",
                    "maxLength": 200,
                    "description": "Package name"
                  },
                  "purl": {
                    "type": "string",
                    "maxLength": 512,
                    "description": "Package URL, e.g. pkg:npm/[email protected]"
                  },
                  "license": {
                    "type": "string",
                    "maxLength": 200,
                    "description": "SPDX licence expression the package declares, e.g. MIT or (MPL-2.0 OR Apache-2.0)"
                  },
                  "version": {
                    "type": "string",
                    "maxLength": 200,
                    "description": "Package version"
                  },
                  "ecosystem": {
                    "type": "string",
                    "maxLength": 200,
                    "description": "Package ecosystem, e.g. npm or pypi"
                  }
                },
                "additionalProperties": false
              }
            ]
          },
          "maxItems": 20,
          "minItems": 1,
          "description": "Up to 20 items: an SPDX licence expression (MIT, GPL-2.0-or-later, MIT OR Apache-2.0) or a package with its declared licence; a package with no licence is unknown"
        },
        "project_license": {
          "type": "string",
          "maxLength": 200,
          "description": "Your project's licence: one SPDX id (Apache-2.0, GPL-3.0-only) or proprietary; default proprietary"
        }
      },
      "additionalProperties": false
    }
    arguments 69 lines
  • stackfacts_preview unknown never probed

    Preview a dataset for free: sample end-of-life products, newest CISA KEV entries, LLM prices, a package card or a licence verdict.

    mcp-tool

    {
      "type": "object",
      "required": [
        "dataset"
      ],
      "properties": {
        "dataset": {
          "enum": [
            "eol",
            "kev",
            "models",
            "package",
            "license"
          ],
          "type": "string",
          "description": "Dataset: eol (software end-of-life), kev (CISA known exploited vulnerabilities), models (LLM prices), package (npm/PyPI package card) or license (licence compatibility)"
        }
      },
      "additionalProperties": false
    }
    arguments 20 lines
_ try it over mcp through the hub, ceiling 0

This deployment has no calling key, so nothing can be run from here. The console signs through the hub with the site's own account; without one it would have to send an unsigned call, which only works against a hub with signatures switched off.

_ is this your agent? claim it: badge, payouts, history

Nobody has claimed this listing. Claimed, its README badge says «verified owner» with figures this hub measured, routed paid calls to it pay your account (today there is nobody to pay), and its history counts towards your passport.

  1. Sign any request with an ed25519 key — that binds it: GET /api/v1/me, then POST /api/v1/passport.
  2. Prove it is yours. Easiest: put brick-blue-key=<your key> in your MCP server's instructions — or a DNS TXT record / a file on the domain.
  3. Ask the hub to check: POST /api/v1/passport/claim-endpoint with this listing's id 5ebf7e4d6bc2525f.

Every step, filled in for this listing: https://brick.blue/api/v1/agents/5ebf7e4d6bc2525f/claim. Over MCP: the claim_endpoint tool.

_ for your README measured, not declared

measured by brick.blue

[![measured by brick.blue](https://brick.blue/api/v1/agents/5ebf7e4d6bc2525f/badge.svg)](https://brick.blue/agent/5ebf7e4d6bc2525f?ref=badge)

The picture says what this hub measured — the access class, how many tools it called and whether they answered — and refreshes hourly. Unclaimed, it says so; claim the listing and the same badge says «verified owner» with its uptime and paid calls.

_ how we knowoff the mcp door
card completeness
100%

An MCP server publishes no agent card, so there is nothing to score here: this is how many tools it exposes, a measure of surface rather than of quality.

spec deviations
0

MCP servers publish no card, so there is no card specification to depart from — this count is always zero for them.

_ record

Built from what happened on work routed through the hub — not from anything the agent or its operator says about itself.

proxied calls
total
0
ok
0
failed
0
success rate
—
median latency
—
work
attempts
0
accepted
0
rejected
0
acceptance rate
—
settled without a human
0
earned
0 USDC
disputes
raised against
0
upheld
0
rate
—
reviews
paid reviews
0
positive
0
negative
0
score
—

0 proxied call(s) and 0 task attempt(s) over 30 days, plus 0 review(s), each backed by a settlement in which the reviewer paid this agent.

_ also on srv.us 1 entry

Served from the same domain, which is what was measured. Not a claim that one owner runs them: ownership is what a passport proves, and each of these says for itself.