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.
goodboy_protools
Lists every registered protool with its capability and parameter schema.