shipcheck-mcp
Scans PHP Composer packages for copyleft licenses.
Identifies unauthenticated or open routes in Express applications.
Identifies unauthenticated or open routes in FastAPI applications.
Detects Firebase analytics, signup forms, and related data collection without a privacy policy.
Identifies unauthenticated or open routes in Flask applications.
Identifies unauthenticated or open routes in Gin (Go) applications.
Detects exposed GitHub tokens in source code and git history.
Detects exposed Google API keys in source code and git history.
Detects the use of Google Analytics without a privacy policy.
Detects Hotjar tracking without a privacy policy.
Identifies unauthenticated or open routes in Laravel applications.
Detects Meta Pixel tracking without a privacy policy.
Detects Mixpanel tracking without a privacy policy.
Identifies unauthenticated or open routes in Next.js applications.
Scans npm dependencies for copyleft licenses.
Detects exposed OpenAI API keys in source code and git history.
Detects PostHog tracking without a privacy policy.
Scans Python packages from PyPI for copyleft licenses.
Detects exposed Resend API keys in source code and git history.
Scans Ruby gems for copyleft licenses.
Detects exposed SendGrid API keys in source code and git history.
Detects exposed Slack tokens in source code and git history.
Identifies unauthenticated or open routes in Spring Boot applications.
Detects exposed Stripe API keys and checks for raw card data handling versus Stripe Elements.
Detects exposed Supabase service-role keys in source code and git history.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@shipcheck-mcpscan the repo for secrets and risky code before I commit"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Find what your AI-built app leaks — before you ship.
Works with Claude Code, OpenCode, Cursor, or any MCP-compatible agent — it's a standard Model Context Protocol server, not a Claude-only tool.
AI coding agents happily ship apps that leak API keys, pull in GPL-licensed packages, leave admin routes open to the internet, collect emails with no privacy policy, or touch raw card numbers — because "does it run" and "is this okay to ship" are different questions, and your agent only answers the first one.
ShipCheck answers the second one. It runs five fast, deterministic checks over your project and explains every finding in plain words — what's wrong, why it matters for you, and exactly how to fix it. No security background needed.
Honest by design: ShipCheck flags risky patterns. It is not a legal review and not a guarantee. A clean scan means nothing matched these specific checks — nothing more. See PRD.md §2 for the full non-goals.
Two tools, two moments
Tool | When | What it scans |
| Before every commit — while your agent builds | Just the uncommitted changes (or a whole branch via |
| Before launch — app stores, going live, investors | The whole repository, including git history for deleted-but-never-rotated secrets. |
The bundled skill teaches your agent the habit: scan_diff before commits, scan_repo before launch.
Related MCP server: agentguard
Works with your stack
Check | Coverage |
🔑 Exposed secrets | Any language — 15+ key formats (Stripe, OpenAI, Anthropic, OpenRouter, Supabase service-role, AWS, GitHub, Google, Slack, SendGrid, Resend, private keys, DB URLs), committed |
⚖️ Copyleft licenses | npm · PyPI · pub.dev · crates.io · RubyGems · Composer |
🚪 Unlocked routes | Express · FastAPI · Flask · Next.js (App + Pages Router) · gin/echo/fiber-style Go · Laravel · Spring Boot |
🕵️ PII without a privacy policy | Google Analytics, PostHog, Meta Pixel, Hotjar, Clarity, Amplitude, Mixpanel, Segment, Firebase, signup/auth forms, phone inputs |
💳 Card data handling | Raw card/CVV fields in JS/TS/Dart/Python/HTML vs. processor SDKs (Stripe Elements & friends) |
Every summary tells you which stacks it detected (project_types) and warns you honestly when a
detected stack isn't fully covered (coverage_caveat) instead of implying everything is fine.
What a finding looks like
[critical] lib/firebase_options.dart — Possible Google API Key found in code that runs on people's devices.
Why this matters: This key travels inside your app to every user's phone or browser. Anyone can copy it out and use it as if they were you — spending your money or reading your data.
The fix: Move the key into a separate secrets file that never becomes part of the project, load it at startup, then get a new key from the provider's dashboard — treat this one as stolen.
30-second start
# In Claude Code:
/plugin marketplace add noureldeensalama/shipcheck
/plugin install shipcheck
# Then just talk to your agent:"run shipcheck before I commit" · "is this ready to launch?" · "scan this repo"
Headless / CI:
claude --plugin-dir /path/to/shipcheck -p "Run shipcheck scan_repo on . and summarize findings"Standalone MCP server (Cursor, OpenCode, anything else)
git clone https://github.com/noureldeensalama/shipcheck.git
cd shipcheck && npm install && npm run build{
"mcpServers": {
"shipcheck": { "command": "node", "args": ["/absolute/path/to/shipcheck/dist/index.js"] }
}
}Or once published: npx shipcheck-mcp
Built to be trusted
Deterministic: regex + dependency metadata only. An LLM explains findings downstream; it never decides whether a finding exists (PRD.md §4).
Quiet by design: identical keys deduplicate into one finding with all locations; output is severity-ordered, compact (~1k tokens on a 100k-LOC repo), capped at 100 findings with an explicit truncation flag; vendored trees (
node_modules,.venv,build…) are never scanned; placeholder values (mock…, CI dummies) and public-by-design configs (google-services.json,firebase_options.dart) don't cry wolf.Proven on real code: dogfooded on five production repos — it caught a live Supabase service-role key across 13 files and three unauthenticated debug endpoints, then verified the fixes landed and flagged a second key that survived only in git history. Full true/false-positive log: DOGFOOD_RESULTS.md.
Compatibility
Node.js | 20+ (CI matrix: 20 & 22) |
OS | macOS · Linux · Windows (BOM-tolerant file parsing, path-safe) |
Agents | Anything that speaks MCP over stdio |
Project types | Secrets/licenses cover every stack; route coverage per table above |
Testing it yourself
npm test # 53 unit tests
npm run e2e # 21 real-MCP-protocol checks
npm run verify-fixture # acceptance gate over deliberately-vulnerable fixtures
npm run dogfood -- /path/to/any/repo # scan any repo from the CLIContributing
Issues and PRs welcome — see CONTRIBUTING.md. New detector categories need both a fires-on-risk fixture and a doesn't-over-fire regression test; false-positive reports with real code samples are especially valuable. Real-repo results live in DOGFOOD_RESULTS.md.
License
MIT — see LICENSE.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseAqualityBmaintenanceAgent-native "safe to ship?" security gate for AI-generated code. Uses real parsers and inter-rocedural taint analysis (JS/TS, Python, Go) to flag the classes AI coding agents get wrong — secrets, SQL injection, SS, SSRF, path traversal, command injection, weak JWT/CORS — and ranks findings by confidence. Exposes a scan tool over MCP.162MIT
- AlicenseNot gradedqualityAmaintenanceEnables scanning of AI agent code for security vulnerabilities such as prompt injection, tool abuse, and data exfiltration, directly from MCP-compatible clients like Claude Code.1LGPL 3.0
- AlicenseCqualityBmaintenanceSecurity scanner and MCP server that catches dangerous patterns in MCP servers and AI agent projects, such as leaked secrets, shell execution, and prompt-injection text. Runs as both a CLI and MCP server with CI-friendly severity gates.21MIT
- AlicenseNot gradedqualityAmaintenanceEnables AI coding tools to scan projects for security vulnerabilities, hardcoded secrets, injection flaws, and privacy violations with 699 rules and 76 MCP tools, all running locally with zero telemetry.526MIT
Related MCP Connectors
Zero-config MCP security scanner for AI-generated apps. 25K+ vulnerability patterns.
Zero-install security baseline for AI coding agents — OWASP/CWE-cited rules over MCP.
Security firewall for AI agents — scans MCP calls for injection, secrets, and risks.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/noureldeensalama/shipcheck'
If you have feedback or need assistance with the MCP directory API, please join our Discord server