Skip to content

Conversation

@henryabra
Copy link

Browser Authentication Flow

Summary

Added browser-based authentication support to allow users to authenticate without API credentials, making the MCP server more accessible.

Changes

  • Added browser authentication flow: Users can now authenticate via Taboola SSO in their browser when API credentials aren't available
  • Dynamic tool availability: The get_auth_token tool is now conditionally shown only when client credentials are configured
  • Improved documentation: Restructured README to clearly present three authentication options (browser auth, MCP config credentials, or environment variables)
  • Enhanced user experience: Browser auth is recommended as the simplest option for getting started

Technical Details

  • Implemented browser_authenticate and clear_auth_token tools for managing browser-based authentication
  • Added OAuth callback server that handles the authentication flow
  • Authentication state is determined at startup: uses RealizeAuth when credentials exist, falls back to BrowserAuth otherwise
  • Updated tool registry to dynamically filter available tools based on configuration

This change makes the Realize MCP server more user-friendly by removing the requirement for API credentials upfront, while maintaining support for traditional credential-based authentication for automated workflows.

henryabra and others added 11 commits July 23, 2025 00:28
Fixed server cleanup on failure flow
Added system termination signal listening to clean up callback server (if running)
…_token` based on client credentials configuration.

- Fixed state extraction logic in OAuth callback to handle both buggy and correct formats.
- Fixed handler support for `clear_auth_token` in `realize_server.py`.
- Fixed campaign handlers to use correct API endpoint paths (`/items` instead of `/campaign_items`).
… based on client credentials.

- Added `tools/assets` to package data for proper asset management.
- Enhanced documentation to reflect browser-based authentication flow and updated installation details.
…or better modularity.

- Updated registry to reference the new `auth_handlers` namespace.
- Refactored tests to support both credential and browser-based authentication tools.
- Added `tomli` dependency for Python versions below 3.11.
…e, header generation, and error handling.

- Introduced tests for `browser_authenticate` and `clear_auth_token` handlers.
- Verified browser-based authentication integration with system and tool availability logic.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant