Rulestamp Compliance Linters — 40 MCP servers
Not affiliated with ReadyStack (readystack.dev). Rulestamp tools are made by the team behind getreadystack.com.
Regulation- and deadline-aware linters (EU CRA / CSAF, PCI DSS 6.4.3, WCAG 2.1 AA, DORA, NIS2, EU AI Act, KSeF FA(3), NF-e, GitHub Actions EOL, TLS certificate lifetime, Kubernetes removed APIs …) that an AI agent calls over the Model Context Protocol (MCP).
Every folder in this repository is one npm package @readystack/<name>. The same package runs three ways: as a stdio MCP server (--mcp), as a CLI, and as a CI step. No network calls: every rule set ships inside the package and runs offline on the files you point it at.
Remote MCP server - no install (ChatGPT · Claude · Gemini · Cursor)
https://mcp.getreadystack.com/mcp - streamable HTTP, no account, no key. Two tools: find_checker (search every standing checker by regulation, deadline, file type or platform, in any language) and run_checker (run one checker on pasted text and get each finding with its line and fix). The text you send is checked in memory and never stored. New checkers appear on the server as they are published.
- Claude (claude.ai / Desktop): Settings → Connectors → Add custom connector →
https://mcp.getreadystack.com/mcp - ChatGPT (developer mode): Settings → Apps → Create → MCP server URL
https://mcp.getreadystack.com/mcp, no authentication - Gemini CLI:
gemini extensions install https://github.com/jmshinhwa/rulestamp-mcp(this repository shipsgemini-extension.json) - Cursor / VS Code / any client:
{ "mcpServers": { "readystack": { "url": "https://mcp.getreadystack.com/mcp" } } }
Run as an MCP server (Claude Code · Cursor · Windsurf · any MCP client)
{ "mcpServers": { "k8s-removed-api-lint": { "command": "npx", "args": ["-y", "@readystack/k8s-removed-api-lint", "--mcp"] } } }
The server speaks MCP over stdio (JSON-RPC 2.0, protocol version 2025-06-18: initialize, tools/list, tools/call). Tools exposed by every server: check_dir · check_file · check_text. check_text and check_file are free with no account; check_dir (the workspace sweep with an exportable report and a CI exit code) needs a licence key from https://getreadystack.com. Each finding comes back with the file, the line number and the fix.
Registry names: io.github.jmshinhwa/<name> in the official MCP Registry (registry.modelcontextprotocol.io).
Run as a CLI or in CI
npx -y @readystack/k8s-removed-api-lint --file deploy.yaml # one file
npx -y @readystack/k8s-removed-api-lint --dir . --ci # whole repo, non-zero exit on findings (licence)
Servers (40)
| npm package | what it checks |
|---|---|
@readystack/actions-deprecation-lint-2026 | Node 20 is removed from GitHub-hosted runners on 2026-09-23 and ubuntu-22.04 deprecation opens 2026-09-17. This checks a workflow file against 25 dated GitHub shutdowns and names the date each line st |
@readystack/ai-model-retirement-lint | Finds the LLM model IDs pinned in your code that vendors have already switched off, or have dated to switch off, with the replacement and the date. |
@readystack/auditor-ibs-cbs-nfe | A rejeição por falta de IBS/CBS foi suspensa em 31/07/2026: sua NF-e é autorizada mesmo errada. Este auditor lê o XML no editor e aponta o que a SEFAZ deixou passar. |
@readystack/autorenew-signup-lint | Sixteen statutory checks on the signup page AB 2863 rewrote, in your editor and in the browser |
@readystack/base-image-eol-lint | Marks every base image in your Dockerfiles, compose files and CI workflows whose security patches have already stopped - or stop before 13 November 2026 - and prints the tag that replaces it. |
@readystack/cloud-cost-landmine-lint | Names every line in the file you have open that starts a recurring cloud charge, with the published us-east-1 price and the date it changes by itself. |
@readystack/cra-24-72-14-reporting-lint | Reads your SECURITY.md against the EU Cyber Resilience Act reporting clock that started on 11 September 2026 — 24 hours, 72 hours, 14 days, to ENISA and your coordinating CSIRT. |
@readystack/cron-schedule-lint | Names every schedule line in the file you have open that fires at the wrong hour, twice, or never at all - and prints the next three times each one really fires, in the zone that actually applies. |
@readystack/currency-minor-unit-lint | Finds the money lines that send the wrong amount to a payment API: the x100 that charges 100x in JPY, the toFixed(2) that truncates KWD, and the currency codes that stopped being legal tender. |
@readystack/dora-ict-contract-clause-lint | Twenty-two checks over the ICT vendor contracts in your repository - every missing Article 30 clause named, with the wording to paste in. |
@readystack/dora-register-lint | 24 checks on the register CSV before it reaches the supervisor — LEI check digits, ISO dates and codes, references that resolve |
Free vs licence
Free: checking the text or file you pass in, with every rule and every fix — no account, no telemetry. Licence key ($29 one-time per tool, or the yearly rule-update plan): the workspace sweep (check_dir / --dir), the exportable report and the CI exit code. Keys are verified against Polar; the free part never expires and never asks for the key.
Licence
LICENSE — source-available: read, audit and use freely (commercial use included); paid features require a valid licence key; the key check may not be removed or circumvented. Each package also ships a short LICENSE.txt with the same two rules.
Related
- Free web versions of every tool + the licence store: https://getreadystack.com
- VS Code / Open VSX extensions built from the same engines: https://github.com/jmshinhwa/readystack-themes