Antidetect browser MCP: Claude, Codex & Cursor
Connect Claude, Codex or Cursor to IFox9 browser profiles through MCP. Follow setup steps, verify a read-only task and explore browser tools and the local API.
What does an antidetect browser MCP server do?
IFox9’s MCP server gives a connected AI assistant tools to select a browser profile, read pages, interact with forms, take screenshots and download files. Claude, Codex and Cursor can use these tools in the selected profile. IFox9 supplies the browser connection; you supply the AI client and model access. See the client compatibility guide for each setup path.
How do I connect Claude, Codex or Cursor to IFox9?
- Install IFox9 for Windows or macOS, keep it running and create a test profile that opens a public webpage.
- Open AI Assistant in IFox9, choose the detected client and use its configuration action. Claude Desktop and Claude Code are separate clients; select the one you use.
- Fully restart that client and approve its MCP server connection if prompted.
- Ask the assistant to call
check_connection, thenlist_profiles. Confirm the intended profile before opening it.
MCP works with the optional Local API switch turned off. For missing tools or connection errors, follow the troubleshooting guide.
How can I verify the browser connection?
Use this read-only prompt after setup:
Use IFox9. List my profiles and ask which test profile to use. Open that profile in visible mode and create a new tab. Visit https://example.com/ and read the page title. Report the selected profile, page URL and observed title. Do not submit forms or change account settings. Release browser control when finished; leave the profile open.
Check that the visible window matches the selected profile and the reported URL and title match the page. This is a sample acceptance check, not a recorded test result. Record your IFox9 version, AI client version, operating system and result when diagnosing a failure. Continue with the CSV download tutorial once page reading works.
The required sequence
- Call
check_connection→list_profiles - Call
open_profilewith the exactprofile_id; retain the returnedbrowser_session_id. - Call
browser_pagesto select the exactpage_id. - Call
browser_snapshotto get fresh element references and asnapshot_id. - Use matching session, page, snapshot, and element references for actions. Take a new snapshot after page changes.
- Call
release_browserwhen finished. Useclose_profileonly when asked to close the profile.
A profile has one exclusive controlling client at a time. IDs are opaque and cannot be reused after a browser restart. Choose visible mode when a person needs to sign in or inspect the work; headless is for compatible background tasks.
Tool groups
Profiles & pages
check_connectionlist_profilesopen_profileclose_profilerelease_browserbrowser_pagesbrowser_new_pagebrowser_close_pagebrowser_activate_page
Navigation & interaction
browser_navigatebrowser_backbrowser_forwardbrowser_reloadbrowser_snapshotbrowser_clickbrowser_click_coordinatesbrowser_typebrowser_pressbrowser_hoverbrowser_selectbrowser_scrollbrowser_dragbrowser_waitbrowser_handle_next_dialog
Data & files
browser_screenshotbrowser_upload_filesbrowser_get_cookiesbrowser_set_cookiesbrowser_clear_cookiesbrowser_storage_getbrowser_storage_setbrowser_storage_clearbrowser_grant_permissionsbrowser_prepare_downloadbrowser_wait_downloadbrowser_evaluate
These are tool names, not complete request schemas. The connected MCP server advertises current parameter names and required fields to the AI client; use that schema instead of guessing arguments. Cookie, storage, upload, and JavaScript tools can access sensitive data.
Optional local HTTP API
Enable Local API only if a local integration needs HTTP. Copy the current loopback endpoint and access token from AI Assistant (API & MCP in earlier builds); the port is assigned dynamically. MCP remains available with HTTP disabled.
GET http://127.0.0.1:<port>/v1/status Authorization: Bearer <access-token> X-IFox9-Client-ID: my-integration
The token is required. The optional client ID is recommended and must be 1–64 ASCII letters, digits, underscores, or hyphens. Examples use placeholders only. Never publish your real token.
GET /v1/profiles lists profiles; POST /v1/profiles/open opens one. Successful responses use {"ok":true,"data":…}; failures use {"ok":false,"error":{"code":…,"message":…}}. See common error codes.
Keep the API local
The HTTP listener binds to 127.0.0.1, validates Host headers, and does not enable browser CORS. Do not expose it through a public reverse proxy or publish its discovery files. Token rotation invalidates old credentials; update your local integration afterwards.