fips-mcp
An MCP server over the NIST CMVP data behind 808bits.com/fips: every FIPS 140 cryptographic module validation, plus the queue of submissions still awaiting one.
Read-only, no authentication.
https://fips.808bits.com/mcp
claude mcp add --transport http fips https://fips.808bits.com/mcp
The endpoint speaks POST, as the transport requires. Opening either the
hostname or the endpoint in a browser redirects to the tracker. A client's
GET /mcp still gets 405, which is what a stateless server owes a request to
open an SSE stream, and GET / and GET /health return a JSON descriptor with
the data generation dates for anything checking liveness.
Tools
| Tool | Answers |
|---|---|
fips_cert | Status, level, sunset date and validation history for one certificate number. |
fips_search | Does this vendor or product hold a current validation, and at what level. |
fips_vendor | Everything one company holds, across the spelling variants NIST filed it under. |
fips_cve | Which validated modules are associated with a CVE, and which CVEs touch a vendor's. |
fips_in_process | Has the vendor's replacement actually been submitted, and what phase is it in. |
fips_sunset | What expires before a given date, and which vendors are about to have nothing valid. |
fips_in_process is the one with no equivalent elsewhere. NIST publishes the
Modules in Process list as a web page, not as an API, and "it is on MIP" is the
milestone people reach for when a validation has lapsed and the replacement has
not landed.
Reading the data without getting it wrong
A submission in the queue is a milestone, not a date. 181 modules are in process and the phase dates run back more than a year, so plenty have sat in one phase for longer than that. "It is on MIP" says review started.
An absence from the queue can mean the successor already landed. Ribbon's
SBC 5400 sunsets on 2026-09-06 and has held a 140-3 certificate since 2025.
Check fips_search for the module name before reporting a gap.
Vendor names are free text at NIST. Cisco holds certificates under three
spellings, Thales under two. vendor_key groups the variants of one
registration and vendor_display is the spelling NIST used most often. Neither
merges corporate families: the nShield line ran nCipher Corporation to Thales
to Entrust, so folding those together would credit certificates to a company
that sold the product years ago.
112 certificates have no module name or vendor, because NIST published
none. Those come back as null with a note rather than as empty strings.
CVE associations are name-based, not boundary-based. They come from matching the vendor and product CPE, so a listed CVE may sit in code the certificate never covered, and a real flaw inside the boundary may not appear at all. 183 associations across 16 certificates.
An empty CVE result is not a clean bill of health, and this is the more
misleading direction. Only 16 of 5,504 certificates carry any association, the
match does not follow dependencies, and it needs a stable CPE string, so
hardware modules come back empty largely regardless of their advisory history.
fips_cve for CVE-2014-0160 returns nothing. Every empty result says so, and
reports how many certificates carry any association at all, so the number is
in front of the caller rather than in this file.
Sunset dates are not uniform. Most active 140-2 certificates move to the historical list on 2026-09-21, but six carry earlier dates of their own.
Where the data comes from
Everything is derived from NIST's published CMVP lists: the validated modules,
the historical and revoked lists, and the Modules in Process queue. The server
does not scrape NIST on demand. A separate pipeline snapshots the lists, diffs
them against the previous snapshot and loads the result, so answers reflect the
last refresh rather than this minute. Every response carries the generation
date, and GET / reports it too.
This repository holds the server. The dataset it serves is built elsewhere and is not checked in, so a clone will typecheck and deploy but will not have rows to answer with.
Licence
MIT. The certificate data itself is published by NIST and is not covered by it.