{"id":297852,"name":"Stack Facts","description":"Check a package before install: malware, known vulnerabilities (OSV), exploited CVEs (CISA KEV) and end-of-life, plus LLM prices; signed answers, pay per call in USDC, no account or API key. Sources: OSV.dev, CISA KEV, endoflife.date, LiteLLM and models.dev.","card_url":"https://g5joilnmeep4ntz3nwezxt5dmu.srv.us/.well-known/agent-card.json","endpoint":"https://g5joilnmeep4ntz3nwezxt5dmu.srv.us","protocol_version":"0.3.0","first_seen":"2026-10-22T02:49:41.803531+00:00","last_verified":"2026-10-22T05:17:57.272274+00:00","card":{"url":"https://g5joilnmeep4ntz3nwezxt5dmu.srv.us","name":"Stack Facts","skills":[{"id":"stackfacts_eol_product","name":"stackfacts_eol_product","tags":["EOL","end-of-life dates","support status","is <product> <version> still supported","release cycles","LTS","endoflife.date"],"x-paid":true,"x-routes":["GET /v1/eol/{product}"],"inputModes":["application/json"],"description":"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.","outputModes":["application/json"]},{"id":"stackfacts_eol_cycle","name":"stackfacts_eol_cycle","tags":["is <product> <version> still supported","EOL","end-of-life date","support status","support until","latest patch version","LTS"],"x-paid":true,"x-routes":["GET /v1/eol/{product}/{cycle}"],"inputModes":["application/json"],"description":"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.","outputModes":["application/json"]},{"id":"stackfacts_eol_check","name":"stackfacts_eol_check","tags":["check my stack for end-of-life versions","is <product> <version> still supported","EOL","support status","dependency EOL audit","batch end-of-life check"],"x-paid":true,"x-routes":["POST /v1/eol/check","GET /v1/eol/check"],"inputModes":["application/json"],"description":"Check runtimes and OS versions for EOL: is each still supported? Up to 50 product@version pairs, end-of-life date, support status; unknowns get suggestions.","outputModes":["application/json"]},{"id":"stackfacts_eol_image","name":"stackfacts_eol_image","tags":["is my docker image end-of-life","container base image EOL","is <product> <version> still supported","Dockerfile FROM audit","EOL","support status","base OS end-of-life"],"x-paid":true,"x-routes":["GET /v1/eol/image"],"inputModes":["application/json"],"description":"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.","outputModes":["application/json"]},{"id":"stackfacts_eol_snapshot","name":"stackfacts_eol_snapshot","tags":["EOL","end-of-life dataset download","support status","is <product> <version> still supported","endoflife.date bulk","signed snapshot"],"x-paid":true,"x-routes":["GET /v1/eol/snapshot"],"inputModes":["application/json"],"description":"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.","outputModes":["application/json"]},{"id":"stackfacts_kev_lookup","name":"stackfacts_kev_lookup","tags":["check if a CVE is actively exploited (CISA KEV)","known exploited vulnerability","CISA KEV lookup","CVE exploited in the wild"],"x-paid":true,"x-routes":["GET /v1/kev/{cve}"],"inputModes":["application/json"],"description":"Check if a CVE is actively exploited (CISA KEV): in_kev, date added, remediation due date, required action and known ransomware use.","outputModes":["application/json"]},{"id":"stackfacts_kev_check","name":"stackfacts_kev_check","tags":["check if a CVE is actively exploited (CISA KEV)","batch CVE check","vulnerability scan triage","known exploited vulnerabilities"],"x-paid":true,"x-routes":["POST /v1/kev/check"],"inputModes":["application/json"],"description":"Check up to 100 CVEs at once against CISA KEV (known exploited vulnerabilities); returns in_kev and the KEV details for each one.","outputModes":["application/json"]},{"id":"stackfacts_kev_changes","name":"stackfacts_kev_changes","tags":["new CISA KEV entries","newly exploited vulnerabilities","KEV change feed","check if a CVE is actively exploited (CISA KEV)"],"x-paid":true,"x-routes":["GET /v1/kev/changes"],"inputModes":["application/json"],"description":"List CVEs added to, removed from or changed in CISA KEV since a snapshot_id, so an agent can poll for newly exploited vulnerabilities.","outputModes":["application/json"]},{"id":"stackfacts_kev_snapshot","name":"stackfacts_kev_snapshot","tags":["CISA KEV download","known exploited vulnerabilities catalog","signed snapshot"],"x-paid":true,"x-routes":["GET /v1/kev/snapshot"],"inputModes":["application/json"],"description":"Download the full signed CISA KEV snapshot: every known exploited vulnerability, with a manifest to verify the sha256 and signature.","outputModes":["application/json"]},{"id":"stackfacts_models_lookup","name":"stackfacts_models_lookup","tags":["price per million tokens","context window","model deprecation date","LLM pricing","max output tokens"],"x-paid":true,"x-routes":["GET /v1/models/{provider}/{model}"],"inputModes":["application/json"],"description":"Get an LLM model's price per million tokens (input, output, cached), context window, max output, capabilities and model deprecation date.","outputModes":["application/json"]},{"id":"stackfacts_models_estimate","name":"stackfacts_models_estimate","tags":["LLM cost estimate","price per million tokens","token cost calculator","how much will this prompt cost"],"x-paid":true,"x-routes":["POST /v1/models/estimate"],"inputModes":["application/json"],"description":"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.","outputModes":["application/json"]},{"id":"stackfacts_models_cheapest","name":"stackfacts_models_cheapest","tags":["cheapest model with tools and 128k context","cheapest LLM","price per million tokens","context window","model comparison"],"x-paid":true,"x-routes":["POST /v1/models/cheapest"],"inputModes":["application/json"],"description":"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.","outputModes":["application/json"]},{"id":"stackfacts_models_changes","name":"stackfacts_models_changes","tags":["LLM price changes","model deprecation date","new LLM models","price per million tokens"],"x-paid":true,"x-routes":["GET /v1/models/changes"],"inputModes":["application/json"],"description":"List LLM models added, removed or changed (price per million tokens, context window, model deprecation date) since a snapshot_id.","outputModes":["application/json"]},{"id":"stackfacts_models_watch","name":"stackfacts_models_watch","tags":["watch LLM prices and deprecations","Use when the models you call may change price or be deprecated","model deprecation alert","LLM price change monitor","what changed for my models since my last check"],"x-paid":true,"x-routes":["POST /v1/models/watch"],"inputModes":["application/json"],"description":"Check LLMs for what changed since your last call: changed records (with today's price and limits), removals, deprecated or soon deprecated, with snapshot dates.","outputModes":["application/json"]},{"id":"stackfacts_models_snapshot","name":"stackfacts_models_snapshot","tags":["LLM pricing dataset","price per million tokens","context window","signed snapshot"],"x-paid":true,"x-routes":["GET /v1/models/snapshot"],"inputModes":["application/json"],"description":"Download the full signed LLM model catalogue (LiteLLM + models.dev, MIT): prices, limits and capabilities, with a verifiable manifest.","outputModes":["application/json"]},{"id":"stackfacts_stack_check","name":"stackfacts_stack_check","tags":["check my stack for end-of-life versions and exploited CVEs","stack audit","EOL, package vulnerabilities and KEV in one call","is <product> <version> still supported","dependency risk check","known exploited vulnerabilities"],"x-paid":true,"x-routes":["POST /v1/stack/check"],"inputModes":["application/json"],"description":"Check dependencies, runtimes and OS versions in one call: OSV for up to 50 purls, EOL for 50 product@version pairs, CISA KEV hits, suggestions for unknowns.","outputModes":["application/json"]},{"id":"stackfacts_osv_check","name":"stackfacts_osv_check","tags":["check my dependencies for known vulnerabilities","is <package> <version> vulnerable","OSV","purl","npm PyPI Go crates.io Maven advisories","GHSA","fixed version","known exploited vulnerabilities","malicious package check","lockfile scan","package-lock.json yarn.lock requirements.txt poetry.lock"],"x-paid":true,"x-routes":["POST /v1/osv/check"],"inputModes":["application/json"],"description":"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.","outputModes":["application/json"]},{"id":"stackfacts_preflight","name":"stackfacts_preflight","tags":["call before installing a package an LLM suggested","npm install check","pip install check","package preflight","malicious package check","known exploited vulnerabilities","OSV","purl"],"x-paid":true,"x-routes":["POST /v1/preflight"],"inputModes":["application/json"],"description":"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.","outputModes":["application/json"]},{"id":"stackfacts_cve_lookup","name":"stackfacts_cve_lookup","tags":["get a CVE","CVE lookup","CVE details","CVE fixed version","CVE affected packages","CVSS score","OSV","CISA KEV","CVE priority"],"x-paid":true,"x-routes":["GET /v1/cve/{id}"],"inputModes":["application/json"],"description":"Get any CVE: CISA KEV entry, CVSS score and patch priority, plus every OSV advisory aliased to it, with affected packages and fixed versions.","outputModes":["application/json"]},{"id":"stackfacts_cwe_lookup","name":"stackfacts_cwe_lookup","tags":["CWE lookup","CWE weakness","common weakness enumeration","CWE name","CWE description","MITRE CWE"],"x-paid":true,"x-routes":["GET /v1/cwe/{id}"],"inputModes":["application/json"],"description":"Get one MITRE CWE weakness by id (79 or CWE-79): name, status, description and MITRE link. From the CWE catalogue (v4.20); MITRE notice on every answer.","outputModes":["application/json"]},{"id":"stackfacts_technique_lookup","name":"stackfacts_technique_lookup","tags":["technique lookup","adversary technique","attack technique id","technique tactics","technique platforms","MITRE technique"],"x-paid":true,"x-routes":["GET /v1/technique/{id}"],"inputModes":["application/json"],"description":"Get one technique by id (T1055.011): name, tactics, platforms, description, mitigations, detection, data sources and link. MITRE ATT&CK v20.0; credited.","outputModes":["application/json"]},{"id":"stackfacts_capec_lookup","name":"stackfacts_capec_lookup","tags":["CAPEC lookup","CAPEC attack pattern","common attack pattern enumeration","attack pattern mitigations","CAPEC description","MITRE CAPEC"],"x-paid":true,"x-routes":["GET /v1/capec/{id}"],"inputModes":["application/json"],"description":"Get one MITRE CAPEC attack pattern by id: severity, likelihood, prerequisites, mitigations, related CWE and ATT&CK ids and MITRE link.","outputModes":["application/json"]},{"id":"stackfacts_domain_lookup","name":"stackfacts_domain_lookup","tags":["public suffix","registrable domain","eTLD+1","domain split","subdomain parser","Public Suffix List","effective TLD"],"x-paid":true,"x-routes":["GET /v1/domain/{host}"],"inputModes":["application/json"],"description":"Get the public suffix, registrable domain and subdomain of a host name from the Mozilla Public Suffix List, with the matching rule and section.","outputModes":["application/json"]},{"id":"stackfacts_port_lookup","name":"stackfacts_port_lookup","tags":["port number","IANA","service name","well-known ports","port lookup","TCP port","UDP port","service names and port numbers"],"x-paid":true,"x-routes":["GET /v1/port/{number}"],"inputModes":["application/json"],"description":"Get the IANA service name, transport, description and reference for a port number from the IANA Service Name and Transport Protocol Port Number Registry.","outputModes":["application/json"]},{"id":"stackfacts_control_lookup","name":"stackfacts_control_lookup","tags":["NIST SP 800-53","security controls","control catalogue","compliance","OSCAL","control enhancement","FedRAMP","access control"],"x-paid":true,"x-routes":["GET /v1/control/{id}"],"inputModes":["application/json"],"description":"Get one NIST SP 800-53 Rev 5 security control or enhancement by id (AC-2, AC-2(1)): title, statement, guidance, related controls and status.","outputModes":["application/json"]},{"id":"stackfacts_bcp47_lookup","name":"stackfacts_bcp47_lookup","tags":["BCP 47","language tag","locale","IANA language subtag registry","RFC 5646","ISO 639","script subtag","region subtag"],"x-paid":true,"x-routes":["GET /v1/bcp47/{tag}"],"inputModes":["application/json"],"description":"Get an IANA language tag (en-AU, zh-Hant) part by part: type, description, scope, deprecation and preferred value from the Language Subtag Registry.","outputModes":["application/json"]},{"id":"stackfacts_tz_lookup","name":"stackfacts_tz_lookup","tags":["time zone","IANA time zone","tz database","tzdata","UTC offset","daylight saving","DST","timezone abbreviation"],"x-paid":true,"x-routes":["GET /v1/tz/{zone}"],"inputModes":["application/json"],"description":"Get an IANA time zone (Europe/Berlin) or alias: current UTC offset, abbreviation, DST summary and backward-compatible names from tzdata.","outputModes":["application/json"]},{"id":"stackfacts_package_card","name":"stackfacts_package_card","tags":["package metadata","latest version","npm package","PyPI package","package licence","SPDX licence","deprecated package","yanked release"],"x-paid":true,"x-routes":["GET /v1/package/{ecosystem}/{name}"],"inputModes":["application/json"],"description":"Get an npm or PyPI package's latest version, publish dates, deprecation or yank, SPDX licence, repository and runtime range.","outputModes":["application/json"]},{"id":"stackfacts_license_check","name":"stackfacts_license_check","tags":["licence compatibility","license compatibility","SPDX licence check","GPL compatible","copyleft licence","dependency licence","open source licence policy","AGPL SaaS"],"x-paid":true,"x-routes":["POST /v1/license/check"],"inputModes":["application/json"],"description":"Call before adding a dependency: check SPDX licences or packages against your project licence and use, with a compatibility verdict per item.","outputModes":["application/json"]},{"id":"stackfacts_cve_prioritize","name":"stackfacts_cve_prioritize","tags":["CVE prioritization","exploit prediction","KEV","vulnerability triage","patch priority","CVE ranking","known exploited"],"x-paid":true,"x-routes":["POST /v1/cve/prioritize"],"inputModes":["application/json"],"description":"Call before patching: rank up to 100 CVEs by CISA KEV status, then CVSS base score.","outputModes":["application/json"]},{"id":"stackfacts_cve_search","name":"stackfacts_cve_search","tags":["CVE search","search vulnerabilities by keyword","CVEs for a package","KEV","known exploited","vulnerability lookup by product","OSV advisories"],"x-paid":true,"x-routes":["GET /v1/cve/search"],"inputModes":["application/json"],"description":"Find CVEs by keyword or package name in CISA KEV and OSV (not all of NVD), with KEV status and CVSS v3 where an OSV advisory has one.","outputModes":["application/json"]},{"id":"stackfacts_package_preflight","name":"stackfacts_package_preflight","tags":["call before npm install","call before pip install","package preflight","is this package safe","latest version","package licence","deprecated package","known exploited vulnerabilities"],"x-paid":true,"x-routes":["GET /v1/preflight/{ecosystem}/{name}"],"inputModes":["application/json"],"description":"Call before installing an npm or PyPI package: latest or given version, licence, OSV vulns, CISA KEV CVEs, deprecation or yank. Returns ok, caution or block.","outputModes":["application/json"]},{"id":"stackfacts_upgrade_delta","name":"stackfacts_upgrade_delta","tags":["is this upgrade safe","npm upgrade check","pip upgrade check","upgrade package version","version bump risk","vulnerabilities fixed by upgrade","breaking upgrade","dependency upgrade decision"],"x-paid":true,"x-routes":["GET /v1/upgrade/{ecosystem}/{name}"],"inputModes":["application/json"],"description":"Check moving an npm or PyPI package from one version to another: advisories fixed or introduced, KEV, licence, runtime. Returns go, review or no_go.","outputModes":["application/json"]},{"id":"stackfacts_lockfile_diff","name":"stackfacts_lockfile_diff","tags":["lockfile diff","compare lockfiles","dependency diff","package.json diff","requirements diff","dependency update risk","pull request dependency check","dependabot review"],"x-paid":true,"x-routes":["POST /v1/lockfile/diff"],"inputModes":["application/json"],"description":"Check npm or PyPI purl lists or raw lockfiles: upgrades judged on advisories, KEV, licence; same version, other hash = hash_mismatch. Returns go, review, no_go.","outputModes":["application/json"]},{"id":"stackfacts_stack_watch","name":"stackfacts_stack_watch","tags":["watch my stack for end-of-life and new exploited CVEs","Use when you need to know what changed in a stack since your last check","stack monitor","dependency monitor","what changed since my last check","alert when a version reaches end of life","new vulnerabilities in my packages"],"x-paid":true,"x-routes":["POST /v1/stack/watch"],"inputModes":["application/json"],"description":"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.","outputModes":["application/json"]},{"id":"stackfacts_preview","name":"stackfacts_preview","tags":["free sample","end-of-life dates","CISA KEV","price per million tokens"],"x-paid":false,"x-routes":["GET /v1/{dataset}/preview"],"inputModes":["application/json"],"description":"Preview a dataset for free: sample end-of-life products, newest CISA KEV entries, LLM prices, a package card or a licence verdict.","outputModes":["application/json"]},{"id":"stackfacts_try","name":"stackfacts_try","tags":["free example","try before paying","check if a CVE is actively exploited (CISA KEV)"],"x-paid":false,"x-routes":["GET /v1/try/{dataset}"],"inputModes":["application/json"],"description":"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.","outputModes":["application/json"]},{"id":"stackfacts_index","name":"stackfacts_index","tags":["product list","model list","valid ids","aliases"],"x-paid":false,"x-routes":["GET /v1/{dataset}/index"],"inputModes":["application/json"],"description":"List the valid ids for free: end-of-life product names and aliases, or LLM provider/model ids, so a paid call never misses.","outputModes":["application/json"]},{"id":"stackfacts_validate","name":"stackfacts_validate","tags":["validate id","check before paying","product exists"],"x-paid":false,"x-routes":["GET /v1/validate"],"inputModes":["application/json"],"description":"Validate an id for free. Privacy: only an unknown EOL id is logged (access log, miss field); a 400 logs the input name, never its value. No other id is stored.","outputModes":["application/json"]},{"id":"stackfacts_manifest","name":"stackfacts_manifest","tags":["signed manifest","snapshot_id","data freshness","provenance"],"x-paid":false,"x-routes":["GET /v1/{dataset}/manifest"],"inputModes":["application/json"],"description":"Get the signed manifest of a dataset's latest snapshot for free: snapshot_id, sha256, record count, source, licence and signature.","outputModes":["application/json"]},{"id":"stackfacts_keys","name":"stackfacts_keys","tags":["public key","verify signature","JWKS","Ed25519"],"x-paid":false,"x-routes":["GET /v1/keys"],"inputModes":["application/json"],"description":"Get the Ed25519 public keys (JWK) that verify the signature on every answer and snapshot manifest.","outputModes":["application/json"]}],"version":"0.6.0","x-payment":{"mcp":"https://g5joilnmeep4ntz3nwezxt5dmu.srv.us/mcp","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","scheme":"exact","network":"eip155:8453","openapi":"https://g5joilnmeep4ntz3nwezxt5dmu.srv.us/openapi.json","pricing":"https://g5joilnmeep4ntz3nwezxt5dmu.srv.us/pricing.json","protocols":["x402"],"resources":"https://g5joilnmeep4ntz3nwezxt5dmu.srv.us/.well-known/x402","network_v1":"base","x402Versions":[2,1]},"description":"Check a package before install: malware, known vulnerabilities (OSV), exploited CVEs (CISA KEV) and end-of-life, plus LLM prices; signed answers, pay per call in USDC, no account or API key. Sources: OSV.dev, CISA KEV, endoflife.date, LiteLLM and models.dev.","capabilities":{"streaming":false,"pushNotifications":false,"stateTransitionHistory":false},"protocolVersion":"0.3.0","documentationUrl":"https://g5joilnmeep4ntz3nwezxt5dmu.srv.us/llms.txt","defaultInputModes":["application/json"],"defaultOutputModes":["application/json"],"preferredTransport":"HTTP+JSON"},"signature_status":"unsigned","signature_detail":"No card signature supplied","signature_key_url":null,"signature_checked_at":"2026-10-22T05:17:57.272274+00:00","domain_claimed_at":null,"domain_proof_checked_at":null,"source_name":"Publisher Agent Card","source_url":"https://g5joilnmeep4ntz3nwezxt5dmu.srv.us/.well-known/agent-card.json","last_check":{"checked_at":"2026-10-22T05:17:57.272274+00:00","success":true,"http_status":200,"detail":"Agent Card validated"},"also_published_at":[],"history_urls":["https://g5joilnmeep4ntz3nwezxt5dmu.srv.us/.well-known/agent-card.json"],"skills":[{"skill_id":"stackfacts_bcp47_lookup","name":"stackfacts_bcp47_lookup","description":"Get an IANA language tag (en-AU, zh-Hant) part by part: type, description, scope, deprecation and preferred value from the Language Subtag Registry.","tags":["BCP 47","language tag","locale","IANA language subtag registry","RFC 5646","ISO 639","script subtag","region subtag"],"quality_warning":false},{"skill_id":"stackfacts_capec_lookup","name":"stackfacts_capec_lookup","description":"Get one MITRE CAPEC attack pattern by id: severity, likelihood, prerequisites, mitigations, related CWE and ATT&CK ids and MITRE link.","tags":["CAPEC lookup","CAPEC attack pattern","common attack pattern enumeration","attack pattern mitigations","CAPEC description","MITRE CAPEC"],"quality_warning":false},{"skill_id":"stackfacts_control_lookup","name":"stackfacts_control_lookup","description":"Get one NIST SP 800-53 Rev 5 security control or enhancement by id (AC-2, AC-2(1)): title, statement, guidance, related controls and status.","tags":["NIST SP 800-53","security controls","control catalogue","compliance","OSCAL","control enhancement","FedRAMP","access control"],"quality_warning":false},{"skill_id":"stackfacts_cve_lookup","name":"stackfacts_cve_lookup","description":"Get any CVE: CISA KEV entry, CVSS score and patch priority, plus every OSV advisory aliased to it, with affected packages and fixed versions.","tags":["get a CVE","CVE lookup","CVE details","CVE fixed version","CVE affected packages","CVSS score","OSV","CISA KEV","CVE priority"],"quality_warning":false},{"skill_id":"stackfacts_cve_prioritize","name":"stackfacts_cve_prioritize","description":"Call before patching: rank up to 100 CVEs by CISA KEV status, then CVSS base score.","tags":["CVE prioritization","exploit prediction","KEV","vulnerability triage","patch priority","CVE ranking","known exploited"],"quality_warning":false},{"skill_id":"stackfacts_cve_search","name":"stackfacts_cve_search","description":"Find CVEs by keyword or package name in CISA KEV and OSV (not all of NVD), with KEV status and CVSS v3 where an OSV advisory has one.","tags":["CVE search","search vulnerabilities by keyword","CVEs for a package","KEV","known exploited","vulnerability lookup by product","OSV advisories"],"quality_warning":false},{"skill_id":"stackfacts_cwe_lookup","name":"stackfacts_cwe_lookup","description":"Get one MITRE CWE weakness by id (79 or CWE-79): name, status, description and MITRE link. From the CWE catalogue (v4.20); MITRE notice on every answer.","tags":["CWE lookup","CWE weakness","common weakness enumeration","CWE name","CWE description","MITRE CWE"],"quality_warning":false},{"skill_id":"stackfacts_domain_lookup","name":"stackfacts_domain_lookup","description":"Get the public suffix, registrable domain and subdomain of a host name from the Mozilla Public Suffix List, with the matching rule and section.","tags":["public suffix","registrable domain","eTLD+1","domain split","subdomain parser","Public Suffix List","effective TLD"],"quality_warning":false},{"skill_id":"stackfacts_eol_check","name":"stackfacts_eol_check","description":"Check runtimes and OS versions for EOL: is each still supported? Up to 50 product@version pairs, end-of-life date, support status; unknowns get suggestions.","tags":["check my stack for end-of-life versions","is <product> <version> still supported","EOL","support status","dependency EOL audit","batch end-of-life check"],"quality_warning":false},{"skill_id":"stackfacts_eol_cycle","name":"stackfacts_eol_cycle","description":"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.","tags":["is <product> <version> still supported","EOL","end-of-life date","support status","support until","latest patch version","LTS"],"quality_warning":false},{"skill_id":"stackfacts_eol_image","name":"stackfacts_eol_image","description":"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.","tags":["is my docker image end-of-life","container base image EOL","is <product> <version> still supported","Dockerfile FROM audit","EOL","support status","base OS end-of-life"],"quality_warning":false},{"skill_id":"stackfacts_eol_product","name":"stackfacts_eol_product","description":"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.","tags":["EOL","end-of-life dates","support status","is <product> <version> still supported","release cycles","LTS","endoflife.date"],"quality_warning":false},{"skill_id":"stackfacts_eol_snapshot","name":"stackfacts_eol_snapshot","description":"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.","tags":["EOL","end-of-life dataset download","support status","is <product> <version> still supported","endoflife.date bulk","signed snapshot"],"quality_warning":false},{"skill_id":"stackfacts_index","name":"stackfacts_index","description":"List the valid ids for free: end-of-life product names and aliases, or LLM provider/model ids, so a paid call never misses.","tags":["product list","model list","valid ids","aliases"],"quality_warning":false},{"skill_id":"stackfacts_kev_changes","name":"stackfacts_kev_changes","description":"List CVEs added to, removed from or changed in CISA KEV since a snapshot_id, so an agent can poll for newly exploited vulnerabilities.","tags":["new CISA KEV entries","newly exploited vulnerabilities","KEV change feed","check if a CVE is actively exploited (CISA KEV)"],"quality_warning":false},{"skill_id":"stackfacts_kev_check","name":"stackfacts_kev_check","description":"Check up to 100 CVEs at once against CISA KEV (known exploited vulnerabilities); returns in_kev and the KEV details for each one.","tags":["check if a CVE is actively exploited (CISA KEV)","batch CVE check","vulnerability scan triage","known exploited vulnerabilities"],"quality_warning":false},{"skill_id":"stackfacts_kev_lookup","name":"stackfacts_kev_lookup","description":"Check if a CVE is actively exploited (CISA KEV): in_kev, date added, remediation due date, required action and known ransomware use.","tags":["check if a CVE is actively exploited (CISA KEV)","known exploited vulnerability","CISA KEV lookup","CVE exploited in the wild"],"quality_warning":false},{"skill_id":"stackfacts_kev_snapshot","name":"stackfacts_kev_snapshot","description":"Download the full signed CISA KEV snapshot: every known exploited vulnerability, with a manifest to verify the sha256 and signature.","tags":["CISA KEV download","known exploited vulnerabilities catalog","signed snapshot"],"quality_warning":false},{"skill_id":"stackfacts_keys","name":"stackfacts_keys","description":"Get the Ed25519 public keys (JWK) that verify the signature on every answer and snapshot manifest.","tags":["public key","verify signature","JWKS","Ed25519"],"quality_warning":false},{"skill_id":"stackfacts_license_check","name":"stackfacts_license_check","description":"Call before adding a dependency: check SPDX licences or packages against your project licence and use, with a compatibility verdict per item.","tags":["licence compatibility","license compatibility","SPDX licence check","GPL compatible","copyleft licence","dependency licence","open source licence policy","AGPL SaaS"],"quality_warning":false},{"skill_id":"stackfacts_lockfile_diff","name":"stackfacts_lockfile_diff","description":"Check npm or PyPI purl lists or raw lockfiles: upgrades judged on advisories, KEV, licence; same version, other hash = hash_mismatch. Returns go, review, no_go.","tags":["lockfile diff","compare lockfiles","dependency diff","package.json diff","requirements diff","dependency update risk","pull request dependency check","dependabot review"],"quality_warning":false},{"skill_id":"stackfacts_manifest","name":"stackfacts_manifest","description":"Get the signed manifest of a dataset's latest snapshot for free: snapshot_id, sha256, record count, source, licence and signature.","tags":["signed manifest","snapshot_id","data freshness","provenance"],"quality_warning":false},{"skill_id":"stackfacts_models_changes","name":"stackfacts_models_changes","description":"List LLM models added, removed or changed (price per million tokens, context window, model deprecation date) since a snapshot_id.","tags":["LLM price changes","model deprecation date","new LLM models","price per million tokens"],"quality_warning":false},{"skill_id":"stackfacts_models_cheapest","name":"stackfacts_models_cheapest","description":"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.","tags":["cheapest model with tools and 128k context","cheapest LLM","price per million tokens","context window","model comparison"],"quality_warning":false},{"skill_id":"stackfacts_models_estimate","name":"stackfacts_models_estimate","description":"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.","tags":["LLM cost estimate","price per million tokens","token cost calculator","how much will this prompt cost"],"quality_warning":false},{"skill_id":"stackfacts_models_lookup","name":"stackfacts_models_lookup","description":"Get an LLM model's price per million tokens (input, output, cached), context window, max output, capabilities and model deprecation date.","tags":["price per million tokens","context window","model deprecation date","LLM pricing","max output tokens"],"quality_warning":false},{"skill_id":"stackfacts_models_snapshot","name":"stackfacts_models_snapshot","description":"Download the full signed LLM model catalogue (LiteLLM + models.dev, MIT): prices, limits and capabilities, with a verifiable manifest.","tags":["LLM pricing dataset","price per million tokens","context window","signed snapshot"],"quality_warning":false},{"skill_id":"stackfacts_models_watch","name":"stackfacts_models_watch","description":"Check LLMs for what changed since your last call: changed records (with today's price and limits), removals, deprecated or soon deprecated, with snapshot dates.","tags":["watch LLM prices and deprecations","Use when the models you call may change price or be deprecated","model deprecation alert","LLM price change monitor","what changed for my models since my last check"],"quality_warning":false},{"skill_id":"stackfacts_osv_check","name":"stackfacts_osv_check","description":"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.","tags":["check my dependencies for known vulnerabilities","is <package> <version> vulnerable","OSV","purl","npm PyPI Go crates.io Maven advisories","GHSA","fixed version","known exploited vulnerabilities","malicious package check","lockfile scan","package-lock.json yarn.lock requirements.txt poetry.lock"],"quality_warning":false},{"skill_id":"stackfacts_package_card","name":"stackfacts_package_card","description":"Get an npm or PyPI package's latest version, publish dates, deprecation or yank, SPDX licence, repository and runtime range.","tags":["package metadata","latest version","npm package","PyPI package","package licence","SPDX licence","deprecated package","yanked release"],"quality_warning":false},{"skill_id":"stackfacts_package_preflight","name":"stackfacts_package_preflight","description":"Call before installing an npm or PyPI package: latest or given version, licence, OSV vulns, CISA KEV CVEs, deprecation or yank. Returns ok, caution or block.","tags":["call before npm install","call before pip install","package preflight","is this package safe","latest version","package licence","deprecated package","known exploited vulnerabilities"],"quality_warning":false},{"skill_id":"stackfacts_port_lookup","name":"stackfacts_port_lookup","description":"Get the IANA service name, transport, description and reference for a port number from the IANA Service Name and Transport Protocol Port Number Registry.","tags":["port number","IANA","service name","well-known ports","port lookup","TCP port","UDP port","service names and port numbers"],"quality_warning":false},{"skill_id":"stackfacts_preflight","name":"stackfacts_preflight","description":"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.","tags":["call before installing a package an LLM suggested","npm install check","pip install check","package preflight","malicious package check","known exploited vulnerabilities","OSV","purl"],"quality_warning":false},{"skill_id":"stackfacts_preview","name":"stackfacts_preview","description":"Preview a dataset for free: sample end-of-life products, newest CISA KEV entries, LLM prices, a package card or a licence verdict.","tags":["free sample","end-of-life dates","CISA KEV","price per million tokens"],"quality_warning":false},{"skill_id":"stackfacts_stack_check","name":"stackfacts_stack_check","description":"Check dependencies, runtimes and OS versions in one call: OSV for up to 50 purls, EOL for 50 product@version pairs, CISA KEV hits, suggestions for unknowns.","tags":["check my stack for end-of-life versions and exploited CVEs","stack audit","EOL, package vulnerabilities and KEV in one call","is <product> <version> still supported","dependency risk check","known exploited vulnerabilities"],"quality_warning":false},{"skill_id":"stackfacts_stack_watch","name":"stackfacts_stack_watch","description":"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.","tags":["watch my stack for end-of-life and new exploited CVEs","Use when you need to know what changed in a stack since your last check","stack monitor","dependency monitor","what changed since my last check","alert when a version reaches end of life","new vulnerabilities in my packages"],"quality_warning":false},{"skill_id":"stackfacts_technique_lookup","name":"stackfacts_technique_lookup","description":"Get one technique by id (T1055.011): name, tactics, platforms, description, mitigations, detection, data sources and link. MITRE ATT&CK v20.0; credited.","tags":["technique lookup","adversary technique","attack technique id","technique tactics","technique platforms","MITRE technique"],"quality_warning":false},{"skill_id":"stackfacts_try","name":"stackfacts_try","description":"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.","tags":["free example","try before paying","check if a CVE is actively exploited (CISA KEV)"],"quality_warning":false},{"skill_id":"stackfacts_tz_lookup","name":"stackfacts_tz_lookup","description":"Get an IANA time zone (Europe/Berlin) or alias: current UTC offset, abbreviation, DST summary and backward-compatible names from tzdata.","tags":["time zone","IANA time zone","tz database","tzdata","UTC offset","daylight saving","DST","timezone abbreviation"],"quality_warning":false},{"skill_id":"stackfacts_upgrade_delta","name":"stackfacts_upgrade_delta","description":"Check moving an npm or PyPI package from one version to another: advisories fixed or introduced, KEV, licence, runtime. Returns go, review or no_go.","tags":["is this upgrade safe","npm upgrade check","pip upgrade check","upgrade package version","version bump risk","vulnerabilities fixed by upgrade","breaking upgrade","dependency upgrade decision"],"quality_warning":false},{"skill_id":"stackfacts_validate","name":"stackfacts_validate","description":"Validate an id for free. Privacy: only an unknown EOL id is logged (access log, miss field); a 400 logs the input name, never its value. No other id is stored.","tags":["validate id","check before paying","product exists"],"quality_warning":false}],"quality_flags":[],"check_history":{"checks":2,"passed":2},"recent_checks":[{"card_url":"https://g5joilnmeep4ntz3nwezxt5dmu.srv.us/.well-known/agent-card.json","checked_at":"2026-10-22T05:17:57.272274+00:00","success":true,"http_status":200,"detail":"Agent Card validated"},{"card_url":"https://g5joilnmeep4ntz3nwezxt5dmu.srv.us/.well-known/agent-card.json","checked_at":"2026-10-22T02:49:41.803531+00:00","success":true,"http_status":200,"detail":"Agent Card validated"}],"endpoint_tls_check":{"checked_at":"2026-10-22T05:17:57.272274+00:00","success":true,"detail":"Valid TLS connection to advertised endpoint host; no A2A request sent"},"protocol_check":{"checked_at":"2026-10-22T02:49:41.803531+00:00","state":"unconfirmed","http_status":404,"detail":"Endpoint returned a generic not-found response"},"x402_price_check":null,"events":[],"relationships":[],"verification":{"agent_card_url":"https://g5joilnmeep4ntz3nwezxt5dmu.srv.us/.well-known/agent-card.json","last_successful_card_check":"2026-10-22T05:17:57.272274+00:00","latest_card_check":{"checked_at":"2026-10-22T05:17:57.272274+00:00","success":true,"http_status":200,"detail":"Agent Card validated"},"signature_status":"unsigned","signature_checked_at":"2026-10-22T05:17:57.272274+00:00","task_endpoint_tested":true,"task_execution_tested":false,"endpoint_tls_checked_at":"2026-10-22T05:17:57.272274+00:00","endpoint_tls_reachable":true,"protocol_check_state":"unconfirmed","protocol_checked_at":"2026-10-22T02:49:41.803531+00:00","provider_identity_verified":false,"domain_claimed_at":null,"domain_proof_checked_at":null},"synthetic_capability_tests":{"agent_id":297852,"status":"not_tested","reason_code":"not_yet_tested","consent_status":"not_confirmed","latest_observation_status":null,"last_checked_at":null,"fixture_version":"1","reference_demonstration":false,"scope":"A publisher-authorized synthetic test of a dedicated free test endpoint. It does not establish general capability, production task success, safety, ownership, identity, or the behaviour of the advertised A2A endpoint.","methodology_url":"https://localmark.ai/capability-tests","history":[]}}