shipsafe
ShipSafe MCP · Quickstart

Scan locally from inside your AI editor.

Install once. Your editor (Claude Code, Codex, or Cursor) spawns the ShipSafe MCP server, which runs shipsafe-sentinel against your repo locally and streams findings back to chat. No file leaves your machine. No 25 MB upload cap. Free for the five non-AI tools.

WalkthroughSee how the MCP catches it three ways →

1. Install in your editor

Claude Code
Claude Code
claude mcp add --transport stdio shipsafe -- npx -y shipsafe-mcp

Restart Claude Code after running this so it picks up the new server.

Codex
Codex
# ~/.codex/config.toml
[mcp_servers.shipsafe]
command = "npx"
args = ["-y", "shipsafe-mcp"]

Save the file, then restart your Codex session.

Cursor
Cursor
// ~/.cursor/mcp.json  (or .cursor/mcp.json in your project)
{
  "mcpServers": {
    "shipsafe": {
      "command": "npx",
      "args": ["-y", "shipsafe-mcp"]
    }
  }
}

Cursor picks up changes on relaunch; reopen the IDE to apply.

2. Get a token (only needed for get_finding and suggest_fix)

The five free tools work without auth. To pull findings from your ShipSafe account or generate AI fixes, you need a bearer token.

  1. 01Visit /dashboard/mcp-tokens.
  2. 02Click Issue new token. Copy the ssm_… value — it’s shown once.
  3. 03Export it in your shell profile (~/.zshrc, ~/.bashrc):
export SHIPSAFE_TOKEN="ssm_..."

Restart your editor so the new env var reaches the MCP subprocess.

3. Tools the agent can call

scan_repofree
Run Sentinel rules locally over a directory. Source never leaves your machine.
scan_urlfree
Scan a github.com/owner/repo URL via the public ShipSafe scan flow.
list_lessonsfree
List the 12 coaching lessons. Optional topic filter.
explain_pragmafree
Explain what a `sentinel:ignore RULE-ID` pragma silences. Useful in PR review.
get_findingfree
Fetch a finding from your ShipSafe account. Requires SHIPSAFE_TOKEN.
suggest_fixpaid
AI-generated fix (unified diff + explanation + CWE). ~$0.05/call with BYOK Anthropic key, ~$0.25/call hosted.

Privacy

  • scan_repo runs entirely on your machine. No source code, no file contents, no paths are sent to ShipSafe. Findings appear in tool output only.
  • scan_url submits the GitHub URL to our anonymous public-scan flow. The repo is cloned server-side; the report appears on a public report page.
  • get_finding and suggest_fix are the only tools that talk to your ShipSafe account, and only over an authenticated bearer token.
Troubleshooting
  • “tool not found” — restart the editor after running the install command. MCP servers are loaded at startup.
  • “sentinel binary not found” — the npx -y flag should fetch shipsafe-sentinel automatically. If it fails, try npm i -g shipsafe-sentinel.
  • “token rejected” — issue a new one at /dashboard/mcp-tokens and re-export it.