The MCP Server

Let agents like Claude, Cursor, and other MCP clients work with your local credential sources. Goodboy exposes Chrome, iCloud imports, KeePassXC, and more through a local MCP server.

01. App In-App HTTP MCP

An HTTP+SSE server bound to 127.0.0.1, running inside Goodboy.app. Full protool set — including iCloud. Dies with the app; keep it in the menu bar to stay reachable.

Installation

In the Goodboy app, open Settings → MCP and copy the installation snippet for your client. We currently support Claude Code, Claude Desktop, Cursor, Cline, Windsurf, Gemini CLI, VS Code, Continue, Warp, and Zed.

Security

Every request passes three gates: bearer token (minted once, stored at ~/Library/Application Support/Goodboy/mcp.token with 0600 perms), Origin (loopback only, with null allowed for Electron and CLI clients), and Host (defense against DNS-rebinding). Non-loopback requests return 403.

Every goodboy_run call opens a per-flow approval dialog on the app window. Nothing executes until you click Approve. No timeout.

Your agent talks.
Goodboy moves.

02. Source Standalone stdio MCP

goodboy-mcp — a stdio JSON-RPC binary built from the public engine repo. Bundled protools only (Chrome, KeePassXC, Bitwarden, 1Password, ProtonPass, JSON Export); iCloud is app-only. For headless use, CI, or when the app isn't running.

Installation

Requires macOS 26 and Swift 6.2. No pre-built binary, no Homebrew.

swift build -c release --product goodboy-mcp
codesign --force --sign "Apple Development" \
    .build/release/goodboy-mcp

Re-signing with a stable developer identity gives the binary a persistent Keychain ACL; ad-hoc signatures orphan every keychain grant on rebuild. Then point your client at the absolute path, e.g. in claude_desktop_config.json:

{
  "mcpServers": {
    "goodboy": {
      "command": "/abs/path/.build/release/goodboy-mcp"
    }
  }
}

Security

Stdio. No ports, no listener, no TLS, no tokens. The MCP client launches goodboy-mcp as a subprocess; trust is inherited from the parent process and established at configuration time. There is no per-flow approval gate — pointing your client at this binary authorises it to run any tool in the directory below.

Credentials are protected by the operating system: goodboy-mcp is signed, Keychain entries are ACL-scoped to its signing identity, and credential reads require a one-time macOS prompt per item. Credentials in flight live only in SecuredBox — RAM-only, cleared at flow end.

03. Reference Tool Directory

12 state-aware tools exposed to your AI agent in release builds (debug builds add three SecuredBox introspection tools — goodboy_securedbox_dump, goodboy_securedbox_delete, goodboy_securedbox_clear). Every call takes a JSON object and returns JSON. Error responses include an action string when the user needs to do something to unblock the agent. Select a tool to view its capability, parameter schema, and expected response.

Discovery

goodboy_protools

Lists every registered protool with its capability and parameter schema.

Request
Expected Response