mcpField
F
FIPS 140 certificate tracker

FIPS 140 certificate tracker

Remote
808bits.comSecurity0Updated 8w ago

About FIPS 140 certificate tracker

FIPS 140 certificate tracker is a read-only, unauthenticated MCP service for NIST CMVP certificates and pending submissions. It covers certificate status, vendors, CVE associations, and expiration, with data generation dates included.

Key features

  1. 01Check certificate status and history
  2. 02Search vendor and product validations
  3. 03List certificates held by a vendor
  4. 04Review pending submission phases
  5. 05Find CVEs associated with certificates
  6. 06Identify certificates expiring by a date

Use cases

  1. 01Verify whether a product has a current validation
  2. 02Check whether a replacement submission is underway
  3. 03Track certificates nearing expiration
  4. 04Investigate CVE associations for validated modules

MCP support

The MCP server exposes read-only tools for querying NIST CMVP certificate, vendor, CVE, in-process submission, and sunset data. It requires no authentication, and responses include the data generation date.

Configuration

Remote servers need no local install. Pick your client, then copy the config or install in one click.

Endpointhttps://fips.808bits.com/mcp
Copy install command
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

Run commands in a terminal; paste JSON into the client’s MCP config and restart. Servers that need sign-in will prompt on first connect.

Tools

6
ParameterTypeRequiredDescription
numberintegerYes

Details

From the project README

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

ToolAnswers
fips_certStatus, level, sunset date and validation history for one certificate number.
fips_searchDoes this vendor or product hold a current validation, and at what level.
fips_vendorEverything one company holds, across the spelling variants NIST filed it under.
fips_cveWhich validated modules are associated with a CVE, and which CVEs touch a vendor's.
fips_in_processHas the vendor's replacement actually been submitted, and what phase is it in.
fips_sunsetWhat 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.

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.