ShipLatch
by shiplatch.com · remote · no sign-in to list tools · v1.0.0 · published by com.shiplatch
Free passive security scan for AI-built apps: leaked API keys, public .env files, security headers
3 tools: 1 change things and 2 only read.
Scanned Oct 22, 2026
- Deletes or cancels0Claude Code: deny
- Can't be undone0Claude Code: ask
- Changes things1Claude Code: ask: see these tools
- Only reads2Claude Code: allow: see these tools
2 checks matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http scanner https://shiplatch.com/mcpFindings
Matches of fixed checks, with the text they matched.
- Highscan_url
The input schema at properties.focus.description refers to ".env".
What this check looks forMatched text
inputSchema.properties.focus.description: "...answer one question yes/no. env = is a .env file public; vite = is a dev server exp..."
- Warnscan_url
The server marks "scan_url" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The description's first verb is "run": a word for a change.
Tools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
3 tools
Changes things 1Claude Code: ask
scan_urlRun ShipLatch's free passive security scan on a public web app URL (for example a Lovable, Bolt, Replit or Cursor app).2 findings
Why it is in this group
- The description's first verb is "run": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- High
The input schema at properties.focus.description refers to ".env".
What this check looks forMatched text
inputSchema.properties.focus.description: "...answer one question yes/no. env = is a .env file public; vite = is a dev server exp..."
- Warn
The server marks "scan_url" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The description's first verb is "run": a word for a change.
Description, as the server wrote it Run ShipLatch's free passive security scan on a public web app URL (for example a Lovable, Bolt, Replit or Cursor app). Read-only: it fetches the page and its public JS like a browser would and never logs in, submits forms or tests exploits. Returns the grade, issue counts and the type of each issue; exact locations and fix prompts stay in the full report for the verified owner. Only scan sites you own or are authorized to test. Results for the same site are cached for 24 hours. If the scan takes longer than about 25 seconds it returns status "running" and a scan_ref: call get_scan with it.
Annotations the server declares
- title: Scan a web app (free, passive)
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
Only reads 2Claude Code: allow
get_scanGet the free summary of a ShipLatch scan by its scan_ref (from scan_url).No findings
Why it is in this group
- The name "get_scan" says "get": a word for reading.
Description, as the server wrote it Get the free summary of a ShipLatch scan by its scan_ref (from scan_url). Use it when scan_url returned status "running". Results are kept for 7 days.
Annotations the server declares
- title: Get a scan result
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
list_checksList the categories of security checks ShipLatch runs, which are in the free passive scan and which need ownership verification.No findings
Why it is in this group
- The name "list_checks" says "list": a word for reading.
Description, as the server wrote it List the categories of security checks ShipLatch runs, which are in the free passive scan and which need ownership verification. No network access.
Annotations the server declares
- title: List what ShipLatch checks
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 1.0.0. Values in angle brackets are yours to fill in.
claude mcp add --transport http scanner https://shiplatch.com/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__scanner__get_scan",
"mcp__scanner__list_checks"
],
"ask": [
"mcp__scanner__scan_url"
],
"deny": []
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as scanner. Review it before you use it.