foxhound-mcp
v1.0.3
Published
FoxHound MCP server. Pairs with the FoxHound Firefox add on so an AI agent can drive the browser end to end over a local authenticated WebSocket.
Maintainers
Readme
FoxHound MCP Server
Companion MCP server for the FoxHound Firefox add on.
FoxHound is an Agent Browser Bridge for Firefox. The Firefox add on captures and exposes the browser surface; this MCP server is what your AI client (Claude Code, Claude Desktop, Cursor, Antigravity, or anything that speaks MCP) talks to. Together they let an AI agent drive a real Firefox profile end to end.
Everything stays on your machine. The server only listens on 127.0.0.1, signs every message with HMAC-SHA256, and uses a 32 byte secret generated locally on first install.
Configure your MCP client
Open the FoxHound add on options in Firefox, copy the JSON shown there, and paste it into your MCP client. It looks like this. The secret is filled in for you in the options page:
{
"mcpServers": {
"foxhound": {
"command": "foxhound-mcp",
"env": {
"FOXHOUND_SECRET": "<your secret from the add on>",
"FOXHOUND_PORT": "9339"
}
}
}
}Where to paste it depends on the client:
- Claude Code:
~/.claude.jsonundermcpServers. - Claude Desktop:
claude_desktop_config.json. - Cursor: Settings, MCP, edit JSON.
- Antigravity: Settings, MCP servers.
Restart the client. The add on popup should switch to Connected.
CLI
foxhound-mcp Run the MCP server (default).
foxhound-mcp --help Show usage and the MCP config snippet.
foxhound-mcp --version Print the installed version.
foxhound-mcp --tools List every MCP tool the server exposes.
foxhound-mcp --doctor Check Node version, secret, and port availability.What you can do
Once connected, ask your agent to:
- Open URLs, switch tabs, fill forms, click elements, run JavaScript in a tab, wait for elements or navigations, upload files, and screenshot the page or any single element.
- Capture every HTTP request and response with bodies. Each captured request is tagged with the PwnFox container it came from. Replay any request through the same container.
- Read and write cookies,
localStorage,sessionStorage, IndexedDB, and Cache Storage. Snapshot every storage layer for a tab origin in one call. - Inspect what the page already runs without injecting anything new: postMessage listeners and traffic, WebSocket frames, Web Workers, service workers, route changes, errors, dangerous DOM sinks, console output.
- Pause and forward requests on demand for active testing.
